From 34f9943ef73797e5db1039d888785b0bc5f220e0 Mon Sep 17 00:00:00 2001 From: Nathan Sidwell Date: Fri, 30 Jun 2000 09:46:51 +0000 Subject: [PATCH] expr8.C: New test. * g++.old-deja/g++.pt/expr8.C: New test. * g++.old-deja/g++.pt/expr6.C: Remove XFAIL. From-SVN: r34807 --- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/g++.old-deja/g++.pt/expr6.C | 2 -- gcc/testsuite/g++.old-deja/g++.pt/expr8.C | 26 ++++++++++++++++++++++++++ 3 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 gcc/testsuite/g++.old-deja/g++.pt/expr8.C diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index bbf56f8..3cacd41 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2000-06-30 Nathan Sidwell + + * g++.old-deja/g++.pt/expr8.C: New test. + * g++.old-deja/g++.pt/expr6.C: Remove XFAIL. + 2000-06-29 Nick Clifton * gcc.c-torture/compile/20000629-1.c: New test. diff --git a/gcc/testsuite/g++.old-deja/g++.pt/expr6.C b/gcc/testsuite/g++.old-deja/g++.pt/expr6.C index e1d38de..f3db16e 100644 --- a/gcc/testsuite/g++.old-deja/g++.pt/expr6.C +++ b/gcc/testsuite/g++.old-deja/g++.pt/expr6.C @@ -2,8 +2,6 @@ // Based on a bug report by tveldhui -// excess errors test - XFAIL *-*-* - template class foo {}; foo< true ? 1 : 0 > bar; diff --git a/gcc/testsuite/g++.old-deja/g++.pt/expr8.C b/gcc/testsuite/g++.old-deja/g++.pt/expr8.C new file mode 100644 index 0000000..93dc76d --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.pt/expr8.C @@ -0,0 +1,26 @@ +// Build don't link: + +// Copyright (C) 2000 Free Software Foundation, Inc. +// Contributed by Nathan Sidwell 23 June 2000 + +// Origin GNATS bug report 10 from Ewgenij Gawrilow +// There is a grammar ambiguity with greater-than compare as a default +// template parameter value or template arg list. 14.2/2 and 14.1/15 +// say how to resolve it, but we'd sometimes get it wrong. + +template class C { }; + +void f() +{ +C<1> c1; +C<1 & 2> c2; +C<1>2> c3; // ERROR - parse error +C<(1>2)> c4; +C<1 & 2>2> c5; // ERROR - parse error +C<1 & (2>2)> c6; +} + +template 4 > class X1 {}; // ERROR - parse error +template 0 > class X2 {}; // ERROR - parse error +template class X3 {}; +template 4) > class X4 {}; -- 2.7.4