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