http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55032



             Bug #: 55032

           Summary: [4.7 Regression] Internal compiler error: in

                    strip_typedefs, at cp/tree.c:1199

    Classification: Unclassified

           Product: gcc

           Version: 4.7.2

            Status: UNCONFIRMED

          Severity: normal

          Priority: P3

         Component: c++

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: bruno-...@defraine.net





Some variations of bug #53989 still seem to exist (or gcc 4.7.2 does not

contain a complete fix for that bug).



$ cat Test.cpp

template<typename T>

struct vec3t {

  T c[3];

};



typedef vec3t<float> vec3;



class Bounds {

  public:

    Bounds(const vec3 bb[2]);

    void foo(const vec3 & v) { v.c[0]; }

};



template<typename T>

void work(T& value);



void foo() {

  vec3 bb[2];

  work(bb);

}



$ g++ -Wall -c Test.cpp

Test.cpp: In member function 'void Bounds::foo(const vec3&)':

Test.cpp:11:38: warning: statement has no effect [-Wunused-value]

Test.cpp: In function 'void foo()':

Test.cpp:19:10: internal compiler error: in strip_typedefs, at cp/tree.c:1199

Please submit a full bug report,

with preprocessed source if appropriate.

See <http://gcc.gnu.org/bugs.html> for instructions.



$ g++ -v

Using built-in specs.

COLLECT_GCC=g++

COLLECT_LTO_WRAPPER=/opt/gcc-4.7.2/libexec/gcc/x86_64-unknown-linux-gnu/4.7.2/lto-wrapper

Target: x86_64-unknown-linux-gnu

Configured with: ../configure --prefix=/opt/gcc-4.7.2

--enable-languages=c,c++,fortran --disable-multilib

Thread model: posix

gcc version 4.7.2 (GCC)

Reply via email to