summaryrefslogtreecommitdiffstats
path: root/gcc/testsuite/g++.dg/parse
Commit message (Collapse)AuthorAgeFilesLines
...
* gcc/froydnj2010-12-071-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR c++/45330 * params.def (CXX_MAX_NAMESPACES_FOR_DIAGNOSTIC_HELP): New parameter. * doc/invoke.texi (cxx-max-namespaces-for-diagnostic-help): Document. gcc/cp/ PR c++/45330 * cp-tree.h (suggest_alternatives_for, location_of): Declare. * error.c (dump_expr): Handle TYPE_DECL. (location_of): Unstaticize. * name-lookup.c (suggest_alternatives_for): New function. * lex.c (unqualified_name_lookup_error): Call it. gcc/testsuite/ PR c++/45330 * g++.dg/pr45330.C: New test. * g++.dg/ext/builtin3.C: Adjust. * g++.dg/lookup/error1.C: Adjust. * g++.dg/lookup/koenig5.C: Adjust. * g++.dg/overload/koenig1.C: Adjust. * g++.dg/parse/decl-specifier-1.C: Adjust. * g++.dg/template/static10.C: Adjust. * g++.old-deja/g++.mike/ns5.C: Adjust. * g++.old-deja/g++.mike/ns7.C: Adjust. * g++.old-deja/g++.ns/koenig5.C: Adjust. * g++.old-deja/g++.ns/koenig9.C: Adjust. * g++.old-deja/g++.other/lineno5.C: Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167536 138bc75d-0d04-0410-961f-82ee72b054a4
* revert accidentally committed changesfroydnj2010-11-241-1/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167130 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/froydnj2010-11-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | * cppbuiltin.c (define_builtin_macros_for_type_sizes): Define __FLOAT_WORD_ORDER__ according to FLOAT_WORDS_BIG_ENDIAN. * config/dfp-bit.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete. * doc/cpp.texi (__FLOAT_WORD_ORDER__): Document. * system.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Poison. libgcc/ * config/libbid/bid_conf.h (BID_BIG_ENDIAN): Define in terms of __FLOAT_WORD_ORDER__. * config/libbid/bid_gcc_intrinsics.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete. libdecnumber/ * dconfig.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete. (WORDS_BIG_ENDIAN): Define based on value of __FLOAT_WORD_ORDER__. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167129 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/c-family/froydnj2010-11-204-8/+218
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR c++/16189 PR c++/36888 PR c++/45331 * c-common.h (keyword_begins_type_specifier): Declare. (keyword_is_storage_class_specifier): Declare. (keyword_is_type_qualifier): Declare. * c-common.c (keyword_begins_type_specifier): New function. (keyword_is_storage_class_specifier): New function. (keyword_is_type_qualifier): Declare. gcc/cp/ PR c++/16189 PR c++/36888 PR c++/45331 * parser.c (cp_lexer_set_token_position): New function. (cp_lexer_previous_token_position): New function. (cp_lexer_previous_token): Call it. (cp_parser_class_specifier): Try to gracefully handle a missing semicolon. gcc/testsuite/ PR c++/16189 PR c++/36888 PR c++/45331 * g++.dg/parse/semicolon3.C: New test. * g++.dg/debug/pr22514.C: Adjust. * g++.dg/init/error1.C: Adjust. * g++.dg/other/bitfield3.C: Adjust. * g++.dg/other/semicolon.C: Adjust. * g++.dg/parse/error14.C: Adjust. * g++.dg/parse/error5.C: Adjust. * g++.dg/parse/parameter-declaration-1.C: Adjust. * g++.dg/template/pr23510.C: Adjust. * g++.dg/template/pr39425.C: Adjust. * g++.old-deja/g++.robertl/eb125.C: Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166977 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/cp/froydnj2010-11-062-3/+12
| | | | | | | | | | | | | | | | | | | PR c++/45332 * parser.c (cp_lexer_previous_token): New function. (cp_parser_member_declaration): Use previous token for error messages. Assume semicolon presence rather than grovelling for the next one. gcc/testsuite/ PR c++/45332 * g++.dg/parse/semicolon2.C: New testcase. * g++.dg/ext/asmspec1.C: Adjust. * g++.dg/init/new13.C: Adjust. * g++.dg/parse/ctor5.C: Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166406 138bc75d-0d04-0410-961f-82ee72b054a4
* * semantics.c (cxx_eval_constant_expression): Explainjason2010-11-021-1/+1
| | | | | | unacceptable use of variable better. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166168 138bc75d-0d04-0410-961f-82ee72b054a4
* * call.c (null_ptr_cst_p): Use maybe_constant_value.jason2010-11-022-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (set_up_extended_ref_temp): Support constant initialization. (initialize_reference): Adjust. * class.c (check_bitfield_decl): Use cxx_constant_value. * cvt.c (ocp_convert): Don't use integral_constant_value when converting to class type. * decl.c (finish_case_label): Use maybe_constant_value. (build_init_list_var_init): Support constant initialization. (check_initializer): Likewise. Reorganize. (cp_finish_decl): Likewise. (expand_static_init): Likewise. (compute_array_index_type): Use maybe_constant_value. Add complain parm. (create_array_type_for_decl, grokdeclarator): Pass it. (build_enumerator): Use cxx_constant_value. * decl2.c (grokfield): Use maybe_constant_init. * except.c (check_noexcept_r): Handle constexpr. (build_noexcept_spec): Use maybe_constant_value. * init.c (expand_default_init): Support constant initialization. (build_vec_init): Likewise. (constant_value_1): Adjust. (build_new_1): Adjust. * parser.c (cp_parser_constant_expression): Allow non-integral in C++0x mode. (cp_parser_direct_declarator): Don't fold yet in C++0x mode. (cp_parser_initializer_clause): Toss folded result if non-constant. * pt.c (fold_decl_constant_value): Remove. (convert_nontype_argument): Use maybe_constant_value. Give clearer error about overflow. (tsubst): Move array bounds handling into compute_array_index_type. (value_dependent_expression_p): Handle constant CALL_EXPR. * semantics.c (finish_static_assert): Use maybe_constant_value. (ensure_literal_type_for_constexpr_object): Make sure type is complete. (potential_constant_expression): Use maybe_constant_value. * tree.c (cast_valid_in_integral_constant_expression_p): Any cast is potentially valid in C++0x. * typeck2.c (store_init_value): Handle constant init. (check_narrowing): Use maybe_constant_value. (build_functional_cast): Set TREE_CONSTANT on literal T(). * cp-tree.h (DECL_INTEGRAL_CONSTANT_VAR_P): Remove. (LOOKUP_ALREADY_DIGESTED): New. (compute_array_index_type): Adjust prototype. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166167 138bc75d-0d04-0410-961f-82ee72b054a4
* Implement opaque-enum-specifiers for C++0x.jason2010-10-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ * tree.h (ENUM_IS_OPAQUE): New. * dwarf2out.c (gen_enumeration_type_die): Use ENUM_IS_OPAQUE. gcc/cp/ * cp-tree.h (SET_OPAQUE_ENUM_P): New. (OPAQUE_ENUM_P): New. (ENUM_FIXED_UNDERLYING_TYPE_P): New. (start_enum): Update prototype. (finish_enum_value_list): New prototype. * parser.c (cp_parser_elaborated_type_specifier): Issue a pedwarn if "enum class" is used in an elaborated-type-specifier. (cp_parser_enum_specifier): Rewrite to parse opaque-enum-specifiers. * decl.c (copy_type_enum): New. (finish_enum_value_list): New, with code from finish_enum. (finish_enum): A lot of code removed. Added a gcc_assert. (start_enum): Add parameters enumtype and is_new. Rewrite to work with opaque-enum-specifiers. * pt.c (maybe_process_partial_specialization): Allow for template specialization of enumerations, with a pedwarn. (lookup_template_class): Update call to start_enum. Call to SET_OPAQUE_ENUM_P. (tsubst_enum): Call to begin_scope, finish_scope and finish_enum_value_list. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165935 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2010-10-211-0/+10
| | | | | | | | | | | | | | | | | 2010-10-21 Paolo Carlini <paolo.carlini@oracle.com> PR c++/46117 * call.c (add_function_candidate): Don't use TREE_VALUE on null parmnode. /testsuite 2010-10-21 Paolo Carlini <paolo.carlini@oracle.com> PR c++/46117 * g++.dg/parse/crash57.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165794 138bc75d-0d04-0410-961f-82ee72b054a4
* * semantics.c (finish_id_expression): Diagnose use of functionjason2010-09-151-0/+1
| | | | | | parms in evaluated context outside function body. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164322 138bc75d-0d04-0410-961f-82ee72b054a4
* Replace assemble by compile.charlet2010-09-061-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163922 138bc75d-0d04-0410-961f-82ee72b054a4
* testsuite/charlet2010-09-061-0/+7
| | | | | | | | | | | * g++.dg/parse/redef2.C: New. cp/ * parser.c (make_pointer_declarator, make_reference_declarator, make_call_declarator, make_array_declarator): Set declarator->id_loc. (cp_parser_init_declarator): Adjust location of decl if appropriate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163920 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/44991jason2010-08-291-0/+5
| | | | | | | * parser.c (cp_parser_parameter_declaration): Pop parameter decls after tentative parsing. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163629 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/44909jason2010-07-131-1/+1
| | | | | | | | | | | | | * cp-tree.h (struct lang_type_class): Add has_user_opeq. (TYPE_HAS_USER_OPEQ): New. * decl.c (grok_special_member_properties): Set it. * class.c (add_implicitly_declared_members): Don't lazily declare constructors/operator= if a base or member has a user-declared one. (check_bases_and_members, check_bases): Adjust. (check_field_decls, check_field_decl): Adjust. * method.c (synthesized_method_walk): Initialize check_vdtor. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162159 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/cp/pzhao2010-07-051-0/+14
| | | | | | | | | | | | | | | | | | 2010-07-05 Shujing Zhao <pearly.zhao@oracle.com> PR c++/22138 * parser.c (cp_parser_primary_expression): Error if local template is declared. gcc/testsuite/ 2010-07-05 Shujing Zhao <pearly.zhao@oracle.com> PR c++/22138 * g++.dg/parse/template25.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161818 138bc75d-0d04-0410-961f-82ee72b054a4
* Enable implicitly declared move constructor/operator= (N3053).jason2010-06-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | gcc/cp/ * class.c (add_implicitly_declared_members): A class with no explicitly declared copy or move constructor gets both declared implicitly, and similarly for operator=. (check_bases): A type with no copy ctor does not inhibit a const copy ctor in a derived class. (check_field_decl): Likewise. (check_bases_and_members): A nonexistent copy ctor/op= is non-trivial. * tree.c (type_has_nontrivial_copy_init): Adjust semantics. (trivially_copyable_p): Likewise. * call.c (convert_like_real): Use type_has_nontrivial_copy_init. * class.c (finish_struct_bits): Likewise. * tree.c (build_target_expr_with_type): Likewise. * typeck2.c (store_init_value): Likewise. libstdc++-v3/ * include/bits/unordered_map.h: Explicitly default copy constructors. * include/bits/unordered_set.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161582 138bc75d-0d04-0410-961f-82ee72b054a4
* PR middle-end/44100ebotcazou2010-05-241-3/+4
| | | | | | | * typeck.c (cp_build_unary_op): Fold offsetof-like computations. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159800 138bc75d-0d04-0410-961f-82ee72b054a4
* * typeck.c (merge_types): Preserve memfn quals.jason2010-05-191-0/+7
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159598 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/20669jason2010-05-122-3/+3
| | | | | | | | | | | * call.c (add_template_candidate_real): If deduction fails, still add the template as a non-viable candidate. (equal_functions): Handle template candidates. (print_z_candidate): Likewise. (print_z_candidates): Likewise. (build_new_function_call): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159335 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/9335jason2010-04-211-1/+1
| | | | | | | | | | | | | gcc/cp: * init.c (constant_value_1): Treat error_mark_node as a constant if DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P is set. * cvt.c (ocp_convert): Handle getting error_mark_node from integral_constant_value. * decl.c (compute_array_index_type): Likewise. gcc/testsuite: * lib/prune.exp: Prune "skipping N instantiation contexts". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158586 138bc75d-0d04-0410-961f-82ee72b054a4
* * parser.c (cp_parser_class_specifier): Set class location to thatjason2010-04-066-10/+10
| | | | | | | | of IDENTIFIER_NODE instead of '{' when possible. * semantics.c (begin_class_definition): Do not overide locations with less precise ones. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158030 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/41185jason2010-03-302-1/+8
| | | | | | | | | PR c++/41786 * parser.c (cp_parser_direct_declarator): Don't allow VLAs in function parameter context. Don't print an error if parsing tentatively. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157838 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/cp/simartin2010-03-201-0/+17
| | | | | | | | | | | | | | | | | | | 2010-03-20 Simon Martin <simartin@users.sourceforge.net> PR c++/43081: * decl2.c (grokfield): Handle invalid initializers for member functions. gcc/testsuite/ 2010-03-20 Simon Martin <simartin@users.sourceforge.net> Michael Matz <matz@suse.de> PR c++/43081 * g++.dg/parse/crash56.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157597 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/cp/simartin2010-02-271-0/+5
| | | | | | | | | | | | | | | | | | 2010-02-27 Simon Martin <simartin@users.sourceforge.net> PR c++/42054 * pt.c (redeclare_class_template): Return false if there are erroneous template parameters. gcc/testsuite/ 2010-02-27 Simon Martin <simartin@users.sourceforge.net> PR c++/42054: * g++.dg/parse/error37.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157112 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-02-22 Manuel López-Ibáñez <manu@gcc.gnu.org>manu2010-02-222-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | PR c++/43126 * c-typeck.c (convert_arguments): Print declaration location. * c-common.c (validate_nargs): Rename as builtin_function_validate_nargs. (check_builtin_function_arguments): Update. cp/ * typeck.c (convert_arguments): Update error message. testsuite/ * gcc.dg/cleanup-1.c: Update. * gcc.dg/func-args-1.c: Update. * gcc.dg/format/sentinel-1.c: Update. * g++.old-deja/g++.jason/scoping10.C: Update. * g++.old-deja/g++.ns/lookup5.C: Update. * g++.dg/ext/cleanup-1.C: Update. * g++.dg/parse/varmod1.C: Update. * g++.dg/parse/error33.C: Update. * g++.dg/expr/call3.C: Update. * g++.dg/func-args-1.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156979 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/43109jason2010-02-181-0/+7
| | | | | | * semantics.c (begin_class_definition): Don't crash on unnamed ns. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156864 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/43069jason2010-02-171-0/+7
| | | | | | | * name-lookup.c (set_decl_namespace): Don't copy DECL_CONTEXT if the decl we looked up doesn't match. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156841 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2010-01-201-0/+8
| | | | | | | | | | | | | | | | | 2010-01-20 Paolo Carlini <paolo.carlini@oracle.com> PR c++/42038 * except.c (expand_start_catch_block): Deal correctly with do_begin_catch returning error_mark_node. /testsuite 2010-01-20 Paolo Carlini <paolo.carlini@oracle.com> PR c++/42038 * g++.dg/parse/crash55.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156094 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.dg/parse/fn-typedef1.C: Add dg-do run.jason2010-01-201-0/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156089 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/40750jason2010-01-201-0/+18
| | | | | | | | * decl.c (grokdeclarator): Clear type_quals for a member function declared using a typedef. Don't complain about adding cv-quals to a function typedef in C++0x mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156084 138bc75d-0d04-0410-961f-82ee72b054a4
* PR middle-end/42803jakub2010-01-201-0/+37
| | | | | | | | | | | | | | * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE argument, call initializer_constant_valid_p_1 instead of initializer_constant_valid_p, pass CACHE to it, return NULL immediately if first call returns NULL. (initializer_constant_valid_p_1): New function. (initializer_constant_valid_p): Use it. * g++.dg/parse/limits-initializer1.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156069 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-12-15 Paolo Bonzini <bonzini@gnu.org>bonzini2009-12-152-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Shujing Zhao <pearly.zhao@oracle.com> * intl.c (get_spaces): New. * intl.h (get_spaces): New. cp: 2009-12-15 Paolo Bonzini <bonzini@gnu.org> Shujing Zhao <pearly.zhao@oracle.com> * Makefile.in (cp/pt.o): Depend on intl.h * call.c (print_z_candidates): Make loop more compact, choose head string depending on number of candidates, extract creation of spaces string to intl.c. * pt.c (print_overloaded_functions): Replace with... (print_candidates_1): ... this rewrite. (print_candidates): Rewrite to call print_candidates_1. (most_specialized_class): Make loop more compact, choose head string depending on number of candidates, and size indents depending on translations. testsuite: 2009-12-15 Shujing Zhao <pearly.zhao@oracle.com> * g++.dg/other/error20.C: Adjust dg-message strings. * g++.dg/other/error31.C: Likewise. * g++.dg/rtti/typeid6.C: Likewise. * g++.dg/ext/ms-1.C: Likewise. * g++.dg/parse/error19.C: Likewise. * g++.dg/parse/crash5.C: Likewise. * g++.dg/cpp0x/explicit4.C: Likewise. * g++.dg/template/ptrmem4.C: Likewise. * g++.dg/template/crash37.C: Likewise. * g++.dg/template/qualttp5.C: Likewise. * g++.dg/template/local6.C: Likewise. * g++.dg/template/instantiate5.C: Likewise. * g++.old-deja/g++.brendan/overload1.C: Likewise. * g++.old-deja/g++.brendan/cvt3.C: Likewise. * g++.old-deja/g++.brendan/overload4.C: Likewise. * g++.old-deja/g++.jason/conversion11.C: Likewise. * g++.old-deja/g++.jason/scoping10.C: Likewise. * g++.old-deja/g++.other/expr1.C: Likewise. * g++.old-deja/g++.other/pmf3.C: Likewise. * g++.old-deja/g++.other/crash24.C: Likewise. * g++.old-deja/g++.niklas/t120.C: Likewise. * g++.old-deja/g++.niklas/t121.C: Likewise. * g++.old-deja/g++.law/operators9.C: Likewise. * g++.old-deja/g++.law/arm9.C: Likewise. * g++.old-deja/g++.law/enum4.C: Likewise. * g++.old-deja/g++.law/arg11.C: Likewise. * g++.old-deja/g++.benjamin/15800-1.C: Likewise. * g++.old-deja/g++.mike/p2431.C: Likewise. * g++.old-deja/g++.mike/p438.C: Likewise. * g++.old-deja/g++.mike/p9068.C: Likewise. * g++.old-deja/g++.mike/p11110.C: Likewise. * g++.old-deja/g++.bugs/900330_02.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155245 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-12-01 Paolo Carlini <paolo.carlini@oracle.com>paolo2009-12-011-0/+15
| | | | | | | | PR c++/42057 * g++.dg/parse/crash54.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154865 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2009-11-272-4/+15
| | | | | | | | | | | | | | | | | | | | | | 2009-11-27 Paolo Carlini <paolo.carlini@oracle.com> PR c++/35112 * pt.c (print_overloaded_functions): New. (print_candidates): Call the latter. * parser.c (cp_parser_class_name): Do not duplicate the diagnostics after the cp_parser_lookup_name call. /testsuite 2009-11-27 Paolo Carlini <paolo.carlini@oracle.com> PR c++/35112 * g++.dg/parse/crash53.C: New. * g++.dg/parse/error17.C: Adjust, error messages are not duplicated anymore. * g++.dg/template/dtor7.C: Remove xfail-ed dg-bogus directives. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154698 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/11987jason2009-11-131-0/+16
| | | | | | | | | | * parser.c (cp_parser_direct_declarator): Give helpful error about trying to define member of a dependent typedef. * pt.c (resolve_typename_type): Don't resolve a typedef typename. * tree.c (typedef_variant_p): New. * cp-tree.h: Declare it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154149 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/18451jason2009-11-086-14/+28
| | | | | | | | | | | | | | | | | | | PR c++/40738 * cp-tree.h (cp_decl_specifier_seq): Add any_type_specifiers_p. * parser.c (cp_parser_single_declaration): Call cp_parser_parse_and_diagnose_invalid_type_name here, too. (cp_parser_parameter_declaration): And here. (cp_parser_parse_and_diagnose_invalid_type_name): Be less picky about declarator form. Don't skip to the end of the block if we're in a declarator. (cp_parser_decl_specifier_seq): Set any_type_specifiers_p. (cp_parser_simple_declaration): Check it. (cp_parser_member_declaration): Likewise. (cp_parser_diagnose_invalid_type_name): Tweak error message. (cp_parser_expression_statement): Likewise. * decl2.c (grokfield): Mention decltype instead of typeof. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154006 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/15946jason2009-11-061-0/+17
| | | | | | | | | | | | | | | * parser.c (cp_parser_check_template_parameters): Don't talk about specialization at function scope. (cp_parser_diagnose_invalid_type_name): Handle dependent scope. (cp_parser_parse_and_diagnose_invalid_type_name): Likewise. (cp_parser_expression_statement): Suggest typename. * error.c (dump_decl) [SCOPE_REF]: Print the type here. (dump_expr) [SCOPE_REF]: Call it. (dump_type) [UNBOUND_CLASS_TEMPLATE]: Check TFF_UNQUALIFIED_NAME. * cxx-pretty-print.c (pp_cxx_unqualified_id): Print class template args. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153978 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/41876jason2009-11-031-0/+8
| | | | | | | | | * parser.c (cp_parser_type_specifier_seq): Rename is_condition to is_declaration. (cp_parser_exception_declaration): Pass true. (cp_parser_omp_for_loop): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153864 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.dg/ipa/iinline-1.C: Use dg-add-options bind_pic_locally.ghazi2009-10-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | * g++.dg/other/first-global.C: Likewise. * g++.dg/parse/attr-externally-visible-1.C: Likewise. * g++.dg/torture/pr40323.C: Likewise. * g++.dg/tree-ssa/nothrow-1.C: Likewise. * gcc.dg/inline-33.c: Likewise. * gcc.dg/ipa/ipa-1.c: Likewise. * gcc.dg/ipa/ipa-2.c: Likewise. * gcc.dg/ipa/ipa-3.c: Likewise. * gcc.dg/ipa/ipa-4.c: Likewise. * gcc.dg/ipa/ipa-5.c: Likewise. * gcc.dg/ipa/ipa-7.c: Likewise. * gcc.dg/ipa/ipacost-2.c: Likewise. * gcc.dg/tree-ssa/inline-3.c: Likewise. * gcc.dg/tree-ssa/local-pure-const.c: Likewise. * gfortran.dg/whole_file_5.f90: Likewise. * gfortran.dg/whole_file_6.f90: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152911 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/41127jason2009-08-311-0/+17
| | | | | | | * parser.c (cp_parser_enum_specifier): Make sure the : is followed by a type-specifier-seq before we commit. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151246 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-08-04 Manuel López-Ibáñez <manu@gcc.gnu.org>manu2009-08-042-0/+34
| | | | | | | | | | | | | PR c++/16696 cp/ * call.c (build_new_op): Only try prefix operator if -fpermissive, otherwise just error. testsuite/ * g++.dg/parse/pr16696.C: New. * g++.dg/parse/pr16696-permissive.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150461 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-07-13 Andrew Pinski <andrew_pinski@playstation.sony.com>pinskia2009-07-134-5/+7
| | | | | | | | | | | | | | | | | | | | PR C++/22154 * parser.c (cp_parser_elaborated_type_specifier): Accept typename in front of qualified names. 2009-07-13 Andrew Pinski <andrew_pinski@playstation.sony.com> PR C++/22154 * g++.old-deja/g++.pt/typename10.C: Update for DR 382, typename in front of qualified names are allowed. * g++.dg/parse/crash10.C: Likewise. * g++.dg/parse/error15.C: Likewise. * g++.dg/parse/typename9.C: Likewise. * g++.dg/parse/error8.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149590 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/40566jakub2009-06-301-0/+10
| | | | | | | | | | * convert.c (convert_to_integer) <case COND_EXPR>: Don't convert to type arguments that have void type. * g++.dg/parse/cond5.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149121 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-05-04 Manuel Lopez-Ibanez <manu@gcc.gnu.org>manu2009-05-042-0/+26
| | | | | | | | | | | | | | | | PR c++/28152 cp/ * parser.c (cp_lexer_get_preprocessor_token): Do not store the canonical spelling for keywords. (cp_parser_attribute_list): Use the canonical spelling for keywords in attributes. testsuite/ * g++.dg/parse/parser-pr28152.C: New. * g++.dg/parse/parser-pr28152-2.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147097 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org>manu2009-04-223-1/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | PR c++/14875 * c-common.c (c_parse_error): Take a token_flags parameter. Use token_type for the token type instead. Pass token_flags to cpp_type2name. * c-common.h (c_parse_error): Update declaration. * c-parser.c (c_parser_error): Pass 0 as token flags. libcpp/ * lex.c (cpp_type2name): Take a flags parameter. Call cpp_named_operator2name for named operators and cpp_digraph2name for digraphs. (cpp_digraph2name): New. (cpp_spell_token): Use it. (cpp_output_token): Likewise. * include/cpplib.h (cpp_type2name): Update declaration. * init.c (cpp_named_operator2name): New. * internal.h (cpp_named_operator2name): Declare. cp/ * parser.c (cp_parser_error): Pass token->flags to c_parse_error. testsuite/ * g++.dg/parse/parser-pr14875.C: New. * g++.dg/parse/parser-pr14875-2.C: New. * g++.dg/parse/error6.C: Update match string. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146589 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/cp/hjl2009-04-102-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | 2009-04-10 Jason Merrill <jason@redhat.com> PR c++/28301 * parser.c (cp_parser_skip_to_end_of_block_or_statement): Return if we see a close brace without an open brace. gcc/testsuite/ 2009-04-10 H.J. Lu <hongjiu.lu@intel.com> PR c++/28301 * g++.dg/cpp0x/enum2.C: Updated. * g++.dg/debug/pr22514.C: Likewise. * g++.dg/parse/enum2.C: Likewise. * g++.dg/parse/enum3.C: Likewise. * g++.dg/template/crash79.C: Likewise. * g++.old-deja/g++.jason/cond.C: Likewise. * g++.dg/template/pr28301.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145936 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>manu2009-04-101-0/+9
| | | | | | | | | | | | | | | | | | | | PR c++/20118 cp/ * parser.c (cp_parser_check_template_parameters): Take a cp_declarator parameter. (cp_parser_elaborated_type_specifier): Update to cp_parser_check_template_parameters. (cp_parser_class_head): Likewise. (cp_parser_check_declarator_template_parameters): Likewise. (cp_parser_check_template_parameters): Handle first the non-error conditions. Give more accurate diagnostics if a declarator is given. testsuite/ * g++.dg/parse/pr20118.C: New. * g++.dg/template/spec16.C: Update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145892 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/cp/hjl2009-03-271-0/+7
| | | | | | | | | | | | | | | | | | 2009-03-27 Simon Martin <simartin@users.sourceforge.net> PR c++/37647 * decl.c (grokdeclarator): Reject [con|de]stuctors in a non-class scope. gcc/testsuite/ 2009-03-27 Simon Martin <simartin@users.sourceforge.net> PR c++/37647 * g++.dg/parse/ctor9.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145105 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/28274jason2009-03-241-0/+6
| | | | | | | * name-lookup.c (pushdecl_maybe_friend): Check default args later. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145042 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/cp/hjl2009-03-082-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | 2009-03-08 H.J. Lu <hongjiu.lu@intel.com> PR c++/39060 * parser.c (cp_parser_late_parsing_default_args): Continue the loop when cp_parser_assignment_expression returns error_mark_node. gcc/testsuite/ 2009-03-08 H.J. Lu <hongjiu.lu@intel.com> PR c++/39060 * g++.dg/other/new1.C: Adjusted. * g++.dg/parse/crash40.C: Likewise. * g++.dg/parse/defarg12.C: Likewise. * g++.dg/template/error15.C: Likewise. * g++.dg/other/pr39060.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144710 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud