OSDN Git Service

gcc/:
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
1 2012-01-13  Ian Lance Taylor  <iant@google.com>
2
3         PR c++/50012
4         * typeck.c (enum_cast_to_int): New static function.
5         (cp_build_binary_op): When handling warn_sign_compare, don't test
6         for TREE_NO_WARNING.  Do call enum_cast_to_int.
7         * call.c (avoid_sign_compare_warnings): Remove static function.
8         (build_new_op_1): Don't call avoid_sign_compare_warnings.
9
10 2012-01-13  Steven Bosscher  <steven@gcc.gnu.org>
11
12         * decl2.c: Do not include tree-mudflap.h
13         * semantics.c: Likewise.
14
15 2012-01-13  Jason Merrill  <jason@redhat.com>
16
17         PR c++/20681
18         * semantics.c (finish_break_stmt): Avoid adding an unreachable
19         BREAK_STMT.
20
21         PR c++/51813
22         * decl2.c (constrain_visibility): Clear DECL_VISIBILITY_SPECIFIED
23         when reducing the visibility.
24
25         PR c++/51620
26         * class.c (build_vtbl_initializer): Use __cxa_deleted_virtual.
27
28 2012-01-12  Jason Merrill  <jason@redhat.com>
29
30         PR c++/51714
31         * pt.c (value_dependent_expression_p): Treat STMT_EXPR as
32         value-dependent.
33
34 2012-01-13  Dodji Seketeli  <dodji@redhat.com>
35
36         PR c++/51633
37         * semantics.c (cp_parser_ctor_initializer_opt_and_function_body):
38         Set the pointer to the last block of the constructor to the
39         current statement.
40         (build_constexpr_constructor_member_initializers): Get
41         build_data_member_initialization a chance to deal with more
42         statements before we choke.
43
44 2012-01-12  Jason Merrill  <jason@redhat.com>
45
46         PR c++/48051
47         * mangle.c (write_expression): Mangle BASELINK scope if
48         BASELINK_QUALIFIED_P.
49         * search.c (adjust_result_of_qualified_name_lookup): Set
50         BASELINK_QUALIFIED_P.
51         * tree.c (cp_tree_equal) [BASELINK]: Compare BASELINK_QUALIFIED_P.
52         * parser.c (cp_parser_postfix_dot_deref_expression): Don't call
53         adjust_result_of_qualified_name_lookup for non-qualified names.
54
55         PR c++/51403
56         * pt.c (unify): Handle error_mark_node.
57
58 2012-01-11  Jason Merrill  <jason@redhat.com>
59
60         PR c++/51565
61         * call.c (standard_conversion): For ptrmemfuncs, compare the
62         static_fn_types.
63
64         PR c++/51818
65         * mangle.c (find_substitution): A type is only a substitution
66         match if we're looking for a type.
67         (write_nested_name): Use decl_mangling_context.
68
69         * decl.c (decls_match): Assert that the arguments are decls.
70
71         PR c++/51613
72         * pt.c (resolve_overloaded_unification): Compare types with
73         same_type_p, not decls_match.
74
75 2012-01-10  Jason Merrill  <jason@redhat.com>
76
77         PR c++/51614
78         * class.c (build_base_path): Diagnose ambiguous base.
79
80         PR c++/51433
81         * semantics.c (cxx_eval_call_expression): Always retry previously
82         non-constant expressions.
83
84 2012-01-06  Jason Merrill  <jason@redhat.com>
85
86         DR 686
87         PR c++/47450
88         * parser.c (cp_parser_new_expression): Set
89         type_definition_forbidden_message.
90
91         PR c++/6057
92         PR c++/48051
93         PR c++/50855
94         PR c++/51322
95         * mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR,
96         THROW_EXPR, CONSTRUCTOR, OVERLOAD.  Fix PREINCREMENT_EXPR and
97         PREDECREMENT_EXPR.
98         (write_template_arg): Fix mangling of class-scope functions and
99         argument packs.
100         (mangle_decl): Update suggested -fabi-version argument.
101         * operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR,
102         DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR.
103         * tree.c (dependent_name): No longer static.
104         * cp-tree.h: Declare it.
105         * pt.c (unify): Defer handling of unconverted functions.
106
107         * mangle.c (mangle_decl): Don't generate mangling aliases
108         for maybe-in-charge [cd]tors.
109
110         * error.c (dump_expr): Print type of CONSTRUCTOR.
111
112 2012-01-05  Dodji Seketeli  <dodji@redhat.com>
113
114         PR c++/51541
115         * parser.c (cp_parser_alias_declaration): Get out early upon
116         errors in the identifier or the attributes.
117
118 2012-01-04  Paolo Carlini  <paolo.carlini@oracle.com>
119
120         PR c++/51064
121         * pt.c (tsubst_copy_and_build): Maybe set TREE_NO_WARNING on
122         the tree returned by build_x_binary_op.
123
124 2012-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
125
126         PR c++/51738
127         * parser.c (cp_parser_postfix_open_square_expression): Handle
128         postfix-expression [ braced-init-list ].
129
130 2012-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
131
132         PR c++/29273
133         * rtti.c (build_dynamic_cast_1): In case of T a pointer type,
134         call decay_conversion on v.
135
136 2012-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
137
138         PR c++/15867
139         * decl.c (duplicate_decls): With -Wredundant-decls don't warn for
140         declaration followed by specialization.
141
142 2012-01-03  Jakub Jelinek  <jakub@redhat.com>
143
144         PR c++/51669
145         * semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr
146         on OMP_CLAUSE_{IF,FINAL,NUM_THREADS,SCHEDULE_CHUNK}_EXPR.
147
148 2012-01-02  Jason Merrill  <jason@redhat.com>
149
150         DR 1359
151         PR c++/51675
152         * method.c (walk_field_subobs): Don't check for uninitialized
153         fields in a union.
154         (synthesized_method_walk): Check here.
155
156         DR 325
157         PR c++/51666
158         * parser.c (cp_parser_cache_defarg): Split out...
159         (cp_parser_parameter_declaration): ...from here.
160         (cp_parser_save_nsdmi): Use it.
161         (cp_parser_cache_group): Remove CPP_COMMA support.
162
163 2012-01-02  Dodji Seketeli  <dodji@redhat.com>
164
165         PR c++/51462
166         * semantics.c (cx_check_missing_mem_inits): Don't assert in case
167         of error.
168
169 2012-01-02  Paolo Carlini  <paolo.carlini@oracle.com>
170
171         PR c++/20140
172         * typeck2.c (digest_init_r): Use copy_init when initializing
173         an array of chars.
174
175 2012-01-01  Paolo Carlini  <paolo.carlini@oracle.com>
176
177         PR c++/16603
178         * decl.c (build_enumerator): Don't call perform_integral_promotions
179         on the value.
180
181 2012-01-01  Paolo Carlini  <paolo.carlini@oracle.com>
182
183         PR c++/51379
184         * typeck.c (build_reinterpret_cast_1): Implement resolution of
185         DR 799.
186
187 2012-01-01  Fabien ChĂȘne  <fabien@gcc.gnu.org>
188
189         * parser.c (cp_parser_using_declaration): Add a warning about
190         deprecated access declarations when no errors were encountered
191         while parsing the access declaration. Save the first token in
192         order to emit the warning at the right place.
193 \f
194 Copyright (C) 2012 Free Software Foundation, Inc.
195
196 Copying and distribution of this file, with or without modification,
197 are permitted in any medium without royalty provided the copyright
198 notice and this notice are preserved.