svn commit: r339436 - in head: . contrib/gcc gnu/usr.bin/cc/cc_tools lib/clang release sys/conf sys/sys
Jan Beich
jbeich at FreeBSD.org
Sun Oct 21 10:42:16 UTC 2018
Dimitry Andric <dim at FreeBSD.org> writes:
> On 21 Oct 2018, at 04:08, Jan Beich <jbeich at FreeBSD.org> wrote:
>
>>
>> Glen Barber <gjb at FreeBSD.org> writes:
>>
>>> Modified: head/lib/clang/llvm.build.mk
>>> ==============================================================================
>>> --- head/lib/clang/llvm.build.mk Fri Oct 19 00:24:23 2018 (r339435)
>>> +++ head/lib/clang/llvm.build.mk Fri Oct 19 00:37:47 2018 (r339436)
>>> @@ -17,7 +17,7 @@ CFLAGS+= -I${LLVM_SRCS}/include
>>> CFLAGS+= -DLLVM_BUILD_GLOBAL_ISEL
>>> CFLAGS+= -D__STDC_LIMIT_MACROS
>>> CFLAGS+= -D__STDC_CONSTANT_MACROS
>>> -#CFLAGS+= -DNDEBUG
>>> +CFLAGS+= -DNDEBUG
>>
>> Would Clang still hit asserts instead of crashing with cryptic messages?
>
> In llvm, assertions (and various other internal consistency checks) are
> turned off by defining NDEBUG. So indeed, if something in the internal
> state goes in an unexpected direction, you could get crashes or other
> "interesting" effects.
>
> That said, the resulting executable(s) should run somewhat faster, and
> be somewhat smaller. I think we have always done this for stable
> branches and releases.
But this commit is for -CURRENT, not -STABLE or -RELEASE.
$ svn cat svn://svn.freebsd.org/base/stable/12/lib/clang/llvm.build.mk | fgrep NDEBUG ~
#CFLAGS+= -DNDEBUG
$ svn cat svn://svn.freebsd.org/base/releng/11.2/lib/clang/llvm.build.mk | fgrep NDEBUG
CFLAGS+= -DNDEBUG
>
> If users encounter such crashes, it will still write reproduction files
> (self-contained .c or .cpp file and a shell script), so those can be
> included in bug reports, and run on a copy of clang with assertions.
>
> -Dimitry
More information about the svn-src-all
mailing list