OSDN Git Service

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