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

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2016-02-28
                 CC|                            |trippels at gcc dot gnu.org
            Summary|Infinity compilation time   |[5 regression] Infinity
                   |                            |compilation time
     Ever confirmed|0                           |1

--- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Confirmed. gcc-5 is spinning in:

Overhead  Shared Object  Symbol
  61.76%  cc1plus        [.] cp_tree_equal
  12.72%  cc1plus        [.] tree_int_cst_equal
   9.23%  cc1plus        [.] cxx_eval_constant_expression
   2.72%  cc1plus        [.] cxx_eval_constant_expression



gcc-6 prints two errors at first:

fft-old.cpp: In function ‘int rev(int)’:
fft-old.cpp:70:21: error: ‘mask’ was not declared in this scope
             while ((mask & (1 << k)) == 0)
                     ^~~~
fft-old.cpp: In function ‘cd get_w(int)’:
fft-old.cpp:88:16: error: ‘i’ was not declared in this scope
     return res[i];
                ^
then consumes 6GB of memory before it continues with:

fft-old.cpp: In function ‘void mult()’:
fft-old.cpp:114:10: error: ‘i’ was not declared in this scope
     for (i = 0; i != N; ++i)
          ^
fft-old.cpp:117:10: error: ‘i’ was not declared in this scope
     for (i = 0; i < N; ++i)
          ^
fft-old.cpp:119:20: error: no match for ‘operator+’ (operand types are
‘std::array<std::complex<double>, 131072ul>’ and ‘int’)
     std::reverse(A + 1, A + N);
                  ~~^~~
In file included from fft-old.cpp:28:0:
/usr/lib/gcc/x86_64-pc-linux-gnu/6.0.0/include/g++-v6/complex:445:5: note:
candidate: template<class _Tp> std::complex<_Tp> std::operator+(const
std::complex<_Tp>&)
     operator+(const complex<_Tp>& __x)
     ^~~~~~~~
/usr/lib/gcc/x86_64-pc-linux-gnu/6.0.0/include/g++-v6/complex:445:5: note:  
template argument deduction/substitution failed:
fft-old.cpp:119:22: note:   ‘std::array<std::complex<double>, 131072ul>’ is not
derived from ‘const std::complex<_Tp>’
     std::reverse(A + 1, A + N);
...

Reply via email to