aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormmitchel <>2002-12-28 07:48:15 +0000
committermmitchel <>2002-12-28 07:48:15 +0000
commit22ad926f88c1b7411cf46a2181fea035ce254618 (patch)
tree53677ebe6cc9166c3b0826cc1dbf2ec72af1651a
parentc15163855a00f648f0aca8aeb57e21637a31fab8 (diff)
* g++.dg/eh/spec4.C: Remove stray semicolon.
* g++.dg/expr/pmf-1.C: Change error message. * g++.dg/ext/asm1.C: Remove stray semicolon. * g++.dg/ext/typename1.C: Add missing typenames. * g++.dg/inherit/template-as-base.C: Change error message. * g++.dg/lookup/scoped1.C: Likewise. * g++.dg/lookup/scoped2.C: Likewise. * g++.dg/lookup/using2.C: Likewise. * g++.dg/other/component1.C: Remove stray semicolon. * g++.dg/other/do1.C: Change error message. * g++.dg/other/error2.C: Likewise. * g++.dg/other/init1.C: Likewise. * g++.dg/other/packed1.C: Remove stray semicolon. * g++.dg/other/ptrmem2.C: Change error message. * g++.dg/parse/parameter-declaration-1.C: Remove line number marker. * g++.dg/special/initp1.C: Remove invalid attribute usage. * g++.dg/template/access3.C: Add typename keyword. * g++.dg/template/access5.C: Remove stray semicolon. * g++.dg/template/access6.C: Likewise. * g++.dg/template/complit1.C: Likewise. * g++.dg/template/crash1.C: Change error message. * g++.dg/template/inherit2.C: Remove stray semicolon. * g++.dg/template/instantiate2.C: Likewise. * g++.dg/template/instantiate3.C: Change error message. * g++.dg/template/qual1.C: Remove stray semicolon. * g++.dg/template/qualttp18.C: Change error message. * g++.dg/template/ref1.C: Remove stray semicolon. * g++.dg/template/sizeof1.C (A::value): Declare it. * g++.dg/template/spec4.C: Change error message. * g++.dg/template/static1.C: Likewise. * g++.dg/template/type1.C: Likewise. * g++.dg/template/typename3.C: Likewise. * g++.old-deja/g++.benjamin/13478.C: Change error message. * g++.old-deja/g++.benjamin/15799.C: Remove stray semicolon. * g++.old-deja/g++.benjamin/bool01.C: Likewise. * g++.old-deja/g++.benjamin/bool02.C: Likewise. * g++.old-deja/g++.benjamin/p13417.C: Now fails due to use of named return value extension. * g++.old-deja/g++.benjamin/tem06.C: Remove stray semicolon. * g++.old-deja/g++.benjmain/warn01.C: Likewise. * g++.old-deja/g++.bob/extern_C.C: Likewise. * g++.old-deja/g++.bob/inherit2.C: Likewise. * g++.old-deja/g++.brendan/complex1.C: Likewise. * g++.old-deja/g++.brendan/copy5.C: Likewise. * g++.old-deja/g++.brendan/crash13.C: Likewise. * g++.old-deja/g++.brendan/crash15.C: Likewise. * g++.old-deja/g++.brendan/crash18.C: Change error message. * g++.old-deja/g++.brendan/crash37.C: Remove stray semicolon. * g++.old-deja/g++.brendan/crash38.C: Likewise. * g++.old-deja/g++.brendan/crash50.C: Likewise. * g++.old-deja/g++.brendan/crash56.C: Likewise. * g++.old-deja/g++.brendan/crash6.C: Use explicit specialization syntax. * g++.old-deja/g++.brendan/crash66.C: Remove stray semicolon. * g++.old-deja/g++.brendan/crash8.C: Change error message. * g++.old-deja/g++.brendan/ctors1.C: Remove stray semicolon. * g++.old-deja/g++.brendan/ctors2.C: Likewise. * g++.old-deja/g++.brendan/shadow1.C: Likewise. * g++.old-deja/g++.brendan/template11.C: Likewise. * g++.old-deja/g++.brendan/template26.C: Likewise. * g++.old-deja/g++.brendan/template27.C: Use explicit specialization syntax. * g++.old-deja/g++.brendan/template30.C: Likewise. * g++.old-deja/g++.brendan/template5.C: Remove stray semicolon. * g++.old-deja/g++.brendan/visibility3.C: Account for use of non-dependent names. * g++.old-deja/g++.brendan/warnings4.C: Remove stray semicolon. * g++.old-deja/g++.brendan/warnings7.C: Likewise. * g++.old-deja/g++.bugs/900121_02.C: Likewise. * g++.old-deja/g++.eh/catchptr1.C: Likewise. * g++.old-deja/g++.ext/addrfunc4.C: Likewise. * g++.old-deja/g++.ext/namedret1.C: Now fails due to use of named return value extension. * g++.old-deja/g++.ext/namedret2.C: Likewise. * g++.old-deja/g++.ext/namedret3.C: Likewise. * g++.old-deja/g++.ext/return1.C: Likewise. * g++.old-deja/g++.ext/typename1.C: Add missing typename keywords. * g++.old-deja/g++.jason/access17.C: Issue more error messages. * g++.old-deja/g++.jason/access8.C: Likewise. * g++.old-deja/g++.jason/bool.C: Remove stray semicolon. * g++.old-deja/g++.jason/destruct.C: Remove incorrect pseudo-destructor names. * g++.old-deja/g++.jason/dtor3.C: Remove stray semicolon. * g++.old-deja/g++.jason/dtor5.C: Remove incorrect pseudo-destructor names. * g++.old-deja/g++.jason/opeq3.C: Remove stray semicolon. * g++.old-deja/g++.jason/overload19.C: Likewise. * g++.old-deja/g++.jason/overload32.C: Likewise. * g++.old-deja/g++.jason/parse11.C: Issue error messages about stray semicolons. * g++.old-deja/g++.jason/pmem2.C: Remove stray semicolon. * g++.old-deja/g++.jason/return.C: Likewise. * g++.old-deja/g++.jason/return2.C: Likewise. * g++.old-deja/g++.jason/shadow1.C: Likewise. * g++.old-deja/g++.jason/special.C: Use explicit specialization syntax. * g++.old-deja/g++.jason/template10.C: Account for use of non-dependent names. * g++.old-deja/g++.jason/template11.C: Use explicit specialization syntax. * g++.old-deja/g++.jason/template37.C: Likewise. * g++.old-deja/g++.law/access4.C: Change error messages. * g++.old-deja/g++.law/arm13.C: Remove incorrect pseudo-destructor names. * g++.old-deja/g++.law/code-gen5.C: Remove stray semicolon. * g++.old-deja/g++.law/ctors9.C: Likewise. * g++.old-deja/g++.law/cvt22.C: Likewise. * g++.old-deja/g++.law/dtors5.C: Likewise. * g++.old-deja/g++.law/global-init1.C: Likewise. * g++.old-deja/g++.law/missed-error3.C: Likewise. * g++.old-deja/g++.law/operators28.C: Likewise. * g++.old-deja/g++.law/visibility28.C: Likewise. * g++.old-deja/g++.martin/eval1.C: Likewise. * g++.old-deja/g++.martin/pmf2.C: Remove qualifier in constructor name. * g++.old-deja/g++.mike/hog1.C: Remove stray semicolon. * g++.old-deja/g++.mike/net34.C: Likewise. * g++.old-deja/g++.mike/net36.C: Likewise. * g++.old-deja/g++.mike/ns2.C: Likewise. * g++.old-deja/g++.mike/p12306.C: Likewise. * g++.old-deja/g++.mike/p646.C: Adjust for removal of named return value extension. * g++.old-deja/g++.mike/p700.C: Likewise. * g++.old-deja/g++.mike/p701.C: Remove stray semicolon. * g++.old-deja/g++.mike/p710.C: Likewise. * g++.old-deja/g++.mike/p784.C: Adjust for removal of named return value extension. * g++.old-deja/g++.mike/pmf7.C: Remove stray semicolon. * g++.old-deja/g++.mike/pmf9.C: Likewise. * g++.old-deja/g++.ns/crash2.C: Likewise. * g++.old-deja/g++.ns/crash3.C: Likewise. * g++.old-deja/g++.ns/invalid1.C: Likewise. * g++.old-deja/g++.ns/ns17.C: Likewise. * g++.old-deja/g++.ns/template16.C: Likewise. * g++.old-deja/g++.ns/template5.C: Remove invalid use of template keyword. * g++.old-deja/g++.ns/template6.C: Remove stray semicolon. * g++.old-deja/g++.ns/using9.C: Remove stray semicolon. * g++.old-deja/g++.oliva/nameret1.C: Now fails due to use of named return value extension. * g++.old-deja/g++.oliva/nameret2.C: Likewise. * g++.old-deja/g++.other/access4.C: Issue additional error messages. * g++.old-deja/g++.other/array6.C: Remove stray semicolon. * g++.old-deja/g++.other/crash1.C: Isue additional error messages. * g++.old-deja/g++.other/crash11.C: Add missing class-key. * g++.old-deja/g++.other/crash25.C: Change error message. * g++.old-deja/g++.other/crash4.C: Change error message. * g++.old-deja/g++.other/debug7.C: Remove stray semicolon. * g++.old-deja/g++.other/decl5.C: Issue more error messages. * g++.old-deja/g++.other/defarg7.C: Remove circular dependency checks. * g++.old-deja/g++.other/defarg8.C: Likewise. * g++.old-deja/g++.other/dtor1.C: Remove stray semicolon. * g++.old-deja/g++.other/dtor10.C: Likewise. * g++.old-deja/g++.other/incomplete.C: Likewise. * g++.old-deja/g++.other/linkage7.C: Likewise. * g++.old-deja/g++.other/lookup19.C: Now fails due to corrected lookup algorithm. * g++.old-deja/g++.other/mangle2.C: Likewise. * g++.old-deja/g++.other/refinit2.C: Likewise. * g++.old-deja/g++.other/sizeof2.C: Change error messages. * g++.old-deja/g++.other/std1.C: Remove stray semicolon. * g++.old-deja/g++.pt/crash28.C: Likewise. * g++.old-deja/g++.pt/crash29.C: Use explicit specialization syntax. * g++.old-deja/g++.pt/crash32.C: Change error message. * g++.old-deja/g++.pt/crash43.C: Adjust error messages. * g++.old-deja/g++.pt/crash58.C: Remove stray semicolon. * g++.old-deja/g++.pt/crash65.C: Tweak to acount for change in error message position. * g++.old-deja/g++.pt/defarg5.C: Remove stray semicolon. * g++.old-deja/g++.pt/defarg8.C: Change error message. * g++.old-deja/g++.pt/eichin01.C: Use explicit specialization syntax. * g++.old-deja/g++.pt/eichin01a.C: Define static data members. * g++.old-deja/g++.pt/eichin01b.C: Likewise. * g++.old-deja/g++.pt/enum7.C: Remove stray semicolon. * g++.old-deja/g++.pt/explicit12.C: Remove invalid use of template keyword. * g++.old-deja/g++.pt/explicit31.C: Likewise. * g++.old-deja/g++.pt/explicit33.C: Remove stray semicolon. * g++.old-deja/g++.pt/explicit35.C: Remove invalid use of template keyword. * g++.old-deja/g++.pt/explicit71.C: Change error message. * g++.old-deja/g++.pt/explicit80.C: Use explicit specialization syntax. * g++.old-deja/g++.pt/friend28.C: Account for use of non-dependent names. * g++.old-deja/g++.pt/friend29.C: Likewise. * g++.old-deja/g++.pt/friend46.C: Adjust for correct name lookup rules. * g++.old-deja/g++.pt/friend48.C: Remove stray semicolon. * g++.old-deja/g++.pt/instantiate1.C: Use correct class-key. * g++.old-deja/g++.pt/instantiate11.C: Adjust for correct name lookup rules. * g++.old-deja/g++.pt/instantiate8.C: Remove stray semicolon. * g++.old-deja/g++.pt/instantiate9.C: Insert missing typename keyword. * g++.old-deja/g++.pt/memclass20.C: Likewise. * g++.old-deja/g++.pt/memclass5.C: Likewise. * g++.old-deja/g++.pt/memclass7.C: Remove invalid use of template keyword. * g++.old-deja/g++.pt/memtemp75.C: Likewise. * g++.old-deja/g++.pt/memtemp81.C: Remove stray semicolon. * g++.old-deja/g++.pt/memtemp87.C: Add missing access specifier. * g++.old-deja/g++.pt/overload13.C: Correct error messages. * g++.old-deja/g++.pt/parms2.C: Add missing typename keyword. * g++.old-deja/g++.pt/ptrmem1.C: Remove invalid use of template keyword. * g++.old-deja/g++.pt/spec10.C: Likewise. * g++.old-deja/g++.pt/spec28.C: Reorder declarations. * g++.old-deja/g++.pt/t10.C: Add explicit specialization syntax. * g++.old-deja/g++.pt/t32.C: Remove stray semicolon. * g++.old-deja/g++.pt/t35a.C: Add explicit specialization syntax. * g++.old-deja/g++.pt/ttp24.C: Remove stray semicolon. * g++.old-deja/g++.pt/ttp62.C: Likewise. * g++.old-deja/g++.pt/ttp64.C: Likewise. * g++.old-deja/g++.pt/typename11.C: Add missing typename keyword. * g++.old-deja/g++.pt/typename15.C: Likewise. * g++.old-deja/g++.pt/typename22.C: Likewise. * g++.old-deja/g++.pt/typename6.C: Change error messages. * g++.old-deja/g++.pt/using1.C: Remove stray semicolon. * g++.old-deja/g++.pt/virtual2.C: Likewise. * g++.old-deja/g++.robertl/eb118.C: Add explicit specialization syntax. * g++.old-deja/g++.robertl/eb27.C: Now fails due to use of named return value extension. * g++.old-deja/g++.robertl/eb43.C: Remove stray semicolon. * g++.old-deja/g++.robertl/eb79.C: Correct for new name lookup rules. * g++.old-deja/g++.robertl/eb82.C: Remove stray semicolons. * g++.old-deja/g++.robertl/eb86.C: Add missing forward declaration.
-rw-r--r--gcc/testsuite/ChangeLog236
-rw-r--r--gcc/testsuite/g++.dg/eh/spec4.C2
-rw-r--r--gcc/testsuite/g++.dg/expr/pmf-1.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/asm1.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/typename1.C4
-rw-r--r--gcc/testsuite/g++.dg/inherit/template-as-base.C2
-rw-r--r--gcc/testsuite/g++.dg/lookup/scoped1.C4
-rw-r--r--gcc/testsuite/g++.dg/lookup/scoped2.C2
-rw-r--r--gcc/testsuite/g++.dg/lookup/scoped3.C2
-rw-r--r--gcc/testsuite/g++.dg/lookup/using2.C6
-rw-r--r--gcc/testsuite/g++.dg/other/component1.C4
-rw-r--r--gcc/testsuite/g++.dg/other/do1.C2
-rw-r--r--gcc/testsuite/g++.dg/other/error2.C2
-rw-r--r--gcc/testsuite/g++.dg/other/init1.C4
-rw-r--r--gcc/testsuite/g++.dg/other/packed1.C2
-rw-r--r--gcc/testsuite/g++.dg/other/ptrmem2.C6
-rw-r--r--gcc/testsuite/g++.dg/parse/parameter-declaration-1.C2
-rw-r--r--gcc/testsuite/g++.dg/special/initp1.C2
-rw-r--r--gcc/testsuite/g++.dg/template/access3.C2
-rw-r--r--gcc/testsuite/g++.dg/template/access5.C4
-rw-r--r--gcc/testsuite/g++.dg/template/access6.C2
-rw-r--r--gcc/testsuite/g++.dg/template/complit1.C2
-rw-r--r--gcc/testsuite/g++.dg/template/crash1.C6
-rw-r--r--gcc/testsuite/g++.dg/template/inherit2.C2
-rw-r--r--gcc/testsuite/g++.dg/template/instantiate2.C2
-rw-r--r--gcc/testsuite/g++.dg/template/instantiate3.C2
-rw-r--r--gcc/testsuite/g++.dg/template/qual1.C2
-rw-r--r--gcc/testsuite/g++.dg/template/qualttp18.C4
-rw-r--r--gcc/testsuite/g++.dg/template/ref1.C2
-rw-r--r--gcc/testsuite/g++.dg/template/sizeof1.C2
-rw-r--r--gcc/testsuite/g++.dg/template/spec4.C2
-rw-r--r--gcc/testsuite/g++.dg/template/static1.C2
-rw-r--r--gcc/testsuite/g++.dg/template/type1.C2
-rw-r--r--gcc/testsuite/g++.dg/template/typename3.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/13478.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/15799.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/bool01.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/bool02.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/p13417.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/tem03.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/tem06.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/warn01.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bob/extern_C.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bob/inherit2.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/complex1.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/copy5.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash13.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash15.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash18.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash37.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash38.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash50.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash56.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash6.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash66.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash8.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/ctors1.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/ctors2.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/shadow1.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template11.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template26.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template27.C3
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template30.C3
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template5.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/visibility3.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/warnings4.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/warnings7.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900121_02.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/catchptr1.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ext/addrfunc4.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ext/default.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ext/namedret1.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ext/namedret2.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ext/namedret3.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ext/return1.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ext/typename1.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/access17.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/access8.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/bool.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/destruct.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/dtor3.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/dtor5.C3
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/opeq3.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload19.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload32.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/parse11.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/pmem2.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/return.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/return2.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/shadow1.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/special.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template10.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template11.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template37.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/access4.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arm13.C3
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/code-gen5.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/ctors9.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/cvt22.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/dtors5.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/global-init1.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/missed-error3.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators28.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility28.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.martin/eval1.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.martin/pmf2.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh41.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/hog1.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net34.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net36.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/ns2.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p12306.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p3579.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p646.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p700.C268
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p701.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p710.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p784.C58
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/pmf7.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/pmf9.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/crash2.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/crash3.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/invalid1.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/ns17.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/template16.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/template5.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/template6.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/using9.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.oliva/nameret1.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.oliva/nameret2.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/access4.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/array6.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/crash1.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/crash11.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/crash25.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/crash4.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/debug7.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/decl5.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/defarg7.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/defarg8.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/dtor1.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/dtor10.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/incomplete.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/linkage7.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/lookup19.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/mangle2.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/refinit2.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/sizeof2.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/std1.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash28.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash29.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash32.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash43.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash58.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash65.C3
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/defarg5.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/defarg8.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/eichin01.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/eichin01a.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/eichin01b.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/enum7.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit12.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit31.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit33.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit35.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit71.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit80.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend28.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend29.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend46.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend48.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/instantiate1.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/instantiate11.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/instantiate8.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/instantiate9.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memclass20.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memclass5.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memclass7.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp75.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp81.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp87.C3
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/overload13.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/parms2.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ptrmem1.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec10.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec28.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t10.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t32.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t35a.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp24.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp62.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp64.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/typename11.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/typename15.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/typename22.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/typename6.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/using1.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/virtual2.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb118.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb27.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb43.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb79.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb82.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb86.C2
204 files changed, 727 insertions, 477 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index c54c1c2c1c0..cf8b61866ac 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,239 @@
+2002-12-27 Mark Mitchell <mark@codesourcery.com>
+
+ * g++.dg/eh/spec4.C: Remove stray semicolon.
+ * g++.dg/expr/pmf-1.C: Change error message.
+ * g++.dg/ext/asm1.C: Remove stray semicolon.
+ * g++.dg/ext/typename1.C: Add missing typenames.
+ * g++.dg/inherit/template-as-base.C: Change error message.
+ * g++.dg/lookup/scoped1.C: Likewise.
+ * g++.dg/lookup/scoped2.C: Likewise.
+ * g++.dg/lookup/using2.C: Likewise.
+ * g++.dg/other/component1.C: Remove stray semicolon.
+ * g++.dg/other/do1.C: Change error message.
+ * g++.dg/other/error2.C: Likewise.
+ * g++.dg/other/init1.C: Likewise.
+ * g++.dg/other/packed1.C: Remove stray semicolon.
+ * g++.dg/other/ptrmem2.C: Change error message.
+ * g++.dg/parse/parameter-declaration-1.C: Remove line number
+ marker.
+ * g++.dg/special/initp1.C: Remove invalid attribute usage.
+ * g++.dg/template/access3.C: Add typename keyword.
+ * g++.dg/template/access5.C: Remove stray semicolon.
+ * g++.dg/template/access6.C: Likewise.
+ * g++.dg/template/complit1.C: Likewise.
+ * g++.dg/template/crash1.C: Change error message.
+ * g++.dg/template/inherit2.C: Remove stray semicolon.
+ * g++.dg/template/instantiate2.C: Likewise.
+ * g++.dg/template/instantiate3.C: Change error message.
+ * g++.dg/template/qual1.C: Remove stray semicolon.
+ * g++.dg/template/qualttp18.C: Change error message.
+ * g++.dg/template/ref1.C: Remove stray semicolon.
+ * g++.dg/template/sizeof1.C (A::value): Declare it.
+ * g++.dg/template/spec4.C: Change error message.
+ * g++.dg/template/static1.C: Likewise.
+ * g++.dg/template/type1.C: Likewise.
+ * g++.dg/template/typename3.C: Likewise.
+ * g++.old-deja/g++.benjamin/13478.C: Change error message.
+ * g++.old-deja/g++.benjamin/15799.C: Remove stray semicolon.
+ * g++.old-deja/g++.benjamin/bool01.C: Likewise.
+ * g++.old-deja/g++.benjamin/bool02.C: Likewise.
+ * g++.old-deja/g++.benjamin/p13417.C: Now fails due to use of
+ named return value extension.
+ * g++.old-deja/g++.benjamin/tem06.C: Remove stray semicolon.
+ * g++.old-deja/g++.benjmain/warn01.C: Likewise.
+ * g++.old-deja/g++.bob/extern_C.C: Likewise.
+ * g++.old-deja/g++.bob/inherit2.C: Likewise.
+ * g++.old-deja/g++.brendan/complex1.C: Likewise.
+ * g++.old-deja/g++.brendan/copy5.C: Likewise.
+ * g++.old-deja/g++.brendan/crash13.C: Likewise.
+ * g++.old-deja/g++.brendan/crash15.C: Likewise.
+ * g++.old-deja/g++.brendan/crash18.C: Change error message.
+ * g++.old-deja/g++.brendan/crash37.C: Remove stray semicolon.
+ * g++.old-deja/g++.brendan/crash38.C: Likewise.
+ * g++.old-deja/g++.brendan/crash50.C: Likewise.
+ * g++.old-deja/g++.brendan/crash56.C: Likewise.
+ * g++.old-deja/g++.brendan/crash6.C: Use explicit specialization
+ syntax.
+ * g++.old-deja/g++.brendan/crash66.C: Remove stray semicolon.
+ * g++.old-deja/g++.brendan/crash8.C: Change error message.
+ * g++.old-deja/g++.brendan/ctors1.C: Remove stray semicolon.
+ * g++.old-deja/g++.brendan/ctors2.C: Likewise.
+ * g++.old-deja/g++.brendan/shadow1.C: Likewise.
+ * g++.old-deja/g++.brendan/template11.C: Likewise.
+ * g++.old-deja/g++.brendan/template26.C: Likewise.
+ * g++.old-deja/g++.brendan/template27.C: Use explicit
+ specialization syntax.
+ * g++.old-deja/g++.brendan/template30.C: Likewise.
+ * g++.old-deja/g++.brendan/template5.C: Remove stray semicolon.
+ * g++.old-deja/g++.brendan/visibility3.C: Account for use of
+ non-dependent names.
+ * g++.old-deja/g++.brendan/warnings4.C: Remove stray semicolon.
+ * g++.old-deja/g++.brendan/warnings7.C: Likewise.
+ * g++.old-deja/g++.bugs/900121_02.C: Likewise.
+ * g++.old-deja/g++.eh/catchptr1.C: Likewise.
+ * g++.old-deja/g++.ext/addrfunc4.C: Likewise.
+ * g++.old-deja/g++.ext/namedret1.C: Now fails due to use of
+ named return value extension.
+ * g++.old-deja/g++.ext/namedret2.C: Likewise.
+ * g++.old-deja/g++.ext/namedret3.C: Likewise.
+ * g++.old-deja/g++.ext/return1.C: Likewise.
+ * g++.old-deja/g++.ext/typename1.C: Add missing typename keywords.
+ * g++.old-deja/g++.jason/access17.C: Issue more error messages.
+ * g++.old-deja/g++.jason/access8.C: Likewise.
+ * g++.old-deja/g++.jason/bool.C: Remove stray semicolon.
+ * g++.old-deja/g++.jason/destruct.C: Remove incorrect
+ pseudo-destructor names.
+ * g++.old-deja/g++.jason/dtor3.C: Remove stray semicolon.
+ * g++.old-deja/g++.jason/dtor5.C: Remove incorrect
+ pseudo-destructor names.
+ * g++.old-deja/g++.jason/opeq3.C: Remove stray semicolon.
+ * g++.old-deja/g++.jason/overload19.C: Likewise.
+ * g++.old-deja/g++.jason/overload32.C: Likewise.
+ * g++.old-deja/g++.jason/parse11.C: Issue error messages about
+ stray semicolons.
+ * g++.old-deja/g++.jason/pmem2.C: Remove stray semicolon.
+ * g++.old-deja/g++.jason/return.C: Likewise.
+ * g++.old-deja/g++.jason/return2.C: Likewise.
+ * g++.old-deja/g++.jason/shadow1.C: Likewise.
+ * g++.old-deja/g++.jason/special.C: Use explicit specialization
+ syntax.
+ * g++.old-deja/g++.jason/template10.C: Account for use of
+ non-dependent names.
+ * g++.old-deja/g++.jason/template11.C: Use explicit specialization
+ syntax.
+ * g++.old-deja/g++.jason/template37.C: Likewise.
+ * g++.old-deja/g++.law/access4.C: Change error messages.
+ * g++.old-deja/g++.law/arm13.C: Remove incorrect
+ pseudo-destructor names.
+ * g++.old-deja/g++.law/code-gen5.C: Remove stray semicolon.
+ * g++.old-deja/g++.law/ctors9.C: Likewise.
+ * g++.old-deja/g++.law/cvt22.C: Likewise.
+ * g++.old-deja/g++.law/dtors5.C: Likewise.
+ * g++.old-deja/g++.law/global-init1.C: Likewise.
+ * g++.old-deja/g++.law/missed-error3.C: Likewise.
+ * g++.old-deja/g++.law/operators28.C: Likewise.
+ * g++.old-deja/g++.law/visibility28.C: Likewise.
+ * g++.old-deja/g++.martin/eval1.C: Likewise.
+ * g++.old-deja/g++.martin/pmf2.C: Remove qualifier in constructor
+ name.
+ * g++.old-deja/g++.mike/hog1.C: Remove stray semicolon.
+ * g++.old-deja/g++.mike/net34.C: Likewise.
+ * g++.old-deja/g++.mike/net36.C: Likewise.
+ * g++.old-deja/g++.mike/ns2.C: Likewise.
+ * g++.old-deja/g++.mike/p12306.C: Likewise.
+ * g++.old-deja/g++.mike/p646.C: Adjust for removal of named return
+ value extension.
+ * g++.old-deja/g++.mike/p700.C: Likewise.
+ * g++.old-deja/g++.mike/p701.C: Remove stray semicolon.
+ * g++.old-deja/g++.mike/p710.C: Likewise.
+ * g++.old-deja/g++.mike/p784.C: Adjust for removal of named return
+ value extension.
+ * g++.old-deja/g++.mike/pmf7.C: Remove stray semicolon.
+ * g++.old-deja/g++.mike/pmf9.C: Likewise.
+ * g++.old-deja/g++.ns/crash2.C: Likewise.
+ * g++.old-deja/g++.ns/crash3.C: Likewise.
+ * g++.old-deja/g++.ns/invalid1.C: Likewise.
+ * g++.old-deja/g++.ns/ns17.C: Likewise.
+ * g++.old-deja/g++.ns/template16.C: Likewise.
+ * g++.old-deja/g++.ns/template5.C: Remove invalid use of template
+ keyword.
+ * g++.old-deja/g++.ns/template6.C: Remove stray semicolon.
+ * g++.old-deja/g++.ns/using9.C: Remove stray semicolon.
+ * g++.old-deja/g++.oliva/nameret1.C: Now fails due to use of
+ named return value extension.
+ * g++.old-deja/g++.oliva/nameret2.C: Likewise.
+ * g++.old-deja/g++.other/access4.C: Issue additional error
+ messages.
+ * g++.old-deja/g++.other/array6.C: Remove stray semicolon.
+ * g++.old-deja/g++.other/crash1.C: Isue additional error messages.
+ * g++.old-deja/g++.other/crash11.C: Add missing class-key.
+ * g++.old-deja/g++.other/crash25.C: Change error message.
+ * g++.old-deja/g++.other/crash4.C: Change error message.
+ * g++.old-deja/g++.other/debug7.C: Remove stray semicolon.
+ * g++.old-deja/g++.other/decl5.C: Issue more error messages.
+ * g++.old-deja/g++.other/defarg7.C: Remove circular dependency
+ checks.
+ * g++.old-deja/g++.other/defarg8.C: Likewise.
+ * g++.old-deja/g++.other/dtor1.C: Remove stray semicolon.
+ * g++.old-deja/g++.other/dtor10.C: Likewise.
+ * g++.old-deja/g++.other/incomplete.C: Likewise.
+ * g++.old-deja/g++.other/linkage7.C: Likewise.
+ * g++.old-deja/g++.other/lookup19.C: Now fails due to corrected
+ lookup algorithm.
+ * g++.old-deja/g++.other/mangle2.C: Likewise.
+ * g++.old-deja/g++.other/refinit2.C: Likewise.
+ * g++.old-deja/g++.other/sizeof2.C: Change error messages.
+ * g++.old-deja/g++.other/std1.C: Remove stray semicolon.
+ * g++.old-deja/g++.pt/crash28.C: Likewise.
+ * g++.old-deja/g++.pt/crash29.C: Use explicit specialization
+ syntax.
+ * g++.old-deja/g++.pt/crash32.C: Change error message.
+ * g++.old-deja/g++.pt/crash43.C: Adjust error messages.
+ * g++.old-deja/g++.pt/crash58.C: Remove stray semicolon.
+ * g++.old-deja/g++.pt/crash65.C: Tweak to acount for change in
+ error message position.
+ * g++.old-deja/g++.pt/defarg5.C: Remove stray semicolon.
+ * g++.old-deja/g++.pt/defarg8.C: Change error message.
+ * g++.old-deja/g++.pt/eichin01.C: Use explicit specialization
+ syntax.
+ * g++.old-deja/g++.pt/eichin01a.C: Define static data members.
+ * g++.old-deja/g++.pt/eichin01b.C: Likewise.
+ * g++.old-deja/g++.pt/enum7.C: Remove stray semicolon.
+ * g++.old-deja/g++.pt/explicit12.C: Remove invalid use of template
+ keyword.
+ * g++.old-deja/g++.pt/explicit31.C: Likewise.
+ * g++.old-deja/g++.pt/explicit33.C: Remove stray semicolon.
+ * g++.old-deja/g++.pt/explicit35.C: Remove invalid use of template
+ keyword.
+ * g++.old-deja/g++.pt/explicit71.C: Change error message.
+ * g++.old-deja/g++.pt/explicit80.C: Use explicit specialization
+ syntax.
+ * g++.old-deja/g++.pt/friend28.C: Account for use of
+ non-dependent names.
+ * g++.old-deja/g++.pt/friend29.C: Likewise.
+ * g++.old-deja/g++.pt/friend46.C: Adjust for correct name lookup
+ rules.
+ * g++.old-deja/g++.pt/friend48.C: Remove stray semicolon.
+ * g++.old-deja/g++.pt/instantiate1.C: Use correct class-key.
+ * g++.old-deja/g++.pt/instantiate11.C: Adjust for correct name
+ lookup rules.
+ * g++.old-deja/g++.pt/instantiate8.C: Remove stray semicolon.
+ * g++.old-deja/g++.pt/instantiate9.C: Insert missing typename
+ keyword.
+ * g++.old-deja/g++.pt/memclass20.C: Likewise.
+ * g++.old-deja/g++.pt/memclass5.C: Likewise.
+ * g++.old-deja/g++.pt/memclass7.C: Remove invalid use of template
+ keyword.
+ * g++.old-deja/g++.pt/memtemp75.C: Likewise.
+ * g++.old-deja/g++.pt/memtemp81.C: Remove stray semicolon.
+ * g++.old-deja/g++.pt/memtemp87.C: Add missing access specifier.
+ * g++.old-deja/g++.pt/overload13.C: Correct error messages.
+ * g++.old-deja/g++.pt/parms2.C: Add missing typename keyword.
+ * g++.old-deja/g++.pt/ptrmem1.C: Remove invalid use of template
+ keyword.
+ * g++.old-deja/g++.pt/spec10.C: Likewise.
+ * g++.old-deja/g++.pt/spec28.C: Reorder declarations.
+ * g++.old-deja/g++.pt/t10.C: Add explicit specialization syntax.
+ * g++.old-deja/g++.pt/t32.C: Remove stray semicolon.
+ * g++.old-deja/g++.pt/t35a.C: Add explicit specialization syntax.
+ * g++.old-deja/g++.pt/ttp24.C: Remove stray semicolon.
+ * g++.old-deja/g++.pt/ttp62.C: Likewise.
+ * g++.old-deja/g++.pt/ttp64.C: Likewise.
+ * g++.old-deja/g++.pt/typename11.C: Add missing typename keyword.
+ * g++.old-deja/g++.pt/typename15.C: Likewise.
+ * g++.old-deja/g++.pt/typename22.C: Likewise.
+ * g++.old-deja/g++.pt/typename6.C: Change error messages.
+ * g++.old-deja/g++.pt/using1.C: Remove stray semicolon.
+ * g++.old-deja/g++.pt/virtual2.C: Likewise.
+ * g++.old-deja/g++.robertl/eb118.C: Add explicit specialization
+ syntax.
+ * g++.old-deja/g++.robertl/eb27.C: Now fails due to use of named
+ return value extension.
+ * g++.old-deja/g++.robertl/eb43.C: Remove stray semicolon.
+ * g++.old-deja/g++.robertl/eb79.C: Correct for new name lookup rules.
+ * g++.old-deja/g++.robertl/eb82.C: Remove stray semicolons.
+ * g++.old-deja/g++.robertl/eb86.C: Add missing forward declaration.
+
2002-12-26 Nathan Sidwell <nathan@codesourcery.com>
* g++.dg/warn/inline1.C: New test.
diff --git a/gcc/testsuite/g++.dg/eh/spec4.C b/gcc/testsuite/g++.dg/eh/spec4.C
index a41605f5637..8edd3a1c649 100644
--- a/gcc/testsuite/g++.dg/eh/spec4.C
+++ b/gcc/testsuite/g++.dg/eh/spec4.C
@@ -14,4 +14,4 @@ public:
typedef HandlerStack<std::set_terminate> Terminate;
-template<> void Terminate::defaultHandler() {};
+template<> void Terminate::defaultHandler() {}
diff --git a/gcc/testsuite/g++.dg/expr/pmf-1.C b/gcc/testsuite/g++.dg/expr/pmf-1.C
index 61457ecbdc6..9bb8a037d75 100644
--- a/gcc/testsuite/g++.dg/expr/pmf-1.C
+++ b/gcc/testsuite/g++.dg/expr/pmf-1.C
@@ -13,7 +13,7 @@ struct A
void h()
{
void (A::*p)() = &A::f;
- void (A::*q)() = &(A::f); // { dg-error "parenthesis" "" }
+ void (A::*q)() = &(A::f); // { dg-error "parenthesized" "" }
foo(&g<int>); // { dg-error "" "" }
}
};
diff --git a/gcc/testsuite/g++.dg/ext/asm1.C b/gcc/testsuite/g++.dg/ext/asm1.C
index 8a010eee068..dd4aede2424 100644
--- a/gcc/testsuite/g++.dg/ext/asm1.C
+++ b/gcc/testsuite/g++.dg/ext/asm1.C
@@ -20,7 +20,7 @@ int foo (void)
[third] "i" (j + 2),
[fourth] "i" (100));
return i;
-};
+}
template<class TYPE>
TYPE bar (TYPE t)
diff --git a/gcc/testsuite/g++.dg/ext/typename1.C b/gcc/testsuite/g++.dg/ext/typename1.C
index 1c6b8389092..f66210ff506 100644
--- a/gcc/testsuite/g++.dg/ext/typename1.C
+++ b/gcc/testsuite/g++.dg/ext/typename1.C
@@ -2,6 +2,6 @@
// { dg-options "-fpermissive -w" }
template <class T> struct A { typedef int X; };
-template <class T> struct B { typedef A<T> Y; void f (Y::X); };
-template <class T, class T1, class T2, class T3> struct C : public B<T> { void g (Y::X); };
+template <class T> struct B { typedef A<T> Y; void f (typename Y::X); };
+template <class T, class T1, class T2, class T3> struct C : public B<T> { void g (typename Y::X); };
template class B<int>;
diff --git a/gcc/testsuite/g++.dg/inherit/template-as-base.C b/gcc/testsuite/g++.dg/inherit/template-as-base.C
index f9cd330ea98..5d34b15d8fc 100644
--- a/gcc/testsuite/g++.dg/inherit/template-as-base.C
+++ b/gcc/testsuite/g++.dg/inherit/template-as-base.C
@@ -6,4 +6,4 @@ namespace N
template<typename> struct X { };
}
-struct A : N::X { }; // { dg-error "invalid base-class" "" }
+struct A : N::X { }; // { dg-error "expected class-name" "" }
diff --git a/gcc/testsuite/g++.dg/lookup/scoped1.C b/gcc/testsuite/g++.dg/lookup/scoped1.C
index 0fe8d33b6ec..fc6c4b3c269 100644
--- a/gcc/testsuite/g++.dg/lookup/scoped1.C
+++ b/gcc/testsuite/g++.dg/lookup/scoped1.C
@@ -4,7 +4,7 @@
struct A
{
static int i1;
- int i2;
+ int i2; // { dg-error "inaccessible" "" }
static void f1 ();
void f2 ();
};
@@ -15,7 +15,7 @@ struct C: public B
void g ()
{
::A::i1 = 1;
- ::A::i2 = 1; // { dg-error "access" "" }
+ ::A::i2 = 1; // { dg-error "(access)|(context)" "" }
::A::f1 ();
::A::f2 (); // { dg-error "access" "" { xfail *-*-* } }
}
diff --git a/gcc/testsuite/g++.dg/lookup/scoped2.C b/gcc/testsuite/g++.dg/lookup/scoped2.C
index 80cfb1f5f00..08882d97438 100644
--- a/gcc/testsuite/g++.dg/lookup/scoped2.C
+++ b/gcc/testsuite/g++.dg/lookup/scoped2.C
@@ -13,7 +13,7 @@ struct Derived : Base
{
void Foo ()
{
- Base::Baz (); // { dg-error "has no member" "" }
+ Base::Baz (); // { dg-error "is not a member" "" }
};
};
diff --git a/gcc/testsuite/g++.dg/lookup/scoped3.C b/gcc/testsuite/g++.dg/lookup/scoped3.C
index 992f1d12809..12ef8c8a578 100644
--- a/gcc/testsuite/g++.dg/lookup/scoped3.C
+++ b/gcc/testsuite/g++.dg/lookup/scoped3.C
@@ -20,4 +20,4 @@ struct C : public B
};
-template C<int>;
+template struct C<int>;
diff --git a/gcc/testsuite/g++.dg/lookup/using2.C b/gcc/testsuite/g++.dg/lookup/using2.C
index 92f134eaf84..c7aa09c466d 100644
--- a/gcc/testsuite/g++.dg/lookup/using2.C
+++ b/gcc/testsuite/g++.dg/lookup/using2.C
@@ -1,4 +1,4 @@
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -25,7 +25,7 @@ namespace N
template<int> void f() {}
}
-using N; // { dg-error "parse error" "" }
+using N; // { dg-error "(using-declaration)|(nested-name)" "" }
using ::N; // { dg-error "using-declaration" "" }
using N::f< 0 >; // { dg-error "using-declaration" "" }
@@ -41,6 +41,6 @@ struct B : A {
struct C : A {
using A::f<double>; // { dg-error "using-declaration" "" }
- using A::X<int>; // { dg-error "parse error" "" }
+ using A::X<int>; // { dg-error "using-declaration" "" }
};
diff --git a/gcc/testsuite/g++.dg/other/component1.C b/gcc/testsuite/g++.dg/other/component1.C
index 3041a23193f..80b95609d0e 100644
--- a/gcc/testsuite/g++.dg/other/component1.C
+++ b/gcc/testsuite/g++.dg/other/component1.C
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 28 Dec 2001 <nathan@codesourcery.com>
// PR 5123. ICE
@@ -26,4 +26,4 @@ void Foo () {
c.g == 1; // { dg-error "invalid use of" "" }
c.f == 1; // { dg-error "invalid use of" "" }
c.f<int> == 1; // { dg-error "invalid use of" "" }
-};
+}
diff --git a/gcc/testsuite/g++.dg/other/do1.C b/gcc/testsuite/g++.dg/other/do1.C
index 5ff6c5682ba..8cbd1a35f1f 100644
--- a/gcc/testsuite/g++.dg/other/do1.C
+++ b/gcc/testsuite/g++.dg/other/do1.C
@@ -8,6 +8,6 @@
void init ()
{
do { } while (0)
- obj = 0; // { dg-error "parse error" "" }
+ obj = 0; // { dg-error "expected|undeclared" "" }
}
diff --git a/gcc/testsuite/g++.dg/other/error2.C b/gcc/testsuite/g++.dg/other/error2.C
index 9910ada2a8b..344be234f3b 100644
--- a/gcc/testsuite/g++.dg/other/error2.C
+++ b/gcc/testsuite/g++.dg/other/error2.C
@@ -10,5 +10,5 @@ namespace N
class B { friend void operator>>(int, class B); };
class N { friend void operator>>(int,class N); };
}
-void N::operator>>(int, N::B) // { dg-error "no type `B' in `N::N'" "" }
+void N::operator>>(int, N::B) // { dg-error "`B' is not a member of `class N::N'|non-function|primary-expression" "" }
{ } // { dg-error "" "" }
diff --git a/gcc/testsuite/g++.dg/other/init1.C b/gcc/testsuite/g++.dg/other/init1.C
index bf4c0794758..ec1986e9b7a 100644
--- a/gcc/testsuite/g++.dg/other/init1.C
+++ b/gcc/testsuite/g++.dg/other/init1.C
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 13 Nov 2001 <nathan@codesourcery.com>
// Bug 3154
@@ -17,7 +17,7 @@ struct B : A
class T
{
typedef int Foo;
- T () : Foo () {} // { dg-error "type `T::Foo' is not" "" }
+ T () : Foo () {} // { dg-error "T::Foo' is not" "" }
};
struct S : B
diff --git a/gcc/testsuite/g++.dg/other/packed1.C b/gcc/testsuite/g++.dg/other/packed1.C
index b515854a849..4fb7194dd9f 100644
--- a/gcc/testsuite/g++.dg/other/packed1.C
+++ b/gcc/testsuite/g++.dg/other/packed1.C
@@ -19,4 +19,4 @@ int main ()
return 0;
-};
+}
diff --git a/gcc/testsuite/g++.dg/other/ptrmem2.C b/gcc/testsuite/g++.dg/other/ptrmem2.C
index ec451be39da..d267df15be1 100644
--- a/gcc/testsuite/g++.dg/other/ptrmem2.C
+++ b/gcc/testsuite/g++.dg/other/ptrmem2.C
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 31 Dec 2001 <nathan@codesourcery.com>
// PR 4379. We created pointers to member references and pointers to
@@ -8,7 +8,7 @@
struct D {
- int &m; // { dg-error "member `D::m' is non-static" "" }
+ int &m; // { dg-error "invalid use of non-static data member" "" }
static int &s;
int Foo ();
@@ -29,7 +29,7 @@ int D::Foo ()
int Foo ()
{
f1( &D::m); // { dg-error "cannot create pointer to ref" "" }
- f1( &(D::m)); // { dg-error "at this point" "" }
+ f1( &(D::m)); // { dg-error "from this location" "" }
f2( &D::s); // ok
f2( &(D::s)); // ok
return 0;
diff --git a/gcc/testsuite/g++.dg/parse/parameter-declaration-1.C b/gcc/testsuite/g++.dg/parse/parameter-declaration-1.C
index 11a9c7b7da9..22d6f214d7d 100644
--- a/gcc/testsuite/g++.dg/parse/parameter-declaration-1.C
+++ b/gcc/testsuite/g++.dg/parse/parameter-declaration-1.C
@@ -3,4 +3,4 @@
// { dg-do compile }
struct {
- a(void = 0; a(0), a(0) // { dg-error "" "" { target *-*-* } 7 }
+ a(void = 0; a(0), a(0) // { dg-error "" "" { target *-*-* } }
diff --git a/gcc/testsuite/g++.dg/special/initp1.C b/gcc/testsuite/g++.dg/special/initp1.C
index 7615023e7cd..adde34fefa6 100644
--- a/gcc/testsuite/g++.dg/special/initp1.C
+++ b/gcc/testsuite/g++.dg/special/initp1.C
@@ -19,7 +19,7 @@ extern Two goo;
extern Two coo[];
extern Two koo[];
-Two foo( 5, 6 ) __attribute__((init_priority(1005)));
+Two foo __attribute__((init_priority(1005))) ( 5, 6 );
Two goo __attribute__((init_priority(1007))) = Two( 7, 8 );
diff --git a/gcc/testsuite/g++.dg/template/access3.C b/gcc/testsuite/g++.dg/template/access3.C
index 1674f5f57ab..e8ee1041d13 100644
--- a/gcc/testsuite/g++.dg/template/access3.C
+++ b/gcc/testsuite/g++.dg/template/access3.C
@@ -4,7 +4,7 @@
// Enforcing access of typename type.
template <class T> struct A {
- typename T::X<int> x; // { dg-error "this context" }
+ typename T::template X<int> x; // { dg-error "this context" }
};
class B {
diff --git a/gcc/testsuite/g++.dg/template/access5.C b/gcc/testsuite/g++.dg/template/access5.C
index a9cb8a5075d..b2da190ff4e 100644
--- a/gcc/testsuite/g++.dg/template/access5.C
+++ b/gcc/testsuite/g++.dg/template/access5.C
@@ -16,6 +16,6 @@ class Outer {
template <int dim>
typename Outer::Inner<dim>::T Outer::Inner<dim>::foo () {
return 1;
-};
+}
-template Outer::Inner<2>;
+template struct Outer::Inner<2>;
diff --git a/gcc/testsuite/g++.dg/template/access6.C b/gcc/testsuite/g++.dg/template/access6.C
index fc80402ba1b..cbc8000d185 100644
--- a/gcc/testsuite/g++.dg/template/access6.C
+++ b/gcc/testsuite/g++.dg/template/access6.C
@@ -11,7 +11,7 @@ template <class> class Base {
template <class T> struct Derived : public Base<T> {
typedef typename Base<T>::Type Type;
- template <class Arg> void f(Type = Type()) {};
+ template <class Arg> void f(Type = Type()) {}
};
template void Derived<char>::f<int> (Type);
diff --git a/gcc/testsuite/g++.dg/template/complit1.C b/gcc/testsuite/g++.dg/template/complit1.C
index ab057b3b7ee..00eb23e83b3 100644
--- a/gcc/testsuite/g++.dg/template/complit1.C
+++ b/gcc/testsuite/g++.dg/template/complit1.C
@@ -6,6 +6,6 @@ template <int D> struct C {
};
template<int D>
-C<D>::C() : d((int[]){1,2,3}) {};
+C<D>::C() : d((int[]){1,2,3}) {}
template class C<1>;
diff --git a/gcc/testsuite/g++.dg/template/crash1.C b/gcc/testsuite/g++.dg/template/crash1.C
index e3c83bcd22f..3879ad5abda 100644
--- a/gcc/testsuite/g++.dg/template/crash1.C
+++ b/gcc/testsuite/g++.dg/template/crash1.C
@@ -8,10 +8,10 @@
class S
{
public:
- template <class I> void Foo(int (*f)(S& o) ); // { dg-error "candidate" "" }
+ template <class I> void Foo(int (*f)(S& o) );
};
template <class I>
-void S::Foo(int (*f)(TYPO&o) )
-{ // { dg-error "template definition|variable declaration|prototype" "" }
+void S::Foo(int (*f)(TYPO&o) ) // { dg-error "Foo" }
+{ // { dg-error "expected `;'" }
}
diff --git a/gcc/testsuite/g++.dg/template/inherit2.C b/gcc/testsuite/g++.dg/template/inherit2.C
index 0e2eba3239d..4fd7ec063ee 100644
--- a/gcc/testsuite/g++.dg/template/inherit2.C
+++ b/gcc/testsuite/g++.dg/template/inherit2.C
@@ -16,4 +16,4 @@ struct B: public A {
int main()
{
B<int> a;
-};
+}
diff --git a/gcc/testsuite/g++.dg/template/instantiate2.C b/gcc/testsuite/g++.dg/template/instantiate2.C
index a76eaa4701c..a6faf17aea1 100644
--- a/gcc/testsuite/g++.dg/template/instantiate2.C
+++ b/gcc/testsuite/g++.dg/template/instantiate2.C
@@ -4,5 +4,5 @@
// PR c++/2862
// Default function argument and template instantiation.
-template <int dim> void f (int=0) {};
+template <int dim> void f (int=0) {}
template void f<1> (); // { dg-error "not match" }
diff --git a/gcc/testsuite/g++.dg/template/instantiate3.C b/gcc/testsuite/g++.dg/template/instantiate3.C
index e75b570cf82..14dbcdac079 100644
--- a/gcc/testsuite/g++.dg/template/instantiate3.C
+++ b/gcc/testsuite/g++.dg/template/instantiate3.C
@@ -10,7 +10,7 @@ template <class TYPE>
struct ACE_Cleanup_Adapter
{
TYPE &object ()
- { return object_; } // { dg-error "no member" }
+ { return object_; } // { dg-error "undeclared|reported" }
TYPE object_; // { dg-error "incomplete type" }
};
diff --git a/gcc/testsuite/g++.dg/template/qual1.C b/gcc/testsuite/g++.dg/template/qual1.C
index 3d512c1e1be..8fa79b3d2e7 100644
--- a/gcc/testsuite/g++.dg/template/qual1.C
+++ b/gcc/testsuite/g++.dg/template/qual1.C
@@ -7,7 +7,7 @@ public:
void sort (int (*compare) (T *const&,T *const&));
};
-int shift_compare (int *const &, int *const &) {};
+int shift_compare (int *const &, int *const &) {}
template<class T> void
Link_array<T>::sort (int (*compare) (T *const&,T *const&))
diff --git a/gcc/testsuite/g++.dg/template/qualttp18.C b/gcc/testsuite/g++.dg/template/qualttp18.C
index 2c9cf065ceb..31dfa6a83d0 100644
--- a/gcc/testsuite/g++.dg/template/qualttp18.C
+++ b/gcc/testsuite/g++.dg/template/qualttp18.C
@@ -1,4 +1,4 @@
-// Copyright (C) 2001 Free Software Foundation
+// Copyright (C) 2001, 2002 Free Software Foundation
// Contributed by Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
// { dg-do compile }
@@ -14,7 +14,7 @@ template <template <class> class TT> struct X
struct C
{
- X<A::template B> x; // { dg-error "template|forbid" }
+ X<A::template B> x; // { dg-error "" }
};
int main()
diff --git a/gcc/testsuite/g++.dg/template/ref1.C b/gcc/testsuite/g++.dg/template/ref1.C
index 3f133d488f5..92ccc42cb11 100644
--- a/gcc/testsuite/g++.dg/template/ref1.C
+++ b/gcc/testsuite/g++.dg/template/ref1.C
@@ -1,3 +1,3 @@
class a {} a1;
template <a & p> class b { public: b() { static_cast <a &> (p); }; };
-int main() { b <a1> b1; };
+int main() { b <a1> b1; }
diff --git a/gcc/testsuite/g++.dg/template/sizeof1.C b/gcc/testsuite/g++.dg/template/sizeof1.C
index 328d647473c..45a7db48c92 100644
--- a/gcc/testsuite/g++.dg/template/sizeof1.C
+++ b/gcc/testsuite/g++.dg/template/sizeof1.C
@@ -3,7 +3,7 @@
// { dg-do compile }
-template <unsigned I> struct A {};
+template <unsigned I> struct A { static char *value; };
template <typename SizeType>
struct B
diff --git a/gcc/testsuite/g++.dg/template/spec4.C b/gcc/testsuite/g++.dg/template/spec4.C
index 97ee4fc2d5d..18116acb529 100644
--- a/gcc/testsuite/g++.dg/template/spec4.C
+++ b/gcc/testsuite/g++.dg/template/spec4.C
@@ -8,4 +8,4 @@ struct X {
template <int dim> void f(int=0);
};
-template <> void X::f<1> () {} // { dg-error "(not match|syntax error)" }
+template <> void X::f<1> () {} // { dg-error "(not match|declaration)" }
diff --git a/gcc/testsuite/g++.dg/template/static1.C b/gcc/testsuite/g++.dg/template/static1.C
index f01d0322e99..98e1acb9e51 100644
--- a/gcc/testsuite/g++.dg/template/static1.C
+++ b/gcc/testsuite/g++.dg/template/static1.C
@@ -1,4 +1,4 @@
template <typename T> struct A
{
- static const int t[1][1]={{0}}; // { dg-error "in-class" }
+ static const int t[1][1]={{0}}; // { dg-error "brace-enclosed|in-class" }
};
diff --git a/gcc/testsuite/g++.dg/template/type1.C b/gcc/testsuite/g++.dg/template/type1.C
index cd5cf5f0cd3..98a4bd3bf03 100644
--- a/gcc/testsuite/g++.dg/template/type1.C
+++ b/gcc/testsuite/g++.dg/template/type1.C
@@ -5,4 +5,4 @@ struct A {
};
int A::B::c; // { dg-error "parameters" }
-int A::C::d; // { dg-error "no type" }
+int A::C::d; // { dg-error "class" }
diff --git a/gcc/testsuite/g++.dg/template/typename3.C b/gcc/testsuite/g++.dg/template/typename3.C
index 1c573baa0df..0ad9a2a0c41 100644
--- a/gcc/testsuite/g++.dg/template/typename3.C
+++ b/gcc/testsuite/g++.dg/template/typename3.C
@@ -3,5 +3,5 @@
template <class A>
struct B {
- typedef A::C::D E; // { dg-error "no type|parse error" }
+ typedef A::C::D E; // { dg-error "" }
};
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/13478.C b/gcc/testsuite/g++.old-deja/g++.benjamin/13478.C
index 55a948d9388..47f634b1fdb 100644
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/13478.C
+++ b/gcc/testsuite/g++.old-deja/g++.benjamin/13478.C
@@ -19,7 +19,7 @@ protected:
static const hand_table table_1[];
static const AData table_2;
private:
- void foo (void); // ERROR - candidate
+ void foo (void);
};
const hand_table Agent::table_1[] =
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/15799.C b/gcc/testsuite/g++.old-deja/g++.benjamin/15799.C
index 01a06b042d5..713e3fb90aa 100644
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/15799.C
+++ b/gcc/testsuite/g++.old-deja/g++.benjamin/15799.C
@@ -24,6 +24,6 @@ enum { first, last};
void foo(void) {
sanjose obj(first); // ERROR - // ERROR -
-};
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/bool01.C b/gcc/testsuite/g++.old-deja/g++.benjamin/bool01.C
index 482150bcf6f..bd4d3f06f3f 100644
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/bool01.C
+++ b/gcc/testsuite/g++.old-deja/g++.benjamin/bool01.C
@@ -4,8 +4,8 @@
#include <assert.h>
#include <limits.h>
-void bar ( bool x ) {};
-void bars ( short x ) {};
+void bar ( bool x ) {}
+void bars ( short x ) {}
/* 980326 bkoz this is not initialized and so can have indeterminate value. */
#if 0
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/bool02.C b/gcc/testsuite/g++.old-deja/g++.benjamin/bool02.C
index c17c935287b..a7730f07899 100644
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/bool02.C
+++ b/gcc/testsuite/g++.old-deja/g++.benjamin/bool02.C
@@ -4,8 +4,8 @@
#include <assert.h>
-void bar ( bool x ) {};
-void bars ( short x ) {};
+void bar ( bool x ) {}
+void bars ( short x ) {}
#if 0
int andb(){
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/p13417.C b/gcc/testsuite/g++.old-deja/g++.benjamin/p13417.C
index ddf02f5004f..75253f2c0c5 100644
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/p13417.C
+++ b/gcc/testsuite/g++.old-deja/g++.benjamin/p13417.C
@@ -7,5 +7,5 @@ public:
explicit Foo (int){}
};
Foo f(10);
-Foo blat() return f(4){}; //this should not give an error
+Foo blat() return f(4){} // ERROR - named return value
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/tem03.C b/gcc/testsuite/g++.old-deja/g++.benjamin/tem03.C
index 0e4c389b506..1dae2a97eae 100644
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/tem03.C
+++ b/gcc/testsuite/g++.old-deja/g++.benjamin/tem03.C
@@ -126,7 +126,7 @@ public:
template <class T161>
friend bool foo(T161 u)
{
- Xseven<T161, 5, int> obj;
+ Xseven<T161, 5, int> obj; // ERROR - .*
return (obj.inst == u.inst);
}
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/tem06.C b/gcc/testsuite/g++.old-deja/g++.benjamin/tem06.C
index e55ee6aafb4..7ccfc16fd7f 100644
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/tem06.C
+++ b/gcc/testsuite/g++.old-deja/g++.benjamin/tem06.C
@@ -17,7 +17,7 @@ template<class T>
void blah (const T &) {
T y;
x (4);
-};
+}
int main () {
const foo<int> v;
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/warn01.C b/gcc/testsuite/g++.old-deja/g++.benjamin/warn01.C
index d0cf0d01785..9e7839a253b 100644
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/warn01.C
+++ b/gcc/testsuite/g++.old-deja/g++.benjamin/warn01.C
@@ -12,7 +12,7 @@ void f (void) {
catch( int)
{
}
-};
+}
//
//2 g++/12923 __attribute__((__unused__)) not working for objects
@@ -77,7 +77,7 @@ int foofunc(T x){
Mutex sm(2);
AutoMutex m(&sm);
return 0;
-};
+}
//5 sanity check to make sure other attributes cannot be used
diff --git a/gcc/testsuite/g++.old-deja/g++.bob/extern_C.C b/gcc/testsuite/g++.old-deja/g++.bob/extern_C.C
index 6b91adc36e3..18311ce13b5 100644
--- a/gcc/testsuite/g++.old-deja/g++.bob/extern_C.C
+++ b/gcc/testsuite/g++.old-deja/g++.bob/extern_C.C
@@ -4,6 +4,6 @@ extern "C" {
public:
void a();
};
-};
+}
void A::a() {}
diff --git a/gcc/testsuite/g++.old-deja/g++.bob/inherit2.C b/gcc/testsuite/g++.old-deja/g++.bob/inherit2.C
index a7aa4fe0adf..bf5f0895f9c 100644
--- a/gcc/testsuite/g++.old-deja/g++.bob/inherit2.C
+++ b/gcc/testsuite/g++.old-deja/g++.bob/inherit2.C
@@ -16,7 +16,7 @@ public:
};
void f(B b) {
-};
+}
void g() {
B h;
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/complex1.C b/gcc/testsuite/g++.old-deja/g++.brendan/complex1.C
index a2378bedf73..0e3f4f6f685 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/complex1.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/complex1.C
@@ -9,7 +9,7 @@ extern "C" {
int printf (const char *, ...);
void exit (int);
void abort (void);
-};
+}
__complex__ double cd;
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/copy5.C b/gcc/testsuite/g++.old-deja/g++.brendan/copy5.C
index a42bdb5a775..4c8620b128b 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/copy5.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/copy5.C
@@ -49,7 +49,7 @@ void BaseClass::Increm( int r )
i += r;
else
die ();
-};
+}
class DerivedClass : public BaseClass {
public:
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash13.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash13.C
index a1084d6275c..d4496f5128e 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash13.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash13.C
@@ -31,7 +31,7 @@ gen_op Spul_U_axis()
{
gen_op U1;
U1 = Fe();
-}; // ERROR - reaches end of non-void function
+} // ERROR - reaches end of non-void function
int
-main () {};
+main () {}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash15.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash15.C
index 953144ac5ac..62ad0895638 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash15.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash15.C
@@ -4,12 +4,12 @@
class A {
public:
- virtual ~A() {std::cout << "executed ~A()\n";};
+ virtual ~A() {std::cout << "executed ~A()\n";}
};
class B : public A {
public:
- virtual ~B() {std::cout << "executed ~B()\n";};
+ virtual ~B() {std::cout << "executed ~B()\n";}
};
int
@@ -18,5 +18,5 @@ main() {
B b;
b.~A();// ERROR - destructor
std::cout << "done\n";
-};
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash18.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash18.C
index d4a4c60b7c8..8cccfcb6d88 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash18.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash18.C
@@ -13,5 +13,5 @@ public:
{ return v != index; }// ERROR - .*
private:
// friend class List<T>;
- element *index;
+ element *index; // ERROR - invalid use of member
};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash37.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash37.C
index 18eb64a7683..8dafcf9b2e5 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash37.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash37.C
@@ -6,7 +6,7 @@ extern "C" {
}
extern "C" {
extern void foo();
-};
+}
class SS {
friend void foo();
protected:
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash38.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash38.C
index 5f0cf9bd2c2..e6f1b6c791a 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash38.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash38.C
@@ -37,7 +37,7 @@ main()
Implicit<Implicit<INTEGER, 2> , 3> y;
y = 10;
-};
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash50.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash50.C
index fd87d75a2e6..52e05887ddf 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash50.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash50.C
@@ -5,7 +5,7 @@ class B
public:
int i;
};
-int operator & (const B &s) { return ( s.i );};
+int operator & (const B &s) { return ( s.i );}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash56.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash56.C
index 4aeb330274d..739dfcba030 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash56.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash56.C
@@ -341,7 +341,7 @@ operator>=(const SetLD<T>& a, const SetLD<T>& b)
{ return ! (a < b); }
class String { };
class IcaseString: public String { };
-class SetLD< IcaseString >: public SetLD< String > { public: SetLD (): SetLD< String >() { }; SetLD (const ListD< IcaseString >& other): SetLD< String >() { ListD< IcaseString >::Vix x; for (other.first(x); 0 != x; other.next(x)) add(other(x)); }; SetLD (const SetLD & other): SetLD< String >(other) { }; const IcaseString & operator()(const Vix& x) const { return ( IcaseString &) SetLD< String >::operator()(x); } }; typedef SetLD< String > SetLD_String_IcaseString_old_tmp99; typedef SetLD< IcaseString > SetLD_String_IcaseString_new_tmp99;
+template <> class SetLD< IcaseString >: public SetLD< String > { public: SetLD (): SetLD< String >() { }; SetLD (const ListD< IcaseString >& other): SetLD< String >() { ListD< IcaseString >::Vix x; for (other.first(x); 0 != x; other.next(x)) add(other(x)); }; SetLD (const SetLD & other): SetLD< String >(other) { }; const IcaseString & operator()(const Vix& x) const { return ( IcaseString &) SetLD< String >::operator()(x); } }; typedef SetLD< String > SetLD_String_IcaseString_old_tmp99; typedef SetLD< IcaseString > SetLD_String_IcaseString_new_tmp99;
inline int operator== (const SetLD_String_IcaseString_new_tmp99& a, const SetLD_String_IcaseString_new_tmp99& b)
{// ERROR - candidate for call
const SetLD_String_IcaseString_old_tmp99& oa = a;
@@ -371,7 +371,7 @@ inline int operator>= (const SetLD_String_IcaseString_new_tmp99& a, const SetLD
{
const SetLD_String_IcaseString_old_tmp99& oa = a;
const SetLD_String_IcaseString_old_tmp99& ob = b;
-return operator>= (oa, ob); } ;
+return operator>= (oa, ob); }
typedef SetLD<IcaseString> SLDiS;
static void
nop(int i)
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash6.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash6.C
index a6527a5cbd4..2472ed4de8b 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash6.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash6.C
@@ -9,6 +9,7 @@ template<int>
class Program {
} ;
+template<>
class Program<0> {
public:
inline friend float EvalNextArg()
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash66.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash66.C
index 878957b84e6..d15993196ab 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash66.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash66.C
@@ -23,7 +23,7 @@ swaplong(ulong value)
{
ulong v = (value << 16) | (value >> 16);
return ((v >> 8) & 0x00ff00ff) | ((v << 8) & 0xff00ff00);
-};
+}
struct elong
{
ulong data;
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash8.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash8.C
index 2c4a91d7498..f7906c5ddb3 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash8.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash8.C
@@ -8,5 +8,5 @@ class Elvis
template<int a>
class Elvis<0>
{ // ERROR - incorrect number of parameters
- int geta() { return a ; } // ERROR - not in a class
+ int geta() { return a ; }
} ;
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/ctors1.C b/gcc/testsuite/g++.old-deja/g++.brendan/ctors1.C
index 4b82843ea02..0a48eef950d 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/ctors1.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/ctors1.C
@@ -24,4 +24,4 @@ base::base(int arg1, int arg2)
{
f1 = arg1;
f2 = arg2;
-};
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/ctors2.C b/gcc/testsuite/g++.old-deja/g++.brendan/ctors2.C
index 6f1a36a9600..127dd36b895 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/ctors2.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/ctors2.C
@@ -25,4 +25,4 @@ base::base(int arg1, int arg2)
{
f1 = arg1;
f2 = arg2;
-};
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/shadow1.C b/gcc/testsuite/g++.old-deja/g++.brendan/shadow1.C
index 6a1d9d1f8e3..b9b36367c3d 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/shadow1.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/shadow1.C
@@ -5,4 +5,4 @@ void f( int a) {
{
int a;
}
-};
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template11.C b/gcc/testsuite/g++.old-deja/g++.brendan/template11.C
index 4a953a34082..8316c2f5641 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template11.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/template11.C
@@ -24,7 +24,7 @@ aCallback<Called>::aCallback(Called& obj,
int (Called::*met)()) :
object(obj),
method(met)
-{};
+{}
template <class Called>
int aCallback<Called>::callback()
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template26.C b/gcc/testsuite/g++.old-deja/g++.brendan/template26.C
index 6dc15551f81..d245423abc6 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template26.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/template26.C
@@ -18,10 +18,10 @@ template <int I> class BB : public virtual V {
BB(int);
};
-template <int I> AA<I>::AA() {};
-template <int I> AA<I>::AA(int i): V(i) {};
-template <int I> BB<I>::BB() {};
-template <int I> BB<I>::BB(int i) {};
+template <int I> AA<I>::AA() {}
+template <int I> AA<I>::AA(int i): V(i) {}
+template <int I> BB<I>::BB() {}
+template <int I> BB<I>::BB(int i) {}
class CC : public AA<1>, public BB<2> {
public:
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template27.C b/gcc/testsuite/g++.old-deja/g++.brendan/template27.C
index a2649d439e0..25752160a14 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template27.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/template27.C
@@ -5,7 +5,8 @@
class X1 { };
class RefProto { };
template<class REP> class Ref { };
-
+
+ template <>
class MapLS<String, Ref<X1> >: public MapLS<String, RefProto> {
public:
~MapLS();
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template30.C b/gcc/testsuite/g++.old-deja/g++.brendan/template30.C
index 97357d63a80..dcbd9c19da5 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template30.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/template30.C
@@ -6,7 +6,8 @@
class X1 { };
class RefProto { };
template<class REP> class Ref { };
-
+
+ template <>
class MapLS<String, Ref<X1> >: public MapLS<String, RefProto> {
public:
~MapLS();
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template5.C b/gcc/testsuite/g++.old-deja/g++.brendan/template5.C
index 39b74d6a4df..810f0cb0c13 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template5.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/template5.C
@@ -18,16 +18,16 @@ Vector<T>::Vector(int x)
{
sz = x;
v = new T (sz);
-} ;
+}
template<class T>
Vector<T>::~Vector()
- { delete [] v; } ;
+ { delete [] v; }
template<class T>
T &
Vector<T>::operator [] (int i)
- { return v[i]; } ;
+ { return v[i]; }
int
main(int, char **)
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/visibility3.C b/gcc/testsuite/g++.old-deja/g++.brendan/visibility3.C
index 6e84da5ac51..62cdfeef4bb 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/visibility3.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/visibility3.C
@@ -7,6 +7,13 @@
class A {};
template <class TP>
+class B;
+
+template <class TP>
+inline A &
+operator<< (A &o, const B<TP> &m);
+
+template <class TP>
class B
{
A &(*_f) (A &, TP);
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/warnings4.C b/gcc/testsuite/g++.old-deja/g++.brendan/warnings4.C
index d733522824e..f22a57e7e0b 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/warnings4.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/warnings4.C
@@ -7,4 +7,4 @@ main ()
int * foo = &x; // in C++ it's perfectly legal to do this
return 0;
-};
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/warnings7.C b/gcc/testsuite/g++.old-deja/g++.brendan/warnings7.C
index 24e7a2cde0d..2fc2892a4ac 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/warnings7.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/warnings7.C
@@ -18,4 +18,4 @@ x()
x.kill(0);
X<Y> y;
y.kill(0);
-};
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900121_02.C b/gcc/testsuite/g++.old-deja/g++.bugs/900121_02.C
index c90dfd9aaa4..79a669cd429 100644
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900121_02.C
+++ b/gcc/testsuite/g++.old-deja/g++.bugs/900121_02.C
@@ -44,6 +44,6 @@ void function ()
u0 u0_object_1;
u0_object_0 = u0_object_1;
-};
+}
int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/catchptr1.C b/gcc/testsuite/g++.old-deja/g++.eh/catchptr1.C
index 723b437d7ed..bddca378b5d 100644
--- a/gcc/testsuite/g++.old-deja/g++.eh/catchptr1.C
+++ b/gcc/testsuite/g++.old-deja/g++.eh/catchptr1.C
@@ -1,10 +1,10 @@
// Test pointer chain catching
-// Copyright (C) 2000 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 9 Apr 2000 <nathan@nathan@codesourcery.com>
#include <stdio.h>
-void fn () {};
+void fn () {}
struct A {void fn () {}};
static int var = 1;
static const int const_var = 2;
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/addrfunc4.C b/gcc/testsuite/g++.old-deja/g++.ext/addrfunc4.C
index d8e9987a45c..a4949f60d4c 100644
--- a/gcc/testsuite/g++.old-deja/g++.ext/addrfunc4.C
+++ b/gcc/testsuite/g++.old-deja/g++.ext/addrfunc4.C
@@ -21,4 +21,4 @@ int main()
fn1 = a.f;
fn1 = (pmf1)a.f;
fn2 = (pmf2)a.f;
-};
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/default.C b/gcc/testsuite/g++.old-deja/g++.ext/default.C
index f434749ef33..30c4510e7c7 100644
--- a/gcc/testsuite/g++.old-deja/g++.ext/default.C
+++ b/gcc/testsuite/g++.old-deja/g++.ext/default.C
@@ -5,8 +5,8 @@ extern "C" int printf (const char *, ...);
class A {
public:
- static A*func (int = 3);
- static A*(*ptr)(int = 4);
+ static A*func (int = 3);
+ static A*(*ptr)(int = 4); // ERROR - .*
};
A*(*A::ptr)(int) = &A::func;
@@ -15,7 +15,7 @@ int main()
{
A foo;
- A::ptr();
+ A::ptr(); // ERROR - .*
A::ptr(47);
}
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/namedret1.C b/gcc/testsuite/g++.old-deja/g++.ext/namedret1.C
index 64df8d1dc77..ad1e36f77db 100644
--- a/gcc/testsuite/g++.old-deja/g++.ext/namedret1.C
+++ b/gcc/testsuite/g++.old-deja/g++.ext/namedret1.C
@@ -1,6 +1,6 @@
// Special g++ Options: -Wno-deprecated
-int f(int x) return y(x) { }
+int f(int x) return y(x) { } // ERROR -
extern "C" void abort ();
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/namedret2.C b/gcc/testsuite/g++.old-deja/g++.ext/namedret2.C
index 8e2b4e620c1..277a9964f84 100644
--- a/gcc/testsuite/g++.old-deja/g++.ext/namedret2.C
+++ b/gcc/testsuite/g++.old-deja/g++.ext/namedret2.C
@@ -5,7 +5,7 @@
// The Alpha ABI specifies that 32-bit return values have bit 31 propagated,
// i.e. the value is sign-extended even if the unpromoted type is unsigned.
-unsigned int f(unsigned int x) return y(x) { }
+unsigned int f(unsigned int x) return y(x) { } // ERROR -
extern "C" void abort ();
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/namedret3.C b/gcc/testsuite/g++.old-deja/g++.ext/namedret3.C
index 0c4e4b45256..7ea66137276 100644
--- a/gcc/testsuite/g++.old-deja/g++.ext/namedret3.C
+++ b/gcc/testsuite/g++.old-deja/g++.ext/namedret3.C
@@ -8,9 +8,9 @@ int f2(int *x)
return 2;
}
-int f1() return x
+int f1() return x // ERROR -
{
- f2(&x);
+ f2(&x); // ERROR -
}
void g()
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/return1.C b/gcc/testsuite/g++.old-deja/g++.ext/return1.C
index 29e1fc31f4c..53d0c6fb1b9 100644
--- a/gcc/testsuite/g++.old-deja/g++.ext/return1.C
+++ b/gcc/testsuite/g++.old-deja/g++.ext/return1.C
@@ -7,9 +7,9 @@ void f (int &i)
i = 42;
}
-int g () return r
+int g () return r // ERROR - named return value
{
- f (r);
+ f (r); // ERROR - undeclared
}
int main ()
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/typename1.C b/gcc/testsuite/g++.old-deja/g++.ext/typename1.C
index 31de28fe8fe..2e489ab10fb 100644
--- a/gcc/testsuite/g++.old-deja/g++.ext/typename1.C
+++ b/gcc/testsuite/g++.old-deja/g++.ext/typename1.C
@@ -1,8 +1,6 @@
// Bug: g++ forgets about the instantiation of class1 when looking up
// class11_value, and tries to look things up in class1<class2>.
-// Special g++ Options:
-
template<class ItIsInt>
struct class1 {
struct class11 {
@@ -18,7 +16,7 @@ struct class3 {
template<class ItIsClass2>
int class3<ItIsClass2>::f()
{
- return class1<typename ItIsClass2::class2_value>::class11::class11_value(10);
+ return typename class1<typename ItIsClass2::class2_value>::class11::class11_value(10);
}
struct class2 {
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/access17.C b/gcc/testsuite/g++.old-deja/g++.jason/access17.C
index 676eac1bcc1..8f41b5f8e0b 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/access17.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/access17.C
@@ -12,8 +12,8 @@ struct B: public A {
static int (A::*fp)();
};
-int A::* B::p = &A::i;
-int (A::* B::fp)() = &A::f;
+int A::* B::p = &A::i; // ERROR -
+int (A::* B::fp)() = &A::f; // ERROR -
struct C {
static int A::*p;
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/access8.C b/gcc/testsuite/g++.old-deja/g++.jason/access8.C
index 40bb4babe4e..c0c46ff7c89 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/access8.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/access8.C
@@ -3,7 +3,7 @@
// Bug: g++ forgets access decls after the definition.
// Build don't link:
-class inh {
+class inh { // ERROR - inaccessible
int a;
protected:
void myf(int);
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/bool.C b/gcc/testsuite/g++.old-deja/g++.jason/bool.C
index e446f12fab6..30eb23fa063 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/bool.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/bool.C
@@ -31,7 +31,7 @@ void g ()
template <class T> struct F { };
template class F<bool>;
-template <class T> void f (T, bool) { };
+template <class T> void f (T, bool) { }
template void f (bool, bool);
/* Special cases. */
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/destruct.C b/gcc/testsuite/g++.old-deja/g++.jason/destruct.C
index c5b3be61004..6c9c2964d33 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/destruct.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/destruct.C
@@ -14,6 +14,7 @@ public:
};
typedef char * cp;
+typedef int I;
int main ()
{
@@ -22,10 +23,10 @@ int main ()
int i;
cp c;
- i.~int();
- i.int::~int();
- (&i)->~int();
- (&i)->int::~int();
+ i.~I();
+ i.I::~I();
+ (&i)->~I();
+ (&i)->I::~I();
c.~cp();
c.cp::~cp();
(&c)->~cp();
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/dtor3.C b/gcc/testsuite/g++.old-deja/g++.jason/dtor3.C
index 0c5e68abb47..5b17bcc540b 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/dtor3.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/dtor3.C
@@ -4,7 +4,7 @@
#include <stddef.h>
-void *operator new(size_t Size, void* pThing) { return pThing; };
+void *operator new(size_t Size, void* pThing) { return pThing; }
template <class T> class Stack {
public:
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/dtor5.C b/gcc/testsuite/g++.old-deja/g++.jason/dtor5.C
index 4761bedf2cc..4f4016c6b5e 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/dtor5.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/dtor5.C
@@ -18,7 +18,8 @@ int main()
int* p = (int*) new char[sizeof (int)];
new (p + r++) int;
- p[--r].~int();
+ typedef int I;
+ p[--r].~I();
return r;
}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/opeq3.C b/gcc/testsuite/g++.old-deja/g++.jason/opeq3.C
index e290f7a21ba..1152aa08917 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/opeq3.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/opeq3.C
@@ -12,4 +12,4 @@ void foo ()
int one=1, two=2;
X a(one), b(two);
a = b; // ERROR - no assignment semantics defined
-};
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload19.C b/gcc/testsuite/g++.old-deja/g++.jason/overload19.C
index ad5817565fb..99dcc915d98 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload19.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/overload19.C
@@ -3,7 +3,7 @@
enum E { A=5, B=32, C=100 };
-E operator|(E a, E b) { return C; };
+E operator|(E a, E b) { return C; }
int main()
{
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload32.C b/gcc/testsuite/g++.old-deja/g++.jason/overload32.C
index 95f251d6664..6e207be3257 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload32.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/overload32.C
@@ -16,4 +16,4 @@ void f( const D & );
void g( const X & x )
{
f( x );
-};
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/parse11.C b/gcc/testsuite/g++.old-deja/g++.jason/parse11.C
index e9f285cee8d..6c9c1fa6492 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/parse11.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/parse11.C
@@ -3,7 +3,7 @@
class aClass
{
- ;
+ ; // ERROR - missing declaration
private:
- ; // This line causes problems
+ ; // ERROR - missing declaration
};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/pmem2.C b/gcc/testsuite/g++.old-deja/g++.jason/pmem2.C
index 99adf1c143f..d34809cb3e1 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/pmem2.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/pmem2.C
@@ -20,7 +20,7 @@ aCallback<Called>::aCallback(Called& obj,
int (Called::*met)()) :
object(obj),
method(met)
-{};
+{}
template <class Called>
int aCallback<Called>::callback()
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/return.C b/gcc/testsuite/g++.old-deja/g++.jason/return.C
index c737a3ea8bd..c20d2506ee1 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/return.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/return.C
@@ -12,7 +12,7 @@ struct X {
const X foo() {
return X(3);
-};
+}
int main()
{
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/return2.C b/gcc/testsuite/g++.old-deja/g++.jason/return2.C
index 272390903e8..29da5b28e58 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/return2.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/return2.C
@@ -14,7 +14,7 @@ struct Y {
Y foo() {
return X(3);
-};
+}
int main()
{
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/shadow1.C b/gcc/testsuite/g++.old-deja/g++.jason/shadow1.C
index 59ffcbd15c3..f3f4d17979c 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/shadow1.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/shadow1.C
@@ -8,7 +8,7 @@ private:
int foo;
};
-void x::fun() { };
+void x::fun() { }
main ()
{
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/special.C b/gcc/testsuite/g++.old-deja/g++.jason/special.C
index 9f6202ecf44..41fae60b9fd 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/special.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/special.C
@@ -1,6 +1,6 @@
// Make sure that forward declarations of specializations work...
template <class T> class A { };
-class A<int>;
+template <> class A<int>;
A<int> a; // ERROR - incomplete type
-class A<int> { };
+template <> class A<int> { };
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template10.C b/gcc/testsuite/g++.old-deja/g++.jason/template10.C
index 18a574a28eb..c63e1d03155 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/template10.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/template10.C
@@ -3,6 +3,11 @@
class ostream;
+template <class TP> class smanip;
+
+template<class TP>
+ostream& operator<<(ostream& o, const smanip<TP>& m);
+
template <class TP> class smanip {
public:
friend ostream& operator<< <>(ostream &o, const smanip<TP>&m);
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template11.C b/gcc/testsuite/g++.old-deja/g++.jason/template11.C
index d58bdfe9e03..fed322e8415 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/template11.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/template11.C
@@ -6,6 +6,7 @@ template <class T> struct A {
int foo () { return 1; }
+template <>
int A<int>::t = foo ();
int main ()
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template37.C b/gcc/testsuite/g++.old-deja/g++.jason/template37.C
index 53607ee7fbe..dd3ec299191 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/template37.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/template37.C
@@ -17,6 +17,7 @@
{
}
+ template <>
class ONE<int>
{
public:
diff --git a/gcc/testsuite/g++.old-deja/g++.law/access4.C b/gcc/testsuite/g++.old-deja/g++.law/access4.C
index 994a6109bde..17f0db8f38c 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/access4.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/access4.C
@@ -6,7 +6,7 @@
// Subject: g++ 2.5.5 doesn't warn about inaccessible virtual base ctor
// Message-ID: <9403030024.AA04534@ses.com>
-class ForceLeafSterile {
+class ForceLeafSterile { // ERROR -
friend class Sterile;
ForceLeafSterile() {} // ERROR -
};
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arm13.C b/gcc/testsuite/g++.old-deja/g++.law/arm13.C
index cf6227830af..a33f5229d89 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/arm13.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/arm13.C
@@ -8,7 +8,8 @@ int main()
{
int* p = (int*) malloc(sizeof(int));
(void) new (p) int(1);
- p->int::~int();
+ typedef int I;
+ p->I::~I();
free(p);
printf ("PASS\n");
}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/code-gen5.C b/gcc/testsuite/g++.old-deja/g++.law/code-gen5.C
index ff908758c4f..f150a723542 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/code-gen5.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/code-gen5.C
@@ -248,7 +248,7 @@ operator double()
{
assert( v.r->vec != 0 );
return *v.r->vec;
-};
+}
double VecElem::
operator=( double d )
diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors9.C b/gcc/testsuite/g++.old-deja/g++.law/ctors9.C
index 4a7d24c6664..88ff255cc75 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/ctors9.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/ctors9.C
@@ -28,7 +28,7 @@ struct var_Foo: public Foo
int blort(Foo& f)
{
return f->a;
-};
+}
int main()
{
diff --git a/gcc/testsuite/g++.old-deja/g++.law/cvt22.C b/gcc/testsuite/g++.old-deja/g++.law/cvt22.C
index c9a80baa617..b26a88743bf 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/cvt22.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/cvt22.C
@@ -11,4 +11,4 @@ typedef int A[10];
int main()
{
int* a1 = new A;
-};
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/dtors5.C b/gcc/testsuite/g++.old-deja/g++.law/dtors5.C
index 0628041751c..302acd5f044 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/dtors5.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/dtors5.C
@@ -21,7 +21,7 @@ public:
void
sub(foo f) {
;
-};
+}
int main() {
diff --git a/gcc/testsuite/g++.old-deja/g++.law/global-init1.C b/gcc/testsuite/g++.old-deja/g++.law/global-init1.C
index 3a671585b56..9047067c81f 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/global-init1.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/global-init1.C
@@ -9,7 +9,7 @@
struct S { int a; int c; };
int i = 3;
S s = {6, i};
-S * the_s () { return &s; };
+S * the_s () { return &s; }
int main ()
{
S * cls = the_s ();
diff --git a/gcc/testsuite/g++.old-deja/g++.law/missed-error3.C b/gcc/testsuite/g++.old-deja/g++.law/missed-error3.C
index 017ce5dd420..d80bae27e4b 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/missed-error3.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/missed-error3.C
@@ -120,5 +120,5 @@ public:
void Fixed_List::go_offleft() const
{
cursor_position = 0;// ERROR -
-};
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators28.C b/gcc/testsuite/g++.old-deja/g++.law/operators28.C
index 3600fb27418..e089382a027 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/operators28.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/operators28.C
@@ -19,7 +19,7 @@ void* new_test::operator new(size_t sz, int count, int type)
p = new char[sz * count];
((new_test *)p)->type = type;
return p;
-};
+}
int main()
{
@@ -27,4 +27,4 @@ int main()
int count = 13;
test = new(count, 1) new_test;
-};
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility28.C b/gcc/testsuite/g++.old-deja/g++.law/visibility28.C
index e92c299960f..086a18ed7b6 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility28.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/visibility28.C
@@ -4,13 +4,13 @@ extern "C" int printf( const char *, ...);
class B {
public:
- B() { };
- virtual ~B() { printf( "B::~B\n"); };
+ B() { }
+ virtual ~B() { printf( "B::~B\n"); }
};
class D : public B {
public:
- virtual ~D() { printf( "D::~D\n"); };
+ virtual ~D() { printf( "D::~D\n"); }
void operator = ( int i) { this->~B(); }// ERROR - D has no ~B part to it
};
@@ -21,4 +21,4 @@ main()
B * pb = pd;
delete pb;
return 0;
-};
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.martin/eval1.C b/gcc/testsuite/g++.old-deja/g++.martin/eval1.C
index 6488da5be6d..ad7f2e478c4 100644
--- a/gcc/testsuite/g++.old-deja/g++.martin/eval1.C
+++ b/gcc/testsuite/g++.old-deja/g++.martin/eval1.C
@@ -9,7 +9,7 @@ struct S
S* S::foo(){
i = 0;
return this;
-};
+}
int S::i = 1;
int main(void)
diff --git a/gcc/testsuite/g++.old-deja/g++.martin/pmf2.C b/gcc/testsuite/g++.old-deja/g++.martin/pmf2.C
index 481fe2cb865..fea7ebf4589 100644
--- a/gcc/testsuite/g++.old-deja/g++.martin/pmf2.C
+++ b/gcc/testsuite/g++.old-deja/g++.martin/pmf2.C
@@ -4,7 +4,7 @@
struct A{
int i;
- A::A():i(1){}
+ A () :i(1){}
virtual void foo();
}a;
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh41.C b/gcc/testsuite/g++.old-deja/g++.mike/eh41.C
index 7c7b5bc5ce7..3cd9bc86b1e 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh41.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/eh41.C
@@ -26,4 +26,4 @@ int main () {
return 0;
}
return 1;
-};
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/hog1.C b/gcc/testsuite/g++.old-deja/g++.mike/hog1.C
index 8627100f2de..4d677ba9e33 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/hog1.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/hog1.C
@@ -184,4 +184,4 @@ void super::operator++(void)
int main(void)
{
-};
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net34.C b/gcc/testsuite/g++.old-deja/g++.mike/net34.C
index 9cf550c126e..0756e2e9036 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/net34.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/net34.C
@@ -17,7 +17,7 @@ public:
class bar_2 : public foo {
public:
- bar_2(int i) : foo(i) {};
+ bar_2(int i) : foo(i) {}
int get_k() {return k;}
};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net36.C b/gcc/testsuite/g++.old-deja/g++.mike/net36.C
index 21c3a1ee1a0..c9d0fe9cb94 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/net36.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/net36.C
@@ -16,4 +16,4 @@ public:
void f(B* b) {
b->setHandler(A::handlerFn); // ERROR -
-};
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/ns2.C b/gcc/testsuite/g++.old-deja/g++.mike/ns2.C
index 365eb8c0923..8e2a1713022 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/ns2.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/ns2.C
@@ -1,6 +1,6 @@
namespace N {
int i;
-};
+}
using namespace N;
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p12306.C b/gcc/testsuite/g++.old-deja/g++.mike/p12306.C
index 12b4a453b9a..d156c6f8924 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/p12306.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/p12306.C
@@ -72,4 +72,4 @@ int main(int argc, char **argv) {
Sim_Event_Manager foo;
foo.post_event();
return fail;
-};
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p3579.C b/gcc/testsuite/g++.old-deja/g++.mike/p3579.C
index d960599450f..372965060df 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/p3579.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/p3579.C
@@ -36,4 +36,4 @@ int main (int, char **) {
}
printf("PASS\n");
return 0;
-};
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p646.C b/gcc/testsuite/g++.old-deja/g++.mike/p646.C
index 72f75b3bfb2..226ac3a321f 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/p646.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/p646.C
@@ -83,13 +83,6 @@ return_foo ()
}
foo
-return_named_foo () return f
-{
- printf ("returning named foo\n");
- return f;
-}
-
-foo
foo_parm_returns_foo (foo f)
{
return f;
@@ -133,12 +126,6 @@ warn_return_foo ()
} // WARNING - control reaches end
foo
-nowarn_return_named_foo () return f
-{
- printf ("returning named foo\n");
-}
-
-foo
warn_foo_parm_returns_foo (foo f)
{
f;
@@ -155,7 +142,7 @@ main ()
int k = return_sum (-69, 69);
if (k != 0)
abort_because ("wrong value returned");
- foo f1 = return_named_foo ();
+ foo f1 = return_foo ();
if (foo::si != 1)
abort_because ("wrong number of foos");
f1.i = 5;
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p700.C b/gcc/testsuite/g++.old-deja/g++.mike/p700.C
index 5413d575652..814604fcab9 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/p700.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/p700.C
@@ -249,73 +249,73 @@ inline int& operator >>=(int& a, const Int & b)
//# 289 "../../../../libg++/etc/benchmarks/Int.h"
-inline Int operator - (const Int & a) return r(a)
-{ r.negate(); }
-inline Int operator ~ (const Int & a) return r(a)
-{ r.complement(); }
-
-inline Int operator + (const Int & a, const Int & b) return r(a)
-{ r += b.Int::val(); }
-inline Int operator - (const Int & a, const Int & b) return r(a)
-{ r -= b.Int::val(); }
-inline Int operator * (const Int & a, const Int & b) return r(a)
-{ r *= b.Int::val(); }
-inline Int operator / (const Int & a, const Int & b) return r(a)
-{ r /= b.Int::val(); }
-inline Int operator % (const Int & a, const Int & b) return r(a)
-{ r %= b.Int::val(); }
-inline Int operator << (const Int & a, const Int & b) return r(a)
-{ r <<= b.Int::val(); }
-inline Int operator >> (const Int & a, const Int & b) return r(a)
-{ r >>= b.Int::val(); }
-inline Int operator & (const Int & a, const Int & b) return r(a)
-{ r &= b.Int::val(); }
-inline Int operator | (const Int & a, const Int & b) return r(a)
-{ r |= b.Int::val(); }
-inline Int operator ^ (const Int & a, const Int & b) return r(a)
-{ r ^= b.Int::val(); }
-
-inline Int operator + (const Int & a, const int b) return r(a)
-{ r += b; }
-inline Int operator - (const Int & a, const int b) return r(a)
-{ r -= b; }
-inline Int operator * (const Int & a, const int b) return r(a)
-{ r *= b; }
-inline Int operator / (const Int & a, const int b) return r(a)
-{ r /= b; }
-inline Int operator % (const Int & a, const int b) return r(a)
-{ r %= b; }
-inline Int operator << (const Int & a, const int b) return r(a)
-{ r <<= b; }
-inline Int operator >> (const Int & a, const int b) return r(a)
-{ r >>= b; }
-inline Int operator & (const Int & a, const int b) return r(a)
-{ r &= b; }
-inline Int operator | (const Int & a, const int b) return r(a)
-{ r |= b; }
-inline Int operator ^ (const Int & a, const int b) return r(a)
-{ r ^= b; }
-
-inline Int operator + (const int a, const Int & b) return r(a)
-{ r += b.Int::val(); }
-inline Int operator - (const int a, const Int & b) return r(a)
-{ r -= b.Int::val(); }
-inline Int operator * (const int a, const Int & b) return r(a)
-{ r *= b.Int::val(); }
-inline Int operator / (const int a, const Int & b) return r(a)
-{ r /= b.Int::val(); }
-inline Int operator % (const int a, const Int & b) return r(a)
-{ r %= b.Int::val(); }
-inline Int operator << (const int a, const Int & b) return r(a)
-{ r <<= b.Int::val(); }
-inline Int operator >> (const int a, const Int & b) return r(a)
-{ r >>= b.Int::val(); }
-inline Int operator & (const int a, const Int & b) return r(a)
-{ r &= b.Int::val(); }
-inline Int operator | (const int a, const Int & b) return r(a)
-{ r |= b.Int::val(); }
-inline Int operator ^ (const int a, const Int & b) return r(a)
-{ r ^= b.Int::val(); }
+inline Int operator - (const Int & a) return r(a) // ERROR -
+{ r.negate(); } // ERROR -
+inline Int operator ~ (const Int & a) return r(a) // ERROR -
+{ r.complement(); } // ERROR -
+
+inline Int operator + (const Int & a, const Int & b) return r(a) // ERROR -
+{ r += b.Int::val(); } // ERROR -
+inline Int operator - (const Int & a, const Int & b) return r(a) // ERROR -
+{ r -= b.Int::val(); } // ERROR -
+inline Int operator * (const Int & a, const Int & b) return r(a) // ERROR -
+{ r *= b.Int::val(); } // ERROR -
+inline Int operator / (const Int & a, const Int & b) return r(a) // ERROR -
+{ r /= b.Int::val(); } // ERROR -
+inline Int operator % (const Int & a, const Int & b) return r(a) // ERROR -
+{ r %= b.Int::val(); } // ERROR -
+inline Int operator << (const Int & a, const Int & b) return r(a) // ERROR -
+{ r <<= b.Int::val(); } // ERROR -
+inline Int operator >> (const Int & a, const Int & b) return r(a) // ERROR -
+{ r >>= b.Int::val(); } // ERROR -
+inline Int operator & (const Int & a, const Int & b) return r(a) // ERROR -
+{ r &= b.Int::val(); } // ERROR -
+inline Int operator | (const Int & a, const Int & b) return r(a) // ERROR -
+{ r |= b.Int::val(); } // ERROR -
+inline Int operator ^ (const Int & a, const Int & b) return r(a) // ERROR -
+{ r ^= b.Int::val(); } // ERROR -
+
+inline Int operator + (const Int & a, const int b) return r(a) // ERROR -
+{ r += b; } // ERROR -
+inline Int operator - (const Int & a, const int b) return r(a) // ERROR -
+{ r -= b; } // ERROR -
+inline Int operator * (const Int & a, const int b) return r(a) // ERROR -
+{ r *= b; } // ERROR -
+inline Int operator / (const Int & a, const int b) return r(a) // ERROR -
+{ r /= b; } // ERROR -
+inline Int operator % (const Int & a, const int b) return r(a) // ERROR -
+{ r %= b; } // ERROR -
+inline Int operator << (const Int & a, const int b) return r(a) // ERROR -
+{ r <<= b; } // ERROR -
+inline Int operator >> (const Int & a, const int b) return r(a) // ERROR -
+{ r >>= b; } // ERROR -
+inline Int operator & (const Int & a, const int b) return r(a) // ERROR -
+{ r &= b; } // ERROR -
+inline Int operator | (const Int & a, const int b) return r(a) // ERROR -
+{ r |= b; } // ERROR -
+inline Int operator ^ (const Int & a, const int b) return r(a) // ERROR -
+{ r ^= b; } // ERROR -
+
+inline Int operator + (const int a, const Int & b) return r(a) // ERROR -
+{ r += b.Int::val(); } // ERROR -
+inline Int operator - (const int a, const Int & b) return r(a) // ERROR -
+{ r -= b.Int::val(); } // ERROR -
+inline Int operator * (const int a, const Int & b) return r(a) // ERROR -
+{ r *= b.Int::val(); } // ERROR -
+inline Int operator / (const int a, const Int & b) return r(a) // ERROR -
+{ r /= b.Int::val(); } // ERROR -
+inline Int operator % (const int a, const Int & b) return r(a) // ERROR -
+{ r %= b.Int::val(); } // ERROR -
+inline Int operator << (const int a, const Int & b) return r(a) // ERROR -
+{ r <<= b.Int::val(); } // ERROR -
+inline Int operator >> (const int a, const Int & b) return r(a) // ERROR -
+{ r >>= b.Int::val(); } // ERROR -
+inline Int operator & (const int a, const Int & b) return r(a) // ERROR -
+{ r &= b.Int::val(); } // ERROR -
+inline Int operator | (const int a, const Int & b) return r(a) // ERROR -
+{ r |= b.Int::val(); } // ERROR -
+inline Int operator ^ (const int a, const Int & b) return r(a) // ERROR -
+{ r ^= b.Int::val(); } // ERROR -
@@ -588,73 +588,73 @@ inline char& operator >>=(char& a, const Char & b)
//# 291 "../../../../libg++/etc/benchmarks/Char.h"
-inline Char operator - (const Char & a) return r(a)
-{ r.negate(); }
-inline Char operator ~ (const Char & a) return r(a)
-{ r.complement(); }
-
-inline Char operator + (const Char & a, const Char & b) return r(a)
-{ r += b.Char::val(); }
-inline Char operator - (const Char & a, const Char & b) return r(a)
-{ r -= b.Char::val(); }
-inline Char operator * (const Char & a, const Char & b) return r(a)
-{ r *= b.Char::val(); }
-inline Char operator / (const Char & a, const Char & b) return r(a)
-{ r /= b.Char::val(); }
-inline Char operator % (const Char & a, const Char & b) return r(a)
-{ r %= b.Char::val(); }
-inline Char operator << (const Char & a, const Char & b) return r(a)
-{ r <<= b.Char::val(); }
-inline Char operator >> (const Char & a, const Char & b) return r(a)
-{ r >>= b.Char::val(); }
-inline Char operator & (const Char & a, const Char & b) return r(a)
-{ r &= b.Char::val(); }
-inline Char operator | (const Char & a, const Char & b) return r(a)
-{ r |= b.Char::val(); }
-inline Char operator ^ (const Char & a, const Char & b) return r(a)
-{ r ^= b.Char::val(); }
-
-inline Char operator + (const Char & a, const char b) return r(a)
-{ r += b; }
-inline Char operator - (const Char & a, const char b) return r(a)
-{ r -= b; }
-inline Char operator * (const Char & a, const char b) return r(a)
-{ r *= b; }
-inline Char operator / (const Char & a, const char b) return r(a)
-{ r /= b; }
-inline Char operator % (const Char & a, const char b) return r(a)
-{ r %= b; }
-inline Char operator << (const Char & a, const char b) return r(a)
-{ r <<= b; }
-inline Char operator >> (const Char & a, const char b) return r(a)
-{ r >>= b; }
-inline Char operator & (const Char & a, const char b) return r(a)
-{ r &= b; }
-inline Char operator | (const Char & a, const char b) return r(a)
-{ r |= b; }
-inline Char operator ^ (const Char & a, const char b) return r(a)
-{ r ^= b; }
-
-inline Char operator + (const char a, const Char & b) return r(a)
-{ r += b.Char::val(); }
-inline Char operator - (const char a, const Char & b) return r(a)
-{ r -= b.Char::val(); }
-inline Char operator * (const char a, const Char & b) return r(a)
-{ r *= b.Char::val(); }
-inline Char operator / (const char a, const Char & b) return r(a)
-{ r /= b.Char::val(); }
-inline Char operator % (const char a, const Char & b) return r(a)
-{ r %= b.Char::val(); }
-inline Char operator << (const char a, const Char & b) return r(a)
-{ r <<= b.Char::val(); }
-inline Char operator >> (const char a, const Char & b) return r(a)
-{ r >>= b.Char::val(); }
-inline Char operator & (const char a, const Char & b) return r(a)
-{ r &= b.Char::val(); }
-inline Char operator | (const char a, const Char & b) return r(a)
-{ r |= b.Char::val(); }
-inline Char operator ^ (const char a, const Char & b) return r(a)
-{ r ^= b.Char::val(); }
+inline Char operator - (const Char & a) return r(a) // ERROR -
+{ r.negate(); } // ERROR -
+inline Char operator ~ (const Char & a) return r(a) // ERROR -
+{ r.complement(); } // ERROR -
+
+inline Char operator + (const Char & a, const Char & b) return r(a) // ERROR -
+{ r += b.Char::val(); } // ERROR -
+inline Char operator - (const Char & a, const Char & b) return r(a) // ERROR -
+{ r -= b.Char::val(); } // ERROR -
+inline Char operator * (const Char & a, const Char & b) return r(a) // ERROR -
+{ r *= b.Char::val(); } // ERROR -
+inline Char operator / (const Char & a, const Char & b) return r(a) // ERROR -
+{ r /= b.Char::val(); } // ERROR -
+inline Char operator % (const Char & a, const Char & b) return r(a) // ERROR -
+{ r %= b.Char::val(); } // ERROR -
+inline Char operator << (const Char & a, const Char & b) return r(a) // ERROR -
+{ r <<= b.Char::val(); } // ERROR -
+inline Char operator >> (const Char & a, const Char & b) return r(a) // ERROR -
+{ r >>= b.Char::val(); } // ERROR -
+inline Char operator & (const Char & a, const Char & b) return r(a) // ERROR -
+{ r &= b.Char::val(); } // ERROR -
+inline Char operator | (const Char & a, const Char & b) return r(a) // ERROR -
+{ r |= b.Char::val(); } // ERROR -
+inline Char operator ^ (const Char & a, const Char & b) return r(a) // ERROR -
+{ r ^= b.Char::val(); } // ERROR -
+
+inline Char operator + (const Char & a, const char b) return r(a) // ERROR -
+{ r += b; } // ERROR -
+inline Char operator - (const Char & a, const char b) return r(a) // ERROR -
+{ r -= b; } // ERROR -
+inline Char operator * (const Char & a, const char b) return r(a) // ERROR -
+{ r *= b; } // ERROR -
+inline Char operator / (const Char & a, const char b) return r(a) // ERROR -
+{ r /= b; } // ERROR -
+inline Char operator % (const Char & a, const char b) return r(a) // ERROR -
+{ r %= b; } // ERROR -
+inline Char operator << (const Char & a, const char b) return r(a) // ERROR -
+{ r <<= b; } // ERROR -
+inline Char operator >> (const Char & a, const char b) return r(a) // ERROR -
+{ r >>= b; } // ERROR -
+inline Char operator & (const Char & a, const char b) return r(a) // ERROR -
+{ r &= b; } // ERROR -
+inline Char operator | (const Char & a, const char b) return r(a) // ERROR -
+{ r |= b; } // ERROR -
+inline Char operator ^ (const Char & a, const char b) return r(a) // ERROR -
+{ r ^= b; } // ERROR -
+
+inline Char operator + (const char a, const Char & b) return r(a) // ERROR -
+{ r += b.Char::val(); } // ERROR -
+inline Char operator - (const char a, const Char & b) return r(a) // ERROR -
+{ r -= b.Char::val(); } // ERROR -
+inline Char operator * (const char a, const Char & b) return r(a) // ERROR -
+{ r *= b.Char::val(); } // ERROR -
+inline Char operator / (const char a, const Char & b) return r(a) // ERROR -
+{ r /= b.Char::val(); } // ERROR -
+inline Char operator % (const char a, const Char & b) return r(a) // ERROR -
+{ r %= b.Char::val(); } // ERROR -
+inline Char operator << (const char a, const Char & b) return r(a) // ERROR -
+{ r <<= b.Char::val(); } // ERROR -
+inline Char operator >> (const char a, const Char & b) return r(a) // ERROR -
+{ r >>= b.Char::val(); } // ERROR -
+inline Char operator & (const char a, const Char & b) return r(a) // ERROR -
+{ r &= b.Char::val(); } // ERROR -
+inline Char operator | (const char a, const Char & b) return r(a) // ERROR -
+{ r |= b.Char::val(); } // ERROR -
+inline Char operator ^ (const char a, const Char & b) return r(a) // ERROR -
+{ r ^= b.Char::val(); } // ERROR -
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p701.C b/gcc/testsuite/g++.old-deja/g++.mike/p701.C
index c222ea1e888..f4e7f9341f0 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/p701.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/p701.C
@@ -4,7 +4,7 @@
extern "C"
{
int printf(const char *, ...);
-};
+}
void Munge(int& x)
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p710.C b/gcc/testsuite/g++.old-deja/g++.mike/p710.C
index 62dffe9ff8e..4e9e602a4bb 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/p710.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/p710.C
@@ -19,7 +19,7 @@
extern "C"
{
int printf(const char*, ...);
-};
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p784.C b/gcc/testsuite/g++.old-deja/g++.mike/p784.C
index 23ceaf477ab..f83baf2b06b 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/p784.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/p784.C
@@ -5,7 +5,7 @@
//# 1 "GctSymbol.GctSymbol.CHMap.cc"
// This may look like C code, but it is really -*- C++ -*-
/*
-Copyright (C) 1988, 2000 Free Software Foundation
+Copyright (C) 1988, 2000, 2002 Free Software Foundation
written by Doug Lea (dl@rocky.oswego.edu)
This file is part of the GNU C++ Library. This library is free
@@ -1602,74 +1602,74 @@ inline void String:: operator +=(char y)
-inline String operator + (const String& x, const String& y) return r;
+inline String operator + (const String& x, const String& y) return r; // ERROR -
{
- cat(x, y, r);
+ cat(x, y, r); // ERROR -
}
-inline String operator + (const String& x, const SubString& y) return r;
+inline String operator + (const String& x, const SubString& y) return r; // ERROR -
{
- cat(x, y, r);
+ cat(x, y, r); // ERROR -
}
-inline String operator + (const String& x, const char* y) return r;
+inline String operator + (const String& x, const char* y) return r; // ERROR -
{
- cat(x, y, r);
+ cat(x, y, r); // ERROR -
}
-inline String operator + (const String& x, char y) return r;
+inline String operator + (const String& x, char y) return r; // ERROR -
{
- cat(x, y, r);
+ cat(x, y, r); // ERROR -
}
-inline String operator + (const SubString& x, const String& y) return r;
+inline String operator + (const SubString& x, const String& y) return r; // ERROR -
{
- cat(x, y, r);
+ cat(x, y, r); // ERROR -
}
-inline String operator + (const SubString& x, const SubString& y) return r;
+inline String operator + (const SubString& x, const SubString& y) return r; // ERROR -
{
- cat(x, y, r);
+ cat(x, y, r); // ERROR -
}
-inline String operator + (const SubString& x, const char* y) return r;
+inline String operator + (const SubString& x, const char* y) return r; // ERROR -
{
- cat(x, y, r);
+ cat(x, y, r); // ERROR -
}
-inline String operator + (const SubString& x, char y) return r;
+inline String operator + (const SubString& x, char y) return r; // ERROR -
{
- cat(x, y, r);
+ cat(x, y, r); // ERROR -
}
-inline String operator + (const char* x, const String& y) return r;
+inline String operator + (const char* x, const String& y) return r; // ERROR -
{
- cat(x, y, r);
+ cat(x, y, r); // ERROR -
}
-inline String operator + (const char* x, const SubString& y) return r;
+inline String operator + (const char* x, const SubString& y) return r; // ERROR -
{
- cat(x, y, r);
+ cat(x, y, r); // ERROR -
}
-inline String reverse(const String& x) return r;
+inline String reverse(const String& x) return r; // ERROR -
{
- r.rep = Sreverse(x.rep, r.rep);
+ r.rep = Sreverse(x.rep, r.rep); // ERROR -
}
-inline String upcase(const String& x) return r;
+inline String upcase(const String& x) return r; // ERROR -
{
- r.rep = Supcase(x.rep, r.rep);
+ r.rep = Supcase(x.rep, r.rep); // ERROR -
}
-inline String downcase(const String& x) return r;
+inline String downcase(const String& x) return r; // ERROR -
{
- r.rep = Sdowncase(x.rep, r.rep);
+ r.rep = Sdowncase(x.rep, r.rep); // ERROR -
}
-inline String capitalize(const String& x) return r;
+inline String capitalize(const String& x) return r; // ERROR -
{
- r.rep = Scapitalize(x.rep, r.rep);
+ r.rep = Scapitalize(x.rep, r.rep); // ERROR -
}
//# 883 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/String.h"
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/pmf7.C b/gcc/testsuite/g++.old-deja/g++.mike/pmf7.C
index b238171ba5f..ceea3bf963e 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/pmf7.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/pmf7.C
@@ -10,7 +10,7 @@ public:
template<class SP, class CB> SP& call_dummy(SP* sp, CB cb) {
sp->dummy(cb);
return *sp;
-};
+}
class A {
public:
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/pmf9.C b/gcc/testsuite/g++.old-deja/g++.mike/pmf9.C
index 800618ff6c6..9a352301c7e 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/pmf9.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/pmf9.C
@@ -13,7 +13,7 @@ private:
int Q::g() {
return (kp->f)(42);
-};
+}
int main () {
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/crash2.C b/gcc/testsuite/g++.old-deja/g++.ns/crash2.C
index d49189bfbe1..a4b1ba3d958 100644
--- a/gcc/testsuite/g++.old-deja/g++.ns/crash2.C
+++ b/gcc/testsuite/g++.old-deja/g++.ns/crash2.C
@@ -7,6 +7,6 @@
namespace hei {
class CSomeClass {};
extern CSomeClass SomeClass;
-};
+}
-hei::CSomeClass hei::CSomeClass; // ERROR - should be hei::SomeClass
+hei::CSomeClass hei::CSomeClass; // ERROR - should be hei::SomeClass - XFAIL *-*-*
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/crash3.C b/gcc/testsuite/g++.old-deja/g++.ns/crash3.C
index 842ed090bcc..dbffae1b9af 100644
--- a/gcc/testsuite/g++.old-deja/g++.ns/crash3.C
+++ b/gcc/testsuite/g++.old-deja/g++.ns/crash3.C
@@ -2,7 +2,7 @@
namespace N {
template <class T> struct S;
-};
+}
void f()
{
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/invalid1.C b/gcc/testsuite/g++.old-deja/g++.ns/invalid1.C
index 76d3d70db38..9ec2adfe855 100644
--- a/gcc/testsuite/g++.old-deja/g++.ns/invalid1.C
+++ b/gcc/testsuite/g++.old-deja/g++.ns/invalid1.C
@@ -1,5 +1,5 @@
//Build don't link:
-namespace x { };
+namespace x { }
void f(int);
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/ns17.C b/gcc/testsuite/g++.old-deja/g++.ns/ns17.C
index 8d1fdd7e2ac..2357c5f01f9 100644
--- a/gcc/testsuite/g++.old-deja/g++.ns/ns17.C
+++ b/gcc/testsuite/g++.old-deja/g++.ns/ns17.C
@@ -4,7 +4,7 @@ namespace foo
class c
{
};
-};
+}
int
foo::c:fn () // ERROR - syntax error
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/template16.C b/gcc/testsuite/g++.old-deja/g++.ns/template16.C
index 760be469dc8..9d5367995cf 100644
--- a/gcc/testsuite/g++.old-deja/g++.ns/template16.C
+++ b/gcc/testsuite/g++.old-deja/g++.ns/template16.C
@@ -6,10 +6,10 @@
namespace N {
template <class T> void f () { }
template <class T> struct A { friend void f<T>(); };
-};
+}
namespace M {
struct B;
-};
+}
struct M::B: public N::A<int> { };
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/template5.C b/gcc/testsuite/g++.old-deja/g++.ns/template5.C
index 9dc7a396a7e..d9b487bc921 100644
--- a/gcc/testsuite/g++.old-deja/g++.ns/template5.C
+++ b/gcc/testsuite/g++.old-deja/g++.ns/template5.C
@@ -23,7 +23,7 @@ int main()
X::Y<int> z;
if (z.f(4) != 1)
return 1;
- z.template g<long>();
+ z.g<long>();
Y<int> z1;
if (z1.f(5) != 2)
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/template6.C b/gcc/testsuite/g++.old-deja/g++.ns/template6.C
index 324b4d22a59..f0137b4cffe 100644
--- a/gcc/testsuite/g++.old-deja/g++.ns/template6.C
+++ b/gcc/testsuite/g++.old-deja/g++.ns/template6.C
@@ -15,7 +15,7 @@ namespace A {
template <>
const unsigned B<int,int>::count = 2; // ERROR - duplicate init
}
-};
+}
int
main()
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/using9.C b/gcc/testsuite/g++.old-deja/g++.ns/using9.C
index 547ae3101fd..e664ccde5df 100644
--- a/gcc/testsuite/g++.old-deja/g++.ns/using9.C
+++ b/gcc/testsuite/g++.old-deja/g++.ns/using9.C
@@ -3,8 +3,8 @@
// Build don't link:
namespace standard
-{ void print(int) {};
- void dump(int) {};
+{ void print(int) {}
+ void dump(int) {}
}
namespace A { using standard::print; }
namespace B { using namespace standard; }
diff --git a/gcc/testsuite/g++.old-deja/g++.oliva/nameret1.C b/gcc/testsuite/g++.old-deja/g++.oliva/nameret1.C
index 6cb5c9ec385..9ef5131e875 100644
--- a/gcc/testsuite/g++.old-deja/g++.oliva/nameret1.C
+++ b/gcc/testsuite/g++.old-deja/g++.oliva/nameret1.C
@@ -1,5 +1,5 @@
// Build don't link:
-// Copyright (C) 1999, 2000 Free Software Foundation
+// Copyright (C) 1999, 2000, 2002 Free Software Foundation
// by Alexandre Oliva <oliva@lsd.ic.unicamp.br>
@@ -7,7 +7,7 @@
// Special g++ Options: -Wno-deprecated
-inline int bar () return r {}
+inline int bar () return r {} // ERROR -
int foo () {
return bar ();
diff --git a/gcc/testsuite/g++.old-deja/g++.oliva/nameret2.C b/gcc/testsuite/g++.old-deja/g++.oliva/nameret2.C
index f54d55c7255..092e4cd5747 100644
--- a/gcc/testsuite/g++.old-deja/g++.oliva/nameret2.C
+++ b/gcc/testsuite/g++.old-deja/g++.oliva/nameret2.C
@@ -1,5 +1,5 @@
// Build don't link:
-// Copyright (C) 1999, 2000 Free Software Foundation
+// Copyright (C) 1999, 2000, 2002 Free Software Foundation
// by Alexandre Oliva <oliva@lsd.ic.unicamp.br>
@@ -7,7 +7,7 @@
// Special g++ Options: -O1 -Wno-deprecated
-inline int bar () return r {}
+inline int bar () return r {} // ERROR -
int& foo (int& x) {
bar ();
diff --git a/gcc/testsuite/g++.old-deja/g++.other/access4.C b/gcc/testsuite/g++.old-deja/g++.other/access4.C
index 75f3a6191a3..7cf472fb980 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/access4.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/access4.C
@@ -1,11 +1,11 @@
// Build don't link:
-struct A {
+struct A { // ERROR - inaccessible
static int i;
};
struct B : private A { };
struct C : public B {
- int f () { return A::i; }
+ int f () { return A::i; } // ERROR - context
};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/array6.C b/gcc/testsuite/g++.old-deja/g++.other/array6.C
index ab076f2af38..e824850a44a 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/array6.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/array6.C
@@ -5,16 +5,16 @@ int count = 0;
double foo () {
count++;
return 0;
-};
+}
double bar () {
const double x[1] = { foo() };
return x[0];
-};
+}
int main ()
{
bar();
if (count != 1)
return 1;
-};
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/crash1.C b/gcc/testsuite/g++.old-deja/g++.other/crash1.C
index f7caa2f00ba..a4734122641 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/crash1.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/crash1.C
@@ -1,6 +1,6 @@
class A
{
- enum B { ONE, TWO, THREE };
+ enum B { ONE, TWO, THREE }; // ERROR - private
};
-class A::B; // ERROR - A::B is not a class type
+class A::B; // ERROR - A::B is not a class type, context
diff --git a/gcc/testsuite/g++.old-deja/g++.other/crash11.C b/gcc/testsuite/g++.old-deja/g++.other/crash11.C
index 535a6a2d630..6b78b2f8b7f 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/crash11.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/crash11.C
@@ -18,4 +18,4 @@ struct string
max_size() const { return size; }
};
-template string <char>;
+template struct string <char>;
diff --git a/gcc/testsuite/g++.old-deja/g++.other/crash25.C b/gcc/testsuite/g++.old-deja/g++.other/crash25.C
index 2f471fb866f..6c9e1a1c084 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/crash25.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/crash25.C
@@ -11,6 +11,6 @@ X::x()
{ // ERROR -
}
-X::~x()
-{ // ERROR -
+X::~x() // ERROR -
+{
}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/crash4.C b/gcc/testsuite/g++.old-deja/g++.other/crash4.C
index d86a6bb3f66..cedaa5041bb 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/crash4.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/crash4.C
@@ -4,4 +4,4 @@ struct T {
struct S __attribute__ ((packed)) { // ERROR - parse error
int i;
};
-}; // ERROR - parse error
+};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/debug7.C b/gcc/testsuite/g++.old-deja/g++.other/debug7.C
index f79b00a9cc7..8b3efccefed 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/debug7.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/debug7.C
@@ -4,7 +4,7 @@
namespace std {
const int __stl_chunk_size = 7;
-};
+}
int main ()
{
diff --git a/gcc/testsuite/g++.old-deja/g++.other/decl5.C b/gcc/testsuite/g++.old-deja/g++.other/decl5.C
index 98a7c462d42..00086d0035f 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/decl5.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/decl5.C
@@ -1,6 +1,6 @@
// Build don't link:
-// Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+// Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 22 Apr 1999 <nathan@acm.org>
// derived from a bug report by <rch@larissa.sd.bi.ruhr-uni-bochum.de>
// http://gcc.gnu.org/ml/gcc-bugs/1999-04n/msg00631.html
@@ -26,12 +26,12 @@ struct B {
struct A::fink { // ERROR - no such member
int m;
};
- struct A::Z { // ERROR XFAIL - A::Z not a member of B
+ struct A::Z { // ERROR - A::Z not a member of B XFAIL
int m;
};
int m;
int n;
- struct ::Q { // ERROR XFAIL - ::Q not a member of B
+ struct ::Q { // ERROR - ::Q not a member of B XFAIL
int m;
};
int A::fn() { // ERROR - A::fn not a member of B
@@ -66,7 +66,7 @@ namespace NMS
int N::fn() { // ERROR - N::fn not a member of NMS
return 0;
}
- struct N::F { // ERROR XFAIL - N::F not a member of NMS
+ struct N::F { // ERROR - N::F not a member of NMS XFAIL
int i;
};
}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/defarg7.C b/gcc/testsuite/g++.old-deja/g++.other/defarg7.C
index cb5a6daeae1..e4a27a39bc9 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/defarg7.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/defarg7.C
@@ -1,15 +1,18 @@
// Build don't link:
-// Copyright (C) 2000 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 7 Jan 2001 <nathan@codesourcery.com>
+// As of G++ 3.4, we no longer attempt to detect dependencies; the
+// standard does not require that we do.
+
// Bug 1038. Default args on class members can produce circular dependencies.
// Make sure we spot them, and don't depend on a particular ordering.
struct A
{
- static int Foo (int = Baz ()); // WARNING - circular
- static int Baz (int = Foo ()); // WARNING - circular
+ static int Foo (int = Baz ()); // ERROR -
+ static int Baz (int = Foo ());
};
struct Test
@@ -21,7 +24,7 @@ struct Test
struct B
{
static int Bar (int = Foo (1));
- static int Foo (int = Baz ());
+ static int Foo (int = Baz ()); // ERROR -
static int Baz (int = Foo (1));
};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/defarg8.C b/gcc/testsuite/g++.old-deja/g++.other/defarg8.C
index 7188209cb22..42ddcb8f4d4 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/defarg8.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/defarg8.C
@@ -1,23 +1,26 @@
// Build don't link:
// Special g++ options: -pedantic-errors -ansi -w
-// Copyright (C) 2000 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 7 Jan 2001 <nathan@codesourcery.com>
+// As of G++ 3.4, we no longer attempt to detect dependencies; the
+// standard does not require that we do.
+
// Bug 1038. Default args on class members can produce circular dependencies.
// Make sure we spot them, and don't depend on a particular ordering.
struct AA
{
- static int Foo (int = Baz ()); // ERROR - candidate
- static int Baz (int = Foo ()); // ERROR - candidate
+ static int Foo (int = Baz ()); // ERROR - not yet been parsed
+ static int Baz (int = Foo ());
};
int main ()
{
- AA::Foo (); // ERROR - no candidate
+ AA::Foo ();
AA::Foo (1);
- AA::Baz (); // ERROR - no candidate
+ AA::Baz ();
AA::Baz (1);
return 0;
diff --git a/gcc/testsuite/g++.old-deja/g++.other/dtor1.C b/gcc/testsuite/g++.old-deja/g++.other/dtor1.C
index 3f9803c39a8..18ab8b05821 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/dtor1.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/dtor1.C
@@ -14,4 +14,4 @@ main ()
{
X* p = new (bar) X;
p->~foo();
-};
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/dtor10.C b/gcc/testsuite/g++.old-deja/g++.other/dtor10.C
index c8f7babb064..78bf613eefd 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/dtor10.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/dtor10.C
@@ -31,7 +31,7 @@ T f () {
}
void g (S) {
-};
+}
int main ()
{
diff --git a/gcc/testsuite/g++.old-deja/g++.other/incomplete.C b/gcc/testsuite/g++.old-deja/g++.other/incomplete.C
index f5e9a581faf..1bdccbd607e 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/incomplete.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/incomplete.C
@@ -8,8 +8,8 @@ struct S; // ERROR - forward ref
void f(S); // ok
void f(S s) {} // ERROR - incomplete type
-void j (int){}; // ok
-void k (){}; // ok
+void j (int){} // ok
+void k (){} // ok
void q (void){} // ok
void t (void t); // ERROR - incomplete
void r (void, ...); // ERROR - incomplete
diff --git a/gcc/testsuite/g++.old-deja/g++.other/linkage7.C b/gcc/testsuite/g++.old-deja/g++.other/linkage7.C
index b168e013db1..561181bbe75 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/linkage7.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/linkage7.C
@@ -7,7 +7,7 @@ namespace N {
void f () {
i = 3;
}
-};
+}
int i;
diff --git a/gcc/testsuite/g++.old-deja/g++.other/lookup19.C b/gcc/testsuite/g++.old-deja/g++.other/lookup19.C
index e355f2d392a..12663e701eb 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/lookup19.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/lookup19.C
@@ -6,10 +6,10 @@ typedef int B;
struct A
{
int B;
- operator B *();
+ operator B *(); // ERROR -
};
-A::operator B * ()
+A::operator B * () // ERROR -
{
return 0;
}
@@ -48,7 +48,7 @@ struct G
};
typedef double H;
-G::operator H * () // ERROR - mismatch
+G::operator H * ()
{
return 0;
}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/mangle2.C b/gcc/testsuite/g++.old-deja/g++.other/mangle2.C
index 25bab87a249..2a8065ec482 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/mangle2.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/mangle2.C
@@ -13,7 +13,7 @@ inline bool operator!=(const c& x, const c& y)
{
return x.a != y.a;
}
-};
+}
void foo();
diff --git a/gcc/testsuite/g++.old-deja/g++.other/refinit2.C b/gcc/testsuite/g++.old-deja/g++.other/refinit2.C
index 1246e783772..6b0211c395e 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/refinit2.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/refinit2.C
@@ -1,6 +1,6 @@
// Build don't link:
//
-// Copyright (C) 2000 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 10 Aug 2000 <nathan@codesourcery.com>
// bug 381. We gave slightly different diagnostics, when binding an rvalue to
@@ -8,7 +8,7 @@
namespace A {
template <class T> void f(T) {}
-};
+}
void (* &h)(int) = A::f<int>; // ERROR - rvalue to non-const
void (*const volatile &i)(int) = A::f<int>; // ERROR - rvalue to volatile
void (*const &j)(int) = A::f<int>;
diff --git a/gcc/testsuite/g++.old-deja/g++.other/sizeof2.C b/gcc/testsuite/g++.old-deja/g++.other/sizeof2.C
index c597844ae2e..1a45fe385e4 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/sizeof2.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/sizeof2.C
@@ -3,13 +3,13 @@
struct S
{
- int j; // ERROR - member
- int i[2]; // ERROR - member
+ int j; // ERROR - non-static data member
+ int i[2]; // ERROR - non-static data member
};
void f ()
{
- sizeof (S::j); // ERROR - non-static data member
- sizeof (S::i[0]); // ERROR - non-static data member
+ sizeof (S::j); // ERROR - used here
+ sizeof (S::i[0]); // ERROR - used here
}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/std1.C b/gcc/testsuite/g++.old-deja/g++.other/std1.C
index dc36519d050..67614048590 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/std1.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/std1.C
@@ -9,4 +9,4 @@ namespace std {
void f () {
memcmp (0, 0, 0);
}
-};
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash28.C b/gcc/testsuite/g++.old-deja/g++.pt/crash28.C
index ab46d8f5914..6b0df69f16a 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash28.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/crash28.C
@@ -11,4 +11,4 @@ void f(unsigned int n) {
int x[n];
asize(x); // ERROR - no matching function
-};
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash29.C b/gcc/testsuite/g++.old-deja/g++.pt/crash29.C
index 05bef969836..5334cd30c5c 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash29.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/crash29.C
@@ -50,6 +50,7 @@ public:
: MetaClassGeneric( TypeIDInit<T>::info ) {}
};
+template <>
class MetaClass<UUId>
: public NameInfo<UUId>
{
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash32.C b/gcc/testsuite/g++.old-deja/g++.pt/crash32.C
index af6ef5b95cd..80864db73cd 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash32.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/crash32.C
@@ -8,6 +8,6 @@ template <class T> struct A
template<class T> struct C
{
- friend typename A<T>::B; // ERROR - struct is required
+ friend typename A<T>::B; // ERROR - `typename' not allowed
};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash43.C b/gcc/testsuite/g++.old-deja/g++.pt/crash43.C
index e324491e4b1..802e01d0849 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash43.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/crash43.C
@@ -7,7 +7,7 @@ struct S {
struct Y {};
template <int U>
- friend struct S<U>::X; // ERROR - typename as friend
+ friend struct S<U>::X;
template <int U>
friend typename S<U>::Y; // ERROR - typename as friend
@@ -15,7 +15,7 @@ struct S {
struct T {
template <int T>
- friend struct S<T>::X; // ERROR - typename as friend
+ friend struct S<T>::X;
};
struct U {
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash58.C b/gcc/testsuite/g++.old-deja/g++.pt/crash58.C
index 10d23a03d6a..387b5f54571 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash58.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/crash58.C
@@ -1,13 +1,13 @@
// Build don't link:
//
-// Copyright (C) 2000 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 5 Sept 2000 <nathan@codesourcery.com>
// bug 147. We ICE'd on an unprocessed LOOKUP_EXPR during tsubsting
namespace EManip {
template <class T> void do_assign(T* d); // ERROR - candidate
-};
+}
template <class T> void do_assign(T* d); // ERROR - candidate
template <class T>
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash65.C b/gcc/testsuite/g++.old-deja/g++.pt/crash65.C
index 7b632a60a1d..2e66d5d92c3 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash65.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/crash65.C
@@ -1,6 +1,6 @@
// Build don't link:
-// Copyright (C) 2000 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 11 Jan 2001 <nathan@codesourcery.com>
// Bug 1506. We ICE'd on a struct definition inside a template parms.
@@ -10,3 +10,4 @@
template<class T =
struct W {}; // ERROR - inside template parms
+> struct S{};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/defarg5.C b/gcc/testsuite/g++.old-deja/g++.pt/defarg5.C
index 6a68bad8251..facd0b67158 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/defarg5.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/defarg5.C
@@ -21,4 +21,4 @@ template <>
void bar<2>::foo (Point<2> p) {
const int dim = 2;
Point<dim> q = p;
-};
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/defarg8.C b/gcc/testsuite/g++.old-deja/g++.pt/defarg8.C
index 6bb1125259c..b267409974b 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/defarg8.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/defarg8.C
@@ -8,7 +8,7 @@ template <class T, class U> class foo2;
struct bar {
template <class T, class U>
- bar(int i = foo1<T>::baz, // ok
+ bar(int i = foo1<T>::baz, // gets bogus error - XFAIL *-*-*
int j = int(foo2<T, U>::baz), // ok
int k = foo2<T, U>::baz) {} // gets bogus error - before > - XFAIL *-*-*
};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/eichin01.C b/gcc/testsuite/g++.old-deja/g++.pt/eichin01.C
index 154587b0ac9..102ab290edc 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/eichin01.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/eichin01.C
@@ -15,8 +15,8 @@ public:
void sz(X s) { sss = s; }
};
-float TC<float>::sss;
-long TC<long>::sss;
+template <> float TC<float>::sss = 0.0;
+template <> long TC<long>::sss = 0;
TC<long> xjj(1,2);
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/eichin01a.C b/gcc/testsuite/g++.old-deja/g++.pt/eichin01a.C
index 1a37eebfc23..a4c5f1643c1 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/eichin01a.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/eichin01a.C
@@ -8,8 +8,8 @@ public:
};
-long TC<long>::sss;
-float TC<float>::sss;
+template <> long TC<long>::sss = 0;
+template <> float TC<float>::sss = 0.0;
TC<long> xjj(1,2);
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/eichin01b.C b/gcc/testsuite/g++.old-deja/g++.pt/eichin01b.C
index 51bb4474c8f..25f269ce89d 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/eichin01b.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/eichin01b.C
@@ -8,8 +8,8 @@ public:
void syy(X syarg) { sss = syarg; }
};
-long TC<long>::sss;
-float TC<float>::sss;
+template <> long TC<long>::sss = 0;
+template <> float TC<float>::sss = 0.0;
TC<long> xjj(1,2);
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/enum7.C b/gcc/testsuite/g++.old-deja/g++.pt/enum7.C
index 47dcbfa6761..d2ea2016d7d 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/enum7.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/enum7.C
@@ -8,7 +8,7 @@ int f()
E e;
e = a;
return (int) e;
- };
+ }
};
S s;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit12.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit12.C
index 820da3d62bc..03355a7639f 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit12.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/explicit12.C
@@ -16,5 +16,5 @@ void S<char*>::foo<int>(int) {}
int main()
{
S<char*> s;
- s.template foo<int>(3.0);
+ s.foo<int>(3.0);
}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit31.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit31.C
index 900ba1157e5..54f0b6c2270 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit31.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/explicit31.C
@@ -11,7 +11,7 @@ struct S
int main()
{
- double d = S<int>::template foo<char>(3.3);
+ double d = S<int>::foo<char>(3.3);
return (d >= 3.1);
}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit33.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit33.C
index 048a3565be8..d9d3b07322b 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit33.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/explicit33.C
@@ -4,6 +4,6 @@ template <class T>
void foo(T t);
template <>
-void foo(int) {};
+void foo(int) {}
void foo(int) {}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit35.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit35.C
index e39a27bc501..1aee1317514 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit35.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/explicit35.C
@@ -13,5 +13,5 @@ void S::foo<int>(int i) { }
int main()
{
S s;
- s.template foo<int>(3.0);
+ s.foo<int>(3.0);
}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit71.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit71.C
index c84eebcc428..23c8d276b14 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit71.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/explicit71.C
@@ -12,4 +12,4 @@ class bug {
};
template <class X>
template <> // ERROR - invalid specialization
-class bug<X>::a<char> {}; // ERROR - ""
+class bug<X>::a<char> {};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit80.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit80.C
index c53982daa81..2cbdeab0cb6 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit80.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/explicit80.C
@@ -10,7 +10,7 @@ struct A
class B;
};
-class A<int>::B { };
+template <> class A<int>::B { };
template class A<int>;
template class A<double>;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend28.C b/gcc/testsuite/g++.old-deja/g++.pt/friend28.C
index f86d0b67b95..84e39941e4d 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend28.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/friend28.C
@@ -2,6 +2,10 @@
class mystream;
+template <class T> class a;
+
+template <class T> mystream& operator>>( mystream& s, a<T>& thea );
+
template <class T> class a {
public:
friend mystream& operator>> <>( mystream&, a<T>& thea );
@@ -9,8 +13,6 @@ private:
T amember;
};
-template <class T> mystream& operator>>( mystream& s, a<T>& thea );
-
template<> mystream& operator>> <int>( mystream& s, a<int>& thea );
template class a<int>;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend29.C b/gcc/testsuite/g++.old-deja/g++.pt/friend29.C
index e141aaa363f..7eea65398cf 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend29.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/friend29.C
@@ -1,5 +1,9 @@
// Build don't link:
+template <class T> class a;
+
+template <class T> void foo( a<T>& thea );
+
template <class T> class a {
public:
friend void foo<>( a<T>& thea );
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend46.C b/gcc/testsuite/g++.old-deja/g++.pt/friend46.C
index 58c87c49644..d8b33fdf989 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend46.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/friend46.C
@@ -1,5 +1,5 @@
// Build don't link:
-// Copyright (C) 2000 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 17 Nov 2000 <nathan@codesourcery.com>
// bug 43. Two failings, bison parser ickiness caused us to find the member
@@ -17,7 +17,7 @@ namespace X {
V (const T&);
void operator- ();
- friend void operator-<> (const P<T>& a);
+ friend void X::operator-<> (const P<T>& a);
};
}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend48.C b/gcc/testsuite/g++.old-deja/g++.pt/friend48.C
index af0e3caf15c..3e087f1e12f 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend48.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/friend48.C
@@ -14,4 +14,4 @@ class D {
template <class U>
friend class N::D;
};
-};
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/instantiate1.C b/gcc/testsuite/g++.old-deja/g++.pt/instantiate1.C
index 11f9c781988..b2759bbfaac 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/instantiate1.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/instantiate1.C
@@ -16,7 +16,7 @@ struct S
};
-template S<char>;
+template struct S<char>;
template void S<int>::bar(int);
template void S<double>::baz<short>(short);
template void S<long>::baz<>(char);
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/instantiate11.C b/gcc/testsuite/g++.old-deja/g++.pt/instantiate11.C
index ae53224e9c8..7e9af2a74ae 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/instantiate11.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/instantiate11.C
@@ -15,7 +15,7 @@ public:
vect<t>& operator=( const vect<t>& v );
vect<t> operator-( void ) const;
- friend vect<t> operator- <>( const vect<t>&, const vect<t>& );
+ friend vect<t> (::operator- <>)( const vect<t>&, const vect<t>& );
private:
t a_;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/instantiate8.C b/gcc/testsuite/g++.old-deja/g++.pt/instantiate8.C
index beffa02477f..5c4945d35c2 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/instantiate8.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/instantiate8.C
@@ -1,5 +1,5 @@
// Build don't link:
-// Copyright (C) 2000 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 14 Nov 2000 <nathan@codesourcery.com>
// bug 616. We failed to complete the type of decls in templates, leading to
@@ -35,6 +35,6 @@ void f()
const X<dim+1> y[3];
Z z2; // ERROR - incomplete
typedef Z z3; // ok
-};
+}
template void f<3> ();
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/instantiate9.C b/gcc/testsuite/g++.old-deja/g++.pt/instantiate9.C
index 30ad03b46fc..37c132e182b 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/instantiate9.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/instantiate9.C
@@ -14,7 +14,7 @@ struct A {
template <typename T1>
struct B {
- A<T1>::C<int> s1;
+ typename A<T1>::template C<int> s1;
};
int main()
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memclass20.C b/gcc/testsuite/g++.old-deja/g++.pt/memclass20.C
index c57c27dfe09..3f456e631d6 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/memclass20.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/memclass20.C
@@ -12,7 +12,7 @@ struct S<int, X> {
template <class T>
void f() {
- typename S<T, T>::I<T> si;
+ typename S<T, T>::template I<T> si;
}
template void f<int>();
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memclass5.C b/gcc/testsuite/g++.old-deja/g++.pt/memclass5.C
index 06a1413eb0e..6fc72199b64 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/memclass5.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/memclass5.C
@@ -9,7 +9,7 @@ template <class T, class U>
void f ()
{
A<T>::template B<U>::template f<T> ();
- typename A<T>::B<U> b;
+ typename A<T>::template B<U> b;
typename A<T>::template B<U> b2;
b.A<T>::template B<U>::~B();
}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memclass7.C b/gcc/testsuite/g++.old-deja/g++.pt/memclass7.C
index d356a4ed55a..1ae4230bf73 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/memclass7.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/memclass7.C
@@ -15,5 +15,5 @@ void S::Y<char>::foo<int>(int i) { }
int main()
{
S::Y<char> s;
- s.template foo<int>(3.0);
+ s.foo<int>(3.0);
}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp75.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp75.C
index 4ff38b6c04c..d9a58e5b8fc 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp75.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/memtemp75.C
@@ -21,5 +21,5 @@ int
main()
{
bar<int> b;
- b.template doit<print>(2);
+ b.doit<print>(2);
}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp81.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp81.C
index 1584f88b802..73a7a7ebc6f 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp81.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/memtemp81.C
@@ -7,7 +7,7 @@ int k;
template <int j> int f() const { return this->f<j-1>(); }
-int g() const { return f<i>(); };
+int g() const { return f<i>(); }
};
template <>
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp87.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp87.C
index a57ad17fef1..7632049a14c 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp87.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/memtemp87.C
@@ -2,9 +2,10 @@
// crash test - XFAIL *-*-*
// by Paul Burchard <burchard@pobox.com>, Level Set Systems, Inc.
-// Copyright (C) 1999 Free Software Foundation
+// Copyright (C) 1999, 2002 Free Software Foundation
class Q {
+public:
template<class>
class X {
};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/overload13.C b/gcc/testsuite/g++.old-deja/g++.pt/overload13.C
index 8f11b8b3002..37a8d8b37bf 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/overload13.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/overload13.C
@@ -1,8 +1,3 @@
-// Test that .template limits overload resolution to member templates.
-
-// Note that the standard doesn't seem to require this behavior, but
-// EDG works this way.
-
struct A {
template <class T> int f (T) { return 0; }
int f (int) { return 1; }
@@ -11,5 +6,5 @@ struct A {
int main ()
{
A a;
- return a.template f (0); // gets bogus error XFAIL *-*-*
+ return a.template f (0); // ERROR -
}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/parms2.C b/gcc/testsuite/g++.old-deja/g++.pt/parms2.C
index 856d36cd231..d7a644c2073 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/parms2.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/parms2.C
@@ -20,11 +20,11 @@ struct Ethel {
struct Fred {
template <class Q, class LA, class LB>
- Ethel<typename Q::Sig<typename LA::WrappedType>::Third> baz ();
+ Ethel<typename Q::template Sig<typename LA::WrappedType>::Third> baz ();
template <class Z, class A, class B>
- Ethel<typename Z::Sig<A>::Third>
+ Ethel<typename Z::template Sig<A>::Third>
foo ( const Z&, const Ethel<A>&, const Ethel<B>&) const;
};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ptrmem1.C b/gcc/testsuite/g++.old-deja/g++.pt/ptrmem1.C
index e14c726c1d7..5bf7dd77f0a 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/ptrmem1.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/ptrmem1.C
@@ -10,7 +10,7 @@ main()
{
foo f;
- int (foo::*s)() = &foo::template bar<int>;
+ int (foo::*s)() = &foo::bar<int>;
if ((f.*s)() == 7)
return 0;
else
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec10.C b/gcc/testsuite/g++.old-deja/g++.pt/spec10.C
index 5d53e2d76b1..e86f220cfc7 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec10.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/spec10.C
@@ -19,9 +19,9 @@ int main()
{
S<double> s;
- if (s.template f<7>(3) != 10)
+ if (s.f<7>(3) != 10)
abort();
- if (s.template f<8>(3) != 11)
+ if (s.f<8>(3) != 11)
abort();
}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec28.C b/gcc/testsuite/g++.old-deja/g++.pt/spec28.C
index cb073802a92..a6fdc064a7c 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec28.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/spec28.C
@@ -1,5 +1,8 @@
// Build don't link:
+template <class T>
+bool f(T);
+
template <class T>
struct S1 {
typedef T X;
@@ -16,9 +19,6 @@ struct S2<S1<T> > {
};
template <class T>
-bool f(T);
-
-template <class T>
typename S2<S1<T> >::Y
f(const S1<T>&);
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t10.C b/gcc/testsuite/g++.old-deja/g++.pt/t10.C
index 4f3fc182e04..c70b902366c 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/t10.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/t10.C
@@ -1,6 +1,6 @@
// Build don't link:
template <class A> class B { public: A a; B(); };
-class B<char> { public: int y[10]; };
+template <> class B<char> { public: int y[10]; };
static B<int> bi;
static B<char> bc;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t32.C b/gcc/testsuite/g++.old-deja/g++.pt/t32.C
index 89f8db19108..f2614f8789a 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/t32.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/t32.C
@@ -7,7 +7,7 @@ template <class X> struct A {
inline int z () { return 5; }
};
-template <class Y> int A<Y>::fooo (int t) { return (this->*(x?&A<Y>::y : &A<Y>::z))() + t; }; // gets bogus error
+template <class Y> int A<Y>::fooo (int t) { return (this->*(x?&A<Y>::y : &A<Y>::z))() + t; } // gets bogus error
A<int> ai;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t35a.C b/gcc/testsuite/g++.old-deja/g++.pt/t35a.C
index 40fba4d0997..71712bf5019 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/t35a.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/t35a.C
@@ -1,5 +1,5 @@
// Build don't link:
template <class X> struct A { };
-struct A<int> { int foo (); };
+template <> struct A<int> { int foo (); };
int A<int>::foo () { return 37; }
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp24.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp24.C
index 1e6278f6b80..b73d1a1b1c7 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp24.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/ttp24.C
@@ -13,7 +13,7 @@ template<template<class> class D,class E> int f()
{
D<E> d;
return d.f();
-};
+}
int main()
{
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp62.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp62.C
index cf415251874..1ff649d71be 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp62.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/ttp62.C
@@ -18,7 +18,7 @@ template <class X> struct D { };
template <class T>
bool is_C (const T&) {
return is_instance_of<C,T>::answer;
-};
+}
int main() {
if (!is_C(C<int>()))
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp64.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp64.C
index c4665fc4bb3..bfbc425d58d 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp64.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/ttp64.C
@@ -7,40 +7,40 @@
template <class T> class A2 {
public:
- A2() {};
- virtual ~A2() {};
+ A2() {}
+ virtual ~A2() {}
template <class other> A2 & operator=(const A2<other> o) {
i=o.i;
return *this;
- };
+ }
T i;
T j;
};
template <class T> class A1 {
public:
- A1() {};
- virtual ~A1() {};
+ A1() {}
+ virtual ~A1() {}
template <class other> A1 & operator=(const A1<other> o) {
i=o.i;
return *this;
- };
+ }
template <class other> A1 & operator=(const A2<other> o) {
i=o.i;
return *this;
- };
+ }
T i;
};
template <template <class U> class T> class B {
public:
- B(){};
- virtual ~B(){};
+ B(){}
+ virtual ~B(){}
template <template <class U2> class O> struct rebind { typedef B<O> other ;};
template <template <class U2> class O> B & operator=(const B<O> o) {
i=o.i;
return *this;
- };
+ }
T<int> i;
};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename11.C b/gcc/testsuite/g++.old-deja/g++.pt/typename11.C
index cfc9f131ee9..1cee212c903 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/typename11.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/typename11.C
@@ -1,5 +1,4 @@
// Build don't link:
-// Special g++ Options: -Wno-deprecated
template <class T, int I>
struct S {
@@ -7,9 +6,9 @@ struct S {
};
template <class T, class U, int I>
-S<T,I>::X f(T, U) { // WARNING - implicit typename
- S<T, I>::X();
- return S<T, I>::X();
+typename S<T,I>::X f(T, U) {
+ typename S<T, I>::X();
+ return typename S<T, I>::X();
}
template S<int, 3>::X f<int, double, 3>(int, double);
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename15.C b/gcc/testsuite/g++.old-deja/g++.pt/typename15.C
index 8e26057922e..8f263f03903 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/typename15.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/typename15.C
@@ -12,7 +12,7 @@ struct S : public R <T, B> {
template <class T> void f()
{
- S<T>::X();
+ typename S<T>::X();
}
template void f<int>();
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename22.C b/gcc/testsuite/g++.old-deja/g++.pt/typename22.C
index 86a82df65cb..ba9da1bc952 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/typename22.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/typename22.C
@@ -14,4 +14,4 @@ struct S {
template <class T>
template <class U>
-typename S<T>::I<U>::X S<T>::I<U>::f() {}
+typename S<T>::template I<U>::X S<T>::I<U>::f() {}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename6.C b/gcc/testsuite/g++.old-deja/g++.pt/typename6.C
index a3df71840e7..1f72cec1169 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/typename6.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/typename6.C
@@ -1,7 +1,4 @@
-// We don't try to make implicit typename handle this case.
-
// Build don't link:
-// Special g++ Options:
template <class T>
struct A
@@ -13,10 +10,10 @@ struct A
template <class U>
struct B : public A<U>
{
- A_Type Func(); // ERROR - candidate
+ A_Type Func(); // ERROR - declaration
};
template <class U>
-A<U>::A_Type B<U>::Func()
-{ // ERROR - no match
+A<U>::A_Type B<U>::Func() // ERROR - function
+{
}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/using1.C b/gcc/testsuite/g++.old-deja/g++.pt/using1.C
index 632fca00a45..3857d701af2 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/using1.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/using1.C
@@ -1,4 +1,4 @@
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 26 Feb 2001 <nathan@codesourcery.com>
// Bug 1981. using declarations in namespace scope were not remembered.
@@ -6,7 +6,7 @@
namespace A
{
void swap () {}
-};
+}
template <class T> void f()
{
@@ -28,7 +28,7 @@ namespace B
return foo (1);
}
template int baz<float> ();
-};
+}
int main ()
{
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/virtual2.C b/gcc/testsuite/g++.old-deja/g++.pt/virtual2.C
index 052b0497908..59fab8952a5 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/virtual2.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/virtual2.C
@@ -14,7 +14,7 @@ struct D : public B<T> {
void g() {
B<int>* bi = new D<int>;
-};
+}
template <class T>
void B<T>::f() {}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb118.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb118.C
index b191ac11717..51d86af4231 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb118.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb118.C
@@ -16,6 +16,7 @@ A<T>::test(){
std::cerr << "test for " << typeid(*this).name() << std::endl;
}
// Specialization declaration
+template <>
void
A<double>::test();
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb27.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb27.C
index 3d32f1c0028..4e2d5eafb7c 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb27.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb27.C
@@ -28,8 +28,8 @@ class test
// named return value version
template <class T>
-test<T> operator + (const test<T>& a, const test<T>& b) return c(a);
-{ c += b; };
+test<T> operator + (const test<T>& a, const test<T>& b) return c(a);// ERROR - named return value
+{ c += b; } // ERROR - c undeclared
int main()
{
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb43.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb43.C
index f98464c91df..c4cf02804c7 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb43.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb43.C
@@ -17,7 +17,7 @@ public :
};
template <class T >
-inline bool compare(const Expr<T> a, const Expr<T> b){ return true; };
+inline bool compare(const Expr<T> a, const Expr<T> b){ return true; }
int main()
{
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb79.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb79.C
index 453916ed097..b95bfafeb36 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb79.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb79.C
@@ -19,7 +19,7 @@ int main()
double d = 1234.5678;
cout.precision(12);
- cout << max(d, i) << endl; // #1
- cout << max(i, d) << endl; // #2
+ cout << max(d, i) << endl; // ERROR -
+ cout << max(i, d) << endl; // ERROR -
return 0;
}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb82.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb82.C
index 1e4d8c6249c..7492c8f9446 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb82.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb82.C
@@ -1,12 +1,12 @@
#include <stdio.h>
template <int n1>
-double val <int> ()
-{ // ERROR - bogus code
+double val <int> () // ERROR - bogus code
+{
return (double) n1;
-};
+}
int main ()
{
- printf ("%d\n", val<(int)3> ());
+ printf ("%d\n", val<(int)3> ()); // ERROR - val undeclared
}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb86.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb86.C
index 463d2d1cb60..1922dc290f3 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb86.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb86.C
@@ -1,4 +1,6 @@
// Build don't link:
+template <class T> void foo ();
+
template <class T>
class Q {
friend void foo<T> ();