aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.6/gcc/cp/ChangeLog.annotalysis
blob: 68c41d8ff5b1652bdf2c2d4cf0517ebf0d5118b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
2011-03-22  Le-Chun Wu  <lcwu@google.com>

	* Make-lang.in: Add new includes.
	* call.c (build_new_op): Support for non-const non-modifying methods.
	(find_const_memfunc_with_identical_prototype): New function.
	(build_new_method_call): Suppress errors for calls in lock attributes.
        Support for non-const non-modifying methods.
	* class.c (cp_get_virtual_function_decl): New function.
	(cp_fold_obj_type_ref): Refactored to call cp_get_virtual_function_decl.
	(cp_decl_is_base_field): New function.
	(cp_decl_is_constructor): Likewise.
	(cp_decl_is_destructor): Likewise.
	(cp_decl_is_const_member_func): Likewise.
	* cp-lang.c: New language hooks.
	* cp-tree.h: New function declarations.
	* decl2.c (is_late_template_attribute): Handle delay parsing of lock
	attribute arguments.
	* error.c (dump_expr): Handle SSA_NAME.
	* lex.c (unqualified_name_lookup_error): Suppress errors for lock
	attributes.
	* name-lookup.c (lookup_name_in_func_params): New function.
	* name-lookup.h: New function declaration.
	* parser.c (cp_parser): New fields.
	(cp_parser_name_lookup_error): Suppress errors for lock attributes.
	(cp_parser_new): Initialize unparsed_attribute_args_queue.
	(cp_parser_postfix_expression): Add function parameter lookup support.
	(cp_parser_parenthesized_expression_list): Fix a problem in parsing
	identifier arguments and skip folding for decl arguments.
	(cp_parser_lambda_declarator_opt): Add a new argument to
	cp_parser_attributes_opt.
	(cp_parser_label_for_labeled_statement): Likewise.
	(cp_parser_condition): Likewise.
	(cp_parser_decl_specifier_seq): Likewise.
	(cp_parser_conversion_type_id): Likewise.
	(cp_parser_elaborated_type_specifier): Likewise.
	(cp_parser_enum_specifier): Likewise.
	(cp_parser_namespace_definition): Likewise.
	(cp_parser_using_directive): Likewise.
	(cp_parser_init_declarator): Allow lock attributes on function
	definitions. Support function parameter lookup. Also add a new
	argument to cp_parser_attributes_opt.
	(cp_parser_declarator): Add a new argument to calls to
	cp_parser_attributes_opt.
	(cp_parser_type_specifier_seq): Likewise.
	(cp_parser_parameter_declaration): Likewise.
	(cp_parser_class_specifier): Late-parse the lock attribute arguments.
	Also add a new argument to cp_parser_attributes_opt.
	(cp_parser_class_head): Add a new argument to cp_parser_attributes_opt.
	(cp_parser_member_declaration): Likewise.
	(cp_parser_asm_label_list): Likewise.
	(cp_parser_attributes_opt): Add a new parameter 'member_p' and call
	cp_parser_attribute_list with it.
	(cp_parser_save_attribute_arg_list): New function.
	(cp_parser_attribute_list): Add a new parameter 'member_p'. Also delay
	parsing of lock attribute arguments by saving the tokens.
	(cp_parser_late_parsing_attribute_arg_lists): New function.
	(cp_parser_function_definition_from_specifiers_and_declarator): Parse
	unbound lock attribute arguments.
	(cp_parser_objc_method_keyword_params): Add a new argument to
	cp_parser_attributes_opt.
	(cp_parser_objc_method_tail_params_opt): Likewise.
	(cp_parser_objc_method_maybe_bad_prefix_attributes): Likewise.
	(cp_parser_objc_class_ivars): Likewise.
	(cp_parser_objc_struct_declaration): Likewise.
	(cp_parser_omp_for_loop): Likewise.
	* pt.c (find_parameter_packs_r): Skip walking the subtrees if the tree
	list node is created for delay parsing.
	(apply_late_template_attributes): Defer instantiation of lock
	attributes.
	(pa_reverse): New function.
	(instantiate_class_template): Instantiate the deferred lock attributes
	and apply them to the corresponding declarations.
	(tsubst_copy): Suppress errors for lock attributes.
	(tsubst_copy_and_build): Support function parameter lookup.
	* semantics.c (finish_non_static_data_member): Suppress errors for lock
	attributes.
	* typeck.c (finish_class_member_access_expr): Suppress errors for lock
	attributes.
	* typeck2.c (cxx_incomplete_type_diagnostic): Suppress errors for lock
	attributes.