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