c++/2933: GCC reports 'internal compiler error' (getting address of static template function)

viisi@chello.at viisi@chello.at
Thu May 24 20:36:00 GMT 2001


>Number:         2933
>Category:       c++
>Synopsis:       GCC reports 'internal compiler error' (getting address of static template function)
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          ice-on-legal-code
>Submitter-Id:   net
>Arrival-Date:   Thu May 24 20:36:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     Andreas Riedl
>Release:        gcc version 2.95.4 20010319 (Debian prerelease)
>Organization:
>Environment:
debian gnu/linux woody/i386
>Description:
elcher:~/test/ftempl$ gcc -c ftempl.C
ftempl.C: In method `void Foo::defWrap<&Bar::barfunc0>(const char *)':
ftempl.C:31:   instantiated from here
ftempl.C:23: Internal compiler error.
ftempl.C:23: Please submit a full bug report.
ftempl.C:23: Internal compiler error:
ftempl.C:23: See <URL: http://www.gnu.org/software/gcc/bugs.html > for instructions.
>How-To-Repeat:
class Bar
{
public:
  typedef void (Bar::*Func0)();
  void barfunc0();
};


class Foo
{
public:
  Foo();

  template <Bar::Func0 F>
  static void wrapFunc0 (int)
  {
  }

  template <Bar::Func0 F>
  void defWrap(const char*)
  {
     void (*fwrap)(int);
     fwrap = wrapFunc0<F>;
  }

};

int main()
{
   Foo foo;
   foo.defWrap<&Bar::barfunc0>("func0");
}
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the Gcc-bugs mailing list