summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--odk/CppunitTest_odk_checkapi.mk1
-rw-r--r--odk/qa/checkapi/checkapi.cxx6
-rw-r--r--solenv/gbuild/platform/com_GCC_defs.mk8
-rw-r--r--solenv/gbuild/platform/com_MSC_defs.mk3
4 files changed, 18 insertions, 0 deletions
diff --git a/odk/CppunitTest_odk_checkapi.mk b/odk/CppunitTest_odk_checkapi.mk
index dd0b36b5c24e..8d2bf2fde882 100644
--- a/odk/CppunitTest_odk_checkapi.mk
+++ b/odk/CppunitTest_odk_checkapi.mk
@@ -27,6 +27,7 @@ $(eval $(call gb_CppunitTest_disable_compiler_plugins,odk_checkapi))
$(eval $(call gb_CppunitTest_add_cxxflags,odk_checkapi,\
$(gb_CXXFLAGS_Wundef) \
+ $(gb_CXX03FLAGS) \
))
$(eval $(call gb_CppunitTest_use_libraries,odk_checkapi,\
diff --git a/odk/qa/checkapi/checkapi.cxx b/odk/qa/checkapi/checkapi.cxx
index 96783efb08d0..29ec390327ec 100644
--- a/odk/qa/checkapi/checkapi.cxx
+++ b/odk/qa/checkapi/checkapi.cxx
@@ -20,6 +20,12 @@
#error Build system problem, RTL_USING using should not be set here.
#endif
+// Additionally, check that public API headers build also with C++03.
+
+//#if __cplusplus >= 201103L
+//#error Build system problem, C++03 should be used here.
+//#endif
+
// This module contains no tests, this is for the build system.
#include <cppunit/plugin/TestPlugIn.h>
diff --git a/solenv/gbuild/platform/com_GCC_defs.mk b/solenv/gbuild/platform/com_GCC_defs.mk
index 1ca76d0fb90b..04864574a111 100644
--- a/solenv/gbuild/platform/com_GCC_defs.mk
+++ b/solenv/gbuild/platform/com_GCC_defs.mk
@@ -97,6 +97,14 @@ endif
gb_CFLAGS_WERROR := $(if $(ENABLE_WERROR),-Werror)
+# This is the default in non-C++11 mode
+ifeq ($(COM_GCC_IS_CLANG),TRUE)
+# doesn't know gnu++03 and this seems to be the same anyway
+gb_CXX03FLAGS := -std=gnu++98 -Werror=c++11-extensions -Wno-c++11-long-long
+else
+gb_CXX03FLAGS := -std=gnu++03 -pedantic-errors -Wno-long-long
+endif
+
ifeq ($(ENABLE_LTO),TRUE)
ifeq ($(COM_GCC_IS_CLANG),TRUE)
gb_LTOFLAGS := -flto
diff --git a/solenv/gbuild/platform/com_MSC_defs.mk b/solenv/gbuild/platform/com_MSC_defs.mk
index 1702218bf70b..c1ce1f1b32e1 100644
--- a/solenv/gbuild/platform/com_MSC_defs.mk
+++ b/solenv/gbuild/platform/com_MSC_defs.mk
@@ -247,6 +247,9 @@ gb_STDLIBS := \
gb_CFLAGS_WERROR := $(if $(ENABLE_WERROR),-WX)
+# there does not seem to be a way to force C++03 with MSVC
+gb_CXX03FLAGS :=
+
gb_LinkTarget_EXCEPTIONFLAGS := \
-DEXCEPTIONS_ON \
-EHa \