Pass -fstrict-aliasing to the compiler when building a release build on darwin.
authorChris Lattner <sabre@nondot.org>
Thu, 27 Jul 2006 18:19:51 +0000 (18:19 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 27 Jul 2006 18:19:51 +0000 (18:19 +0000)
Darwin doesn't default to it being on.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29350 91177308-0d34-0410-b5e6-96231b3b80d8

Makefile.rules

index 6341c7553c8cc1e4232d0304886b7a3a3da72dc8..3fe8090c9bdad67172e28dd5635591182ba8f919 100644 (file)
@@ -214,13 +214,18 @@ ifdef ENABLE_PROFILING
 else
   ifdef ENABLE_OPTIMIZED
     BuildMode := Release
-    # Don't use -fomit-frame-pointer on FreeBSD
+    # Don't use -fomit-frame-pointer on Darwin or FreeBSD.
     ifneq ($(OS),FreeBSD)
-    # Don't use -fomit-frame-pointer on Darwin, it breaks backtraces.
     ifneq ($(OS),Darwin)
       OmitFramePointer := -fomit-frame-pointer
     endif
     endif
+
+    # Darwin requires -fstrict-aliasing to be explicitly enabled.
+    ifeq ($(OS),Darwin)
+      EXTRA_OPTIONS += -fstrict-aliasing
+    endif
+
     CXX.Flags := $(OPTIMIZE_OPTION) $(OmitFramePointer)
     C.Flags   := $(OPTIMIZE_OPTION) $(OmitFramePointer)
     LD.Flags  := $(OPTIMIZE_OPTION)
@@ -251,7 +256,7 @@ LD.Flags      += $(LDFLAGS)
 AR.Flags      := cru
 LibTool.Flags := --tag=CXX
 
-#Make Floating point ieee complient on alpha
+# Make Floating point IEEE compliant on Alpha.
 ifeq ($(ARCH),Alpha)
   CXX.Flags     += -mieee -fPIC
   CPP.BaseFlags += -mieee -fPIC