diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2TemplateTests.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2TemplateTests.java index 16ee6d7372a..054e3641ce3 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2TemplateTests.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2TemplateTests.java @@ -3209,6 +3209,58 @@ public class AST2TemplateTests extends AST2TestBase { ba.assertNonProblem("test=", 4, ICPPField.class); } + // template + // struct is_same {}; + // + // template + // struct is_same { + // constexpr operator bool() { return true; } + // }; + // + // template + // struct enable_if {}; + // + // template<> + // struct enable_if { + // typedef void type; + // }; + // + // template + // typename enable_if{}>::type waldo(T p); + // + // void test() { + // waldo(1); + // } + public void testIntegralConversionOperator_495091a() throws Exception { + parseAndCheckBindings(); + } + + // template + // struct is_same {}; + // + // template + // struct is_same { + // constexpr operator bool() { return true; } + // }; + // + // template + // struct enable_if {}; + // + // template<> + // struct enable_if { + // typedef void type; + // }; + // + // template + // typename enable_if{} && true>::type waldo(T p); + // + // void test() { + // waldo(1); + // } + public void testIntegralConversionOperator_495091b() throws Exception { + parseAndCheckBindings(); + } + // class A { // public: // A(const A& a) {} @@ -7348,10 +7400,10 @@ public class AST2TemplateTests extends AST2TestBase { public void testTemplateIdNamingAliasTemplateInExpression_472615() throws Exception { parseAndCheckBindings(); } - + // template // struct Traits { - // template + // template // using rebind = U; // }; // template @@ -7945,7 +7997,7 @@ public class AST2TemplateTests extends AST2TestBase { public void testPartialSpecializationForVarargFunctionType_402807() throws Exception { parseAndCheckBindings(); } - + // template // struct waldo { // typedef int type; @@ -7958,23 +8010,23 @@ public class AST2TemplateTests extends AST2TestBase { public void testPartialSpecializationForRefQualifiedFunctionType_485888() throws Exception { parseAndCheckBindings(); } - + // template // struct term_traits; - // + // // template // struct term_traits { // typedef T value_type; // }; - // + // // template // struct term_traits { // typedef T value_type[N]; // }; - // + // // using T = const char(&)[4]; // using ActualType = term_traits::value_type; - // + // // using ExpectedType = char[4]; public void testQualifierTypeThatCollapsesAfterTypedefSubstitution_487698() throws Exception { BindingAssertionHelper helper = getAssertionHelper(); @@ -8133,7 +8185,7 @@ public class AST2TemplateTests extends AST2TestBase { public void testPackExpansionInNestedTemplate_459844() throws Exception { parseAndCheckBindings(); } - + // template // struct A {}; // @@ -8146,21 +8198,21 @@ public class AST2TemplateTests extends AST2TestBase { IVariable answer = helper.assertNonProblem("answer"); assertVariableValue(answer, 1); } - + // template