From: Benjamin Kramer Date: Thu, 22 Dec 2011 21:41:32 +0000 (+0000) Subject: Reenable building with -fvisibility-inlines-hidden. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=01442cd1b9697e11ac76bfd9c0aa9c1eae89fea4;p=oota-llvm.git 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 --- diff --git a/Makefile.rules b/Makefile.rules index 974a962102f..05b9689973b 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.