solenv/gbuild/platform/WNT_INTEL_GCC.mk | 2 ++ solenv/gbuild/platform/com_GCC_defs.mk | 2 ++ solenv/inc/unxgcc.mk | 2 ++ solenv/inc/unxiosr.mk | 2 ++ solenv/inc/unxmacx.mk | 2 ++ solenv/inc/wntgcci.mk | 5 ++++- 6 files changed, 14 insertions(+), 1 deletion(-)
New commits: commit cdd0e1810d4019d827563b436c1b3b8d1cf5b579 Author: LuboÅ¡ LuÅák <l.lu...@suse.cz> Date: Fri Apr 6 21:29:43 2012 +0200 enable -fno-enforce-eh-specs only for non-dbgutil builds The code uses exception specifications, so it doesn't make much sense to have them, but disable them using a gcc option. MSVC ignores them completely, so this would leave only clang as the only compiler to enforce them. Either the majority compiler needs to enforce it at least in dbgutil builds (in product builds the option can be seen as a kind of NDEBUG), or alternatively the exception specifications should be removed. diff --git a/solenv/gbuild/platform/WNT_INTEL_GCC.mk b/solenv/gbuild/platform/WNT_INTEL_GCC.mk index 1ba676f..08b5351 100644 --- a/solenv/gbuild/platform/WNT_INTEL_GCC.mk +++ b/solenv/gbuild/platform/WNT_INTEL_GCC.mk @@ -93,8 +93,10 @@ ifeq ($(HAVE_CXX0X),TRUE) # FIXME still does not compile fully gb_CXXFLAGS += -std=gnu++0x endif +ifeq ($(gb_PRODUCT),$(true)) gb_LinkTarget_EXCEPTIONFLAGS += \ -fno-enforce-eh-specs \ +endif # At least sal defines its own __main, which would cause DLLs linking against # sal to pick up sal's __main instead of the one from MinGW's dllcrt2.o: diff --git a/solenv/gbuild/platform/com_GCC_defs.mk b/solenv/gbuild/platform/com_GCC_defs.mk index 4018ebc..c025e70 100644 --- a/solenv/gbuild/platform/com_GCC_defs.mk +++ b/solenv/gbuild/platform/com_GCC_defs.mk @@ -120,11 +120,13 @@ gb_LinkTarget_EXCEPTIONFLAGS := \ -DEXCEPTIONS_ON \ -fexceptions +ifeq ($(gb_PRODUCT),$(true)) # Clang doesn't have this option ifneq ($(COM_GCC_IS_CLANG),TRUE) gb_LinkTarget_EXCEPTIONFLAGS += \ -fno-enforce-eh-specs endif +endif gb_LinkTarget_NOEXCEPTIONFLAGS := \ -DEXCEPTIONS_OFF \ diff --git a/solenv/inc/unxgcc.mk b/solenv/inc/unxgcc.mk index 4f9ebee..151fc8b 100644 --- a/solenv/inc/unxgcc.mk +++ b/solenv/inc/unxgcc.mk @@ -83,9 +83,11 @@ CFLAGSENABLESYMBOLS=-g CFLAGSCC= -pipe $(ARCH_FLAGS) # Flags for enabling exception handling CFLAGSEXCEPTIONS=-fexceptions +.IF "$(dbgutil)"=="" .IF "$(COM_GCC_IS_CLANG)" != "TRUE" CFLAGSEXCEPTIONS+=-fno-enforce-eh-specs .ENDIF +.ENDIF # Flags for disabling exception handling CFLAGS_NO_EXCEPTIONS=-fno-exceptions diff --git a/solenv/inc/unxiosr.mk b/solenv/inc/unxiosr.mk index 05bded5..089dc3d 100644 --- a/solenv/inc/unxiosr.mk +++ b/solenv/inc/unxiosr.mk @@ -53,9 +53,11 @@ OBJCXXFLAGS:=-x objective-c++ $(OBJCFLAGS) # Comp Flags for files that need exceptions enabled (C and C++) CFLAGSEXCEPTIONS=-fexceptions +.IF "$(dbgutil)"=="" .IF "$(COM_GCC_IS_CLANG)" != "TRUE" CFLAGSEXCEPTIONS+=-fno-enforce-eh-specs .ENDIF +.ENDIF # Comp Flags for files that do not need exceptions enabled (C and C++) CFLAGS_NO_EXCEPTIONS=-fno-exceptions diff --git a/solenv/inc/unxmacx.mk b/solenv/inc/unxmacx.mk index 8f36772..c829a45 100644 --- a/solenv/inc/unxmacx.mk +++ b/solenv/inc/unxmacx.mk @@ -107,9 +107,11 @@ OBJCXXFLAGS=-x objective-c++ -fobjc-exceptions # Comp Flags for files that need exceptions enabled (C and C++) CFLAGSEXCEPTIONS=-fexceptions +.IF "$(dbgutil)"=="" .IF "$(COM_GCC_IS_CLANG)" != "TRUE" CFLAGSEXCEPTIONS+=-fno-enforce-eh-specs .ENDIF +.ENDIF # Comp Flags for files that do not need exceptions enabled (C and C++) CFLAGS_NO_EXCEPTIONS=-fno-exceptions diff --git a/solenv/inc/wntgcci.mk b/solenv/inc/wntgcci.mk index bdf46b4..c8e39d1 100644 --- a/solenv/inc/wntgcci.mk +++ b/solenv/inc/wntgcci.mk @@ -51,8 +51,11 @@ CFLAGSCXX=-pipe $(ARCH_FLAGS) # FIXME still does not compile fully CFLAGSCXX+=-std=gnu++0x .ENDIF -CFLAGSEXCEPTIONS=-fexceptions -fno-enforce-eh-specs +CFLAGSEXCEPTIONS=-fexceptions CFLAGS_NO_EXCEPTIONS=-fno-exceptions +.IF "$(dbgutil)"=="" +CFLAGSEXCEPTIONS+= -fno-enforce-eh-specs +.ENDIF PICSWITCH:= CFLAGSOBJGUIST=
_______________________________________________ Libreoffice-commits mailing list Libreoffice-commits@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits