On Tue, 2011-12-20 at 09:30 +0000, Caolán McNamara wrote: > On Tue, 2011-12-20 at 10:13 +0100, Petr Mladek wrote: > > Hi Rafael, > > > > fixes for 3.4.5-rc2 need triple review, so I forward this mail to the > > mailing list. > > We've seen this problem recently with our rawhide gcc as well and 3.4.X, > though 3.5.X doesn't seem to have the problem
after some digging the difference between 3.4 and 3.5 that makes 3.5 build is that the gbuild modules are additionally built with -std=c++0x on 3.5 (only the dmake ones are built with that on 3.4). Seems that a recent boost + recent gcc causes this problem when an boost::unordered_map is used as a baseclass for something, but asking gcc to use -std=c++0x mode makes gcc do the right thing. Whether its a bug in gcc or boost I'm unsure really. But it wouldn't happen with an older boost like the builtin one, and I think using the attached patch would allow people to build 3.4 with bleeding edge external boost and gcc without hacking loads of copy-constructors manually. C.
diff --git a/solenv.orig/gbuild/platform/unxgcc.mk b/solenv/gbuild/platform/unxgcc.mk index 2bce148..391dd5d 100755 --- a/solenv/gbuild/platform/unxgcc.mk +++ b/solenv/gbuild/platform/unxgcc.mk @@ -111,6 +111,12 @@ gb_CFLAGS += -fno-strict-aliasing gb_CXXFLAGS += -fno-strict-aliasing endif +ifeq ($(HAVE_CXX0X),TRUE) +#Currently, as well as for its own merits, c++11/c++0x mode allows use to use +#a template for SAL_N_ELEMENTS to detect at compiler time its misuse +gb_CXXFLAGS += -std=c++0x -Wno-deprecated-declarations +endif + ifneq ($(EXTERNAL_WARNINGS_NOT_ERRORS),TRUE) gb_CFLAGS_WERROR := -Werror gb_CXXFLAGS_WERROR := -Werror
_______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice