summaryrefslogtreecommitdiff
path: root/Makefile.rules
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2011-12-22 21:41:32 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2011-12-22 21:41:32 +0000
commit01442cd1b9697e11ac76bfd9c0aa9c1eae89fea4 (patch)
tree52af43d7ec1037426c9695bf98f9ff3cd2b5f448 /Makefile.rules
parentb975c27adc2371a9666fa9b8cecd9487966ec5b1 (diff)
downloadllvm-01442cd1b9697e11ac76bfd9c0aa9c1eae89fea4.tar.gz
llvm-01442cd1b9697e11ac76bfd9c0aa9c1eae89fea4.tar.bz2
llvm-01442cd1b9697e11ac76bfd9c0aa9c1eae89fea4.tar.xz
Reenable building with -fvisibility-inlines-hidden.
This was disabled years ago because of a bug in GCC 4.1, which is on our "broken compilers" list for other reasons. Saving ~500k on a clang binary (Release+Asserts) is well worth dropping support for it. We currently disable it for shared libraries (where it would bring the biggest win) because clang is broken (PR11642). IMPORTANT: If you're doing incremental builds you may get tons of linker warnings. make clean will fix them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147182 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'Makefile.rules')
-rw-r--r--Makefile.rules9
1 files changed, 6 insertions, 3 deletions
diff --git a/Makefile.rules b/Makefile.rules
index 974a962102..05b9689973 100644
--- a/Makefile.rules
+++ b/Makefile.rules
@@ -319,9 +319,12 @@ ifeq ($(ENABLE_PROFILING),1)
KEEP_SYMBOLS := 1
endif
-#ifeq ($(ENABLE_VISIBILITY_INLINES_HIDDEN),1)
-# CXX.Flags += -fvisibility-inlines-hidden
-#endif
+ifeq ($(ENABLE_VISIBILITY_INLINES_HIDDEN),1)
+# FIXME: clang's -fvisibility-inlines-hidden is broken for shared libs. PR11642.
+ifneq ($(ENABLE_SHARED),1)
+ CXX.Flags += -fvisibility-inlines-hidden
+endif
+endif
ifdef ENABLE_EXPENSIVE_CHECKS
# GNU libstdc++ uses RTTI if you define _GLIBCXX_DEBUG, which we did above.