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