spec4.C: Remove stray semicolon.
* 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. From-SVN: r60559
This commit is contained in:
parent
671aa708d9
commit
876200a8b7
@ -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.
|
||||
|
@ -14,4 +14,4 @@ public:
|
||||
|
||||
typedef HandlerStack<std::set_terminate> Terminate;
|
||||
|
||||
template<> void Terminate::defaultHandler() {};
|
||||
template<> void Terminate::defaultHandler() {}
|
||||
|
@ -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 "" "" }
|
||||
}
|
||||
};
|
||||
|
@ -20,7 +20,7 @@ int foo (void)
|
||||
[third] "i" (j + 2),
|
||||
[fourth] "i" (100));
|
||||
return i;
|
||||
};
|
||||
}
|
||||
|
||||
template<class TYPE>
|
||||
TYPE bar (TYPE t)
|
||||
|
@ -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>;
|
||||
|
@ -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" "" }
|
||||
|
@ -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 *-*-* } }
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ struct Derived : Base
|
||||
{
|
||||
void Foo ()
|
||||
{
|
||||
Base::Baz (); // { dg-error "has no member" "" }
|
||||
Base::Baz (); // { dg-error "is not a member" "" }
|
||||
|
||||
};
|
||||
};
|
||||
|
@ -20,4 +20,4 @@ struct C : public B
|
||||
};
|
||||
|
||||
|
||||
template C<int>;
|
||||
template struct C<int>;
|
||||
|
@ -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" "" }
|
||||
};
|
||||
|
||||
|
@ -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" "" }
|
||||
};
|
||||
}
|
||||
|
@ -8,6 +8,6 @@
|
||||
void init ()
|
||||
{
|
||||
do { } while (0)
|
||||
obj = 0; // { dg-error "parse error" "" }
|
||||
obj = 0; // { dg-error "expected|undeclared" "" }
|
||||
|
||||
}
|
||||
|
@ -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 "" "" }
|
||||
|
@ -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
|
||||
|
@ -19,4 +19,4 @@ int main ()
|
||||
|
||||
return 0;
|
||||
|
||||
};
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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 *-*-* } }
|
||||
|
@ -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 );
|
||||
|
||||
|
@ -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 {
|
||||
|
@ -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>;
|
||||
|
@ -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);
|
||||
|
@ -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>;
|
||||
|
@ -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 `;'" }
|
||||
}
|
||||
|
@ -16,4 +16,4 @@ struct B: public A {
|
||||
int main()
|
||||
{
|
||||
B<int> a;
|
||||
};
|
||||
}
|
||||
|
@ -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" }
|
||||
|
@ -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" }
|
||||
};
|
||||
|
||||
|
@ -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&))
|
||||
|
@ -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()
|
||||
|
@ -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; }
|
||||
|
@ -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
|
||||
|
@ -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)" }
|
||||
|
@ -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" }
|
||||
};
|
||||
|
@ -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" }
|
||||
|
@ -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 "" }
|
||||
};
|
||||
|
@ -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[] =
|
||||
|
@ -24,6 +24,6 @@ enum { first, last};
|
||||
|
||||
void foo(void) {
|
||||
sanjose obj(first); // ERROR - // ERROR -
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
@ -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(){
|
||||
|
@ -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
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -17,7 +17,7 @@ template<class T>
|
||||
void blah (const T &) {
|
||||
T y;
|
||||
x (4);
|
||||
};
|
||||
}
|
||||
|
||||
int main () {
|
||||
const foo<int> v;
|
||||
|
@ -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
|
||||
|
@ -4,6 +4,6 @@ extern "C" {
|
||||
public:
|
||||
void a();
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
void A::a() {}
|
||||
|
@ -16,7 +16,7 @@ public:
|
||||
};
|
||||
|
||||
void f(B b) {
|
||||
};
|
||||
}
|
||||
|
||||
void g() {
|
||||
B h;
|
||||
|
@ -9,7 +9,7 @@ extern "C" {
|
||||
int printf (const char *, ...);
|
||||
void exit (int);
|
||||
void abort (void);
|
||||
};
|
||||
}
|
||||
|
||||
__complex__ double cd;
|
||||
|
||||
|
@ -49,7 +49,7 @@ void BaseClass::Increm( int r )
|
||||
i += r;
|
||||
else
|
||||
die ();
|
||||
};
|
||||
}
|
||||
|
||||
class DerivedClass : public BaseClass {
|
||||
public:
|
||||
|
@ -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 () {}
|
||||
|
@ -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";
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -13,5 +13,5 @@ public:
|
||||
{ return v != index; }// ERROR - .*
|
||||
private:
|
||||
// friend class List<T>;
|
||||
element *index;
|
||||
element *index; // ERROR - invalid use of member
|
||||
};
|
||||
|
@ -6,7 +6,7 @@ extern "C" {
|
||||
}
|
||||
extern "C" {
|
||||
extern void foo();
|
||||
};
|
||||
}
|
||||
class SS {
|
||||
friend void foo();
|
||||
protected:
|
||||
|
@ -37,7 +37,7 @@ main()
|
||||
Implicit<Implicit<INTEGER, 2> , 3> y;
|
||||
|
||||
y = 10;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -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 );}
|
||||
|
||||
|
||||
|
||||
|
@ -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)
|
||||
|
@ -9,6 +9,7 @@ template<int>
|
||||
class Program {
|
||||
} ;
|
||||
|
||||
template<>
|
||||
class Program<0> {
|
||||
public:
|
||||
inline friend float EvalNextArg()
|
||||
|
@ -23,7 +23,7 @@ swaplong(ulong value)
|
||||
{
|
||||
ulong v = (value << 16) | (value >> 16);
|
||||
return ((v >> 8) & 0x00ff00ff) | ((v << 8) & 0xff00ff00);
|
||||
};
|
||||
}
|
||||
struct elong
|
||||
{
|
||||
ulong data;
|
||||
|
@ -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 ; }
|
||||
} ;
|
||||
|
@ -24,4 +24,4 @@ base::base(int arg1, int arg2)
|
||||
{
|
||||
f1 = arg1;
|
||||
f2 = arg2;
|
||||
};
|
||||
}
|
||||
|
@ -25,4 +25,4 @@ base::base(int arg1, int arg2)
|
||||
{
|
||||
f1 = arg1;
|
||||
f2 = arg2;
|
||||
};
|
||||
}
|
||||
|
@ -5,4 +5,4 @@ void f( int a) {
|
||||
{
|
||||
int a;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ aCallback<Called>::aCallback(Called& obj,
|
||||
int (Called::*met)()) :
|
||||
object(obj),
|
||||
method(met)
|
||||
{};
|
||||
{}
|
||||
|
||||
template <class Called>
|
||||
int aCallback<Called>::callback()
|
||||
|
@ -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:
|
||||
|
@ -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();
|
||||
|
@ -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();
|
||||
|
@ -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 **)
|
||||
|
@ -6,6 +6,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
|
||||
{
|
||||
|
@ -7,4 +7,4 @@ main ()
|
||||
int * foo = &x; // in C++ it's perfectly legal to do this
|
||||
|
||||
return 0;
|
||||
};
|
||||
}
|
||||
|
@ -18,4 +18,4 @@ x()
|
||||
x.kill(0);
|
||||
X<Y> y;
|
||||
y.kill(0);
|
||||
};
|
||||
}
|
||||
|
@ -44,6 +44,6 @@ void function ()
|
||||
u0 u0_object_1;
|
||||
|
||||
u0_object_0 = u0_object_1;
|
||||
};
|
||||
}
|
||||
|
||||
int main () { return 0; }
|
||||
|
@ -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;
|
||||
|
@ -21,4 +21,4 @@ int main()
|
||||
fn1 = a.f;
|
||||
fn1 = (pmf1)a.f;
|
||||
fn2 = (pmf2)a.f;
|
||||
};
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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 ();
|
||||
|
||||
|
@ -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 ();
|
||||
|
||||
|
@ -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()
|
||||
|
@ -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 ()
|
||||
|
@ -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 {
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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. */
|
||||
|
@ -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();
|
||||
|
@ -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:
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -12,4 +12,4 @@ void foo ()
|
||||
int one=1, two=2;
|
||||
X a(one), b(two);
|
||||
a = b; // ERROR - no assignment semantics defined
|
||||
};
|
||||
}
|
||||
|
@ -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()
|
||||
{
|
||||
|
@ -16,4 +16,4 @@ void f( const D & );
|
||||
void g( const X & x )
|
||||
{
|
||||
f( x );
|
||||
};
|
||||
}
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
class aClass
|
||||
{
|
||||
;
|
||||
; // ERROR - missing declaration
|
||||
private:
|
||||
; // This line causes problems
|
||||
; // ERROR - missing declaration
|
||||
};
|
||||
|
@ -20,7 +20,7 @@ aCallback<Called>::aCallback(Called& obj,
|
||||
int (Called::*met)()) :
|
||||
object(obj),
|
||||
method(met)
|
||||
{};
|
||||
{}
|
||||
|
||||
template <class Called>
|
||||
int aCallback<Called>::callback()
|
||||
|
@ -12,7 +12,7 @@ struct X {
|
||||
|
||||
const X foo() {
|
||||
return X(3);
|
||||
};
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
|
@ -14,7 +14,7 @@ struct Y {
|
||||
|
||||
Y foo() {
|
||||
return X(3);
|
||||
};
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
|
@ -8,7 +8,7 @@ private:
|
||||
int foo;
|
||||
};
|
||||
|
||||
void x::fun() { };
|
||||
void x::fun() { }
|
||||
|
||||
main ()
|
||||
{
|
||||
|
@ -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> { };
|
||||
|
@ -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);
|
||||
|
@ -6,6 +6,7 @@ template <class T> struct A {
|
||||
|
||||
int foo () { return 1; }
|
||||
|
||||
template <>
|
||||
int A<int>::t = foo ();
|
||||
|
||||
int main ()
|
||||
|
@ -17,6 +17,7 @@
|
||||
{
|
||||
}
|
||||
|
||||
template <>
|
||||
class ONE<int>
|
||||
{
|
||||
public:
|
||||
|
@ -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 -
|
||||
};
|
||||
|
@ -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");
|
||||
}
|
||||
|
@ -248,7 +248,7 @@ operator double()
|
||||
{
|
||||
assert( v.r->vec != 0 );
|
||||
return *v.r->vec;
|
||||
};
|
||||
}
|
||||
|
||||
double VecElem::
|
||||
operator=( double d )
|
||||
|
@ -28,7 +28,7 @@ struct var_Foo: public Foo
|
||||
int blort(Foo& f)
|
||||
{
|
||||
return f->a;
|
||||
};
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
|
@ -11,4 +11,4 @@ typedef int A[10];
|
||||
int main()
|
||||
{
|
||||
int* a1 = new A;
|
||||
};
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ public:
|
||||
void
|
||||
sub(foo f) {
|
||||
;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
int main() {
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user