From 70289a879f7a48a47dd0219cc5d3a9a1dee076a8 Mon Sep 17 00:00:00 2001
From: Jens Lody <jens@codeblocks.org>
Date: Wed, 27 Jul 2016 02:09:07 +0200
Subject: Workaround for gcc6 optimization bug.
diff --git a/configure.ac b/configure.ac
index 7f80a3f..f178ee2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -276,6 +276,7 @@ esac
CB_GCC_VERSION
AM_CONDITIONAL([HAVE_GCC48], [test $GCC_MAJOR_VERSION -gt 4 -o $GCC_MAJOR_VERSION -eq 4 -a $GCC_MINOR_VERSION -ge 8])
+AM_CONDITIONAL([HAVE_GCC6], [test $GCC_MAJOR_VERSION -ge 6])
AC_MSG_CHECKING([for wxWidgets >= 2.9.0])
AM_CONDITIONAL([HAVE_WX29], [test $wx_config_major_version -gt 2 -o $wx_config_major_version -eq 2 -a $wx_config_minor_version -ge 9])
diff --git a/src/sdk/wxpropgrid/Makefile.am b/src/sdk/wxpropgrid/Makefile.am
index 2b1a107..f427fb4 100644
--- a/src/sdk/wxpropgrid/Makefile.am
+++ b/src/sdk/wxpropgrid/Makefile.am
@@ -3,6 +3,10 @@ AM_CPPFLAGS = $(WX_CXXFLAGS) \
-DEXPORT_LIB \
-DwxPG_SUPPORT_TOOLTIPS
+if HAVE_GCC6
+AM_CPPFLAGS += -fno-delete-null-pointer-checks
+endif
+
noinst_LTLIBRARIES = libwxpropgrid.la
libwxpropgrid_la_SOURCES = ./src/advprops.cpp \
From 6350b94c5379563ac2a861de8c2c197208782435 Mon Sep 17 00:00:00 2001
From: jenslody <jenslody@2a5c6006-c6dd-42ca-98ab-0921f2732cef>
Date: Sun, 17 Apr 2016 21:31:25 +0000
Subject: * Fix variable declarations, that conflict with internal
compiler-defines, so C::B is compilable with gcc6 .
git-svn-id: https://svn.code.sf.net/p/codeblocks/code/trunk@10833 2a5c6006-c6dd-42ca-98ab-0921f2732cef
diff --git a/src/include/prep.h b/src/include/prep.h
index 5843bb8..6397900 100644
--- a/src/include/prep.h
+++ b/src/include/prep.h
@@ -102,9 +102,9 @@ template<typename T>inline void DeleteArray(T*& p){delete[] p; p = nullptr;}
platform::id
Value of type platform::identifier describing the target platform
- platform::windows, platform::macosx, platform::linux
+ platform::windows, platform::macosx, platform::Linux
platform::freebsd, platform::netbsd, platform::openbsd
- platform::darwin, platform::solaris, platform::unix
+ platform::darwin, platform::solaris, platform::Unix
Boolean value that evaluates to true if the target platform is the same as the variable's name, false otherwise.
Using the platform booleans is equivalent to using platform::id, but results in nicer code.
@@ -185,13 +185,13 @@ namespace platform
const bool windows = (id == platform_windows);
const bool macosx = (id == platform_macosx);
- const bool linux = (id == platform_linux);
+ const bool Linux = (id == platform_linux);
const bool freebsd = (id == platform_freebsd);
const bool netbsd = (id == platform_netbsd);
const bool openbsd = (id == platform_openbsd);
const bool darwin = (id == platform_darwin);
const bool solaris = (id == platform_solaris);
- const bool unix = (linux | freebsd | netbsd | openbsd | darwin | solaris);
+ const bool Unix = (Linux | freebsd | netbsd | openbsd | darwin | solaris);
const int bits = 8*sizeof(void*);
diff --git a/src/plugins/compilergcc/compilergcc.cpp b/src/plugins/compilergcc/compilergcc.cpp
index 1c255b6..e8b8443 100644
--- a/src/plugins/compilergcc/compilergcc.cpp
+++ b/src/plugins/compilergcc/compilergcc.cpp
@@ -871,7 +871,7 @@ void CompilerGCC::DoRegisterCompilers()
CompilerFactory::RegisterCompiler(new CompilerGDC);
CompilerFactory::RegisterCompiler(new CompilerGNUFortran);
CompilerFactory::RegisterCompiler(new CompilerG95);
- if (platform::windows || platform::linux || nonPlatComp)
+ if (platform::windows || platform::Linux || nonPlatComp)
CompilerFactory::RegisterCompiler(new CompilerGNUARM);
// register pure XML compilers
@@ -925,7 +925,7 @@ void CompilerGCC::DoRegisterCompilers()
else if (test == wxT("macosx"))
val = platform::macosx;
else if (test == wxT("linux"))
- val = platform::linux;
+ val = platform::Linux;
else if (test == wxT("freebsd"))
val = platform::freebsd;
else if (test == wxT("netbsd"))
@@ -937,7 +937,7 @@ void CompilerGCC::DoRegisterCompilers()
else if (test == wxT("solaris"))
val = platform::solaris;
else if (test == wxT("unix"))
- val = platform::unix;
+ val = platform::Unix;
}
if (val)
CompilerFactory::RegisterCompiler(
diff --git a/src/plugins/contrib/lib_finder/processingdlg.cpp b/src/plugins/contrib/lib_finder/processingdlg.cpp
index 77ccfd2..03c93cf 100644
--- a/src/plugins/contrib/lib_finder/processingdlg.cpp
+++ b/src/plugins/contrib/lib_finder/processingdlg.cpp
@@ -423,7 +423,7 @@ void ProcessingDlg::CheckFilter(
}
}
- if ( platform::linux )
+ if ( platform::Linux )
{
if ( Platform==_T("lin") || Platform==_T("linux") )
{
@@ -477,7 +477,7 @@ void ProcessingDlg::CheckFilter(
}
}
- if ( platform::unix )
+ if ( platform::Unix )
{
if ( Platform==_T("unix") || Platform==_T("un*x") )
{
diff --git a/src/plugins/projectsimporter/msvc10loader.cpp b/src/plugins/projectsimporter/msvc10loader.cpp
index 6a88e79..19f692b 100644
--- a/src/plugins/projectsimporter/msvc10loader.cpp
+++ b/src/plugins/projectsimporter/msvc10loader.cpp
@@ -50,7 +50,7 @@ MSVC10Loader::MSVC10Loader(cbProject* project) :
//ctor
if (platform::windows)
m_PlatformName = _T("Win32");
- else if (platform::linux)
+ else if (platform::Linux)
m_PlatformName = _T("Linux");
else if (platform::macosx)
m_PlatformName = _T("MacOSX");
diff --git a/src/plugins/projectsimporter/msvc7loader.cpp b/src/plugins/projectsimporter/msvc7loader.cpp
index 568357f..a2f56f8 100644
--- a/src/plugins/projectsimporter/msvc7loader.cpp
+++ b/src/plugins/projectsimporter/msvc7loader.cpp
@@ -39,7 +39,7 @@ MSVC7Loader::MSVC7Loader(cbProject* project)
//ctor
if (platform::windows)
m_PlatformName = _T("Win32");
- else if (platform::linux)
+ else if (platform::Linux)
m_PlatformName = _T("Linux");
else if (platform::macosx)
m_PlatformName = _T("MacOSX");
diff --git a/src/sdk/compileoptionsbase.cpp b/src/sdk/compileoptionsbase.cpp
index 20b7e77..700d39c 100644
--- a/src/sdk/compileoptionsbase.cpp
+++ b/src/sdk/compileoptionsbase.cpp
@@ -64,7 +64,7 @@ bool CompileOptionsBase::SupportsCurrentPlatform() const
{
if(platform::windows)
return m_Platform & spWindows;
- if(platform::unix)
+ if(platform::Unix)
return m_Platform & spUnix;
if(platform::macosx)
return m_Platform & spMac;
diff --git a/src/sdk/compiler.cpp b/src/sdk/compiler.cpp
index 7b29618..45ed969 100644
--- a/src/sdk/compiler.cpp
+++ b/src/sdk/compiler.cpp
@@ -1149,7 +1149,7 @@ bool Compiler::EvalXMLCondition(const wxXmlNode* node)
else if (test == wxT("macosx"))
val = platform::macosx;
else if (test == wxT("linux"))
- val = platform::linux;
+ val = platform::Linux;
else if (test == wxT("freebsd"))
val = platform::freebsd;
else if (test == wxT("netbsd"))
@@ -1161,7 +1161,7 @@ bool Compiler::EvalXMLCondition(const wxXmlNode* node)
else if (test == wxT("solaris"))
val = platform::solaris;
else if (test == wxT("unix"))
- val = platform::unix;
+ val = platform::Unix;
}
else if (node->GetAttribute(wxT("exec"), &test))
{
diff --git a/src/sdk/compiletargetbase.cpp b/src/sdk/compiletargetbase.cpp
index 85f57ed..19c5647 100644
--- a/src/sdk/compiletargetbase.cpp
+++ b/src/sdk/compiletargetbase.cpp
@@ -264,7 +264,7 @@ void CompileTargetBase::GenerateTargetFilename(wxString& filename) const
{
wxString prefix = wxEmptyString;
// On linux, "lib" is the common prefix for this platform
- if (platform::linux)
+ if (platform::Linux)
prefix = wxT("lib");
// FIXME (Morten#5#): What about Mac (Windows is OK)?!
diff --git a/src/sdk/configmanager.cpp b/src/sdk/configmanager.cpp
index 15a931e..4b6cbfc 100644
--- a/src/sdk/configmanager.cpp
+++ b/src/sdk/configmanager.cpp
@@ -261,11 +261,11 @@ void CfgMgrBldr::SwitchTo(const wxString& fileName)
if (platform::windows)
info.append(_T("\n\t Windows "));
- if (platform::linux)
+ if (platform::Linux)
info.append(_T("\n\t Linux "));
if (platform::macosx)
info.append(_T("\n\t Mac OS X "));
- if (platform::unix)
+ if (platform::Unix)
info.append(_T("\n\t Unix "));
info.append(platform::unicode ? _T("Unicode ") : _T("ANSI "));
diff --git a/src/sdk/editormanager.cpp b/src/sdk/editormanager.cpp
index 0a9ab0f..929ae82 100644
--- a/src/sdk/editormanager.cpp
+++ b/src/sdk/editormanager.cpp
@@ -1845,7 +1845,7 @@ void EditorManager::CollectDefines(CodeBlocksEvent& event)
defines.Add(wxT("__WXOSX_MAC__"));
defines.Add(wxT("__APPLE__"));
}
- else if (platform::linux)
+ else if (platform::Linux)
{
defines.Add(wxT("LINUX"));
defines.Add(wxT("linux"));
@@ -1880,7 +1880,7 @@ void EditorManager::CollectDefines(CodeBlocksEvent& event)
defines.Add(wxT("__SUNOS__"));
defines.Add(wxT("__SOLARIS__"));
}
- if (platform::unix)
+ if (platform::Unix)
{
defines.Add(wxT("unix"));
defines.Add(wxT("__unix"));