c1f7d8dd23
Somewhat ironically, there are strict aliasing violations in Clang, which can result in the following assertion failure: Assertion `*(NamedDecl **)&Data == ND && "PointerUnion mangles the NamedDecl pointer!"' failed. Upstream's clang/CMakeLists.txt specifically (not LLVM as a whole) passes -fno-strict-aliasing if the compiler is not Clang, and this fixes the above issue. This was seen when cross-building from Linux using a bootstrap compiler, but likely also affects worlds built with a new enough external GCC toolchain. MFC after: 1 week Reviewed by: dim Differential Revision: https://reviews.freebsd.org/D31533
19 lines
324 B
Makefile
19 lines
324 B
Makefile
# $FreeBSD$
|
|
|
|
.include <src.opts.mk>
|
|
|
|
.ifndef CLANG_SRCS
|
|
.error Please define CLANG_SRCS before including this file
|
|
.endif
|
|
|
|
CFLAGS+= -I${CLANG_SRCS}/include
|
|
|
|
.if ${MK_CLANG_FULL} != "no"
|
|
CFLAGS+= -DCLANG_ENABLE_ARCMT
|
|
CFLAGS+= -DCLANG_ENABLE_STATIC_ANALYZER
|
|
.endif
|
|
|
|
CFLAGS.gcc+= -fno-strict-aliasing
|
|
|
|
.include "llvm.build.mk"
|