re PR c++/47704 ([C++0x] Java-related error message when trying to instantiate a...
[gcc.git] / gcc / cp / ChangeLog
1 2011-02-16 Jakub Jelinek <jakub@redhat.com>
2
3 PR c++/47704
4 * cp-tree.h (ENUM_FIXED_UNDERLYING_TYPE_P): Use TYPE_LANG_FLAG_5
5 instead of TYPE_LANG_FLAG_3.
6 * pt.c (lookup_template_class): Copy over
7 ENUM_FIXED_UNDERLYING_TYPE_P.
8
9 2011-02-15 Jason Merrill <jason@redhat.com>
10
11 PR c++/46807
12 * method.c (synthesized_method_walk): Always exit early for
13 trivial fn in C++98 mode.
14
15 2011-02-14 Jason Merrill <jason@redhat.com>
16
17 PR c++/47482
18 * parser.c (cp_parser_enumerator_definition): Call
19 fold_non_dependent_expr.
20
21 2011-02-09 Jason Merrill <jason@redhat.com>
22
23 * decl.c (cp_make_fname_decl): Set DECL_THIS_STATIC at toplevel.
24 * semantics.c (finish_fname): Only return the name if we're in
25 a function.
26
27 * decl.c (build_enumerator): Don't perform integral promotions on
28 non-integral constants.
29
30 * cvt.c (convert_to_void): Handle null op1.
31
32 * class.c (type_has_constexpr_default_constructor): Make sure the
33 caller stripped an enclosing array.
34 * init.c (perform_member_init): Strip arrays before calling it.
35
36 PR c++/47511
37 * semantics.c (potential_constant_expression_1): Handle TEMPLATE_DECL.
38
39 2011-02-03 Dodji Seketeli <dodji@redhat.com>
40
41 PR c++/47398
42 * tree.c (cp_tree_equal)<TEMPLATE_PARM_INDEX>: Take the number of
43 template parameters in account.
44
45 2011-02-03 Nathan Froyd <froydnj@codesourcery.com>
46
47 PR c++/46890
48 * parser.c (cp_parser_class_specifier): Fix setting of
49 want_semicolon.
50
51 2011-01-31 Jakub Jelinek <jakub@redhat.com>
52
53 PR c++/47416
54 * semantics.c (build_data_member_initialization): Handle
55 STATEMENT_LIST always instead of just for CLEANUP_BODY.
56
57 2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
58
59 * g++spec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
60 LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
61
62 2011-01-29 Dodji Seketeli <dodji@redhat.com>
63
64 PR c++/47311
65 * cp-tree.h (fixup_template_parms): Declare.
66 * pt.c (end_template_parm_list): Do not fixup template parms here.
67 (fixup_template_parms): Remove static. Fix typo in the
68 comments. Remove useless code statement.
69 (fixup_template_parm): For a template template parameter, fixup
70 its attributes before fixing up its type.
71 * parser.c
72 (cp_parser_template_declaration_after_export): After parsing
73 template parameters fixup their types.
74
75 2011-01-26 Jakub Jelinek <jakub@redhat.com>
76
77 PR c++/47476
78 * semantics.c (potential_constant_expression_1): Handle
79 TRUTH_XOR_EXPR.
80
81 2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
82
83 PR c++/43601
84 * semantics.c (expand_or_defer_fn_1): Handle it.
85 * decl2.c (decl_needed_p): Likewise.
86
87 2011-01-21 Jason Merrill <jason@redhat.com>
88
89 PR c++/47041
90 * semantics.c (build_constexpr_constructor_member_initializers):
91 Handle trivial copy.
92
93 2011-01-21 Jakub Jelinek <jakub@redhat.com>
94
95 PR c++/47388
96 * semantics.c (begin_for_stmt): If -fno-for-scope, don't
97 assume init must be NULL if scope is NULL.
98 (begin_range_for_stmt): Likewise.
99
100 2011-01-21 Jason Merrill <jason@redhat.com>
101
102 PR c++/46552
103 * semantics.c (cxx_eval_constant_expression): Handle OFFSET_REF.
104
105 PR c++/46977
106 * semantics.c (potential_constant_expression_1): Split out from
107 potential_constant_expression. Add want_rval parm. Handle
108 template expression forms. Don't enforce restriction on address
109 of automatic variable here. Add a couple of diagnostics that
110 had been missing.
111 (require_potential_constant_expression): New entry point.
112 (build_data_member_initialization, register_constexpr_fundef): Adjust.
113 (maybe_constant_value): Check potential_constant_expression.
114 * pt.c (fold_non_dependent_expr_sfinae): Likewise.
115 * tree.c (build_vec_init_expr): Adjust.
116
117 2011-01-19 Jakub Jelinek <jakub@redhat.com>
118
119 PR c++/47303
120 * decl2.c (finish_anon_union): Only call mangle_decl if TREE_STATIC
121 or DECL_EXTERNAL.
122
123 2011-01-17 Jason Merrill <jason@redhat.com>
124
125 PR c++/47067
126 * semantics.c (base_field_constructor_elt): New fn.
127 (cxx_eval_bare_aggregate): Use it.
128 (build_data_member_initialization): Leave COMPONENT_REF for
129 vfield inits.
130
131 2011-01-14 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
132
133 * parser.c (cp_parser_range_for): Remove the "unused variable" warning
134 workaround.
135
136 2011-01-15 Giovanni Funchal <gafunchal@gmail.com>
137 Jonathan Wakely <jwakely.gcc@gmail.com>
138
139 PR c++/33558
140 * decl.c (grokdeclarator): Reject mutable reference members.
141
142 2011-01-14 Jason Merrill <jason@redhat.com>
143
144 PR c++/47289
145 * pt.c (coerce_template_parms): Fix error recovery.
146
147 PR c++/46903
148 * typeck2.c (check_narrowing): Only check arithmetic types.
149
150 PR c++/46688
151 * tree.c (build_vec_init_expr): Handle flexible array
152 properly.
153
154 2011-01-13 Kai Tietz <kai.tietz@onevision.com>
155
156 PR c++/47213
157 * cp-tree.h (CLASSTYPE_VISIBILITY): Use
158 TYPE_MAIN_DECL instead of TYPE_NAME.
159 (CLASSTYPE_VISIBILITY_SPECIFIED): Likewise.
160 * decl2.c (determine_visibility): Add check
161 of CLASS_TYPE_P for underlying_type.
162
163 2011-01-12 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
164
165 * cp-tree.h (begin_for_scope): New prototype.
166 (begin_for_stmt): Update prototype.
167 (begin_range_for_stmt): Update prototype.
168 * init.c (build_vec_init): Update call to begin_for_stmt.
169 * parser.c (cp_parser_for): New.
170 (cp_parser_c_for): Add three new parameters.
171 (cp_parser_range_for): Likewise. Most parsing code removed.
172 (cp_parser_iteration_statement): Call cp_parser_for instead of
173 cp_parser_c_for and cp_parser_range_for.
174 (cp_parser_for_init_statement): Add new parameter and return type.
175 (cp_parser_block_declaration): Update call to
176 cp_parser_simple_declaration.
177 (cp_parser_simple_declaration): Add new parameter.
178 Update call to cp_parser_init_declarator.
179 (cp_parser_init_declarator): Add new parameter.
180 * pt.c (tsubst_expr): Update call to begin_for_stmt.
181 * semantics.c (begin_for_scope): New.
182 (begin_for_stmt): Add two new parameters.
183 (begin_range_for_stmt): Likewise.
184
185 2011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
186
187 * parser.c (cp_parser_objc_at_property_declaration): Improved
188 error message.
189
190 2011-01-11 Dodji Seketeli <dodji@redhat.com>
191
192 PR debug/46955
193 * cp-lang.c (get_template_innermost_arguments_folded)
194 (get_template_argument_pack_elems_folded)
195 (template_arg_needs_folding, fold_cplus_constants): New static
196 functions.
197 (LANG_HOOKS_GET_INNERMOST_GENERIC_ARGS): Set this hook to
198 get_template_innermost_arguments_folded.
199 (LANG_HOOKS_GET_ARGUMENT_PACK_ELEMS): Set this hook to
200 get_template_argument_pack_elems_folded.
201
202 2011-01-11 Jason Merrill <jason@redhat.com>
203
204 PR c++/46658
205 * init.c (build_new_1): Handle value-init in templates differently.
206
207 PR c++/45520
208 * tree.c (maybe_dummy_object): Check current_class_ref against
209 context, not current_class_type.
210
211 2011-01-08 Nicola Pero <nicola.pero@meta-innovation.com>
212
213 PR objc/47078
214 * parser.c (cp_parser_objc_typename): If the type is unknown, for
215 error recovery purposes behave as if it was not specified so that
216 the default type is used.
217
218 2011-01-07 Jakub Jelinek <jakub@redhat.com>
219
220 PR c++/47022
221 * pt.c (tsubst_copy_and_build): Use tsubst instead of tsubst_copy
222 for the second build_x_va_arg argument.
223
224 2011-01-05 Tom Tromey <tromey@redhat.com>
225
226 * typeck.c (cp_build_addr_expr_1): Update call to lvalue_error.
227 (lvalue_or_else): Likewise.
228
229 2011-01-01 Kai Tietz <kai.tietz@onevision.com>
230
231 PR target/38662
232 * tree.c (cxx_type_hash_eq):
233 Allow METHOD_TYPE, too.
234
235 \f
236 Copyright (C) 2011 Free Software Foundation, Inc.
237
238 Copying and distribution of this file, with or without modification,
239 are permitted in any medium without royalty provided the copyright
240 notice and this notice are preserved.