[Bug debug/58315] [4.8/4.9/5 Regression] Excessive memory use with -g

aldyh at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Feb 20 16:31:00 GMT 2015


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58315

--- Comment #10 from Aldy Hernandez <aldyh at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #9)
> Hmm, I still see >2GB of memory - just checked with ulimit -v 2000000 where
> 4.7
> succeeds but 4.8, 4.9 and 5 (r220758).
> 
> Thus, re-confirmed.  Without var-tracking GCC 5 tops out at ~400MB.
> 
> I don't get the following note:
> 
> b.ii: In function ‘bool {anonymous}::test03()’:
> b.ii:84991:1: note: variable tracking size limit exceeded with
> -fvar-tracking-assignments, retrying without
> 
> did you use some patched GCC with lower limits?

I am using mainline as of two days ago, but in the interest of full-disclosure,
I can't get your testcase to compile unmodified:

$ ./cc1plus mipproblem1.ii -quiet
In file included from ../../src/algorithms.hh:28:0,
                 from ../../src/ppl_include_files.hh:14,
                 from ../../src/ppl_header.hh:38,
                 from ../../tests/ppl_test.hh:27,
                 from mipproblem1.cc:24:
../../src/Pointset_Powerset.defs.hh:1398:37: error: redeclaration of
‘template<class QH>
Parma_Polyhedra_Library::Pointset_Powerset<PSET>::Pointset_Powerset(const
Parma_Polyhedra_Library::Pointset_Powerset<QH>&,
Parma_Polyhedra_Library::Complexity_Class) [with QH = QH; PSET =
Parma_Polyhedra_Library::NNC_Polyhedron]’ may not have default arguments
[-fpermissive]

The above corresponds to the following code in
ppl/src/Pointset_Powerset_defs.hh, which I have had to comment out:

// CHECKME: according to the Intel compiler, the declaration of the
// following specialization (of the class template parameter) should come
// before the declaration of the corresponding full specialization
// (where the member template parameter is specialized too).
template <>
template <typename QH>
Pointset_Powerset<NNC_Polyhedron>
::Pointset_Powerset(const Pointset_Powerset<QH>& y,
                    Complexity_Class);

Interestingly, the current Fedora package for ppl has a patch for this
particular line:

+#if __GNUC__ < 5
 // CHECKME: according to the Intel compiler, the declaration of the
 // following specialization (of the class template parameter) should come
 // before the declaration of the corresponding full specialization
@@ -1400,6 +1401,7 @@ template <typename QH>
 Pointset_Powerset<NNC_Polyhedron>
 ::Pointset_Powerset(const Pointset_Powerset<QH>& y,
                     Complexity_Class);
+#endif

Is your attached testcase ./cc1plus-ing unmodified?


More information about the Gcc-bugs mailing list