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