From 88d5a16e0b42cb6871bf30e770ee75feb0da967b Mon Sep 17 00:00:00 2001 From: "J\"orn Rennecke" Date: Wed, 4 Jun 2003 22:00:22 +0000 Subject: [PATCH] decl.c (grokdeclarator): Error_mark_node in, error_mark_node out. gcc/cp: * decl.c (grokdeclarator): Error_mark_node in, error_mark_node out. gcc/testsuite/g++.old-deja/g++.oliva: * template1.C (bar): Remove xfail marker. From-SVN: r67465 --- gcc/cp/ChangeLog | 4 ++++ gcc/cp/decl.c | 4 +++- gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog | 4 ++++ gcc/testsuite/g++.old-deja/g++.oliva/template1.C | 2 +- 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index da0f5b3d5f5..2e735f3c013 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2003-06-04 J"orn Rennecke + + * decl.c (grokdeclarator): Error_mark_node in, error_mark_node out. + 2003-06-04 Andreas Jaeger * g++spec.c (lang_specific_driver): Remove ALT_LIBM usage. diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 705f5a07cd9..d2691409d33 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -10525,7 +10525,9 @@ grokdeclarator (tree declarator, if (type == error_mark_node) { - if (TREE_CODE (declarator) == SCOPE_REF) + if (declarator == error_mark_node) + return error_mark_node; + else if (TREE_CODE (declarator) == SCOPE_REF) declarator = TREE_OPERAND (declarator, 1); else declarator = TREE_OPERAND (declarator, 0); diff --git a/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog b/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog index c885701b00c..cb7d567f659 100644 --- a/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog +++ b/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog @@ -1,3 +1,7 @@ +2003-06-04 J"orn Rennecke + + * template1.C (bar): Remove xfail marker. + 2002-07-06 Alexandre Oliva * linkage1.C, linkage1-main.cc: New test. diff --git a/gcc/testsuite/g++.old-deja/g++.oliva/template1.C b/gcc/testsuite/g++.old-deja/g++.oliva/template1.C index f8c9b1dae53..133899e55e8 100644 --- a/gcc/testsuite/g++.old-deja/g++.oliva/template1.C +++ b/gcc/testsuite/g++.old-deja/g++.oliva/template1.C @@ -11,5 +11,5 @@ template struct foo { }; void bar() { - foo<>::bar(0); // { dg-error "" "" { xfail *-*-* } } instantiated from here + foo<>::bar(0); // { dg-error "" "" } instantiated from here }