1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-09 17:25:38 +02:00

Bug 513430 - sizeof() with dependent type in default template argument

Change-Id: I01b21afb076b29e418a4d9eece2ac8eff3dafbb6
This commit is contained in:
Nathan Ridge 2017-03-11 18:18:04 -05:00
parent 57332b1d1d
commit 1dcc3613f7
3 changed files with 16 additions and 3 deletions

View file

@ -10160,7 +10160,6 @@ public class AST2TemplateTests extends AST2TestBase {
public void testNoexceptSpecifierInTypeTemplateArgument_511186() throws Exception {
parseAndCheckBindings();
}
// namespace ns {
//
// template <typename T>
@ -10180,4 +10179,18 @@ public class AST2TemplateTests extends AST2TestBase {
public void testFriendFunctionDeclarationInNamespace_513681() throws Exception {
parseAndCheckBindings();
}
// template<class T, unsigned long Size = sizeof(T)>
// class foobar {};
//
// template<class T>
// void waldo(foobar<T>) {}
//
// void bar() {
// foobar<int> obj;
// waldo(obj); // Error: Invalid arguments
// }
public void testDependentSizeofInDefaultArgument_513430() throws Exception {
parseAndCheckBindings();
}
}

View file

@ -153,6 +153,6 @@ public class EvalBinaryTypeId extends CPPDependentEvaluation {
@Override
public boolean referencesTemplateParameter() {
return false;
return CPPTemplates.isDependentType(fType1) || CPPTemplates.isDependentType(fType2);
}
}

View file

@ -234,6 +234,6 @@ public class EvalUnaryTypeID extends CPPDependentEvaluation {
@Override
public boolean referencesTemplateParameter() {
return false;
return CPPTemplates.isDependentType(fOrigType);
}
}