summaryrefslogtreecommitdiffstats
path: root/gcc/testsuite/g++.dg/parse
Commit message (Collapse)AuthorAgeFilesLines
...
* PR c++/39225jason2009-02-201-0/+16
| | | | | | | * decl.c (grokdeclarator): Handle ~identifier. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144314 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/cphjl2009-02-191-0/+14
| | | | | | | | | | | | | | | | | 2009-02-18 H.J. Lu <hongjiu.lu@intel.com> PR c++/39219 * parser.c (cp_parser_enum_specifier): Apply all attributes. gcc/testsuite/ 2009-02-18 H.J. Lu <hongjiu.lu@intel.com> PR c++/39219 * g++.dg/parse/attr3.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144284 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/39054jason2009-02-021-0/+8
| | | | | | | | * parser.c (cp_parser_unqualified_id): Don't wrap error_mark_node in BIT_NOT_EXPR. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143876 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2009-02-021-0/+3
| | | | | | | | | | | | | | | | | 2009-02-01 Paolo Carlini <paolo.carlini@oracle.com> PR c++/39053 * parser.c (cp_parser_pure_specifier): If there are no tokens left do not call cp_lexer_consume_token. /testsuite 2009-02-01 Paolo Carlini <paolo.carlini@oracle.com> PR c++/39053 * g++.dg/parse/crash52.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143861 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2009-01-302-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2009-01-30 Paolo Carlini <paolo.carlini@oracle.com> PR c++/33465 * error.c (dump_expr): Handle FIX_TRUNC_EXPR and FLOAT_EXPR. /testsuite 2009-01-30 Paolo Carlini <paolo.carlini@oracle.com> PR c++/33465 * g++.dg/parse/error34.C: New. * g++.dg/parse/error35.C: Likewise. /cp 2009-01-30 Paolo Carlini <paolo.carlini@oracle.com> PR c++/38655 * error.c (dump_type_prefix, dump_type_suffix): Handle FIXED_POINT_TYPE. /testsuite 2009-01-30 Paolo Carlini <paolo.carlini@oracle.com> PR c++/38655 * g++.dg/cpp0x/decltype-38655.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143790 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2009-01-271-0/+9
| | | | | | | | | | | | | | | | | | 2009-01-27 Paolo Carlini <paolo.carlini@oracle.com> PR c++/37554 * call.c (build_over_call): If convert_for_arg_passing returns error_mark_node unconditionally return it. /testsuite 2009-01-27 Paolo Carlini <paolo.carlini@oracle.com> PR c++/37554 * g++.dg/parse/crash51.C: New. * g++.old-deja/g++.pt/crash9.C: Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143711 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/cp/ChangeLog:dodji2009-01-151-0/+10
| | | | | | | | | | | | | | | | | | 2009-01-13 Dodji Seketeli <dodji@redhat.com> PR c++/38636 * name-lookup.c (pushtag): Don't create members to types that are not being created. gcc/testsuite/ChangeLog: 2009-01-13 Dodji Seketeli <dodji@redhat.com> PR c++/38636 * g++.dg/parse/crash50.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143392 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/37862nickc2009-01-141-0/+25
| | | | | | | | | | | * parser.c: Pass cp_id_kind computed in cp_parser_postfix_dot_deref_expression to cp_parser_primary_expression. * g++.cp/parse/pr37862.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143369 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c/32041jakub2009-01-121-0/+32
| | | | | | | | | | | | | | * c-parser.c (c_parser_postfix_expression): Allow `->' in offsetof member-designator, handle it as `[0].'. * parser.c (cp_parser_builtin_offsetof): Allow `->' in offsetof member-designator, handle it as `[0].'. * gcc.dg/pr32041.c: New test. * g++.dg/parse/offsetof9.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143305 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/38794jakub2009-01-121-0/+8
| | | | | | | | | | * decl.c (start_function): If grokdeclarator hasn't returned FUNCTION_DECL nor error_mark_node, issue diagnostics. * g++.dg/parse/typedef9.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143292 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/37877jakub2009-01-091-0/+7
| | | | | | | | | | | * parser.c (cp_parser_class_specifier): Clear parser->in_unbraced_linkage_specification_p while parsing class specifiers. * g++.dg/parse/linkage3.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143206 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/38635jakub2008-12-291-0/+6
| | | | | | | | | | * parser.c (cp_parser_condition): Use cp_parser_require instead of cp_lexer_consume_token to consume =. * g++.dg/parse/cond4.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@142951 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/38485jason2008-12-181-0/+8
| | | | | | | | * parser.c (cp_parser_token_starts_cast_expression): An EOF can't start a cast-expression. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@142815 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-10-29 Manuel López-Ibáñez <manu@gcc.gnu.org>manu2008-10-291-0/+50
| | | | | | | | | | | | | | PR c++/26997 cp/ * parser.c (cp_parser_token_starts_cast_expression): New. (cp_parser_cast_expression): Peek the next token to decide whether this could be a parenthesized constructor or is definitely an actual cast. testsuite/ * g++.dg/parse/pr26997.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141429 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/simartin2008-10-071-0/+13
| | | | | | | | | | | | | | | | | | 2008-10-07 Simon Martin <simartin@users.sourceforge.net> PR c/35437 * expr.c (count_type_elements): Handle ERROR_MARK. gcc/testsuite/ 2008-01-07 Simon Martin <simartin@users.sourceforge.net> PR c/35437 * gcc.dg/struct-parse-2.c: New test. * g++.dg/parse/struct-4.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140953 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/cp/simartin2008-09-302-0/+28
| | | | | | | | | | | | | | | | | | | | | | 2008-09-30 Simon Martin <simartin@users.sourceforge.net> PR c++/37555 PR c++/37556 * decl.c (grokdeclarator): Set the type for typedefs to a nested-name-specifier to error_mark_node. gcc/testsuite/ 2008-09-30 Simon Martin <simartin@users.sourceforge.net> PR c++/37555 * g++.dg/parse/error32.C: New test. PR c++/37556 * g++.dg/parse/error33.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140794 138bc75d-0d04-0410-961f-82ee72b054a4
* PR testsuite/25241janis2008-09-1847-125/+162
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lib/g++.exp (g++_init): Enable overrides of dg-error, dg-warning for C++ tests. * g++.dg/conversion/ambig1.C: Clean up dg-error/dg-warning; use dg-message for notes. * g++.dg/conversion/simd1.C: Ditto. * g++.dg/conversion/simd3.C: Ditto. * g++.dg/cpp0x/rv2n.C: Ditto. * g++.dg/cpp0x/rv3n.C: Ditto. * g++.dg/cpp0x/rv4n.C: Ditto. * g++.dg/cpp0x/rv5n.C: Ditto. * g++.dg/cpp0x/rv6n.C: Ditto. * g++.dg/cpp0x/rv7n.C: Ditto. * g++.dg/cpp0x/variadic36.C: Ditto. * g++.dg/cpp0x/variadic59.C: Ditto. * g++.dg/cpp0x/variadic71.C: Ditto. * g++.dg/cpp0x/variadic-ex13.C: Ditto. * g++.dg/expr/cond9.C: Ditto. * g++.dg/expr/pmf-1.C: Ditto. * g++.dg/ext/case-range2.C: Ditto. * g++.dg/ext/case-range3.C: Ditto. * g++.dg/ext/is_class_error2.C: Ditto. * g++.dg/ext/label5.C: Ditto. * g++.dg/ext/pr27019.C: Ditto. * g++.dg/gomp/pr26690-1.C: Ditto. * g++.dg/gomp/pr26690-2.C: Ditto. * g++.dg/gomp/pr34694.C: Ditto. * g++.dg/gomp/tpl-parallel-2.C: Ditto. * g++.dg/inherit/base3.C: Ditto. * g++.dg/inherit/using6.C: Ditto. * g++.dg/init/brace6.C: Ditto. * g++.dg/init/ctor4.C: Ditto. * g++.dg/lookup/conv-1.C: Ditto. * g++.dg/lookup/new1.C: Ditto. * g++.dg/lookup/scoped6.C: Ditto. * g++.dg/lookup/using7.C: Ditto. * g++.dg/lookup/using9.C: Ditto. * g++.dg/other/abstract1.C: Ditto. * g++.dg/other/abstract2.C: Ditto. * g++.dg/other/anon5.C: Ditto. * g++.dg/other/crash-4.C: Ditto. * g++.dg/other/error10.C: Ditto. * g++.dg/other/error13.C: Ditto. * g++.dg/other/error20.C: Ditto. * g++.dg/other/error5.C: Ditto. * g++.dg/other/field1.C: Ditto. * g++.dg/other/offsetof5.C: Ditto. * g++.dg/other/semicolon.C: Ditto. * g++.dg/overload/ambig1.C: Ditto. * g++.dg/overload/arg3.C: Ditto. * g++.dg/overload/builtin1.C: Ditto. * g++.dg/overload/copy1.C: Ditto. * g++.dg/overload/new1.C: Ditto. * g++.dg/overload/template4.C: Ditto. * g++.dg/overload/using2.C: Ditto. * g++.dg/parse/bitfield2.C: Ditto. * g++.dg/parse/constant4.C: Ditto. * g++.dg/parse/crash20.C: Ditto. * g++.dg/parse/crash36.C: Ditto. * g++.dg/parse/crash5.C: Ditto. * g++.dg/parse/error11.C: Ditto. * g++.dg/parse/error12.C: Ditto. * g++.dg/parse/error19.C: Ditto. * g++.dg/parse/error28.C: Ditto. * g++.dg/parse/friend5.C: Ditto. * g++.dg/parse/invalid-op1.C: Ditto. * g++.dg/parse/missing-template1.C: Ditto. * g++.dg/parse/non-dependent2.C: Ditto. * g++.dg/parse/ret-type2.C: Ditto. * g++.dg/parse/specialization1.C: Ditto. * g++.dg/parse/template18.C: Ditto. * g++.dg/parse/template3.C: Ditto. * g++.dg/parse/template9.C: Ditto. * g++.dg/tc1/dr108.C: Ditto. * g++.dg/tc1/dr152.C: Ditto. * g++.dg/tc1/dr166.C: Ditto. * g++.dg/template/access11.C: Ditto. * g++.dg/template/access2.C: Ditto. * g++.dg/template/access3.C: Ditto. * g++.dg/template/access7.C: Ditto. * g++.dg/template/copy1.C: Ditto. * g++.dg/template/crash13.C: Ditto. * g++.dg/template/crash37.C: Ditto. * g++.dg/template/crash40.C: Ditto. * g++.dg/template/crash58.C: Ditto. * g++.dg/template/ctor5.C: Ditto. * g++.dg/template/dependent-expr5.C: Ditto. * g++.dg/template/eh2.C: Ditto. * g++.dg/template/error2.C: Ditto. * g++.dg/template/error33.C: Ditto. * g++.dg/template/error4.C: Ditto. * g++.dg/template/friend31.C: Ditto. * g++.dg/template/friend32.C: Ditto. * g++.dg/template/instantiate1.C: Ditto. * g++.dg/template/instantiate3.C: Ditto. * g++.dg/template/instantiate5.C: Ditto. * g++.dg/template/instantiate7.C: Ditto. * g++.dg/template/local6.C: Ditto. * g++.dg/template/lookup2.C: Ditto. * g++.dg/template/member5.C: Ditto. * g++.dg/template/memfriend15.C: Ditto. * g++.dg/template/memfriend16.C: Ditto. * g++.dg/template/memfriend17.C: Ditto. * g++.dg/template/memfriend7.C: Ditto. * g++.dg/template/meminit1.C: Ditto. * g++.dg/template/nested3.C: Ditto. * g++.dg/template/new3.C: Ditto. * g++.dg/template/nontype12.C: Ditto. * g++.dg/template/nontype13.C: Ditto. * g++.dg/template/nontype6.C: Ditto. * g++.dg/template/non-type-template-argument-1.C: Ditto. * g++.dg/template/overload9.C: Ditto. * g++.dg/template/ptrmem15.C: Ditto. * g++.dg/template/ptrmem17.C: Ditto. * g++.dg/template/ptrmem4.C: Ditto. * g++.dg/template/ptrmem6.C: Ditto. * g++.dg/template/ptrmem8.C: Ditto. * g++.dg/template/qualified-id1.C: Ditto. * g++.dg/template/qualttp20.C: Ditto. * g++.dg/template/qualttp3.C: Ditto. * g++.dg/template/qualttp4.C: Ditto. * g++.dg/template/qualttp5.C: Ditto. * g++.dg/template/qualttp6.C: Ditto. * g++.dg/template/qualttp7.C: Ditto. * g++.dg/template/qualttp8.C: Ditto. * g++.dg/template/recurse.C: Ditto. * g++.dg/template/sfinae10.C: Ditto. * g++.dg/template/sfinae3.C: Ditto. * g++.dg/template/spec22.C: Ditto. * g++.dg/template/spec23.C: Ditto. * g++.dg/template/static9.C: Ditto. * g++.dg/template/template-id-2.C: Ditto. * g++.dg/template/typename2.C: Ditto. * g++.dg/template/typename4.C: Ditto. * g++.dg/template/using14.C: Ditto. * g++.dg/template/using2.C: Ditto. * g++.dg/template/warn1.C: Ditto. * g++.dg/warn/incomplete1.C: Ditto. * g++.dg/warn/noeffect2.C: Ditto. * g++.dg/warn/noeffect4.C: Ditto. * g++.dg/warn/pr8570.C: Ditto. * g++.dg/warn/Wparentheses-13.C: Ditto. * g++.dg/warn/Wparentheses-15.C: Ditto. * g++.dg/warn/Wparentheses-16.C: Ditto. * g++.dg/warn/Wparentheses-17.C: Ditto. * g++.dg/warn/Wparentheses-18.C: Ditto. * g++.dg/warn/Wparentheses-19.C: Ditto. * g++.dg/warn/Wparentheses-20.C: Ditto. * g++.dg/warn/Wparentheses-23.C: Ditto. * g++.dg/warn/Wstrict-aliasing-3.C: Ditto. * g++.old-deja/g++.benjamin/15799.C: Ditto. * g++.old-deja/g++.benjamin/15800-1.C: Ditto. * g++.old-deja/g++.benjamin/16077.C: Ditto. * g++.old-deja/g++.bob/inherit2.C: Ditto. * g++.old-deja/g++.brendan/ambiguity1.C: Ditto. * g++.old-deja/g++.brendan/crash29.C: Ditto. * g++.old-deja/g++.brendan/crash48.C: Ditto. * g++.old-deja/g++.brendan/crash56.C: Ditto. * g++.old-deja/g++.brendan/cvt3.C: Ditto. * g++.old-deja/g++.brendan/overload1.C: Ditto. * g++.old-deja/g++.brendan/overload4.C: Ditto. * g++.old-deja/g++.brendan/overload9.C: Ditto. * g++.old-deja/g++.bugs/900127_01.C: Ditto. * g++.old-deja/g++.bugs/900205_04.C: Ditto. * g++.old-deja/g++.bugs/900330_02.C: Ditto. * g++.old-deja/g++.bugs/900404_03.C: Ditto. * g++.old-deja/g++.bugs/900514_03.C: Ditto. * g++.old-deja/g++.eh/ctor1.C: Ditto. * g++.old-deja/g++.eh/spec6.C: Ditto. * g++.old-deja/g++.ext/overload1.C: Ditto. * g++.old-deja/g++.jason/conversion11.C: Ditto. * g++.old-deja/g++.jason/crash3.C: Ditto. * g++.old-deja/g++.jason/lineno3.C: Ditto. * g++.old-deja/g++.jason/lineno4.C: Ditto. * g++.old-deja/g++.jason/opeq3.C: Ditto. * g++.old-deja/g++.jason/overload16.C: Ditto. * g++.old-deja/g++.jason/overload28.C: Ditto. * g++.old-deja/g++.jason/pmf5.C: Ditto. * g++.old-deja/g++.jason/scoping10.C: Ditto. * g++.old-deja/g++.jason/template30.C: Ditto. * g++.old-deja/g++.jason/temporary2.C: Ditto. * g++.old-deja/g++.jason/tredecl4.C: Ditto. * g++.old-deja/g++.law/arg11.C: Ditto. * g++.old-deja/g++.law/arg1.C: Ditto. * g++.old-deja/g++.law/arm9.C: Ditto. * g++.old-deja/g++.law/ctors11.C: Ditto. * g++.old-deja/g++.law/ctors17.C: Ditto. * g++.old-deja/g++.law/ctors5.C: Ditto. * g++.old-deja/g++.law/ctors9.C: Ditto. * g++.old-deja/g++.law/enum4.C: Ditto. * g++.old-deja/g++.law/missed-error2.C: Ditto. * g++.old-deja/g++.law/operators9.C: Ditto. * g++.old-deja/g++.mike/net22.C: Ditto. * g++.old-deja/g++.mike/net2.C: Ditto. * g++.old-deja/g++.mike/p11110.C: Ditto. * g++.old-deja/g++.mike/p1989.C: Ditto. * g++.old-deja/g++.mike/p2431.C: Ditto. * g++.old-deja/g++.mike/p438.C: Ditto. * g++.old-deja/g++.mike/p807a.C: Ditto. * g++.old-deja/g++.mike/p9068.C: Ditto. * g++.old-deja/g++.niklas/t120.C: Ditto. * g++.old-deja/g++.niklas/t121.C: Ditto. * g++.old-deja/g++.niklas/t128.C: Ditto. * g++.old-deja/g++.ns/overload2.C: Ditto. * g++.old-deja/g++.ns/template13.C: Ditto. * g++.old-deja/g++.ns/using12.C: Ditto. * g++.old-deja/g++.oliva/delete1.C: Ditto. * g++.old-deja/g++.oliva/overload1.C: Ditto. * g++.old-deja/g++.other/crash24.C: Ditto. * g++.old-deja/g++.other/crash25.C: Ditto. * g++.old-deja/g++.other/decl3.C: Ditto. * g++.old-deja/g++.other/expr1.C: Ditto. * g++.old-deja/g++.other/overcnv2.C: Ditto. * g++.old-deja/g++.other/overload11.C: Ditto. * g++.old-deja/g++.other/pmf3.C: Ditto. * g++.old-deja/g++.other/ptrmem7.C: Ditto. * g++.old-deja/g++.other/vaarg3.C: Ditto. * g++.old-deja/g++.other/volatile1.C: Ditto. * g++.old-deja/g++.pt/assign1.C: Ditto. * g++.old-deja/g++.pt/auto_ptr.C: Ditto. * g++.old-deja/g++.pt/const2.C: Ditto. * g++.old-deja/g++.pt/crash10.C: Ditto. * g++.old-deja/g++.pt/crash20.C: Ditto. * g++.old-deja/g++.pt/crash36.C: Ditto. * g++.old-deja/g++.pt/crash38.C: Ditto. * g++.old-deja/g++.pt/derived3.C: Ditto. * g++.old-deja/g++.pt/error2.C: Ditto. * g++.old-deja/g++.pt/explicit34.C: Ditto. * g++.old-deja/g++.pt/explicit70.C: Ditto. * g++.old-deja/g++.pt/friend23.C: Ditto. * g++.old-deja/g++.pt/ptrmem10.C: Ditto. * g++.old-deja/g++.pt/redecl1.C: Ditto. * g++.old-deja/g++.pt/spec35.C: Ditto. * g++.old-deja/g++.pt/t05.C: Ditto. * g++.old-deja/g++.pt/typename3.C: Ditto. * g++.old-deja/g++.pt/typename6.C: Ditto. * g++.old-deja/g++.pt/unify8.C: Ditto. * g++.old-deja/g++.pt/vaarg3.C: Ditto. * g++.old-deja/g++.robertl/eb109.C: Ditto. * g++.old-deja/g++.robertl/eb131.C: Ditto. * g++.old-deja/g++.robertl/eb22.C: Ditto. * g++.old-deja/g++.robertl/eb44.C: Ditto. * g++.old-deja/g++.robertl/eb4.C: Ditto. * g++.old-deja/g++.robertl/eb69.C: Ditto. * g++.dg/parse/constructor1.C: Remove "error" from dg-error, preserving column number. * g++.dg/parse/error10.C: Ditto. * g++.dg/parse/error13.C: Ditto. * g++.dg/parse/error14.C: Ditto. * g++.dg/parse/error15.C: Ditto. * g++.dg/parse/error16.C: Ditto. * g++.dg/parse/error17.C: Ditto. * g++.dg/parse/error18.C: Ditto. * g++.dg/parse/error1.C: Ditto. * g++.dg/parse/error20.C: Ditto. * g++.dg/parse/error21.C: Ditto. * g++.dg/parse/error22.C: Ditto. * g++.dg/parse/error23.C: Ditto. * g++.dg/parse/error24.C: Ditto. * g++.dg/parse/error25.C: Ditto. * g++.dg/parse/error26.C: Ditto. * g++.dg/parse/error27.C: Ditto. * g++.dg/parse/error29.C: Ditto. * g++.dg/parse/error2.C: Ditto. * g++.dg/parse/error30.C: Ditto. * g++.dg/parse/error31.C: Ditto. * g++.dg/parse/error3.C: Ditto. * g++.dg/parse/error4.C: Ditto. * g++.dg/parse/error5.C: Ditto. * g++.dg/parse/error6.C: Ditto. * g++.dg/parse/error7.C: Ditto. * g++.dg/parse/error8.C: Ditto. * g++.dg/parse/error9.C: Ditto. * g++.dg/parse/error-column.C: Ditto. * g++.dg/template/crash80.C: Ditto. * g++.dg/template/friend44.C: Ditto. * g++.dg/warn/pr26785.C: Ditto. * g++.old-deja/g++.brendan/crash16.C: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140476 138bc75d-0d04-0410-961f-82ee72b054a4
* PR testsuite/25241janis2008-09-173-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * g++.old-deja/g++.brendan/crash7.C: Remove "error" or "warning" from message for dg-error/dg-warning. * g++.old-deja/g++.jason/crash11.C: Ditto. * g++.old-deja/g++.oliva/template1.C: Ditto. * g++.old-deja/g++.benjamin/tem03.C: Ditto. * g++.dg/rtti/no-rtti.C: Ditto. * g++.dg/cpp/pedantic-errors.C: Ditto. * g++.dg/cpp/string-2.C: Ditto. * g++.dg/ext/fpreg1.C: Ditto. * g++.dg/ext/altivec-types-1.C: Ditto. * g++.dg/warn/write-strings-default.C: Ditto. * g++.dg/warn/Wvla-2.C: Ditto. * g++.dg/warn/register-var-1.C: Ditto. * g++.dg/warn/deprecated-3.C: Ditto. * g++.dg/warn/pr30551-2.C: Ditto. * g++.dg/warn/overflow-warn-1.C: Ditto. * g++.dg/warn/pr30551.C: Ditto. * g++.dg/warn/pointer-integer-comparison.C: Ditto. * g++.dg/warn/pr12242.C: Ditto. * g++.dg/warn/write-strings.C: Ditto. * g++.dg/warn/overflow-warn-3.C: Ditto. * g++.dg/warn/overflow-warn-4.C: Ditto. * g++.dg/warn/overflow-warn-6.C: Ditto. * g++.dg/parse/crash43.C: Ditto. * g++.dg/parse/crash44.C: Ditto. * g++.dg/parse/offsetof8.C: Ditto. * g++.dg/gomp/pr35158.C: Ditto. * g++.dg/template/crash81.C: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140437 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/37552jakub2008-09-171-0/+10
| | | | | | | | | | * typeck.c (build_array_ref): Use protected_set_expr_location instead of SET_EXPR_LOCATION when ret might not be an expression. * g++.dg/parse/crash49.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140422 138bc75d-0d04-0410-961f-82ee72b054a4
* PR testsuite/25241janis2008-09-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * testsuite/g++.dg/charset/attribute2.c: Replace dg-error with dg-warning or vice versa. * testsuite/g++.dg/conversion/dr195.C: Ditto. * testsuite/g++.dg/cpp0x/variadic60.C: Ditto. * testsuite/g++.dg/expr/cast2.C: Ditto. * testsuite/g++.dg/ext/anon-struct4.C: Ditto. * testsuite/g++.dg/ext/member-attr.C: Ditto. * testsuite/g++.dg/ext/utf-array.C: Ditto. * testsuite/g++.dg/ext/utf-array-short-wchar.C: Ditto. * testsuite/g++.dg/ext/utf-typedef-cxx0x.C: Ditto. * testsuite/g++.dg/ext/visibility/redecl1.C: Ditto. * testsuite/g++.dg/ext/visibility/warn4.C: Ditto. * testsuite/g++.dg/parse/defarg11.C: Ditto. * testsuite/g++.dg/template/error17.C: Ditto. * testsuite/g++.dg/warn/pedantic2.C: Ditto. * testsuite/g++.dg/warn/pr21983.C: Ditto. * testsuite/g++.dg/warn/return-reference2.C: Ditto. * testsuite/g++.old-deja/g++.bob/inherit1.C: Ditto. * testsuite/g++.old-deja/g++.brendan/crash13.C: Ditto. * testsuite/g++.old-deja/g++.brendan/crash17.C: Ditto. * testsuite/g++.old-deja/g++.brendan/crash52.C: Ditto. * testsuite/g++.old-deja/g++.brendan/crash55.C: Ditto. * testsuite/g++.old-deja/g++.brendan/enum7.C: Ditto. * testsuite/g++.old-deja/g++.brendan/operators4.C: Ditto. * testsuite/g++.old-deja/g++.brendan/template17.C: Ditto. * testsuite/g++.old-deja/g++.brendan/warnings1.C: Ditto. * testsuite/g++.old-deja/g++.bugs/900205_03.C: Ditto. * testsuite/g++.old-deja/g++.bugs/900227_01.C: Ditto. * testsuite/g++.old-deja/g++.ext/arrnew.C: Ditto. * testsuite/g++.old-deja/g++.ext/attrib4.C: Ditto. * testsuite/g++.old-deja/g++.jason/cond.C: Ditto. * testsuite/g++.old-deja/g++.jason/operator.C: Ditto. * testsuite/g++.old-deja/g++.jason/report.C: Ditto. * testsuite/g++.old-deja/g++.law/friend5.C: Ditto. * testsuite/g++.old-deja/g++.law/temps1.C: Ditto. * testsuite/g++.old-deja/g++.law/union4.C: Ditto. * testsuite/g++.old-deja/g++.martin/pure1.C: Ditto. * testsuite/g++.old-deja/g++.mike/empty.C: Ditto. * testsuite/g++.old-deja/g++.mike/for2.C: Ditto. * testsuite/g++.old-deja/g++.mike/misc9.C: Ditto. * testsuite/g++.old-deja/g++.mike/p10769b.C: Ditto. * testsuite/g++.old-deja/g++.mike/p2855.C: Ditto. * testsuite/g++.old-deja/g++.mike/p3060c.C: Ditto. * testsuite/g++.old-deja/g++.mike/p700.C: Ditto. * testsuite/g++.old-deja/g++.mike/p9732c.C: Ditto. * testsuite/g++.old-deja/g++.mike/pmf6.C: Ditto. * testsuite/g++.old-deja/g++.mike/warn1.C: Ditto. * testsuite/g++.old-deja/g++.mike/warn5.C: Ditto. * testsuite/g++.old-deja/g++.niklas/t141.C: Ditto. * testsuite/g++.old-deja/g++.other/cast6.C: Ditto. * testsuite/g++.old-deja/g++.other/cond5.C: Ditto. * testsuite/g++.old-deja/g++.other/conv8.C: Ditto. * testsuite/g++.old-deja/g++.other/decl5.C: Ditto. * testsuite/g++.old-deja/g++.other/delete2.C: Ditto. * testsuite/g++.old-deja/g++.other/delete4.C: Ditto. * testsuite/g++.old-deja/g++.other/linkage1.C: Ditto. * testsuite/g++.old-deja/g++.other/ptrmem8.C: Ditto. * testsuite/g++.old-deja/g++.other/typename1.C: Ditto. * testsuite/g++.old-deja/g++.pt/typename14.C: Ditto. * testsuite/g++.old-deja/g++.pt/typename4.C: Ditto. * testsuite/g++.old-deja/g++.pt/typename5.C: Ditto. * testsuite/g++.old-deja/g++.pt/typename7.C: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140405 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/37530jakub2008-09-161-0/+9
| | | | | | | | | | * gimplify.c (gimplify_expr) <case TRY_CATCH_EXPR>: Don't create GIMPLE_TRY if cleanup sequence is empty. * g++.dg/parse/crash48.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140401 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/37531jakub2008-09-161-0/+9
| | | | | | | | | | * semantics.c (finish_compound_literal): Return error_mark_node if type is errorneous. * g++.dg/parse/crash47.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140400 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/37532jakub2008-09-161-0/+18
| | | | | | | | | | * lex.c (init_reswords): Don't populate ridpointers for D_CONLY reserved words. * g++.dg/parse/crash46.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140399 138bc75d-0d04-0410-961f-82ee72b054a4
* testsuite/aldyh2008-09-152-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | * g++.old-deja/g++.brendan/crash16.C: Function name is the correct location for an error regarding a function. * g++.old-deja/g++.other/pmf3.C: Same. * g++.old-deja/g++.law/ctors5.C: Same. * g++.old-deja/g++.pt/explicit34.C: Same. * g++.dg/parse/error28.C: Same. * g++.dg/parse/error17.C: Same. * g++.dg/template/friend44.C: Same. cp/ * decl.c (duplicate_decls): Call error_at. (grokfndecl): New location argument. Use location if available. (grokdeclarator): Pass declarator location to grokfndecl. * cp-tree.h (struct cp_declarator): Update comment for id_loc. * decl2.c (check_classfn): Use error_at. * parser.c (cp_parser_init_declarator): Set function_start_locus to brace location. (cp_parser_member_declaration): Set id_loc for function declarators. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140379 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/37389jakub2008-09-091-0/+10
| | | | | | | | | | * decl.c (build_enumerator): Handle previous value's DECL_INITIAL being error_operand_p. Don't clear value if it was error_mark_node. * g++.dg/parse/enum4.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140165 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/37302jason2008-09-081-11/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | * parser.c (cp_parser_parameter_declaration_list): Process the PARM_DECLs as we go and push them. Return a TREE_LIST. (cp_parser_parameter_declaration_clause): Return a TREE_LIST. (cp_parser_direct_declarator): Create a binding level and suppress deprecated warnings in the parameter list. (make_call_declarator): PARMS is now a tree. * cp-tree.h (struct cp_declarator): Function parms are now a tree. * decl.h (enum deprecated_states, deprecated_state): Move here. * decl.c: From here. (type_is_deprecated): New fn. (grokparms): PARMLIST is a tree now. Warn about parms that use deprecated types. * mangle.c (write_expression): Handle PARM_DECL, CALL_EXPR and 0-operand cast. * pt.c (tsubst) [DECLTYPE_TYPE]: Set skip_evaluation. (tsubst_copy) [PARM_DECL]: Handle a PARM_DECL used outside of a function. * name-lookup.c (pushtag): Look through function parameter scopes. (pushdecl_maybe_friend): Don't set DECL_CONTEXT on a PARM_DECL when we're parsing a function declarator. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140120 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/37348jakub2008-09-031-0/+7
| | | | | | | | | | * decl.c (cp_finish_decl): Only set DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P if decl is VAR_DECL. * g++.dg/parse/crash45.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139956 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2008-08-281-0/+15
| | | | | | | | | | | | | | | | | 2008-08-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/37260 * decl.c (reshape_init_r): Check init for error_mark_node. /testsuite 2008-08-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/37260 * g++.dg/parse/crash44.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139740 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-08-27 Paolo Carlini <paolo.carlini@oracle.com>paolo2008-08-271-0/+16
| | | | | | | | | | | | | | PR c++/35321 * c-common.c (fold_offsetof_1): Handle TARGET_EXPR like CALL_EXPR. /testsuite 2008-08-27 Paolo Carlini <paolo.carlini@oracle.com> PR c++/35321 * g++.dg/parse/offsetof8.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139628 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2008-08-141-0/+9
| | | | | | | | | | | | | | | | | 2008-08-14 Paolo Carlini <paolo.carlini@oracle.com> PR c++/34600 * decl.c (grokdeclarator): In case of extern and initializer, return error_mark_node after the error. /testsuite 2008-08-14 Paolo Carlini <paolo.carlini@oracle.com> PR c++/34600 * g++.dg/parse/crash43.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139099 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-07-30 Dodji Seketeli <dseketel@redhat.com>dodji2008-07-301-0/+9
| | | | | | | | | | | | PR c++/36767 * decl2.c (fix_temporary_vars_context_r): New function. (one_static_initialization_or_destruction): Make sure temporary variables part of the initialiser have their DECL_CONTEXT() properly set. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138308 138bc75d-0d04-0410-961f-82ee72b054a4
* Implement defaulted/deleted functions as per N2346jason2008-07-242-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cp-tree.h (struct lang_decl_flags): Add defaulted_p bitfield. (DECL_DELETED_FN): New macro. (DECL_DEFAULTED_FN): New macro. * class.c (user_provided_p): New fn. (defaultable_fn_p): New fn. (type_has_user_provided_constructor): New fn. (type_has_user_provided_default_constructor): New fn. (check_methods): A defaulted fn is still trivial. (check_bases_and_members): Likewise. * decl.c (grok_special_member_properties): Likewise. (duplicate_decls): Complain about redeclaring a function as deleted. (start_decl): initialized==2 means deleted. (cp_finish_decl): Handle deleted/defaulted semantics. * decl2.c (grokfield): Likewise. (mark_used): Check DECL_DEFAULTED_FN instead of DECL_ARTIFICIAL. Complain about using a deleted fn. * init.c (build_value_init_1): Use type_has_user_provided_constructor. (perform_member_init): Check for a user-provided default constructor even if TYPE_NEEDS_CONSTRUCTING. (build_new_1): Likewise. * call.c (build_over_call): Don't call mark_used twice. * method.c (implicitly_declare_fn): Set DECL_DEFAULTED_FN. * search.c (check_final_overrider): Check for deleted mismatch. * parser.c (cp_parser_init_declarator): Tell start_decl about =delete. (cp_parser_pure_specifier): Handle =default and =delete. * error.c (maybe_warn_cpp0x): Suggest -std=gnu++0x as well. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138123 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-07-11 Dodji Seketeli <dseketel@redhat.com>dodji2008-07-111-12/+12
| | | | | | | | | | | | | | | | | | | PR c++/31754 * cp-tree.h (struct cp_decl_specifier_seq): add a location field. It carries the location of the primary type. * parser.c (cp_parser_check_type_definition): update documentation. (cp_parser_check_for_definition_in_return_type, cp_parser_check_for_invalid_template_id, cp_parser_set_decl_spec_type, cp_parser_check_for_definition_in_return_type, cp_parser_diagnose_invalid_type_name, cp_parser_new_expression, cp_parser_explicit_instantiation, cp_parser_type_specifier, cp_parser_simple_type_specifier, cp_parser_omp_for_loop, cp_parser_pragma): use location in error messages. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137721 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-07-11 Dodji Seketeli <dseketel@redhat.com>dodji2008-07-1133-86/+184
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR c++/31754 * pt.c, semantic.c: * semantic.c (qualified_name_lookup_error, finish_id_expression): add a location_t parameter so that error message can have a more accurate location. * cp-tree.h: updated prototype * pt.c (tsubst_qualified_id): use location in error messages. * parser.c (cp_parser_postfix_expression, cp_parser_objc_statement, cp_parser_trait_expr, cp_parser_token_is_class_key, cp_parser_uncommitted_to_tentative_parse_p, cp_parser_check_for_invalid_template_id, cp_parser_is_string_literal, cp_parser_error, cp_parser_name_lookup_error, cp_parser_simulate_error, cp_parser_check_decl_spec, cp_parser_check_decl_spec, cp_parser_non_integral_constant_expression, cp_parser_diagnose_invalid_type_name, cp_parser_parse_and_diagnose_invalid_type_name, cp_parser_require_pragma_eol, cp_parser_make_typename_type, cp_parser_string_literal, cp_parser_primary_expression, cp_parser_primary_expression, cp_parser_unqualified_id, cp_parser_nested_name_specifier_opt, cp_parser_postfix_expression, cp_parser_postfix_dot_deref_expression, cp_parser_new_expression, cp_parser_direct_new_declarator, cp_parser_builtin_offsetof, cp_parser_label_for_labeled_statement, cp_parser_statement_seq_opt, cp_parser_jump_statement, cp_parser_block_declaration, cp_parser_simple_declaration, cp_parser_decl_specifier_seq, cp_parser_function_specifier_opt, cp_parser_decltype, cp_parser_mem_initializer_list, cp_parser_mem_initializer, cp_parser_mem_initializer_id, cp_parser_template_parameter, cp_parser_type_parameter, cp_parser_template_id, cp_parser_template_name, cp_parser_template_argument): likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137716 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/cp/simartin2008-07-081-0/+8
| | | | | | | | | | | | | | | | | | 2008-07-08 Simon Martin <simartin@users.sourceforge.net> PR c++/34963 * decl.c (grokdeclarator): Reset storage_class and staticp for friend functions declared with a storage class qualifier. gcc/testsuite/ 2008-07-08 Simon Martin <simartin@users.sourceforge.net> PR c++/34963 * g++.dg/parse/dtor13.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137637 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/cp/ChangeLog:jason2008-07-022-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-07-02 Jason Merrill <jason@redhat.com> Implement WG21 N2672, Initializer List proposed wording * cp-tree.h (enum cp_tree_index): Add CPTI_INIT_LIST_TYPE. (struct lang_type_class): Add has_list_ctor bitfield. (TYPE_HAS_LIST_CTOR): New macro. (BRACE_ENCLOSED_INITIALIZER_P): Expect init_list_type_node. (CONSTRUCTOR_IS_DIRECT_INIT): New macro. (LOOKUP_NO_NARROWING): New macro. (LOOKUP_NO_COPY_CTOR_CONVERSION): New macro. * parser.c (cp_parse_braced_list): Split out from... (cp_parser_initializer_clause): ...here. (cp_parser_postfix_expression): Build up CONSTRUCTOR for compound literal here. (cp_lexer_next_token_is_not_keyword): New fn. (cp_parser_parenthesized_expression_list): Handle { }. (cp_parser_new_expression, cp_parser_new_initializer): Likewise. (cp_parser_assignment_expression, cp_parser_condition): Likewise. (cp_parser_jump_statement, cp_parser_simple_declaration): Likewise. (cp_parser_mem_initializer, cp_parser_init_declarator): Likewise. (cp_parser_initializer, cp_parser_functional_cast): Likewise. (cp_parser_omp_for_loop, cp_parser_cache_group): Likewise. (cp_parser_save_member_function_body): Likewise. * call.c (conversion_kind): Add ck_list, ck_aggr. (struct conversion): Add check_narrowing bitfield, conversion list. (build_list_conv): New fn. (build_aggr_conv): New fn. (implicit_conversion): Call them. (standard_conversion): Set check_narrowing if appropriate. (add_function_candidate): Handle LOOKUP_NO_COPY_CTOR_CONVERSION. (build_user_type_conversion_1): When converting from an init list, we allow additional conversions except when calling a copy ctor. (convert_like_real): Calling an explicit ctor for an init list is ill-formed. Handle ck_list and ck_addr. Check narrowing. (build_new_method_call): If CONSTRUCTOR_IS_DIRECT_INIT is set and class doesn't have a list ctor, break the {} into a TREE_LIST. (compare_ics): ck_list is better than other UDCs. (set_up_extended_ref_temp): Split out from initialize_reference. (is_std_init_list): New fn. (is_list_ctor): New fn. * decl.c (cxx_init_decl_processing): Create init_list_type_node. (reshape_init_array_1): Pass it to build_constructor. (reshape_init_class): Ditto. (initialize_artificial_var): Pass the appropriate type. (build_aggr_init_full_exprs): Split out from... (check_initializer): ...here. Handle new semantics. (build_init_list_var_init): New subroutine of check_initializer. (grokdeclarator): Converting constructors can have more than one parm. (grok_special_member_properties): Set TYPE_HAS_LIST_CTOR. * init.c (expand_default_init): Only do digest_init for aggregates. * rtti.c (tinfo_base_init): Pass init_list_type_node to build_constructor_from_list. (generic_initializer, ptr_initializer): Ditto. (ptm_initializer, class_initializer): Ditto. (get_pseudo_ti_init): Ditto. * error.c (dump_type): Handle init_list_type_node. (maybe_warn_cpp0x): New fn. (maybe_varn_variadic_templates): Call it. * cvt.c (ocp_convert): Handle conversion from { }. * tree.c (build_array_of_n_type): New fn. * typeck2.c (store_init_value): Use init_list_type_node. (digest_init): Likewise. (check_narrowing): New fn. * semantics.c: (finish_compound_literal): Take CONSTRUCTOR instead of vector of constructor elts. Handle non-aggregate types. Make constant literals static. * pt.c: (tsubst_copy_and_build): Adjust. (unify): Handle { }. * name-lookup.c (arg_assoc_type): Handle init_list_type_node. gcc/ChangeLog: 2008-07-02 Jason Merrill <jason@redhat.com> * tree.c (ctor_to_list): New fn. * tree.h: Declare it. (CONSTRUCTOR_ELT): New macro. (CONSTRUCTOR_NELTS): New macro. libstdc++-v3/ChangeLog: 2008-07-02 Jason Merrill <jason@redhat.com> * libsupc++/initializer_list: New file. * include/bits/stl_map.h (insert(initializer_list)): New method. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137361 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/cp/simartin2008-06-141-0/+9
| | | | | | | | | | | | | | | | | | | | | | | 2008-06-14 Simon Martin <simartin@users.sourceforge.net> PR c++/35320 * decl2.c (grokbitfield): Receive the list of attributes, pass it to grokdeclarator and apply it to the created declaration. * cp-tree.h (grokbitfield): Update prototype. * parser.c (cp_parser_member_declaration): Don't apply the attributes since they are now applied in grokbitfield. Adjusted the call to grokbitfield. (cp_parser_objc_class_ivars): Likewise. gcc/testsuite/ 2008-06-14 Simon Martin <simartin@users.sourceforge.net> PR c++/35320 * g++.dg/parse/bitfield3.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136778 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2008-06-071-0/+8
| | | | | | | | | | | | | | | | | 2008-06-07 Paolo Carlini <paolo.carlini@oracle.com> PR c++/35327 * decl.c (grokdeclarator): In case of wrong return type return immediately error_mark_node. /testsuite 2008-06-07 Paolo Carlini <paolo.carlini@oracle.com> PR c++/35327 * g++.dg/parse/crash41.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136518 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/35578reichelt2008-03-301-0/+8
| | | | | | | | | | * parser.c (cp_parser_decl_specifier_seq): Add location to error message. * g++.dg/parse/friend8.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133738 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.dg/other/first-global.C: Add -fpie for all pic targets.ghazi2008-01-301-1/+1
| | | | | | | | * g++.dg/parse/attr-externally-visible-1.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131968 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/34912jason2008-01-221-1/+1
| | | | | | | | | | | * friend.c (do_friend): Check for prior declaration of a friend function of a local class. * name-lookup.c (lookup_name_innermost_nonclass_level): No longer static. * name-lookup.h: Declare it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131740 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/34488jakub2007-12-181-0/+37
| | | | | | | | | | * decl.c (grokdeclarator): Reject friend sfk_constructor FUNCTION_TYPE. * g++.dg/parse/friend7.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131025 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/cp/simartin2007-12-101-0/+42
| | | | | | | | | | | | | | | | | | 2007-12-10 Simon Martin <simartin@users.sourceforge.net> PR c++/34059 * typeck.c (build_class_member_access_expr): Compute MEMBER_SCOPE from MEMBER's BASELINK_ACCESS_BINFO instead of its BASELINK_BINFO. gcc/testsuite/ 2007-12-10 Simon Martin <simartin@users.sourceforge.net> PR c++/34059 * g++.dg/parse/crash40.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130754 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/34054jakub2007-11-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | PR c++/34056 PR c++/34057 PR c++/34058 PR c++/34060 * pt.c (find_parameter_packs_r): If ppd->set_packs_to_error, set to error_mark_node the outermost POINTER_TYPE to the pack if it is seen in a POINTER_TYPE. (push_template_decl_real): If check_for_bare_parameter_packs fails for function return type, set the return type to integer_type_node. If check_for_bare_parameter_packs failed for non-function, return error_mark_node. * g++.dg/parse/crash36.C: Add another dg-error. * g++.dg/cpp0x/pr34054.C: New test. * g++.dg/cpp0x/pr34056.C: New test. * g++.dg/cpp0x/pr34057.C: New test. * g++.dg/cpp0x/pr34058.C: New test. * g++.dg/cpp0x/pr34060.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130152 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-11-06 Douglas Gregor <doug.gregor@gmail.com>dgregor2007-11-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR c++/31439 PR c++/32114 PR c++/32115 PR c++/32125 PR c++/32126 PR c++/32127 PR c++/32128 PR c++/32253 PR c++/32566 * typeck.c (check_return_expr): Pass address of retval to check_for_bare_parameter_packs. * class.c (build_base_field): Tolerate bases that have no layout due to errors. (end_of_base): Ditto. * tree.c (canonical_type_variant): Be careful with ERROR_MARK_NODE. * cp-tree.h (check_for_bare_parameter_packs): Now accepts a tree*. * pt.c (find_parameter_pack_data): Add set_packs_to_error field, which states whether parameter packs should be replaced with ERROR_MARK_NODE. (find_parameter_packs_r): Pass addresses to cp_walk_tree wherever possible. If set_packs_to_error is set true, replace the parameter pack with ERROR_MARK_NODE. Manage our own pointer sets. (uses_parameter_packs): Don't set parameter packs to ERROR_MARK_NODE. (check_for_bare_parameter_packs): Now takes a pointer to a tree, which may be modified (if it is a parameter pack). Instructs find_parameter_packs_r to replace parameter packs with ERROR_MARK_NODE (so that they won't cause errors later on). (process_template_parm): Pass pointer to check_for_bare_parameter_packs. (process_partial_specialization): Replace pack expansions before the end of the template argument list with ERROR_MARK_NODE. (push_template_decl_real): Pass pointer to check_for_bare_parameter_packs. Replace parameter packs not at the end of the template parameter list with ERROR_MARK_NODE. (convert_template_argument): Be more careful about using DECL_NAME on only declarations. (unify): Can't unify against ERROR_MARK_NODE. * semantics.c (finish_cond): Pass pointer to check_for_bare_parameter_packs. (finish_expr_stmt): Ditto. (finish_for_expr): Ditto. (finish_switch_cond): Pass pointer to check_for_bare_parameter_packs, and call it before we put the condition into the statement. (finish_mem_initializers): Pass pointer to check_for_bare_parameter_packs. (finish_member_declaration): Ditto. * parser.c (cp_parser_base_clause): Ditto. 2007-11-06 Douglas Gregor <doug.gregor@gmail.com> * testsuite/g++.dg/parser/crash36.C: Tweak expected errors. * testsuite/g++.dg/cpp0x/pr31439.C: New. * testsuite/g++.dg/cpp0x/pr32114.C: New. * testsuite/g++.dg/cpp0x/pr32115.C: New. * testsuite/g++.dg/cpp0x/pr32125.C: New. * testsuite/g++.dg/cpp0x/pr32126.C: New. * testsuite/g++.dg/cpp0x/pr32127.C: New. * testsuite/g++.dg/cpp0x/pr32128.C: New. * testsuite/g++.dg/cpp0x/pr32253.C: New. * testsuite/g++.dg/cpp0x/pr32566.C: New. * testsuite/g++.dg/cpp0x/pr31445.C: Tweak expected errors. * testsuite/g++.dg/cpp0x/pr31438.C: Ditto. * testsuite/g++.dg/cpp0x/variadic81.C: Ditto. * testsuite/g++.dg/cpp0x/pr31432.C: Ditto. * testsuite/g++.dg/cpp0x/pr31442.C: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129928 138bc75d-0d04-0410-961f-82ee72b054a4
* Revert accidental change to crash36.Cdgregor2007-10-301-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129774 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-10-30 Douglas Gregor <doug.gregor@gmail.com>dgregor2007-10-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | PR c++/31993 PR c++/32252 * pt.c (find_parameter_packs_r): Fix typo in comment. (convert_template_argument): Look at the pattern of a pack expansion to determine what kind of entity we're converting. (coerce_template_parameter_pack): When we have coerced a non-type template parameter pack, substitute into the type of that pack. (tsubst_pack_expansion): When our substitution of a parameter pack is a "trivial" substitution of itself, just substitute into the pack expansion rather than actually expanding. 2007-10-30 Douglas Gregor <doug.gregor@gmail.com> PR c++/31993 PR c++/32252 * g++.dg/cpp0x/pr31993.C: New * g++.dg/cpp0x/pr32252.C: New git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129773 138bc75d-0d04-0410-961f-82ee72b054a4
* cp/paolo2007-10-261-0/+3
| | | | | | | | | | | | | | | | | 2007-10-26 Paolo Carlini <pcarlini@suse.de> PR c++/31747 * decl.c (grokdeclarator): In case of conflicting specifiers just return error_mark_node. testsuite/ 2007-10-26 Paolo Carlini <pcarlini@suse.de> PR c++/31747 * g++.dg/parse/crash39.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129647 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/cp/simartin2007-09-251-0/+11
| | | | | | | | | | | | | | | | | | 2007-09-25 Simon Martin <simartin@users.sourceforge.net> PR c++/33207 * name-lookup.c (pushtag): Do not create an implicit typedef before the associated type declaration is known to be valid. gcc/testsuite/ 2007-09-25 Simon Martin <simartin@users.sourceforge.net> PR c++/33207 * g++.dg/parse/crash38.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128769 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/testsuite:jsm282007-09-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lib/file-format.exp (gcc_target_object_format): Use remote_exec to call objdump. * lib/scanasm.exp (scan-assembler-dem, scan-assembler-dem-not): Use remote_exec to call c++filt. * lib/target-supports-dg.exp (dg-require-host-local): New. * gcc.misc-tests/options.exp: Allow .exe in command paths. * g++.dg/parse/repo1.C: Use dg-require-host-local. * g++.dg/rtti/repo1.C: Likewise. * g++.dg/template/repo1.C: Likewise. * g++.dg/template/repo2.C: Likewise. * g++.dg/template/repo3.C: Likewise. * g++.dg/template/repo4.C: Likewise. * g++.dg/template/repo5.C: Likewise. * g++.old-deja/g++.pt/instantiate4.C: Likewise. * g++.old-deja/g++.pt/instantiate6.C: Likewise. * g++.old-deja/g++.pt/repo1.C: Likewise. * g++.old-deja/g++.pt/repo2.C: Likewise. * g++.old-deja/g++.pt/repo3.C: Likewise. * g++.old-deja/g++.pt/repo4.C: Likewise. * gcc.dg/cpp/trad/builtins.c: Likewise. libstdc++-v3: * testsuite/lib/libstdc++.exp (v3-build-support): Specify output file for preprocessing. Use remote_exec to call ar and ranlib. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128283 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud