public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "blaz at blazlabs dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c++/11991] New: ICE in cxx_incomplete_type_diagnostic, at cp/typeck2.c:282 when applying typeid operator to template template parameter
Date: Wed, 20 Aug 2003 11:55:00 -0000	[thread overview]
Message-ID: <20030820115542.11991.blaz@blazlabs.com> (raw)

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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

           Summary: ICE in cxx_incomplete_type_diagnostic, at
                    cp/typeck2.c:282 when applying typeid operator to
                    template template parameter
           Product: gcc
           Version: 3.3.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: blaz at blazlabs dot com
                CC: gcc-bugs at gcc dot gnu dot org

>g++ -v -save-temps -c test.cpp


Reading specs from d:/gcc/bin/../lib/gcc-lib/mingw32/3.3.1/specs
Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as --host=
mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls --enable
-languages=c,c++,f77,objc,ada,java --disable-win32-registry --disable-shared --e
nable-sjlj-exceptions --enable-libgcj --disable-java-awt --without-x --enable-ja
va-gc=boehm --disable-libgcj-debug --enable-interpreter --enable-hash-synchroniz
ation
Thread model: win32
gcc version 3.3.1 (mingw special 20030804-1)
 d:\gcc\bin\..\lib\gcc-lib\mingw32\3.3.1\cc1plus.exe -E -D__GNUG__=3 -quiet -v -
iprefix d:\gcc\bin/../lib/gcc-lib/mingw32/3.3.1/ -D__GNUC__=3 -D__GNUC_MINOR__=3
 -D__GNUC_PATCHLEVEL__=1 test.cpp test.ii
ignoring nonexistent directory "d:/gcc/mingw32/include"
ignoring nonexistent directory "/mingw/include/c++/3.3.1"
ignoring nonexistent directory "/mingw/include/c++/3.3.1/mingw32"
ignoring nonexistent directory "/mingw/include/c++/3.3.1/backward"
ignoring nonexistent directory "/mingw/include"
ignoring nonexistent directory "/mingw/include"
ignoring nonexistent directory "/mingw/lib/gcc-lib/mingw32/3.3.1/include"
ignoring nonexistent directory "/mingw/mingw32/include"
ignoring nonexistent directory "/mingw/include"
#include "..." search starts here:
#include <...> search starts here:
 d:/gcc/include/c++/3.3.1
 d:/gcc/include/c++/3.3.1/mingw32
 d:/gcc/include/c++/3.3.1/backward
 d:/gcc/include
 d:/gcc/lib/gcc-lib/mingw32/3.3.1/include
End of search list.
 d:\gcc\bin\..\lib\gcc-lib\mingw32\3.3.1\cc1plus.exe -fpreprocessed test.ii -qui
et -dumpbase test.cpp -auxbase test -version -o test.s
GNU C++ version 3.3.1 (mingw special 20030804-1) (mingw32)
        compiled by GNU C version 3.3.1 20030803 (prerelease).
GGC heuristics: --param ggc-min-expand=64 --param ggc-min-heapsize=65476
test.cpp: In static member function `static void A<T>::error() [with T = B]':
test.cpp:19:   instantiated from here
test.cpp:11: internal compiler error: in cxx_incomplete_type_diagnostic, at
   cp/typeck2.c:282
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.mingw.org/bugs.shtml> for instructions.


Preprocessed file:

# 1 "test.cpp"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "test.cpp"
# 1 "d:/gcc/include/c++/3.3.1/typeinfo" 1 3
# 38 "d:/gcc/include/c++/3.3.1/typeinfo" 3
# 1 "d:/gcc/include/c++/3.3.1/exception" 1 3
# 40 "d:/gcc/include/c++/3.3.1/exception" 3
extern "C++" {

namespace std
{
# 52 "d:/gcc/include/c++/3.3.1/exception" 3
  class exception
  {
  public:
    exception() throw() { }
    virtual ~exception() throw();


    virtual const char* what() const throw();
  };



  class bad_exception : public exception
  {
  public:
    bad_exception() throw() { }


    virtual ~bad_exception() throw();
  };


  typedef void (*terminate_handler) ();

  typedef void (*unexpected_handler) ();


  terminate_handler set_terminate(terminate_handler) throw();


  void terminate() __attribute__ ((__noreturn__));


  unexpected_handler set_unexpected(unexpected_handler) throw();


  void unexpected() __attribute__ ((__noreturn__));
# 100 "d:/gcc/include/c++/3.3.1/exception" 3
  bool uncaught_exception() throw();
}

namespace __gnu_cxx
{
# 113 "d:/gcc/include/c++/3.3.1/exception" 3
  void __verbose_terminate_handler ();
}

}
# 39 "d:/gcc/include/c++/3.3.1/typeinfo" 2 3

extern "C++" {

namespace __cxxabiv1
{
  class __class_type_info;
}
# 55 "d:/gcc/include/c++/3.3.1/typeinfo" 3
namespace std
{






  class type_info
  {
  public:




    virtual ~type_info();

  private:

    type_info& operator=(const type_info&);
    type_info(const type_info&);

  protected:
    const char *__name;

  protected:
    explicit type_info(const char *__n): __name(__n) { }

  public:



    const char* name() const
    { return __name; }


    bool before(const type_info& __arg) const;



    bool operator==(const type_info& __arg) const;
# 106 "d:/gcc/include/c++/3.3.1/typeinfo" 3
    bool operator!=(const type_info& __arg) const
    { return !operator==(__arg); }


  public:

    virtual bool __is_pointer_p() const;

    virtual bool __is_function_p() const;







    virtual bool __do_catch(const type_info *__thr_type, void **__thr_obj,
                            unsigned __outer) const;


    virtual bool __do_upcast(const __cxxabiv1::__class_type_info *__target,
                             void **__obj_ptr) const;
  };






  class bad_cast : public exception
  {
  public:
    bad_cast() throw() { }


    virtual ~bad_cast() throw();
  };


  class bad_typeid : public exception
  {
  public:
    bad_typeid () throw() { }


    virtual ~bad_typeid() throw();
  };
}

}
# 2 "test.cpp" 2

template
<
        template <class> class T
>
struct A
{
        static void error()
        {
                const char * name = typeid(T).name();
        }
};

template <class T> struct B {};

int main(int argc, char **argv)
{
        A<B>::error();

        return 0;
}


             reply	other threads:[~2003-08-20 11:55 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-08-20 11:55 blaz at blazlabs dot com [this message]
2003-08-20 14:33 ` [Bug c++/11991] " bangerth at dealii dot org
2003-08-20 14:36 ` [Bug c++/11991] [3.3 Regression] CE " pinskia at gcc dot gnu dot org
2003-08-20 14:37 ` pinskia at gcc dot gnu dot org
2003-08-20 15:43 ` pinskia at gcc dot gnu dot org
2003-08-20 15:54 ` bangerth at dealii dot org
2003-09-17 21:44 ` [Bug c++/11991] [3.3 Regression] ICE " mmitchel at gcc dot gnu dot org
2003-09-18  1:08 ` cvs-commit at gcc dot gnu dot org
2003-09-18  1:19 ` cvs-commit at gcc dot gnu dot org
2003-09-18  1:20 ` mmitchel at gcc dot gnu dot org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030820115542.11991.blaz@blazlabs.com \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).