aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/ChangeLog
blob: 6dbb4333f3d2963fcc9539fb52d893318661ea61 (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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
2012-01-24  Aldy Hernandez  <aldyh@redhat.com>
	    Patrick Marlier  <patrick.marlier@gmail.com>

	PR c++/51928
	* class.c (set_method_tm_attributes): Use TARGET_THUNK instead of
	thunk for set_one_vmethod_tm_attributes.

2012-01-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51223
	* call.c (build_over_call): Check for error_mark_node as
	TREE_VALUE when default arguments are processed.

2012-01-23  Jason Merrill  <jason@redhat.com>

	PR c++/51930
	* decl2.c (determine_visibility): Check for visibility attribute
	on template specialization.

2012-01-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51398
	* pt.c (parameter_of_template_p): Skip error_mark_node parameters.

2012-01-23  Jason Merrill  <jason@redhat.com>

	PR c++/51925
	* class.c (add_method): Set OVL_USED for using-decls.
	* tree.c (ovl_scope): New.
	* cp-tree.h: Declare it.
	* parser.c (cp_parser_template_name): Use it.
	* semantics.c (baselink_for_fns): Likewise.
	* name-lookup.c (set_inherited_value_binding_p): Likewise.

2012-01-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51402
	* pt.c (lookup_template_class_1): Check context returned by
	tsubst for error_mark_node.

2012-01-19  Kai Tietz  <ktietz@redhat.com>

	PR c++/51344
	* decl2.c (save_template_attributes): Use merge_attributes
	instead of chaining up via TREE_CHAIN.

2012-01-19  Jason Merrill  <jason@redhat.com>

	PR c++/51889
	* class.c (finish_struct): Call add_method here for function usings.
	* semantics.c (finish_member_declaration): Not here.

2012-01-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51225
	* typeck2.c (store_init_value): Within a template guard
	cxx_constant_value with require_potential_constant_expression.
	* pt.c (convert_nontype_argument): Likewise.

2012-01-16  Jakub Jelinek  <jakub@redhat.com>

	PR c++/51854
	* mangle.c (write_template_arg_literal): Handle complex.

2012-01-16  Jason Merrill  <jason@redhat.com>

	PR c++/51827
	* mangle.c (mangle_decl): Don't mangle uninstantiated templates.

	PR c++/51868
	* typeck.c (build_static_cast_1): Handle bit-fields properly.

2012-01-13  Ian Lance Taylor  <iant@google.com>

	PR c++/50012
	* typeck.c (enum_cast_to_int): New static function.
	(cp_build_binary_op): When handling warn_sign_compare, don't test
	for TREE_NO_WARNING.  Do call enum_cast_to_int.
	* call.c (avoid_sign_compare_warnings): Remove static function.
	(build_new_op_1): Don't call avoid_sign_compare_warnings.

2012-01-13  Steven Bosscher  <steven@gcc.gnu.org>

	* decl2.c: Do not include tree-mudflap.h
	* semantics.c: Likewise.

2012-01-13  Jason Merrill  <jason@redhat.com>

	PR c++/20681
	* semantics.c (finish_break_stmt): Avoid adding an unreachable
	BREAK_STMT.

	PR c++/51813
	* decl2.c (constrain_visibility): Clear DECL_VISIBILITY_SPECIFIED
	when reducing the visibility.

	PR c++/51620
	* class.c (build_vtbl_initializer): Use __cxa_deleted_virtual.

2012-01-12  Jason Merrill  <jason@redhat.com>

	PR c++/51714
	* pt.c (value_dependent_expression_p): Treat STMT_EXPR as
	value-dependent.

2012-01-13  Dodji Seketeli  <dodji@redhat.com>

	PR c++/51633
	* semantics.c (cp_parser_ctor_initializer_opt_and_function_body):
	Set the pointer to the last block of the constructor to the
	current statement.
	(build_constexpr_constructor_member_initializers): Get
	build_data_member_initialization a chance to deal with more
	statements before we choke.

2012-01-12  Jason Merrill  <jason@redhat.com>

	PR c++/48051
	* mangle.c (write_expression): Mangle BASELINK scope if
	BASELINK_QUALIFIED_P.
	* search.c (adjust_result_of_qualified_name_lookup): Set
	BASELINK_QUALIFIED_P.
	* tree.c (cp_tree_equal) [BASELINK]: Compare BASELINK_QUALIFIED_P.
	* parser.c (cp_parser_postfix_dot_deref_expression): Don't call
	adjust_result_of_qualified_name_lookup for non-qualified names.

	PR c++/51403
	* pt.c (unify): Handle error_mark_node.

2012-01-11  Jason Merrill  <jason@redhat.com>

	PR c++/51565
	* call.c (standard_conversion): For ptrmemfuncs, compare the
	static_fn_types.

	PR c++/51818
	* mangle.c (find_substitution): A type is only a substitution
	match if we're looking for a type.
	(write_nested_name): Use decl_mangling_context.

	* decl.c (decls_match): Assert that the arguments are decls.

	PR c++/51613
	* pt.c (resolve_overloaded_unification): Compare types with
	same_type_p, not decls_match.

2012-01-10  Jason Merrill  <jason@redhat.com>

	PR c++/51614
	* class.c (build_base_path): Diagnose ambiguous base.

	PR c++/51433
	* semantics.c (cxx_eval_call_expression): Always retry previously
	non-constant expressions.

2012-01-06  Jason Merrill  <jason@redhat.com>

	DR 686
	PR c++/47450
	* parser.c (cp_parser_new_expression): Set
	type_definition_forbidden_message.

	PR c++/6057
	PR c++/48051
	PR c++/50855
	PR c++/51322
	* mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR,
	THROW_EXPR, CONSTRUCTOR, OVERLOAD.  Fix PREINCREMENT_EXPR and
	PREDECREMENT_EXPR.
	(write_template_arg): Fix mangling of class-scope functions and
	argument packs.
	(mangle_decl): Update suggested -fabi-version argument.
	* operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR,
	DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR.
	* tree.c (dependent_name): No longer static.
	* cp-tree.h: Declare it.
	* pt.c (unify): Defer handling of unconverted functions.

	* mangle.c (mangle_decl): Don't generate mangling aliases
	for maybe-in-charge [cd]tors.

	* error.c (dump_expr): Print type of CONSTRUCTOR.

2012-01-05  Dodji Seketeli  <dodji@redhat.com>

	PR c++/51541
	* parser.c (cp_parser_alias_declaration): Get out early upon
    	errors in the identifier or the attributes.

2012-01-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51064
	* pt.c (tsubst_copy_and_build): Maybe set TREE_NO_WARNING on
	the tree returned by build_x_binary_op.

2012-01-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51738
	* parser.c (cp_parser_postfix_open_square_expression): Handle
	postfix-expression [ braced-init-list ].

2012-01-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/29273
	* rtti.c (build_dynamic_cast_1): In case of T a pointer type,
	call decay_conversion on v.

2012-01-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/15867
	* decl.c (duplicate_decls): With -Wredundant-decls don't warn for
	declaration followed by specialization.

2012-01-03  Jakub Jelinek  <jakub@redhat.com>

	PR c++/51669
	* semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr
	on OMP_CLAUSE_{IF,FINAL,NUM_THREADS,SCHEDULE_CHUNK}_EXPR.

2012-01-02  Jason Merrill  <jason@redhat.com>

	DR 1359
	PR c++/51675
	* method.c (walk_field_subobs): Don't check for uninitialized
	fields in a union.
	(synthesized_method_walk): Check here.

	DR 325
	PR c++/51666
	* parser.c (cp_parser_cache_defarg): Split out...
	(cp_parser_parameter_declaration): ...from here.
	(cp_parser_save_nsdmi): Use it.
	(cp_parser_cache_group): Remove CPP_COMMA support.

2012-01-02  Dodji Seketeli  <dodji@redhat.com>

	PR c++/51462
	* semantics.c (cx_check_missing_mem_inits): Don't assert in case
    	of error.

2012-01-02  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/20140
	* typeck2.c (digest_init_r): Use copy_init when initializing
	an array of chars.

2012-01-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/16603
	* decl.c (build_enumerator): Don't call perform_integral_promotions
	on the value.

2012-01-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51379
	* typeck.c (build_reinterpret_cast_1): Implement resolution of
	DR 799.

2012-01-01  Fabien ChĂȘne  <fabien@gcc.gnu.org>

	* parser.c (cp_parser_using_declaration): Add a warning about
	deprecated access declarations when no errors were encountered
	while parsing the access declaration. Save the first token in
	order to emit the warning at the right place.

Copyright (C) 2012 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.