This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/80773] New: Internal Compiler error on template parameter pack expansion


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

            Bug ID: 80773
           Summary: Internal Compiler error on template parameter pack
                    expansion
           Product: gcc
           Version: 8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: wilhelm.meier@hs-kl.de
  Target Milestone: ---

Created attachment 41361
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41361&action=edit
Error messages from above example

The follwing code reproduces the compiler error:

template<typename F>
concept bool FCallable() {
    return requires(F) {
        F::f();
    };
}
class Test1 {
public:
    template<FCallable P, FCallable... Pp> // internal error of g++
    static void g() {
        (Pp::f(), ...);
    }
};
class A {
public:
    static void f() {}
};
int main() {
    Test1::template g<A>();
}

The error messages are in the attaches file.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]