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