summaryrefslogtreecommitdiff
path: root/gcc/cp/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cp/ChangeLog')
-rw-r--r--gcc/cp/ChangeLog82
1 files changed, 82 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 3555be4c22f..2d69a3feb21 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,85 @@
+2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/39681
+ * parser.c (cp_parser_new_type_id): Early return error_mark_node
+ if the cp_parser_type_specifier_seq call has type_specifier_seq.type
+ error_mark_node; tidy.
+ (cp_parser_new_expression): Always initialize nelts to NULL_TREE to
+ avoid uninitialized warnings.
+ (cp_parser_init_declarator, cp_parser_late_parse_one_default_arg):
+ Call cp_parser_skip_to_end_of_statement if cp_parser_initializer
+ returns error_mark_node.
+
+2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53371
+ * except.c (is_admissible_throw_operand): Rename to
+ is_admissible_throw_operand_or_catch_parameter and handle
+ catch parameter too.
+ (expand_start_catch_block): Use it.
+ (build_throw): Adjust.
+
+2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/44516
+ * typeck.c (build_x_array_ref, build_x_conditional_expr,
+ build_x_compound_expr, build_x_modify_expr): Add location_t parameter.
+ (finish_class_member_access_expr, build_x_indirect_ref,
+ build_x_binary_op, build_x_compound_expr_from_list,
+ build_x_compound_expr_from_vec): Adjust callers.
+ * tree.c (build_min_nt_loc): New.
+ (build_min_nt): Remove.
+ * typeck2.c (build_x_arrow): Adjust callers.
+ * pt.c (tsubst_qualified_id, tsubst_omp_for_iterator,
+ tsubst_copy_and_build): Likewise.
+ * semantics.c (finish_mem_initializers, handle_omp_for_class_iterator,
+ finish_omp_atomic): Likewise.
+ * decl2.c (grok_array_decl, build_anon_union_vars): Adjust.
+ * parser.c (cp_parser_question_colon_clause,
+ cp_parser_assignment_expression, cp_parser_expression,
+ cp_parser_template_id, cp_parser_omp_for_loop): Likewise.
+ * cp-tree.h: Update.
+
+2012-05-16 Dodji Seketeli <dodji@redhat.com>
+
+ PR preprocessor/7263
+ * cp-tree.h (enum cp_decl_spec): Add new enumerators to cover all
+ the possible declarator specifiers so far.
+ (struct cp_decl_specifier_seq::locations): Declare new member.
+ (cp_decl_specifier_seq::{specs, type_location}): Remove.
+ (decl_spec_seq_has_spec_p): Declare new function.
+ * parser.c (cp_parser_check_decl_spec): Remove.
+ (set_and_check_decl_spec_loc): Define new static function.
+ (decl_spec_seq_has_spec_p): Define new public function.
+ (cp_parser_decl_specifier_seq, cp_parser_function_specifier_opt)
+ (cp_parser_type_specifier, cp_parser_simple_type_specifier)
+ (cp_parser_set_storage_class, cp_parser_set_decl_spec_type)
+ (cp_parser_alias_declaration): Set the locations for each
+ declspec, using set_and_check_decl_spec_loc.
+ (cp_parser_explicit_instantiation, cp_parser_init_declarator)
+ (cp_parser_member_declaration, cp_parser_init_declarator): Use the
+ new declspec location for specifiers. Use the new
+ decl_spec_seq_has_spec_p.
+ (cp_parser_type_specifier_seq): Use the new
+ set_and_check_decl_spec_loc. Stop using
+ cp_parser_check_decl_spec. Use the new decl_spec_seq_has_spec_p.
+ (, cp_parser_init_declarator): Use the new
+ set_and_check_decl_spec_loc.
+ (cp_parser_single_declaration, cp_parser_friend_p)
+ (cp_parser_objc_class_ivars, cp_parser_objc_struct_declaration):
+ Use the new decl_spec_seq_has_spec_p.
+ * decl.c (check_tag_decl): Use new decl_spec_seq_has_spec_p. Use
+ the more precise ds_redefined_builtin_type_spec location for
+ diagnostics about re-declaring C++ built-in types.
+ (start_decl, grokvardecl, grokdeclarator): Use the new
+ decl_spec_seq_has_spec_p.
+
+2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/11856
+ * pt.c (tsubst_copy_and_build): Increase / decrease
+ c_inhibit_evaluation_warnings around build_x_binary_op call.
+
2012-05-12 Paolo Carlini <paolo.carlini@oracle.com>
* cp-tree.h (TYPE_PTRMEM_P): Rename to TYPE_PTRDATAMEM_P.