[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