|
From: Edward D. <eld...@tr...> - 2014-12-25 03:27:59
|
On 12/24/2014 9:13 PM, asmwarrior wrote: > On 2014-12-25 9:31, Edward Diener wrote: >> I could report this on the gcc bugzilla tracker but reproducing it using >> my VMD library, although it is public on Github, will be fairly >> complicated task ( the latest modular Boost must also be downloaded and >> setup from Github ) for whomever handles the bug. I was hoping this sort >> of problem, based on what seems to me to be a large-scale memory leak, >> would be known for these later versions of gcc and I could find a >> workaround. > > I think this bug is already reported, see here: > Bug 56926 – Crash (without ICE) while compiling Boost.Math - > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56926 Thanks. My issue is not a PCH problem as reported by the above bug. But the report did suggest what might be causing the problem in gcc-4.8.1 and above. In my library I do have headers that include each other, because of macro recursion techniques, and this may be causing gcc-4.8.1 to erroneously allocating memory continuously for some reason. I will put some pre-guards of the form of: #if !defined(SOME_FILE_HEADER_MACRO) #include <some_file.hpp> #endif and see if that fixes gcc-4.8.1 and above. Of course I have header guards on all header files but evidently that is not enough to unconfuse gcc. It is definitely some problem in the compiler. If I report it I will have to describe how to duplicate it, and that will take some time for me to write up. I know gcc is free, thankfully, and I appreciate all those who work on it, but having a regression like this is dismaying. > > This is the reason I still use 4.7.x version of GCC under Windows. I write Boost code and it is necessary to support the latest/greatest as many people use the latest gcc for it C++11/C++14 features. |