summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorRay Donnelly <mingw.android@gmail.com>2015-11-22 14:39:23 (GMT)
committerRay Donnelly <mingw.android@gmail.com>2015-11-22 14:39:26 (GMT)
commitb0743fdcda5e203c5b379d6b78a8adb74c4084ff (patch)
tree63c7c4994fe943672005314fab7a12c5d866ef3f /scripts
parentf001b0605ec78096c78793aafca6d58fa74d47ab (diff)
Clang: Use {C,CXX}FLAG -fbracket-depth=512 for GCC build
https://llvm.org/bugs/show_bug.cgi?id=19650 https://gcc.gnu.org/ml/gcc/2014-05/msg00014.html Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/build/cc/100-gcc.sh13
1 files changed, 13 insertions, 0 deletions
diff --git a/scripts/build/cc/100-gcc.sh b/scripts/build/cc/100-gcc.sh
index 5674c30..6ed9e9c 100644
--- a/scripts/build/cc/100-gcc.sh
+++ b/scripts/build/cc/100-gcc.sh
@@ -426,6 +426,12 @@ do_gcc_core_backend() {
CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'"
+ # Clang's default bracket-depth is 256, and building GCC
+ # requires somewhere between 257 and 512.
+ if ${CT_BUILD}-gcc --version 2>&1 | grep clang; then
+ cflags="$cflags "-fbracket-depth=512
+ fi
+
# Use --with-local-prefix so older gccs don't look in /usr/local (http://gcc.gnu.org/PR10532)
CT_DoExecLog CFG \
CC_FOR_BUILD="${CT_BUILD}-gcc" \
@@ -916,6 +922,13 @@ do_gcc_backend() {
CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'"
+ # https://gcc.gnu.org/ml/gcc/2014-05/msg00014.html
+ # "gcc 4.9.0 do not build on OSX" .. because Clang's default
+ # bracket-depth is 256
+ if ${CT_BUILD}-gcc --version 2>&1 | grep clang; then
+ cflags="$cflags "-fbracket-depth=512
+ fi
+
CT_DoExecLog CFG \
CC_FOR_BUILD="${CT_BUILD}-gcc" \
CFLAGS="${cflags}" \