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