Only enable RTTI for cxa_demangle.cpp
authorFilipe Cabecinhas <me@filcab.net>
Fri, 15 Feb 2013 02:36:40 +0000 (02:36 +0000)
committerFilipe Cabecinhas <me@filcab.net>
Fri, 15 Feb 2013 02:36:40 +0000 (02:36 +0000)
If testing on Linux+clang proves it needs RTTI, wa can remove the
conditionals.

llvm-svn: 175242

lldb/source/Core/Makefile
lldb/source/DataFormatters/Makefile
lldb/source/Utility/Makefile

index 5278dc5..78b7e3d 100644 (file)
@@ -11,15 +11,16 @@ LLDB_LEVEL := ../..
 LIBRARYNAME := lldbCore
 BUILD_ARCHIVE = 1
 
+include $(LLDB_LEVEL)/Makefile
+
 # Enable RTTI on GCC builds because one source file in this directory
 # (cxa_demangle.cpp) uses dynamic_cast<> and GCC (at least 4.6 and 4.7)
-# complain if we try to compile it with -fno-rtti. This is somewhat of a
-# kludge because it forces us to enable RTTI in liblldbUtility.a and also
-# link in additional clang static libraries to resolve vtable references,
-# but actually has negligible impact on (shard object) file size.
+# complain if we try to compile it with -fno-rtti.
 $(info shell basename CXX is $(shell basename $(CXX)))
 ifeq (g++,$(shell basename $(CXX)))
-  REQUIRES_RTTI = 1
+$(ObjDir)/cxa_demangle.o: Compile.CXX := $(filter-out -fno-rtti,$(Compile.CXX)) -frtti
 endif
 
-include $(LLDB_LEVEL)/Makefile
+ifeq (Darwin,$(shell uname -s))
+$(ObjDir)/cxa_demangle.o: Compile.CXX := $(filter-out -fno-rtti,$(Compile.CXX)) -frtti
+endif
index 465f889..4eb3249 100644 (file)
@@ -11,15 +11,4 @@ LLDB_LEVEL := ../..
 LIBRARYNAME := lldbDataFormatters
 BUILD_ARCHIVE = 1
 
-# Enable RTTI on GCC builds because one source file in this directory
-# (cxa_demangle.cpp) uses dynamic_cast<> and GCC (at least 4.6 and 4.7)
-# complain if we try to compile it with -fno-rtti. This is somewhat of a
-# kludge because it forces us to enable RTTI in liblldbUtility.a and also
-# link in additional clang static libraries to resolve vtable references,
-# but actually has negligible impact on (shard object) file size.
-$(info shell basename CXX is $(shell basename $(CXX)))
-ifeq (g++,$(shell basename $(CXX)))
-  REQUIRES_RTTI = 1
-endif
-
 include $(LLDB_LEVEL)/Makefile
index 3997da3..13bcd83 100644 (file)
@@ -12,11 +12,4 @@ LIBRARYNAME := lldbUtility
 BUILD_ARCHIVE = 1
 NO_PEDANTIC = 1
 
-# Enable RTTI on GCC builds because liblldbCore.a requires RTTI.
-# See source/Core/Makefile for details.
-ifeq (g++,$(shell basename $(CXX)))
-  REQUIRES_RTTI = 1
-endif
-
-
 include $(LLDB_LEVEL)/Makefile