I've unblocked myself with this change: diff --git a/rts/ghc.mk b/rts/ghc.mk index 3929adb..b96df3d 100644 --- a/rts/ghc.mk +++ b/rts/ghc.mk @@ -427,7 +427,7 @@ rts/win32/ThrIOManager_CC_OPTS += -w
# Without this, thread_obj will not be inlined (at least on x86 with GCC 4.1.0) ifneq "$(CC_CLANG_BACKEND)" "1" -rts/sm/Compact_CC_OPTS += -finline-limit=2500 +# rts/sm/Compact_CC_OPTS += -finline-limit=2500 endif # -O3 helps unroll some loops (especially in copy() with a constant argument). That #ifneq check doesn't work because 1) gcc is not clang (I used /usr/local/bin/gcc-4.9) but 2) the cpp that actually gets called during the build is 'gcc -E', which is clang. On Thu, Mar 13, 2014 at 10:03 AM, Johan Tibell <[email protected]>wrote: > Checking out a clean tree today (commit: ) I can no longer build HEAD. > Here's what I did: > > git clone git://git.haskell.org/ghc.git > cd ghc > ./sync-all --no-dph get > cp mk/build.mk.sample mk/build.mk > # Uncomment devel2 in mk/build.mk > ./boot && ./configure --with-gcc=/usr/local/bin/gcc-4.9 > make > > Here's the result: > > gcc -E -m64 -DPROFILING -DTHREADED_RTS -DDEBUG -Irts/dist/build -m64 > -fno-stack-protector -Wall -Wextra -Wstrict-prototypes > -Wmissing-prototypes -Wmissing-declarations -Winline -Waggregate-return > -Wpointer-arith -Wmissing-noreturn -Wnested-externs -Wredundant-decls > -Iincludes -Iincludes/dist -Iincludes/dist-derivedconstants/header > -Iincludes/dist-ghcconstants/header -Irts -Irts/dist/build -DCOMPILING_RTS > -fno-strict-aliasing -fno-common -DDTRACE -O2 -fomit-frame-pointer > -DRtsWay=\"rts_v\" -Wno-strict-prototypes -Wno-inline > -finline-limit=2500 -MM -x c rts/sm/Compact.c -MF > rts/dist/build/.depend-v-dyn-l-debug-thr-thr_debug-thr_l-debug_dyn-thr_dyn-thr_debug_dyn-l_dyn-thr_l_dyn.c_asm.bit > clang: error: unknown argument: '-finline-limit=2500' > [-Wunused-command-line-argument-hard-error-in-future] > clang: note: this will be a hard error (cannot be downgraded to a warning) > in the future > make[1]: *** > [rts/dist/build/.depend-v-dyn-l-debug-thr-thr_debug-thr_l-debug_dyn-thr_dyn-thr_debug_dyn-l_dyn-thr_l_dyn.c_asm] > Error 1 > > More context: > sed -e 's|\\|/|g' -e 's| /$| \\|' -e "1s|\.o|\.o|" -e "1s|^|rts/sm/|" -e > "1s|rts/|rts/dist/build/|" -e "1s|dist/build/dist/build|dist/build|g" -e > "s|/Users/tibbe/src/ghc/||g" > rts/dist/build/.depend-v-dyn-l-debug-thr-thr_debug-thr_l-debug_dyn-thr_dyn-thr_debug_dyn-l_dyn-thr_l_dyn.c_asm.bit > >> > rts/dist/build/.depend-v-dyn-l-debug-thr-thr_debug-thr_l-debug_dyn-thr_dyn-thr_debug_dyn-l_dyn-thr_l_dyn.c_asm.tmp > && sed -e 's|\\|/|g' -e 's| /$| \\|' -e "1s|\.o|\.dyn_o|" -e > "1s|^|rts/sm/|" -e "1s|rts/|rts/dist/build/|" -e > "1s|dist/build/dist/build|dist/build|g" -e "s|/Users/tibbe/src/ghc/||g" > rts/dist/build/.depend-v-dyn-l-debug-thr-thr_debug-thr_l-debug_dyn-thr_dyn-thr_debug_dyn-l_dyn-thr_l_dyn.c_asm.bit > >> > rts/dist/build/.depend-v-dyn-l-debug-thr-thr_debug-thr_l-debug_dyn-thr_dyn-thr_debug_dyn-l_dyn-thr_l_dyn.c_asm.tmp > && sed -e 's|\\|/|g' -e 's| /$| \\|' -e "1s|\.o|\.l_o|" -e "1s|^|rts/sm/|" > -e "1s|rts/|rts/dist/build/|" -e "1s|dist/build/dist/build|dist/build|g" -e > "s|/Users/tibbe/src/ghc/||g" > rts/dist/build/.depend-v-dyn-l-debug-thr-thr_debug-thr_l-debug_dyn-thr_dyn-thr_debug_dyn-l_dyn-thr_l_dyn.c_asm.bit > >> > rts/dist/build/.depend-v-dyn-l-debug-thr-thr_debug-thr_l-debug_dyn-thr_dyn-thr_debug_dyn-l_dyn-thr_l_dyn.c_asm.tmp > && sed -e 's|\\|/|g' -e 's| /$| \\|' -e "1s|\.o|\.debug_o|" -e > "1s|^|rts/sm/|" -e "1s|rts/|rts/dist/build/|" -e > "1s|dist/build/dist/build|dist/build|g" -e "s|/Users/tibbe/src/ghc/||g" > rts/dist/build/.depend-v-dyn-l-debug-thr-thr_debug-thr_l-debug_dyn-thr_dyn-thr_debug_dyn-l_dyn-thr_l_dyn.c_asm.bit > >> > rts/dist/build/.depend-v-dyn-l-debug-thr-thr_debug-thr_l-debug_dyn-thr_dyn-thr_debug_dyn-l_dyn-thr_l_dyn.c_asm.tmp > && sed -e 's|\\|/|g' -e 's| /$| \\|' -e "1s|\.o|\.thr_o|" -e > "1s|^|rts/sm/|" -e "1s|rts/|rts/dist/build/|" -e > "1s|dist/build/dist/build|dist/build|g" -e "s|/Users/tibbe/src/ghc/||g" > rts/dist/build/.depend-v-dyn-l-debug-thr-thr_debug-thr_l-debug_dyn-thr_dyn-thr_debug_dyn-l_dyn-thr_l_dyn.c_asm.bit > >> > rts/dist/build/.depend-v-dyn-l-debug-thr-thr_debug-thr_l-debug_dyn-thr_dyn-thr_debug_dyn-l_dyn-thr_l_dyn.c_asm.tmp > && sed -e 's|\\|/|g' -e 's| /$| \\|' -e "1s|\.o|\.thr_debug_o|" -e > "1s|^|rts/sm/|" -e "1s|rts/|rts/dist/build/|" -e > "1s|dist/build/dist/build|dist/build|g" -e "s|/Users/tibbe/src/ghc/||g" > rts/dist/build/.depend-v-dyn-l-debug-thr-thr_debug-thr_l-debug_dyn-thr_dyn-thr_debug_dyn-l_dyn-thr_l_dyn.c_asm.bit > >> > rts/dist/build/.depend-v-dyn-l-debug-thr-thr_debug-thr_l-debug_dyn-thr_dyn-thr_debug_dyn-l_dyn-thr_l_dyn.c_asm.tmp > && sed -e 's|\\|/|g' -e 's| /$| \\|' -e "1s|\.o|\.thr_l_o|" -e > "1s|^|rts/sm/|" -e "1s|rts/|rts/dist/build/|" -e > "1s|dist/build/dist/build|dist/build|g" -e "s|/Users/tibbe/src/ghc/||g" > rts/dist/build/.depend-v-dyn-l-debug-thr-thr_debug-thr_l-debug_dyn-thr_dyn-thr_debug_dyn-l_dyn-thr_l_dyn.c_asm.bit > >> > rts/dist/build/.depend-v-dyn-l-debug-thr-thr_debug-thr_l-debug_dyn-thr_dyn-thr_debug_dyn-l_dyn-thr_l_dyn.c_asm.tmp > && sed -e 's|\\|/|g' -e 's| /$| \\|' -e "1s|\.o|\.debug_dyn_o|" -e > "1s|^|rts/sm/|" -e "1s|rts/|rts/dist/build/|" -e > "1s|dist/build/dist/build|dist/build|g" -e "s|/Users/tibbe/src/ghc/||g" > rts/dist/build/.depend-v-dyn-l-debug-thr-thr_debug-thr_l-debug_dyn-thr_dyn-thr_debug_dyn-l_dyn-thr_l_dyn.c_asm.bit > >> > rts/dist/build/.depend-v-dyn-l-debug-thr-thr_debug-thr_l-debug_dyn-thr_dyn-thr_debug_dyn-l_dyn-thr_l_dyn.c_asm.tmp > && sed -e 's|\\|/|g' -e 's| /$| \\|' -e "1s|\.o|\.thr_dyn_o|" -e > "1s|^|rts/sm/|" -e "1s|rts/|rts/dist/build/|" -e > "1s|dist/build/dist/build|dist/build|g" -e "s|/Users/tibbe/src/ghc/||g" > rts/dist/build/.depend-v-dyn-l-debug-thr-thr_debug-thr_l-debug_dyn-thr_dyn-thr_debug_dyn-l_dyn-thr_l_dyn.c_asm.bit > >> > rts/dist/build/.depend-v-dyn-l-debug-thr-thr_debug-thr_l-debug_dyn-thr_dyn-thr_debug_dyn-l_dyn-thr_l_dyn.c_asm.tmp > && sed -e 's|\\|/|g' -e 's| /$| \\|' -e "1s|\.o|\.thr_debug_dyn_o|" -e > "1s|^|rts/sm/|" -e "1s|rts/|rts/dist/build/|" -e > "1s|dist/build/dist/build|dist/build|g" -e "s|/Users/tibbe/src/ghc/||g" > rts/dist/build/.depend-v-dyn-l-debug-thr-thr_debug-thr_l-debug_dyn-thr_dyn-thr_debug_dyn-l_dyn-thr_l_dyn.c_asm.bit > >> > rts/dist/build/.depend-v-dyn-l-debug-thr-thr_debug-thr_l-debug_dyn-thr_dyn-thr_debug_dyn-l_dyn-thr_l_dyn.c_asm.tmp > && sed -e 's|\\|/|g' -e 's| /$| \\|' -e "1s|\.o|\.l_dyn_o|" -e > "1s|^|rts/sm/|" -e "1s|rts/|rts/dist/build/|" -e > "1s|dist/build/dist/build|dist/build|g" -e "s|/Users/tibbe/src/ghc/||g" > rts/dist/build/.depend-v-dyn-l-debug-thr-thr_debug-thr_l-debug_dyn-thr_dyn-thr_debug_dyn-l_dyn-thr_l_dyn.c_asm.bit > >> > rts/dist/build/.depend-v-dyn-l-debug-thr-thr_debug-thr_l-debug_dyn-thr_dyn-thr_debug_dyn-l_dyn-thr_l_dyn.c_asm.tmp > && sed -e 's|\\|/|g' -e 's| /$| \\|' -e "1s|\.o|\.thr_l_dyn_o|" -e > "1s|^|rts/sm/|" -e "1s|rts/|rts/dist/build/|" -e > "1s|dist/build/dist/build|dist/build|g" -e "s|/Users/tibbe/src/ghc/||g" > rts/dist/build/.depend-v-dyn-l-debug-thr-thr_debug-thr_l-debug_dyn-thr_dyn-thr_debug_dyn-l_dyn-thr_l_dyn.c_asm.bit > >> > rts/dist/build/.depend-v-dyn-l-debug-thr-thr_debug-thr_l-debug_dyn-thr_dyn-thr_debug_dyn-l_dyn-thr_l_dyn.c_asm.tmp > && true > gcc -E -m64 -DPROFILING -DTHREADED_RTS -DDEBUG -Irts/dist/build -m64 > -fno-stack-protector -Wall -Wextra -Wstrict-prototypes > -Wmissing-prototypes -Wmissing-declarations -Winline -Waggregate-return > -Wpointer-arith -Wmissing-noreturn -Wnested-externs -Wredundant-decls > -Iincludes -Iincludes/dist -Iincludes/dist-derivedconstants/header > -Iincludes/dist-ghcconstants/header -Irts -Irts/dist/build -DCOMPILING_RTS > -fno-strict-aliasing -fno-common -DDTRACE -O2 -fomit-frame-pointer > -DRtsWay=\"rts_v\" -Wno-strict-prototypes -Wno-inline > -finline-limit=2500 -MM -x c rts/sm/Compact.c -MF > rts/dist/build/.depend-v-dyn-l-debug-thr-thr_debug-thr_l-debug_dyn-thr_dyn-thr_debug_dyn-l_dyn-thr_l_dyn.c_asm.bit > clang: error: unknown argument: '-finline-limit=2500' > [-Wunused-command-line-argument-hard-error-in-future] > clang: note: this will be a hard error (cannot be downgraded to a warning) > in the future > make[1]: *** > [rts/dist/build/.depend-v-dyn-l-debug-thr-thr_debug-thr_l-debug_dyn-thr_dyn-thr_debug_dyn-l_dyn-thr_l_dyn.c_asm] > Error 1 > make: *** [all] Error 2 > > -- Johan > >
_______________________________________________ ghc-devs mailing list [email protected] http://www.haskell.org/mailman/listinfo/ghc-devs
