ChangeLog.gcc43 revision 259655
12007-07-09  Geoffrey Keating  <geoffk@apple.com> (r126529)
2
3	PR 32617
4	* decl.c (cxx_init_decl_processing): Don't set
5	force_align_functions_log.
6	(grokfndecl): Honour ptrmemfunc_vbit_in_pfn.
7	* typeck.c (cxx_alignof_expr): When alignof is used on a plain
8	FUNCTION_DECL, return its alignment.
9
102007-06-28  Geoffrey Keating  <geoffk@apple.com> (r126088)
11
12	* decl2.c (determine_visibility): Implement
13	flag_visibility_ms_compat effect on type info.
14	* decl.c (cxx_init_decl_processing): Implement
15	global effect of flag_visibility_ms_compat.
16
172007-06-28  Geoffrey Keating  <geoffk@apple.com> (r126080)
18
19	* decl2.c (start_objects): Mark constructor-runnning function
20	as artificial.
21
222007-06-14  Geoff Keating  <geoffk@apple.com> (r125721)
23
24	PR 31093
25	* decl2.c (determine_visibility): Remove duplicate code for
26	handling type info.
27
282007-06-12  Ian Lance Taylor  <iant@google.com> (r125653)
29
30	PR libstdc++/29286
31	* init.c (avoid_placement_new_aliasing): New static function.
32	(build_new_1): Call it.
33
342007-05-31  Daniel Berlin  <dberlin@dberlin.org> (r125239)
35
36	* typeck.c (build_binary_op): Include types in error.
37
382007-05-30  Russell Yanofsky <russ@yanofsky.org> (r125211)
39            Douglas Gregor <doug.gregor@gmail.com>
40            Pedro Lamarao <pedro.lamarao@mndfck.org>
41            Howard Hinnant <howard.hinnant@gmail.com>
42
43	PR c++/7412
44	PR c++/29939
45	* typeck.c (comptypes): Don't consider rvalue and lvalue
46	reference types to be equivalent.
47	(check_return_expr): Move from certain lvalues when returning
48	them.
49	* decl.c (grokdeclarator): Implement reference collapsing.
50	(copy_fn_p): Don't consider constructors taking rvalue references
51	to be copy constructors.
52	(move_fn_p): New.
53        * call.c (conversion): New "rvaluedness_matches_p" member.
54	(convert_class_to_reference): Require reference type as first
55	parameter instead of base type.
56	(reference_binding): Add logic to handle rvalue references.
57	(implicit_conversion): Update inaccurate comment.
58	(convert_like_real): Disable creation of temporaries that are
59	impossible to initialize for types with move constructors.
60	(build_over_call): Elide move constructors when possible.
61	(maybe_handle_implicit_object): Set "rvaluedness_matches_p".
62	(maybe_handle_ref_bind): Return conversion instead of type node.
63	(compare_ics): Add logic to use "rvaluedness_matches_p" values to
64	determine preferred conversion sequences.
65	* cp-tree.h (TYPE_REF_IS_RVALUE): New.
66	(LOOKUP_PREFER_RVALUE): New.
67	(DECL_MOVE_CONSTRUCTOR_P): New.
68	(struct cp_declarator): Add "reference" member for reference
69	types, with new "rvalue_ref" flag.
70	(cp_build_reference_type): Declare.
71	(move_fn_p): Declare.
72	* error.c (dump_type_prefix): Format rvalue reference types
73	correctly in error messages.
74	* except.c (build_throw): Move from certain lvalues when
75	throwing.
76	* mangle.c (write_type): Mangle rvalue references differently
77	than regular references.
78	* parser.c (make_reference_declarator): Add boolean parameter for
79	rvalue references.
80	(cp_parser_make_indirect_declarator): New.
81	(cp_parser_new_declarator_opt): Call
82	cp_parser_make_indirect_declarator. 
83	(cp_parser_conversion_declarator_opt): Ditto.
84	(cp_parser_declarator): Ditto.
85	(cp_parser_ptr_operator): Parse "&&" tokens into rvalue reference
86	declarators.
87	* pt.c (tsubst): Implement reference collapsing.
88	(maybe_adjust_types_for_deduction): Implement special template
89	parameter deduction rule for rvalue references.
90	(type_unification_real): Update calls to
91	maybe_adjust_types_for_deduction.
92	(try_one_overload): Ditto.
93	(unify_pack_expansion): Ditto.
94	* tree.c (lvalue_p_1): Handle rvalue reference types.
95	(cp_build_reference_type): New.
96
972007-05-18  Geoffrey Keating  <geoffk@apple.com> (r124839)
98
99	* mangle.c (write_real_cst): Use 'unsigned long' for %lx.
100
1012007-05-14  Paolo Carlini  <pcarlini@suse.de> (r124724)
102
103	PR c++/29928
104	* rtti.c (get_tinfo_decl_dynamic, get_typeid): Try to complete the
105	type only if is a class type (5.2.8/4).
106
1072007-05-05  Geoffrey Keating  <geoffk@apple.com> (r124467)
108
109	PR 31775
110	* mangle.c (write_mangled_name): Mangle static variable names.
111	(write_unqualified_name): Use local-source-name for
112	namespace-scope static variables.
113
1142007-03-12  Seongbae Park <seongbae.park@gmail.com> (r122851)
115
116	* decl.c (compute_array_index_type): New warning flag warn_vla.
117
1182007-01-08  Mark Shinwell  <shinwell@codesourcery.com> (r120572)
119
120	* call.c (standard_conversion): Pass flag to
121	vector_types_convertible_p to disallow emission of note.
122	* typeck.c (convert_for_assignment): Pass flag to
123	vector_types_convertible_p to allow emission of note.
124	(ptr_reasonably_similar): Pass flag to vector_types_convertible_p
125	to disallow emission of note.
126
1272007-01-07  Manuel Lopez-Ibanez  <manu@gcc.gnu.org> (r120558)
128
129	PR c++/28986
130	* typeck.c (build_binary_op): Call overflow_warning if
131	TREE_OVERFLOW_P is true for the result and not for any of the
132	operands.
133	
1342007-01-05  Manuel Lopez-Ibanez  <manu@gcc.gnu.org> (r120505)
135
136	PR c/19978
137	* semantics.c (finish_unary_op_expr): Warn only if result
138	overflowed and operands did not.
139
1402006-12-01  Geoffrey Keating  <geoffk@apple.com> (r119427)
141
142	* decl.c (poplevel): Check DECL_INITIAL invariant.
143	(duplicate_decls): Preserve DECL_INITIAL when eliminating
144	a new definition in favour of an old declaration.
145	(start_preparsed_function): Define and document value of
146	DECL_INITIAL before and after routine.
147	(finish_function): Check DECL_INITIAL invariant.
148	* parser.c 
149	(cp_parser_function_definition_from_specifiers_and_declarator): 
150	Skip duplicate function definitions.
151
1522006-10-31  Geoffrey Keating  <geoffk@apple.com> (r118360)
153
154	* name-lookup.c (get_anonymous_namespace_name): New.
155	(push_namespace_with_attribs): Use get_anonymous_namespace_name.
156	* decl2.c (start_objects): Update for rename of
157	get_file_function_name_long.
158