https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80290
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P3 |P1 Status|UNCONFIRMED |NEW Keywords| |memory-hog Last reconfirmed| |2017-04-04 Component|c++ |libstdc++ Ever confirmed|0 |1 Summary|g++ uses unreasonable |[6/7 Regression] g++ uses |amount of memory compiling |unreasonable amount of |nested string maps |memory compiling nested | |string maps Target Milestone|--- |6.4 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. The initializer is not unreasonably large IMHO but is certainly the problem. clang++ uses 500MB for me when not optimizing, g++ 4.8 and g++ 5 around 200MB. Starting with g++ 6 we use gigabytes. Seems to be caused by libstdc++ changes given g++ 7 preprocessed source uses as much memory with g++ 5 as with 7 (even worse, at 12GB and still compiling...)