1.1 --- a/make/bsd/makefiles/gcc.make Thu Aug 29 18:56:29 2013 -0400 1.2 +++ b/make/bsd/makefiles/gcc.make Fri Aug 30 15:07:23 2013 -0400 1.3 @@ -129,13 +129,17 @@ 1.4 1.5 # We only use precompiled headers for the JVM build 1.6 CFLAGS += $(VM_PCH_FLAG) 1.7 - 1.8 - # There are some files which don't like precompiled headers 1.9 - # The following files are build with 'OPT_CFLAGS/NOOPT' (-O0) in the opt build. 1.10 - # But Clang doesn't support a precompiled header which was compiled with -O3 1.11 - # to be used in a compilation unit which uses '-O0'. We could also prepare an 1.12 - # extra '-O0' PCH file for the opt build and use it here, but it's probably 1.13 - # not worth the effort as long as only two files need this special handling. 1.14 + 1.15 + # The following files are compiled at various optimization 1.16 + # levels due to optimization issues encountered at the 1.17 + # 'OPT_CFLAGS_DEFAULT' level. The Clang compiler issues a compile 1.18 + # time error if there is an optimization level specification 1.19 + # skew between the PCH file and the C++ file. Especially if the 1.20 + # PCH file is compiled at a higher optimization level than 1.21 + # the C++ file. One solution might be to prepare extra optimization 1.22 + # level specific PCH files for the opt build and use them here, but 1.23 + # it's probably not worth the effort as long as only a few files 1.24 + # need this special handling. 1.25 PCH_FLAG/loopTransform.o = $(PCH_FLAG/NO_PCH) 1.26 PCH_FLAG/sharedRuntimeTrig.o = $(PCH_FLAG/NO_PCH) 1.27 PCH_FLAG/sharedRuntimeTrans.o = $(PCH_FLAG/NO_PCH) 1.28 @@ -307,7 +311,7 @@ 1.29 ifeq ($(USE_CLANG), true) 1.30 ifeq ($(shell expr $(CC_VER_MAJOR) = 4 \& $(CC_VER_MINOR) = 2), 1) 1.31 OPT_CFLAGS/loopTransform.o += $(OPT_CFLAGS/NOOPT) 1.32 - OPT_CFLAGS/unsafe.o += -01 1.33 + OPT_CFLAGS/unsafe.o += -O1 1.34 endif 1.35 else 1.36 # 6835796. Problem in GCC 4.3.0 with mulnode.o optimized compilation.