Revert "PR c++/51641 - Lookup finds enclosing class member instead of template parameter"
[gcc.git] / gcc / cp / ChangeLog
1 2012-01-29 Paolo Carlini <paolo.carlini@oracle.com>
2
3 PR c++/51327
4 * class.c (explain_non_literal_class): Correctly handle implicitly
5 deleted constructors.
6
7 2012-01-27 Jakub Jelinek <jakub@redhat.com>
8
9 PR c++/51852
10 * pt.c (tsubst_pack_expansion): Delete and restore
11 local_specialization whenever need_local_specialization, not just
12 when saved_local_specializations is non-NULL.
13
14 2012-01-26 Paolo Carlini <paolo.carlini@oracle.com>
15
16 PR c++/51370
17 * error.c (dump_decl, [TEMPLATE_ID_EXPR]): Handle error_mark_node
18 as TREE_OPERAND (t, 1).
19
20 2012-01-24 Jason Merrill <jason@redhat.com>
21
22 PR c++/51917
23 * decl.c (xref_basetypes): Check VEC_length instead of VEC_space.
24
25 PR c++/51973
26 * tree.c (called_fns_equal): Check template args.
27 (cp_tree_equal): Call it.
28
29 2012-01-24 Aldy Hernandez <aldyh@redhat.com>
30 Patrick Marlier <patrick.marlier@gmail.com>
31
32 PR c++/51928
33 * class.c (set_method_tm_attributes): Use TARGET_THUNK instead of
34 thunk for set_one_vmethod_tm_attributes.
35
36 2012-01-24 Paolo Carlini <paolo.carlini@oracle.com>
37
38 PR c++/51223
39 * call.c (build_over_call): Check for error_mark_node as
40 TREE_VALUE when default arguments are processed.
41
42 2012-01-23 Jason Merrill <jason@redhat.com>
43
44 PR c++/51930
45 * decl2.c (determine_visibility): Check for visibility attribute
46 on template specialization.
47
48 2012-01-23 Paolo Carlini <paolo.carlini@oracle.com>
49
50 PR c++/51398
51 * pt.c (parameter_of_template_p): Skip error_mark_node parameters.
52
53 2012-01-23 Jason Merrill <jason@redhat.com>
54
55 PR c++/51925
56 * class.c (add_method): Set OVL_USED for using-decls.
57 * tree.c (ovl_scope): New.
58 * cp-tree.h: Declare it.
59 * parser.c (cp_parser_template_name): Use it.
60 * semantics.c (baselink_for_fns): Likewise.
61 * name-lookup.c (set_inherited_value_binding_p): Likewise.
62
63 2012-01-20 Paolo Carlini <paolo.carlini@oracle.com>
64
65 PR c++/51402
66 * pt.c (lookup_template_class_1): Check context returned by
67 tsubst for error_mark_node.
68
69 2012-01-19 Kai Tietz <ktietz@redhat.com>
70
71 PR c++/51344
72 * decl2.c (save_template_attributes): Use merge_attributes
73 instead of chaining up via TREE_CHAIN.
74
75 2012-01-19 Jason Merrill <jason@redhat.com>
76
77 PR c++/51889
78 * class.c (finish_struct): Call add_method here for function usings.
79 * semantics.c (finish_member_declaration): Not here.
80
81 2012-01-18 Paolo Carlini <paolo.carlini@oracle.com>
82
83 PR c++/51225
84 * typeck2.c (store_init_value): Within a template guard
85 cxx_constant_value with require_potential_constant_expression.
86 * pt.c (convert_nontype_argument): Likewise.
87
88 2012-01-16 Jakub Jelinek <jakub@redhat.com>
89
90 PR c++/51854
91 * mangle.c (write_template_arg_literal): Handle complex.
92
93 2012-01-16 Jason Merrill <jason@redhat.com>
94
95 PR c++/51827
96 * mangle.c (mangle_decl): Don't mangle uninstantiated templates.
97
98 PR c++/51868
99 * typeck.c (build_static_cast_1): Handle bit-fields properly.
100
101 2012-01-13 Ian Lance Taylor <iant@google.com>
102
103 PR c++/50012
104 * typeck.c (enum_cast_to_int): New static function.
105 (cp_build_binary_op): When handling warn_sign_compare, don't test
106 for TREE_NO_WARNING. Do call enum_cast_to_int.
107 * call.c (avoid_sign_compare_warnings): Remove static function.
108 (build_new_op_1): Don't call avoid_sign_compare_warnings.
109
110 2012-01-13 Steven Bosscher <steven@gcc.gnu.org>
111
112 * decl2.c: Do not include tree-mudflap.h
113 * semantics.c: Likewise.
114
115 2012-01-13 Jason Merrill <jason@redhat.com>
116
117 PR c++/20681
118 * semantics.c (finish_break_stmt): Avoid adding an unreachable
119 BREAK_STMT.
120
121 PR c++/51813
122 * decl2.c (constrain_visibility): Clear DECL_VISIBILITY_SPECIFIED
123 when reducing the visibility.
124
125 PR c++/51620
126 * class.c (build_vtbl_initializer): Use __cxa_deleted_virtual.
127
128 2012-01-12 Jason Merrill <jason@redhat.com>
129
130 PR c++/51714
131 * pt.c (value_dependent_expression_p): Treat STMT_EXPR as
132 value-dependent.
133
134 2012-01-13 Dodji Seketeli <dodji@redhat.com>
135
136 PR c++/51633
137 * semantics.c (cp_parser_ctor_initializer_opt_and_function_body):
138 Set the pointer to the last block of the constructor to the
139 current statement.
140 (build_constexpr_constructor_member_initializers): Get
141 build_data_member_initialization a chance to deal with more
142 statements before we choke.
143
144 2012-01-12 Jason Merrill <jason@redhat.com>
145
146 PR c++/48051
147 * mangle.c (write_expression): Mangle BASELINK scope if
148 BASELINK_QUALIFIED_P.
149 * search.c (adjust_result_of_qualified_name_lookup): Set
150 BASELINK_QUALIFIED_P.
151 * tree.c (cp_tree_equal) [BASELINK]: Compare BASELINK_QUALIFIED_P.
152 * parser.c (cp_parser_postfix_dot_deref_expression): Don't call
153 adjust_result_of_qualified_name_lookup for non-qualified names.
154
155 PR c++/51403
156 * pt.c (unify): Handle error_mark_node.
157
158 2012-01-11 Jason Merrill <jason@redhat.com>
159
160 PR c++/51565
161 * call.c (standard_conversion): For ptrmemfuncs, compare the
162 static_fn_types.
163
164 PR c++/51818
165 * mangle.c (find_substitution): A type is only a substitution
166 match if we're looking for a type.
167 (write_nested_name): Use decl_mangling_context.
168
169 * decl.c (decls_match): Assert that the arguments are decls.
170
171 PR c++/51613
172 * pt.c (resolve_overloaded_unification): Compare types with
173 same_type_p, not decls_match.
174
175 2012-01-10 Jason Merrill <jason@redhat.com>
176
177 PR c++/51614
178 * class.c (build_base_path): Diagnose ambiguous base.
179
180 PR c++/51433
181 * semantics.c (cxx_eval_call_expression): Always retry previously
182 non-constant expressions.
183
184 2012-01-06 Jason Merrill <jason@redhat.com>
185
186 DR 686
187 PR c++/47450
188 * parser.c (cp_parser_new_expression): Set
189 type_definition_forbidden_message.
190
191 PR c++/6057
192 PR c++/48051
193 PR c++/50855
194 PR c++/51322
195 * mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR,
196 THROW_EXPR, CONSTRUCTOR, OVERLOAD. Fix PREINCREMENT_EXPR and
197 PREDECREMENT_EXPR.
198 (write_template_arg): Fix mangling of class-scope functions and
199 argument packs.
200 (mangle_decl): Update suggested -fabi-version argument.
201 * operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR,
202 DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR.
203 * tree.c (dependent_name): No longer static.
204 * cp-tree.h: Declare it.
205 * pt.c (unify): Defer handling of unconverted functions.
206
207 * mangle.c (mangle_decl): Don't generate mangling aliases
208 for maybe-in-charge [cd]tors.
209
210 * error.c (dump_expr): Print type of CONSTRUCTOR.
211
212 2012-01-05 Dodji Seketeli <dodji@redhat.com>
213
214 PR c++/51541
215 * parser.c (cp_parser_alias_declaration): Get out early upon
216 errors in the identifier or the attributes.
217
218 2012-01-04 Paolo Carlini <paolo.carlini@oracle.com>
219
220 PR c++/51064
221 * pt.c (tsubst_copy_and_build): Maybe set TREE_NO_WARNING on
222 the tree returned by build_x_binary_op.
223
224 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
225
226 PR c++/51738
227 * parser.c (cp_parser_postfix_open_square_expression): Handle
228 postfix-expression [ braced-init-list ].
229
230 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
231
232 PR c++/29273
233 * rtti.c (build_dynamic_cast_1): In case of T a pointer type,
234 call decay_conversion on v.
235
236 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
237
238 PR c++/15867
239 * decl.c (duplicate_decls): With -Wredundant-decls don't warn for
240 declaration followed by specialization.
241
242 2012-01-03 Jakub Jelinek <jakub@redhat.com>
243
244 PR c++/51669
245 * semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr
246 on OMP_CLAUSE_{IF,FINAL,NUM_THREADS,SCHEDULE_CHUNK}_EXPR.
247
248 2012-01-02 Jason Merrill <jason@redhat.com>
249
250 DR 1359
251 PR c++/51675
252 * method.c (walk_field_subobs): Don't check for uninitialized
253 fields in a union.
254 (synthesized_method_walk): Check here.
255
256 DR 325
257 PR c++/51666
258 * parser.c (cp_parser_cache_defarg): Split out...
259 (cp_parser_parameter_declaration): ...from here.
260 (cp_parser_save_nsdmi): Use it.
261 (cp_parser_cache_group): Remove CPP_COMMA support.
262
263 2012-01-02 Dodji Seketeli <dodji@redhat.com>
264
265 PR c++/51462
266 * semantics.c (cx_check_missing_mem_inits): Don't assert in case
267 of error.
268
269 2012-01-02 Paolo Carlini <paolo.carlini@oracle.com>
270
271 PR c++/20140
272 * typeck2.c (digest_init_r): Use copy_init when initializing
273 an array of chars.
274
275 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
276
277 PR c++/16603
278 * decl.c (build_enumerator): Don't call perform_integral_promotions
279 on the value.
280
281 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
282
283 PR c++/51379
284 * typeck.c (build_reinterpret_cast_1): Implement resolution of
285 DR 799.
286
287 2012-01-01 Fabien ChĂȘne <fabien@gcc.gnu.org>
288
289 * parser.c (cp_parser_using_declaration): Add a warning about
290 deprecated access declarations when no errors were encountered
291 while parsing the access declaration. Save the first token in
292 order to emit the warning at the right place.
293 \f
294 Copyright (C) 2012 Free Software Foundation, Inc.
295
296 Copying and distribution of this file, with or without modification,
297 are permitted in any medium without royalty provided the copyright
298 notice and this notice are preserved.