From e7d8ba0ec33b5e38c59639b4a0d255b6e7c6e1fb Mon Sep 17 00:00:00 2001 From: Nathan Ridge Date: Sat, 28 Jan 2017 01:22:23 -0500 Subject: [PATCH] Bug 511186 - Noexcept specifier in type template argument Change-Id: If0c3299c563829a9b3549f78b346a19e68042456 --- .../cdt/core/parser/tests/ast2/AST2TemplateTests.java | 6 ++++++ .../internal/core/dom/parser/cpp/GNUCPPSourceParser.java | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) 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 32901bb3d8f..a8c86c3c874 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 @@ -10105,4 +10105,10 @@ public class AST2TemplateTests extends AST2TestBase { public void testDependentDestructorName_511122() throws Exception { parseAndCheckBindings(); } + + // template struct Waldo {}; + // Waldo var; + public void testNoexceptSpecifierInTypeTemplateArgument_511186() throws Exception { + parseAndCheckBindings(); + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GNUCPPSourceParser.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GNUCPPSourceParser.java index 485d46b8f1e..2db26987744 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GNUCPPSourceParser.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GNUCPPSourceParser.java @@ -4633,10 +4633,11 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser { if (LT(1) == IToken.tLPAREN) { consume(); // ( expression = expression(); - endOffset = consume(IToken.tRPAREN).getEndOffset(); //) + consume(IToken.tRPAREN); //) } else { expression = ICPPASTFunctionDeclarator.NOEXCEPT_DEFAULT; } + endOffset = getEndOffset(); fc.setNoexceptExpression((ICPPASTExpression) expression); }