summaryrefslogtreecommitdiffstats
path: root/sys/conf
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2014-01-04 17:54:06 +0000
committerdim <dim@FreeBSD.org>2014-01-04 17:54:06 +0000
commit7a170f6d982ecfa4b6f7488b0c7f32923cae613d (patch)
tree268159e54569185ab7965828eb28f97aad4f6260 /sys/conf
parentdfba73dcd142f9eb5928d487e2792d59657a5708 (diff)
downloadFreeBSD-src-7a170f6d982ecfa4b6f7488b0c7f32923cae613d.zip
FreeBSD-src-7a170f6d982ecfa4b6f7488b0c7f32923cae613d.tar.gz
MFC r260020:
For sys/dev/drm2/radeon, only use -fms-extensions with gcc. This flag is only to stop gcc complaining about anonymous unions, which clang does not do. For clang 3.4 however, -fms-extensions enables the Microsoft __wchar_t type, which clashes with our own types.h. MFC r260102: Similar to r260020, only use -fms-extensions with gcc, for all other modules which require this flag to compile. Use a GCC_MS_EXTENSIONS variable, defined in kern.pre.mk, which can be used to easily supply the flag (or not), depending on the compiler type.
Diffstat (limited to 'sys/conf')
-rw-r--r--sys/conf/kern.pre.mk4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/conf/kern.pre.mk b/sys/conf/kern.pre.mk
index b01d506..966a9e8 100644
--- a/sys/conf/kern.pre.mk
+++ b/sys/conf/kern.pre.mk
@@ -99,6 +99,8 @@ ASM_CFLAGS= -x assembler-with-cpp -DLOCORE ${CFLAGS}
.if ${COMPILER_TYPE} == "clang"
CLANG_NO_IAS= -no-integrated-as
+.else
+GCC_MS_EXTENSIONS= -fms-extensions
.endif
.if defined(PROFLEVEL) && ${PROFLEVEL} >= 1
@@ -157,7 +159,7 @@ NORMAL_LINT= ${LINT} ${LINTFLAGS} ${CFLAGS:M-[DIU]*} ${.IMPSRC}
# Infiniband C flags. Correct include paths and omit errors that linux
# does not honor.
OFEDINCLUDES= -I$S/ofed/include/
-OFEDNOERR= -Wno-cast-qual -Wno-pointer-arith -fms-extensions
+OFEDNOERR= -Wno-cast-qual -Wno-pointer-arith ${GCC_MS_EXTENSIONS}
OFEDCFLAGS= ${CFLAGS:N-I*} ${OFEDINCLUDES} ${CFLAGS:M-I*} ${OFEDNOERR}
OFED_C_NOIMP= ${CC} -c -o ${.TARGET} ${OFEDCFLAGS} ${WERROR} ${PROF}
OFED_C= ${OFED_C_NOIMP} ${.IMPSRC}
OpenPOWER on IntegriCloud