OSDN Git Service

Revert "PR c++/51641 - Lookup finds enclosing class member instead of template parameter"
[pf3gnuchains/gcc-fork.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.