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