summaryrefslogtreecommitdiffstats
path: root/gcc/testsuite/g++.dg/parse
Commit message (Collapse)AuthorAgeFilesLines
...
* /cppaolo2007-09-051-0/+8
| | | | | | | | | | | | | | | | | 2007-09-05 Paolo Carlini <pcarlini@suse.de> PR c++/29731 (again) * parser.c (cp_parser_primary_expression): Return error_mark_node when a statement-expression is found in a template-argument list. /testsuite 2007-09-05 Paolo Carlini <pcarlini@suse.de> PR c++/29731 * g++.dg/parse/template24.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128124 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/32567jakub2007-08-241-0/+11
| | | | | | | | | | | * typeck.c (build_unary_op) <case PREINCREMENT_EXPR>: Return error_mark_node right away if build_expr_type_conversion returned it. * g++.dg/parse/crash36.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127760 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/31941jakub2007-08-231-0/+15
| | | | | | | | | | * error.c (resolve_virtual_fun_from_obj_type_ref): Handle TARGET_VTABLE_USES_DESCRIPTORS targets properly. * g++.dg/parse/crash37.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127747 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-17 Paolo Carlini <pcarlini@suse.de>paolo2007-08-171-0/+12
| | | | | | | | PR c++/32190 * g++.dg/parse/error31.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127597 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/30849lmillward2007-08-023-0/+18
| | | | | | | | | | | | | | | | | | | | | | PR c++/30850 PR c++/30851 * parser.c (cp_parser_asm_definition): Detect and discard asm statements with invalid inputs or outputs. (cp_parser_asm_operand_list): Return error mark node if any of the operands are invalid. Adjust documentation. PR c++/30849 * g++.dg/parse/asm1.C: New test. PR c++/30850 * g++.dg/parse/asm2.C: Likewise. PR c++/30851 * g++.dg/parse/asm3.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127167 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/30854jakub2007-07-121-0/+11
| | | | | | | | | | * error.c (dump_expr) <case AGGR_INIT_EXPR>: Pass true as last argument to dump_aggr_init_expr_args instead of false. * g++.dg/parse/error30.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126582 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-05-25 Simon Martin <simartin@users.sourceforge.net>simartin2007-05-252-0/+13
| | | | | | | | | | | | | | | Manuel Lopez-Ibanez <manu@gcc.gnu.org> PR c++/31745 * parser.c (cp_parser_skip_to_closing_brace): Return true if the next token is a closing brace, false if there are no tokens left. (cp_parser_namespace_alias_definition): Only consume the next token if it is a closing brace. * parser.c (cp_parser_class_specifier): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125070 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.dg/parse/attr-externally-visible-1.C: Likewise.mrs2007-05-101-0/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124589 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/30847jakub2007-04-031-0/+15
| | | | | | | | | | * typeck.c (build_modify_expr): For COND_EXPR on LHS, if RHS has void type issue error and return early. * g++.dg/parse/cond3.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123456 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-03-28 Simon Martin <simartin@users.sourceforge.net>simartin2007-03-281-0/+14
| | | | | | | | | PR c++/29077 * decl.c (grokfndecl): Properly setup decl if it is a constructor or a destructor. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123312 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/30863mmitchel2007-03-231-2/+1
| | | | | | | | | | | * parser.c (cp_parser_parse_and_diagnose_invalid_type_name): Do not consume tokens when failing. PR c++/30863 * g++.dg/template/error24.C: New test. * g++.dg/parse/tmpl-outside1.C: Tweak error markers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123152 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-03-22 Dirk Mueller <dmueller@suse.de>mueller2007-03-222-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * g++.old-deja/g++.brendan/warnings2.C: Don't use -pedantic. * g++.dg/other/static1.C: Remove stray semicolon. * g++.dg/other/init1.C: Likewise. * g++.dg/rtti/dyncast1.C: Likewise. * g++.dg/tree-ssa/pr17153.C: Likewise. * g++.dg/lookup/disamb1.C: Likewise. * g++.dg/lookup/scoped2.C: Likewise. * g++.dg/lookup/friend7.C: Likewise. * g++.dg/parse/parse4.C: Likewise. * g++.dg/parse/parse5.C: Likewise. * g++.dg/expr/pr29066.C: Likewise. * g++.dg/expr/cast4.C: Likewise. * g++.dg/tc1/dr193.C: Likewise. * g++.dg/tc1/dr213.C: Likewise. * g++.dg/abi/dcast1.C: Likewise. * g++.dg/abi/covariant2.C: Likewise. * g++.dg/inherit/covariant11.C: Likewise. * g++.dg/inherit/covariant9.C: Likewise. * g++.dg/inherit/covariant10.C: Likewise. * g++.dg/init/static3.C: Likewise. * g++.dg/init/init-ref3.C: Likewise. * g++.dg/init/ref10.C: Likewise. * g++.dg/template/meminit2.C: Likewise. * g++.dg/template/using9.C: Likewise. * g++.dg/template/friend9.C: Likewise. * g++.dg/template/ref1.C: Likewise. * g++.old-deja/g++.warn/inline.C: Likewise. * g++.old-deja/g++.robertl/eb91.C: Likewise. * g++.old-deja/g++.robertl/eb46.C: Likewise. * g++.old-deja/g++.robertl/eb34.C: Likewise. * g++.old-deja/g++.robertl/eb43.C: Likewise. * g++.old-deja/g++.robertl/eb26.C: Likewise. * g++.old-deja/g++.robertl/eb116.C: Likewise. * g++.old-deja/g++.brendan/copy5.C: Likewise. * g++.old-deja/g++.brendan/overload8.C: Likewise. * g++.old-deja/g++.brendan/overload11.C: Likewise. * g++.old-deja/g++.brendan/copy7.C: Likewise. * g++.old-deja/g++.brendan/crash38.C: Likewise. * g++.old-deja/g++.brendan/template11.C: Likewise. * g++.old-deja/g++.brendan/err-msg3.C: Likewise. * g++.old-deja/g++.brendan/crash50.C: Likewise. * g++.old-deja/g++.brendan/crash16.C: Likewise. * g++.old-deja/g++.jason/pmem2.C: Likewise. * g++.old-deja/g++.jason/parse9.C: Likewise. * g++.old-deja/g++.jason/byval2.C: Likewise. * g++.old-deja/g++.jason/overload8.C: Likewise. * g++.old-deja/g++.jason/pmf8.C: Likewise. * g++.old-deja/g++.jason/template33.C: Likewise. * g++.old-deja/g++.jason/return3.C: Likewise. * g++.old-deja/g++.jason/scoping2.C: Likewise. * g++.old-deja/g++.jason/virtual.C: Likewise. * g++.old-deja/g++.jason/opeq3.C: Likewise. * g++.old-deja/g++.jason/template27.C: Likewise. * g++.old-deja/g++.jason/synth6.C: Likewise. * g++.old-deja/g++.jason/ref8.C: Likewise. * g++.old-deja/g++.jason/offset1.C: Likewise. * g++.old-deja/g++.other/static20.C: Likewise. * g++.old-deja/g++.other/array1.C: Likewise. * g++.old-deja/g++.other/new3.C: Likewise. * g++.old-deja/g++.other/array2.C: Likewise. * g++.old-deja/g++.other/overload9.C: Likewise. * g++.old-deja/g++.other/cast6.C: Likewise. * g++.old-deja/g++.other/ptrmem8.C: Likewise. * g++.old-deja/g++.other/eh4.C: Likewise. * g++.old-deja/g++.other/using7.C: Likewise. * g++.old-deja/g++.other/init18.C: Likewise. * g++.old-deja/g++.other/dyncast1.C: Likewise. * g++.old-deja/g++.other/dyncast2.C: Likewise. * g++.old-deja/g++.other/dtor11.C: Likewise. * g++.old-deja/g++.pt/static11.C: Likewise. * g++.old-deja/g++.pt/crash19.C: Likewise. * g++.old-deja/g++.pt/overload12.C: Likewise. * g++.old-deja/g++.pt/crash46.C: Likewise. * g++.old-deja/g++.pt/mi1.C: Likewise. * g++.old-deja/g++.pt/vaarg3.C: Likewise. * g++.old-deja/g++.pt/nontype5.C: Likewise. * g++.old-deja/g++.pt/local5.C: Likewise. * g++.old-deja/g++.pt/typename2.C: Likewise. * g++.old-deja/g++.pt/explicit80.C: Likewise. * g++.old-deja/g++.pt/auto_ptr.C: Likewise. * g++.old-deja/g++.law/visibility1.C: Likewise. * g++.old-deja/g++.law/visibility2.C: Likewise. * g++.old-deja/g++.law/virtual2.C: Likewise. * g++.old-deja/g++.law/operators19.C: Likewise. * g++.old-deja/g++.law/parsing10.C: Likewise. * g++.old-deja/g++.law/visibility4.C: Likewise. * g++.old-deja/g++.law/operators4.C: Likewise. * g++.old-deja/g++.law/dtors2.C: Likewise. * g++.old-deja/g++.law/missed-error3.C: Likewise. * g++.old-deja/g++.law/visibility10.C: Likewise. * g++.old-deja/g++.law/scope3.C: Likewise. * g++.old-deja/g++.law/casts2.C: Likewise. * g++.old-deja/g++.law/code-gen5.C: Likewise. * g++.old-deja/g++.law/operators33.C: Likewise. * g++.old-deja/g++.law/friend4.C: Likewise. * g++.old-deja/g++.mike/pmf7.C: Likewise. * g++.old-deja/g++.mike/p5611.C: Likewise. * g++.old-deja/g++.mike/net37.C: Likewise. * g++.old-deja/g++.mike/p3570.C: Likewise. * g++.old-deja/g++.mike/p5718.C: Likewise. * g++.old-deja/g++.mike/net21.C: Likewise. * g++.old-deja/g++.mike/p1862.C: Likewise. * g++.old-deja/g++.mike/p4511.C: Likewise. * g++.old-deja/g++.mike/virt3.C: Likewise. * g++.old-deja/g++.mike/p16146.C: Likewise. * g++.old-deja/g++.mike/p1989.C: Likewise. * g++.old-deja/g++.mike/p5571.C: Likewise. * g++.old-deja/g++.gb/scope10.C: Likewise. * g++.old-deja/g++.abi/primary5.C: Likewise. * g++.old-deja/g++.abi/empty2.C: Likewise. * g++.old-deja/g++.abi/arraynew.C: Likewise. * g++.old-deja/g++.eh/vbase4.C: Likewise. * g++.old-deja/g++.eh/ptr1.C: Likewise. * g++.old-deja/g++.eh/cleanup1.C: Likewise. * g++.old-deja/g++.bob/template3.C: Likewise. * g++.old-deja/g++.bob/inherit1.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123132 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-03-15 Manuel Lopez-Ibanez <manu@gcc.gnu.org>manu2007-03-151-0/+10
| | | | | | | | | | | | | | | PR c++/30891 cp/ * parser.c (cp_parser_statement): If 'namespace' is found, this only can be a namespace alias definition, so parse it now. (cp_parser_namespace_alias_definition): if we find an open brace instead of '=', then this is actually a misplaced namespace definition. testsuite/ * g++.dg/parse/namespace-definition.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122962 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-03-04 Simon Martin <simartin@users.sourceforge.net>simartin2007-03-041-0/+10
| | | | | | | | PR c++/30895 * tree.c (cp_tree_equal): Properly handle COMPLEX_CST trees. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122532 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-03-03 Manuel Lopez-Ibanez <manu@gcc.gnu.org>manu2007-03-032-0/+24
| | | | | | | | | | | | | | | | | | PR c++/15787 * parser.c (struct cp_parser): New IN_IF_STMT. (cp_parser_statement_seq_opt): Handle an unexpected 'else', returning if parsing the body of an 'if' statement or issuing an error and continuing. (cp_parser_selection_statement): Set IN_IF_STMT bit when parsing body of 'if'. (cp_parser_jump_statement): Mask new IN_IF_STMT bit. testsuite/ * g++.dg/parse/else.C: New. * g++.dg/parse/else-2.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122505 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/28266jason2007-01-291-0/+13
| | | | | | | | * gimplify.c (gimplify_target_expr): Make sure that the TARGET_EXPR is expanded only once even if an error occurs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121288 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-12-31 Simon Martin <simartin@users.sourceforge.net>simartin2006-12-311-0/+5
| | | | | | | | | PR c++/29731 * parser.c (cp_parser_primary_expression): Return error_mark_node when a statement-expression is found outside of a function body. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120299 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-12-09 Richard Guenther <rguenther@suse.de>rguenth2006-12-091-2/+2
| | | | | | | | | * g++.dg/warn/implicit-typename1.C: Qualify types. * g++.dg/parse/crash12.C: Likewise. * g++.dg/tree-ssa/pr22444.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119693 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/29980lmillward2006-12-072-2/+2
| | | | | | | | | | | | | * cp_parser_elaborated_type_specifier: Check the return value of check_elaborated_type_specifier. * g++.dg/ext/attrib27.C: New test. * g++.dg/parse/struct-as-enum1.C: Adjust error markers. * g++.dg/parse/typedef5.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119633 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/29730mmitchel2006-12-061-3/+0
| | | | | | | | | | | * parser.c (cp_parser_init_declarator): Reject initialization of functions. PR c++/29730 * g++.dg/template/crash64.C: New test. * g++.dg/parse/crash27.C: Adjust error markers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119601 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-10-30 Dirk Mueller <dmueller@suse.de>mueller2006-10-301-1/+1
| | | | | | | | | | | | | * g++.old-deja/g++.pt/eichin01a.C (main): Fix prototype. * g++.old-deja/g++.pt/eichin01b.C (main): Same. * g++.old-deja/g++.pt/eichin01.C (main): Same. * g++.old-deja/g++.mike/net25.C (main): Same. * g++.dg/lookup/exception1.C (main): Same. * g++.dg/parse/parens2.C (main): Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118204 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/28053lmillward2006-10-202-1/+35
| | | | | | | | | | | | * decl2.c (grokbitfield): Detect invalid non-integral types earlier when possible. * g++.dg/parse/bitfield1.C: Adjust error markers. * g++.dg/parse/bitfield2.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117910 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/28261mmitchel2006-10-171-0/+5
| | | | | | | | | | | | | | * parser.c (cp_lexer_next_token_is_decl_specifier_keyword): New function. (cp_parser_constructor_declarator_p): Use it. (cp_parser_check_type_definition): Return a value indicating whether or not the definition is valid. (cp_parser_enum_specifier): Skip invalid enum definitions. PR c++/28261 * g++.dg/parse/enum3.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117835 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/29408mmitchel2006-10-161-0/+6
| | | | | | | | | | * parser.c (cp_parser_using_declaration): Stop parsing when something goes wrong with an access declaration. PR c++/29408 * g++.dg/parse/dtor12.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117800 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/28211mmitchel2006-10-161-0/+5
| | | | | | | | | | | | | * parser.c (cp_parser_template_argument): Don't consider "&var" a possible constant-expression. * pt.c (convert_nontype_argument): Refine handling of arguments of pointer type. PR c++/28211 * g++.dg/tc1/dr49.C: Tweak error messages. * g++.dg/parse/template21.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117787 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.old-deja/g++.brendan/scope5.C: Changed "Class" to "Klasse".mrs2006-10-131-1/+1
| | | | | | | | | | | | | | | | | * g++.old-deja/g++.jason/hmc1.C: Likewise. * g++.old-deja/g++.jason/cleanup2.C: Likewise. * g++.old-deja/g++.law/shadow1.C: Likewise. * g++.old-deja/g++.law/ctors10.C: Likewise. * g++.dg/debug/namespace1.C: Likewise. * g++.dg/inherit/namespace-as-base.C: Likewise. * g++.dg/opt/delay-slot-1.C: Likewise. * g++.dg/parse/defarg10.C: Likewise. * g++.dg/template/ptrmem11.C: Likewise. * g++.dg/template/mem_func_ptr.C: Likewise. * g++.dg/template/spec19.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117702 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/28506mmitchel2006-10-131-0/+11
| | | | | | | | | | | * parser.c (function_declarator_p): New function. (cp_parser_init_declarator): Use it. (cp_parser_member_declaration): Likewise. PR c++/28506 * g++.dg/parse/pure1.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117687 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/27961lmillward2006-10-121-1/+0
| | | | | | | | | | | | | | | | | | * decl.c (start_decl): Return error_mark_node if a function is initialized like a variable. (check_var_type): If a variable of field is declared void, set the type to error_mark_node. (grokdeclarator): Check the return type of check_var_type. * class.c (finish_struct_1): Robustify. * g++.dg/template/crash60.C: New test. * g++.dg/other/large-size-array.C: Adjust error markers. * g++.dg/parse/crash27.C: Likewise. * g++.dg/template/crash1.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117671 138bc75d-0d04-0410-961f-82ee72b054a4
* add missing test for "typedef auto"lmillward2006-10-111-0/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117642 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/29024lmillward2006-10-111-0/+6
| | | | | | | | | | | | | | | | | | | | | * cp-tree (struct cp_decl_specifier_seq): Rename to conflicting_specifiers_p * parser.c (cp_parser_set_storage_class): Set conflicting_specifiers_p for the input decl specifier if a typedef specifier is present. Rename uses of multiple_specifiers_p to conflicting_specifiers_p. (cp_parser_decl_specifier_seq) <RID_TYPEDEF>: If a storage class specifier has already been set for this declaration, set conflicting_specifiers_p to true on the decl_specs. * decl.c (grokdeclarator): Rename uses of multiple_specifiers_p to conflicting_specifiers_p. * g++.dg/parse/typedef8.C: New test. * g++.dg/other/mult-stor1.C: Adjust error markers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117641 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/29291reichelt2006-10-031-0/+7
| | | | | | | | | * init.c (build_new): Check for invalid init. * g++.dg/parse/new4.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117393 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/29105mmitchel2006-10-021-1/+1
| | | | | | | | | | | | * pt.c (tsubst_baselink): Substituteinto the qualifying scope. * semantics.c (baselink_for_fns): Build a baselink, even when processing a template. PR c++/29105 * g++.dg/template/member6.C: New test. * g++.dg/parse/typename7.C: Adjust error markers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117361 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/27329lmillward2006-09-251-1/+1
| | | | | | | | | | | | | | | | | | | | | PR c++/26938 * cp-tree.h (redeclare_class_template): Adjust declaration to return bool instead of void. * pt.c (redeclare_class_template): Update definition. Return false on error. * decl.c (xref_tag): Return error_mark_node if redeclare_class_template returned false. * g++.dg/template/crash58.C: New test. * g++.dg/template/crash59.C: New test. * g++.dg/parse/crash28.C: Adjust error markers. * g++.dg/template/crash34.C: Likewise. * g++.dg/template/friend31.C: Likewise. * g++.dg/template/crash32.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117205 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/28861lmillward2006-09-211-1/+1
| | | | | | | | | | | | * decl.c (shadow_tag): Return error_mark_node if maybe_process_partial_specialization failed. * g++.dg/template/spec32.C: New test. * g++.dg/parse/crash9.C: Adjust error markers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117117 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/28858reichelt2006-09-082-1/+8
| | | | | | | | | | | | | | | | | * parser.c (cp_parser_skip_until_found): Rename to cp_parser_skip_to_end_of_template_parameter_list. Remove last two parameters. Track levels of '< ... >'. Stop at '{', '}', or ';'. Reorganize. Adjust comment. (cp_parser_template_declaration_after_export): Adjust call. (cp_parser_enclosed_template_argument_list): Likewise. * g++.dg/parse/template20.C: New test. * g++.dg/template/operator8.C: Remove obsolete part. * g++.dg/parse/def-tmpl-arg1.C: Adjust error-markers. * g++.old-deja/g++.pt/crash65.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116788 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/26571jason2006-09-061-0/+4
| | | | | | | | * parser.c (cp_parser_diagnose_invalid_type_name): Handle the case where the name is a type used incorrectly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116715 138bc75d-0d04-0410-961f-82ee72b054a4
* cp/nathan2006-09-041-15/+0
| | | | | | | | | | | | PR 23287 Revert my 2006-09-01 patch. * parser.c: Reverted. * pt.c: Reverted. testsuite/ PR c++/23287 Revert my 2006-09-01 patch * g++.dg/parse/dtor12.C: Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116679 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/28878jakub2006-09-021-0/+8
| | | | | | | | | | * except.c (build_throw): Only set current_function_returns_abnormally if cfun is not NULL. * g++.dg/parse/crash33.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116655 138bc75d-0d04-0410-961f-82ee72b054a4
* cp/nathan2006-09-011-0/+15
| | | | | | | | | | | | | | | | | | PR c++/23287 * parser.c (cp_parser_id_expression): Add member_p argument. Update all callers. (cp_parser_unqualified_id): Likewise. Lookup a destructor name in the object's scope, if valid. (cp_parser_global_scope_opt): Add object_scope_valid_p. Update callers. (cp_parser_postfix_dot_deref_expression): Set object_scope. * pt.c (tsubst_copy_and_build): Lookup dependent dtor name here. testsuite/ PR c++/23287 * g++.dg/parse/dtor12.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116623 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/28056mmitchel2006-08-251-0/+18
| | | | | | | | | | * decl.c (grokdeclarator): Disallow declarations with qualified names in local scopes. PR c++/28056 * g++.dg/parse/local1.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116410 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/28505lmillward2006-08-212-0/+24
| | | | | | | | | | | | * decl.c (grokdeclarator): Return early after issuing diagnostic about an incomplete type. * g++.dg/parse/ctor7.C: New test. * g++.dg/parse/ctor8.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116302 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c/28744jakub2006-08-172-0/+86
| | | | | | | | | | | | | | | | | | | | | | * cgraph.h (struct cgraph_node): Remove externally_visible bitfield. * cgraphunit.c (process_function_and_variable_attributes): Set local.externally_visible rather than externally_visible. PR c/28744 * c-common.c (handle_externally_visible_attribute): First look at TREE_CODE and only if it is function or var decl, check for non-public objects. Don't warn for DECL_EXTERNAL. * cgraphunit.c (process_function_and_variable_attributes): Warn if externally_visible attribute is used on non-public object. * gcc.dg/attr-externally-visible-1.c: New test. * gcc.dg/attr-externally-visible-2.c: New test. * g++.dg/parse/attr-externally-visible-1.C: New test. * g++.dg/parse/attr-externally-visible-2.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116222 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/28606reichelt2006-08-171-0/+12
| | | | | | | | | | | | | * parser.c (cp_parser_diagnose_invalid_type_name): Handle BIT_NOT_EXPR. Fix formatting. (cp_parser_parse_and_diagnose_invalid_type_name): Tighten condition for valid type-names. (cp_parser_unqualified_id): Fix error handling for destructors. * g++.dg/parse/dtor11.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116217 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-08-17 Paolo Bonzini <bonzini@gnu.org>bonzini2006-08-172-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | PR c++/28573 * c-common.c (fold_offsetof_1): Add an argument and recurse down to it or the INTEGER_CST. Fail on a CALL_EXPR. (fold_offsetof): Pass new argument to fold_offsetof_1. * c-parser.c (c_parser_postfix_expression): Don't include a NULL operand into an INDIRECT_REF. * c-typeck.c (build_unary_op): Adjust call to fold_offsetof. cp: 2006-08-17 Paolo Bonzini <bonzini@gnu.org> PR c++/28573 * semantics.c (finish_offsetof): Add new argument to fold_offsetof. testsuite: 2006-08-17 Paolo Bonzini <bonzini@gnu.org> PR c++/28573 * g++.dg/parse/offsetof6.C: New test. * g++.dg/parse/offsetof7.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116208 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/28593reichelt2006-08-161-0/+4
| | | | | | | | | * init.c (build_new): Return early on invalid placement. * g++.dg/parse/new3.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116191 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/27508reichelt2006-08-032-0/+14
| | | | | | | | | | | | * parser.c (cp_parser_unqualified_id): Check for invalid scopes when parsing destructor names. * g++.dg/parse/dtor9.C: New test. * g++.dg/parse/dtor10.C: New test. * g++.dg/other/error7.C: Adjust error-marker. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115896 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/6634reichelt2006-07-311-0/+4
| | | | | | | | | | * decl.c (grokdeclarator): Check whether "long" or "short" was specified for non-integral types. * g++.dg/parse/long1.C: Add more tests. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115843 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/28249reichelt2006-07-151-0/+8
| | | | | | | | | | | | * parser.c (cp_parser_check_decl_spec): New function. (cp_parser_decl_specifier_seq): Factor out check for repeated decl-specifiers into cp_parser_check_decl_spec. Use it. (cp_parser_type_specifier_seq) Use it. * g++.dg/parse/catch1.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115469 138bc75d-0d04-0410-961f-82ee72b054a4
* fix line #sjason2006-07-021-3/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115125 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/18698jason2006-06-301-0/+13
| | | | | | | | * decl2.c (grokfield): Only try to treat the decl as an access declaration if the scope is a class. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115095 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud