OSDN Git Service

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