[Bug c++/69095] New: internal compiler error: in dependent_type_p, at cp/pt.c:19399
mrmohitgarg1990 at gmail dot com
gcc-bugzilla@gcc.gnu.org
Wed Dec 30 22:15:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69095
Bug ID: 69095
Summary: internal compiler error: in dependent_type_p, at
cp/pt.c:19399
Product: gcc
Version: 4.7.2
Status: UNCONFIRMED
Severity: minor
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: mrmohitgarg1990 at gmail dot com
Target Milestone: ---
Created attachment 37195
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37195&action=edit
Getting the size of Argument pack in Variadic Template
Hi,
The code below is creating a bug though it is not a correct code.
size_t Num=sizeof(Args)
This statement above is creating the bug as the Args is not expanded.
The error message which i am getting is this:
cpp_bug.cpp:7:63: internal compiler error: in dependent_type_p, at
cp/pt.c:19399
Please submit a full bug report
Pre-processed source is also attached.
----code starts here-----
#include <string>
#include <iostream>
struct Interface{
template<typename Ret,typename... Args,size_t Num=sizeof(Args)>
void insert(std::string s1, Ret(*f1)(Args... args) ){
std::cout<<Num<<"\n";
}
};
int fun2(int a){
std::cout<<"inside fun3\n";
return a;
}
int fun3(int a,int b){
std::cout<<"inside fun3\n";
return a;
}
int main(){
Interface a1;
// a1.insert("fun1",fun1);
a1.insert("fun2",fun2);
a1.insert("fun3",fun3);
return 0;
}
----code ends here-----
Environment:
Linux version 3.10-0.bpo.tmw5-amd64
(gcc version 4.7.2 (Debian 4.7.2-5) )
How-To-Repeat:
gcc --std=c++11 cpp_bug.cpp
More information about the Gcc-bugs
mailing list