OSDN Git Service

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