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