OSDN Git Service

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