]> gcc.gnu.org Git - gcc.git/log
gcc.git
13 years agoclass.c (layout_vtable_decl): Call build_array_of_n_type.
Nathan Froyd [Sat, 30 Oct 2010 14:35:35 +0000 (14:35 +0000)]
class.c (layout_vtable_decl): Call build_array_of_n_type.

* class.c (layout_vtable_decl): Call build_array_of_n_type.
(build_vtt, build_ctor_vtabl_group): Likewise.

From-SVN: r166090

13 years agore PR fortran/44917 ([OOP] Detect ambiguous specifics in a generic TBP interface)
Janus Weil [Sat, 30 Oct 2010 13:52:39 +0000 (15:52 +0200)]
re PR fortran/44917 ([OOP] Detect ambiguous specifics in a generic TBP interface)

2010-10-30  Janus Weil  <janus@gcc.gnu.org>

PR fortran/44917
PR fortran/44926
PR fortran/46196
* interface.c (count_types_test): Symmetrize type check.
(generic_correspondence): Ditto.

2010-10-30  Janus Weil  <janus@gcc.gnu.org>

PR fortran/44917
PR fortran/44926
PR fortran/46196
* gfortran.dg/typebound_generic_10.f03: New.

From-SVN: r166089

13 years agoAlign long double parameters on stack to 4byte in 32bit.
H.J. Lu [Sat, 30 Oct 2010 13:17:15 +0000 (13:17 +0000)]
Align long double parameters on stack to 4byte in 32bit.

2010-10-30  H.J. Lu  <hongjiu.lu@intel.com>

PR target/46195
* config/i386/i386.c (contains_aligned_value_p): Renamed to ...
(ix86_compat_aligned_value_p): This.
(ix86_old_function_arg_boundary): Renamed to ...
(ix86_compat_function_arg_boundary): This.  Updated.
(ix86_contains_aligned_value_p): New.
(ix86_function_arg_boundary): Align long double parameters on
stack to 4byte in 32bit.

From-SVN: r166088

13 years agoIn gcc/: 2010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
Nicola Pero [Sat, 30 Oct 2010 11:22:46 +0000 (11:22 +0000)]
In gcc/: 2010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>

In gcc/:
2010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>

Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
* c-parser.c (c_parser_objc_at_property_declaration): Removed
parsing of RID_COPIES and RID_IVAR.  Updated call to
objc_add_property_declaration.
* c-typecheck.c (build_component_ref): Call
objc_maybe_build_component_ref instead of objc_build_setter_call.
Use objc_is_property_ref to improve Objective-C checks.
(cp_build_modify_expr): Call objc_maybe_build_modify_expr instead
of objc_build_getter_call.

In gcc/c-family/:
2010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>

Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
* c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
(objc_add_property_declaration): Removed arguments for copies and
ivar.
(objc_build_getter_call): Renamed to
objc_maybe_build_component_ref.
(objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
(objc_is_property_ref): New.
* c-common.c (c_common_reswords): Removed copies and ivar.
* stub-objc.c (objc_add_property_declaration): Removed arguments
for copies and ivar.
(objc_build_getter_call): Renamed to
objc_maybe_build_component_ref.
(objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
(objc_is_property_ref): New.

In gcc/cp/:
2010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>

Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
* parser.c (cp_parser_objc_at_property_declaration): Removed
parsing of RID_COPIES and RID_IVAR.  Updated call to
objc_add_property_declaration.
* typecheck.c (finish_class_member_access_expr): Call
objc_maybe_build_component_ref instead of objc_build_setter_call.
(cp_build_modify_expr): Call objc_maybe_build_modify_expr instead
of objc_build_getter_call.

In gcc/objc/:
2010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>

Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
* objc-tree.def (PROPERTY_REF): New.
* objc-act.h: Added comments for all the PROPERTY_ macros.
(PROPERTY_NAME): Use DECL_NAME.
(PROPERTY_COPIES): Removed.
(PROPERTY_READONLY): Use DECL_LANG_FLAG_0 for it.
(PROPERTY_NONATOMIC): New.
(objc_property_assign_semantics): Make it a typedef.
(PROPERTY_ASSIGN_SEMANTICS): New.
(PROPERTY_DYNAMIC): New.
(PROPERTY_REF_OBJECT): New.
(PROPERTY_REF_PROPERTY_DECL): New.
* objc-act.c (CALL_EXPR_OBJC_PROPERTY_GETTER): Removed.
(in_objc_property_setter_name_context): Removed.
(objc_add_property_declaration): Removed copies and ivar arguments
and code supporting them.  Fixed recovering when readonly and
setter attributes are specified.  Removed support for @property in
@implementation context.  Updated error message.  Double-check
that a property does not have a DECL_INITIAL.  Validate the
property assign semantics and emit appropriate errors and
warnings.  Check for duplicate property declarations.  Set
DECL_SOURCE_LOCATION, TREE_DEPRECATED, PROPERTY_NONATOMIC,
PROPERTY_ASSIGN_SEMANTICS and PROPERTY_DYNAMIC of the new
PROPERTY_DECL.  Do not set PROPERTY_COPIES.  Set
PROPERTY_IVAR_NAME to NULL_TREE.
(objc_build_getter_call): Renamed to
objc_maybe_build_component_ref.  If the property is not found in
the interface, search in the protocol list.  Do not generate the
getter call; instead, build and return a PROPERTY_REF.
(objc_is_property_ref): New.
(objc_setter_func_call): Removed.
(get_selector_from_reference): Removed.
(is_property): Removed.
(objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
Updated to work on a PROPERTY_REF and use the PROPERTY_DECL from
the PROPERTY_REF.  Generate an error if the property is read-only.
(build_property_reference): Removed.
(objc_finish_message_expr): Removed check to produce "readonly
property can not be set" error when
in_objc_property_setter_name_context.  We now generate the error
earlier, in objc_maybe_build_modify_expr, which will only generate
the setter call if the property is readwrite.
(check_methods): Recognize dynamic properties.
(check_methods_accessible): Same change.
(objc_build_property_ivar_name): Removed.
(objc_build_property_setter_name): Dropped bool argument.  Always
add the ':' at the end.
(objc_gen_one_property_datum): Removed.
(objc_process_getter_setter): Removed.
(objc_synthesize_getter): Mark 'klass' argument as unused.  Use
PROPERTY_GETTER_NAME instead of PROPERTY_NAME.  Set the
DECL_SOURCE_LOCATION of the new method to be the same as the one
for the @synthesize.  Always use PROPERTY_IVAR_NAME as it is
instead of trying to guess what it should be.  Removed use of
CLASS_IVARS.  Use the location of @synthesize for c_finish_return
and c_end_compound_statement.
(objc_synthesize_setter): Mark 'klass' argument as unused.  Use
PROPERTY_SETTER_NAME instead of trying to guess what it should be.
Set the DECL_SOURCE_LOCATION of the new method to be the same as
the one for the @synthesize.  Always use PROPERTY_IVAR_NAME as it
is instead of trying to guess what it should be.  Removed use of
CLASS_IVARS.  Use the location of @synthesize for c_finish_return
and c_end_compound_statement.  Emit an error and keep going,
instead of aborting, if the setter prototype does not have the
expected argument.
(objc_add_synthesize_declaration_for_property): New.
(objc_add_synthesize_declaration): Removed ATTRIBUTE_UNUSED from
all arguments.  Improved error message.  Filled in the rest of the
function, which used to be a placeholder, with an actual
implementation.
(objc_add_dynamic_declaration_for_property): New.
(objc_add_dynamic_declaration): Removed ATTRIBUTE_UNUSED from all
arguments.  Improved error message.  Filled in the rest of the
function, which used to be a placeholder, with an actual
implementation.
(objc_gen_property_data): Rewritten.
(finish_class): Added explicit switch cases for
CLASS_INTERFACE_TYPE, CATEGORY_INTERFACE_TYPE and
PROTOCOL_INTERFACE_TYPE.  Added a default switch case which is
gcc_unreachable.  Rewritten the processing of properties, in
particular to not synthesize prototypes for getters and setters if
they already exist and to install the getter and setter names into
PROPERTY_GETTER_NAME and PROPERTY_SETTER_NAME.  Do not generate
warnings about setter, getter and ivar property attributes.
(objc_lookup_ivar): Removed support for properties.
(objc_gimplify_property_ref): New.
(objc_gimplify_expr): Use a switch.  In case of a PROPERTY_REF, call
objc_gimplify_property_ref.

In gcc/testsuite/:
2010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>

Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
* objc.dg/property/property-neg-1.m: Updated for changes in the
syntax of @property and the implementation of
@synthesize/@dynamic.
* objc.dg/property/property-neg-2.m: Same change.
* objc.dg/property/property-neg-3.m: Same change.
* objc.dg/property/property-neg-4.m: Same change.
* objc.dg/property/property-neg-5.m: Same change.
* objc.dg/property/property-neg-7.m: Same change.
* objc.dg/property/property-1.m: Same change.
* objc.dg/property/synthesize-1.m: Same change.
* objc.dg/property/at-property-2.m: Same change.
* objc.dg/property/at-property-4.m: Same change.

* objc.dg/property/fsf-property-method-acces.m: Updated for
changes in the syntax of @property and the implementation of
@synthesize/@dynamic.  Use the same code for GNU and NeXT runtime.
* objc.dg/property/fsf-property-basic.m: Same change.
* objc.dg/property/fsf-property-named-ivar.m: Same change.

* objc.dg/property/at-property-5.m: New.
* objc.dg/property/at-property-6.m: New.
* objc.dg/property/at-property-7.m: New.
* objc.dg/property/at-property-8.m: New.
* objc.dg/property/at-property-9.m: New.
* objc.dg/property/at-property-10.m: New.
* objc.dg/property/at-property-11.m: New.
* objc.dg/property/synthesize-2.m: New.
* objc.dg/property/dynamic-2.m: New.

* obj-c++.dg/property/property-neg-1.mm: Updated for changes in the
syntax of @property and the implementation of
@synthesize/@dynamic.
* obj-c++.dg/property/property-neg-2.mm: Same change.
* obj-c++.dg/property/property-neg-3.mm: Same change.
* obj-c++.dg/property/property-neg-4.mm: Same change.
* obj-c++.dg/property/property-neg-5.mm: Same change.
* obj-c++.dg/property/property-neg-7.mm: Same change.
* obj-c++.dg/property/property-1.mm: Same change.
* obj-c++.dg/property/synthesize-1.mm: Same change.
* obj-c++.dg/property/at-property-2.mm: Same change.
* obj-c++.dg/property/at-property-4.mm: Same change.

* obj-c++.dg/property/fsf-property-method-acces.mm: Updated for
changes in the syntax of @property and the implementation of
@synthesize/@dynamic.  Use the same code for GNU and NeXT runtime.
* obj-c++.dg/property/fsf-property-basic.mm: Same change.
* obj-c++.dg/property/fsf-property-named-ivar.mm: Same change.

* obj-c++.dg/property/at-property-5.mm: New.
* obj-c++.dg/property/at-property-6.mm: New.
* obj-c++.dg/property/at-property-7.mm: New.
* obj-c++.dg/property/at-property-8.mm: New.
* obj-c++.dg/property/at-property-9.mm: New.
* obj-c++.dg/property/at-property-10.mm: New.
* obj-c++.dg/property/at-property-11.mm: New.
* obj-c++.dg/property/synthesize-2.mm: New.
* obj-c++.dg/property/dynamic-2.mm: New.

From-SVN: r166087

13 years agoDaily bump.
GCC Administrator [Sat, 30 Oct 2010 00:17:08 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r166084

13 years agosetproctitle.c: Add space after function name in @deftypefn comment.
Ian Lance Taylor [Fri, 29 Oct 2010 23:09:50 +0000 (23:09 +0000)]
setproctitle.c: Add space after function name in @deftypefn comment.

* setproctitle.c: Add space after function name in @deftypefn
comment.
* functions.texi: Rebuild.

From-SVN: r166079

13 years agotm.texi.in (REGNO_OK_FOR_BASE_P, [...]): Delete non-strict variant.
Paul Koning [Fri, 29 Oct 2010 21:33:32 +0000 (17:33 -0400)]
tm.texi.in (REGNO_OK_FOR_BASE_P, [...]): Delete non-strict variant.

* doc/tm.texi.in (REGNO_OK_FOR_BASE_P, REGNO_MODE_OK_FOR_BASE_P,
REGNO_MODE_OK_FOR_REG_BASE, REGNO_MODE_CODE_OK_FOR_BASE_P,
REGNO_OK_FOR_INDEX_P): Delete non-strict variant.
(REG_OK_STRICT): Move description.

From-SVN: r166077

13 years ago* config/pdp11/pdp11.md (*and<mode>): Rename to *bic<mode>.
Paul Koning [Fri, 29 Oct 2010 20:42:20 +0000 (16:42 -0400)]
* config/pdp11/pdp11.md (*and<mode>): Rename to *bic<mode>.

From-SVN: r166076

13 years ago* config/pdp11/pdp11.md (divhi3, modhi3, divmodhi3): Fix ICE.
Paul Koning [Fri, 29 Oct 2010 20:38:04 +0000 (16:38 -0400)]
* config/pdp11/pdp11.md (divhi3, modhi3, divmodhi3): Fix ICE.

From-SVN: r166075

13 years agopdp11.md (andhi3, andqi3): Fix wrong code error.
Paul Koning [Fri, 29 Oct 2010 19:45:23 +0000 (15:45 -0400)]
pdp11.md (andhi3, andqi3): Fix wrong code error.

PR/41822
* config/pdp11/pdp11.md (andhi3, andqi3): Fix wrong code error.

From-SVN: r166073

13 years agore PR rtl-optimization/46226 (asm goto may leave stack pointer invalid)
Richard Henderson [Fri, 29 Oct 2010 17:12:46 +0000 (10:12 -0700)]
re PR rtl-optimization/46226 (asm goto may leave stack pointer invalid)

PR rtl-opt/46226
Move test case to x86 test directory.

From-SVN: r166069

13 years agore PR rtl-optimization/46226 (asm goto may leave stack pointer invalid)
Richard Henderson [Fri, 29 Oct 2010 16:56:18 +0000 (09:56 -0700)]
re PR rtl-optimization/46226 (asm goto may leave stack pointer invalid)

PR rtl-opt/46226
* stmt.c (expand_asm_operands): Call do_pending_stack_adjust
for asm goto.

From-SVN: r166067

13 years agopdp11.c (output_move_quad): Fix ICE for CPU register to register move.
Paul Koning [Fri, 29 Oct 2010 16:41:50 +0000 (12:41 -0400)]
pdp11.c (output_move_quad): Fix ICE for CPU register to register move.

* config/pdp11/pdp11.c (output_move_quad): Fix ICE for CPU
register to register move.

From-SVN: r166066

13 years agopdp11.c (print_operand_address): Correct handling of integer constant addresses,...
Paul Koning [Fri, 29 Oct 2010 16:10:07 +0000 (12:10 -0400)]
pdp11.c (print_operand_address): Correct handling of integer constant addresses, delete vax-only logic.

* config/pdp11/pdp11.c (print_operand_address): Correct handling
of integer constant addresses, delete vax-only logic.

From-SVN: r166065

13 years agopicochip.c (picochip_is_short_branch): Simplify a conditional expression.
Hariharan Sandanagobalane [Fri, 29 Oct 2010 15:45:10 +0000 (15:45 +0000)]
picochip.c (picochip_is_short_branch): Simplify a conditional expression.

        * config/picochip/picochip.c (picochip_is_short_branch): Simplify
          a conditional expression.

From-SVN: r166064

13 years agopdp11.c (pdp11_trampoline_init): Correct instruction encoding.
Paul Koning [Fri, 29 Oct 2010 15:29:51 +0000 (11:29 -0400)]
pdp11.c (pdp11_trampoline_init): Correct instruction encoding.

* config/pdp11/pdp11.c (pdp11_trampoline_init): Correct
instruction encoding.

From-SVN: r166063

13 years agostl_function.h (_Select1st<>::operator()): Add templatized overloads.
Paolo Carlini [Fri, 29 Oct 2010 15:11:47 +0000 (15:11 +0000)]
stl_function.h (_Select1st<>::operator()): Add templatized overloads.

2010-10-29  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/stl_function.h (_Select1st<>::operator()): Add
templatized overloads.
* include/bits/hashtable_policy.h (_Select1st): Remove; revert
everything to std::_Select1st.
* include/bits/unordered_map.h: Likewise.

From-SVN: r166062

13 years agotree.h (build_vector_from_val): Declare.
Artjoms Sinkarovs [Fri, 29 Oct 2010 14:59:07 +0000 (14:59 +0000)]
tree.h (build_vector_from_val): Declare.

2010-10-29  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
Andrew Pinski <pinskia@gmail.com>

* tree.h (build_vector_from_val): Declare.
* tree.c (build_vector_from_val): New function.
* c-typeck.c (build_binary_op): Handle vector shifting.
* doc/extend.texi: Description of the vector shifting operation.

testsuite/
* gcc.c-torture/execute/vector-shift.c: New testcase.
* gcc.c-torture/execute/vector-shift1.c: Likewise.
* gcc.c-torture/execute/vector-shift2.c: Likewise.
* gcc.dg/vector-shift.c: Likewise.
* gcc.dg/vector-shift1.c: Likewise.
* gcc.dg/torture/vector-shift2.c: Likewise.
* gcc.dg/vector-shift3.c: Likewise.
* gcc.dg/simd-1b.c: Adjust.

Co-Authored-By: Andrew Pinski <pinskia@gmail.com>
From-SVN: r166061

13 years agopdp11-protos.h (pdp11_cannot_change_mode_class, [...]): Declare.
Paul Koning [Fri, 29 Oct 2010 14:32:59 +0000 (14:32 +0000)]
pdp11-protos.h (pdp11_cannot_change_mode_class, [...]): Declare.

* config/pdp11/pdp11-protos.h (pdp11_cannot_change_mode_class,
pdp11_secondary_memory_needed): Declare.
* config/pdp11/predicates.md (float_operand): New predicate.
* config/pdp11/pdp11.md (RETVAL_REGNUM): New constant.
(cbranchdf4, movdf): Change predicate.
(movsf): Handle FPU register case.
(truncdfsf2, extendsfdf2): Add FPU register case.
* config/pdp11/pdp11.c (TARGET_SECONDARY_RELOAD,
TARGET_REGISTER_MOVE_COST, TARGET_PREFERRED_RELOAD_CLASS,
TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
(pdp11_register_move_cost): Update cost matrix.
(pdp11_cannot_change_mode_class, pdp11_preferred_reload_class,
pdp11_preferred_output_reload_class, pdp11_secondary_reload,
pdp11_secondary_memory_needed): New function.
(pdp11_return_in_memory): Add other float types.
* config/pdp11/pdp11.h (HARD_REGNO_MODE_OK): Add other float
types.
(SECONDARY_MEMORY_NEEDED, CANNOT_CHANGE_MODE_CLASS): Define.
(PREFERRED_RELOAD_CLASS, SECONDARY_RELOAD_CLASS,
REGISTER_MOVE_COST): Delete.
(BASE_RETURN_VALUE_REG): Add other float types.

From-SVN: r166060

13 years agoc-ada-spec.c (separate_class_package): New function.
Arnaud Charlet [Fri, 29 Oct 2010 10:03:43 +0000 (10:03 +0000)]
c-ada-spec.c (separate_class_package): New function.

* c-ada-spec.c (separate_class_package): New function.
(pp_ada_tree_identifier): Prefix references to C++ classes with the
name of their enclosing package.
(print_ada_declaration): Use separate_class_package.

Co-Authored-By: Matthew Gingell <gingell@adacore.com>
From-SVN: r166059

13 years agoinvoke.texi: Document -mam34 and -mtune options.
Nick Clifton [Fri, 29 Oct 2010 08:53:47 +0000 (08:53 +0000)]
invoke.texi: Document -mam34 and -mtune options.

        * doc/invoke.texi: Document -mam34 and -mtune options.
        * config/mn10300/mn10300.c (mn10300_tune_string): New variable.
        (mn10300_tune_cpu): New variable.
        (mn10300_handle_option): Handle -mam34 and -mtune options.
        (mn10300_option_override): Convert tune string into tune cpu
        variable.
        (mn10300_legitimate_constant_p): Delete unused local variable.
        (is_load_insn): New function.
        (is_store_insn): New function.
        (mn10300_adjust_schedule_cost): New function.
        (TARGET_SCHED_ADJUST_COST): Define.
        * config/mn10300/mn10300.opt (mam34): New option.
        (mtune): New option.
        * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add AM34
        support.
        (enum processor_type): Add AM34.
        (TARGET_AM34): Define.
        * config/mn10300/mn10300.md (attr cpu): Add am34.
        Add pipeline description.
        (movqi, movhi, movsi, movsf, movdf, movdi): Fix predicates. Remove unneeded
        alternatives.  Add timing attribute.
        (pop_pic_reg, am33_addsi3, mn10300_addsi3, am33_subsi3,
        mn10300_subsi3, mulsidi3, umulsidi3, am33_mulsi3,
        mn10300_mulsi3, udivmodsi4_am33, divmodsi4, am33_andsi3,
        mn10300_andsi3, am33_iorsi3, mn10300_iorsi3, am33_xorsi3,
        mn10300_xorsi3, byte_clear, byte_set, bit_clear1, bit_clear2,
        bit_set, am33_iorqi3, mn10300_iorqi3, test_byte_bitfield,
        bit_test, subreg_bit_test, cmpsi, am33_cmpsf, am33_subsi3,
        float_conditional_branch, jump, indirect_jump, tablejump,
        call_internal, call_value_internal, zero_extendqisi2_am33,
        zero_extendqisi2_mn10300, zero_extendhisi2_am33,
        zero_extendhisi2_mn10300, extendqisi2_am33, extendqisi2_mn10300,
        extendhisi2_am33, extendhisi2_mn10300, am33_ashlsi3,
        mn10300_ashlsi3, am33_lshrsi3, mn10300_lshrsi3, am33_ashrisi3,
        mn10300_ashrsi3, abssf2_am33_2, negsf2_am33_2, rsqrtsf2,
        addsf3_internal, subsf3_internal, mulsf3_internal, divsf3,
        fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4, return_internal,
        return_internal_regs, store_movm, return, call_next_insn):
        Add timing attribute.
        (am33_subsi3): Add missing clobber of CC_REG.
        (am33_andsi3, mn10300_andsi3): Fix compile time warnings.
        (udivmodsi4, udivmodsi4_insn, divmodsi4, test_byte_bitfield,
        subreg_bit_test, zero_extendqisi2, zero_extendhisi2,
        extendqisi2): Fix predicates.
        (call_internal, call_internal_value): Separate alternatives.
        * config/mn10300/t-mn10300: Add AM34 multilib.

From-SVN: r166058

13 years agosh.c (sh_promote_function_mode): Use default_promote_function_mode if !sh_promote_pro...
Paolo Bonzini [Fri, 29 Oct 2010 06:48:39 +0000 (06:48 +0000)]
sh.c (sh_promote_function_mode): Use default_promote_function_mode if !sh_promote_prototypes.

2010-10-29  Paolo Bonzini  <bonzini@gnu.org>

* config/sh/sh.c (sh_promote_function_mode): Use
default_promote_function_mode if !sh_promote_prototypes.

From-SVN: r166057

13 years ago20101011-1.c: Skip on SH.
Kaz Kojima [Fri, 29 Oct 2010 04:11:19 +0000 (04:11 +0000)]
20101011-1.c: Skip on SH.

* gcc.c-torture/execute/20101011-1.c: Skip on SH.

From-SVN: r166056

13 years agoDaily bump.
GCC Administrator [Fri, 29 Oct 2010 00:19:07 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r166055

13 years agoconfigure: Regenerate.
Paolo Bonzini [Thu, 28 Oct 2010 22:37:36 +0000 (22:37 +0000)]
configure: Regenerate.

2010-10-29  Paolo Bonzini  <bonzini@gnu.org>

* configure: Regenerate.

From-SVN: r166050

13 years ago20101011-1.c: Fix #ifdef.
Pat Haugen [Thu, 28 Oct 2010 21:32:49 +0000 (21:32 +0000)]
20101011-1.c: Fix #ifdef.

* gcc.c-torture/execute/20101011-1.c: Fix #ifdef.

From-SVN: r166049

13 years agorecog.c (split_all_insns): Remove dead code.
Paolo Bonzini [Thu, 28 Oct 2010 21:20:01 +0000 (21:20 +0000)]
recog.c (split_all_insns): Remove dead code.

2010-10-28  Paolo Bonzini  <bonzini@gnu.org>

* recog.c (split_all_insns): Remove dead code.

From-SVN: r166048

13 years agoPartially revert:
Uros Bizjak [Thu, 28 Oct 2010 20:49:46 +0000 (22:49 +0200)]
Partially revert:

2010-10-28  Uros Bizjak  <ubizjak@gmail.com>

PR target/46153
* config/i386/sse.md (*avx_movhlps): Use ix86_binary_operator_ok
in insn predicate.
(sse_movhlps): Ditto.
(*avx_movlhps): Ditto.
(sse_movlhps): Ditto.
(*avx_loadhps): Ditto.
(sse_loadhps): Ditto.
(*avx_loadhpd): Ditto.
(sse_loadhpd): Ditto.
(*avx_storelps): Prevent both operands in memory.
(sse_storelps): Ditto.

From-SVN: r166047

13 years ago* score.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
Nathan Froyd [Thu, 28 Oct 2010 20:27:30 +0000 (20:27 +0000)]
* score.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.

From-SVN: r166046

13 years agocris.h (FUNCTION_ARG, [...]): Delete.
Nathan Froyd [Thu, 28 Oct 2010 20:19:57 +0000 (20:19 +0000)]
cris.h (FUNCTION_ARG, [...]): Delete.

* config/cris/cris.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Delete.
(FUNCTION_ARG_ADVANCE): Delete.
* config/cris/cris.c (cris_function_arg_1, cris_function_arg): New
functions.
(cris_function_incoming_arg, cris_function_arg_advance): New
functions.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
(TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r166045

13 years agolm32-protos.h (lm32_function_arg): Delete.
Nathan Froyd [Thu, 28 Oct 2010 20:13:18 +0000 (20:13 +0000)]
lm32-protos.h (lm32_function_arg): Delete.

* config/lm32/lm32-protos.h (lm32_function_arg): Delete.
* config/lm32/lm32.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
* config/mcore/mcore.c (mcore_function_arg): Declare.  Make static.
Take a const_tree and a bool.
(mcore_function_arg_advance): New function.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r166044

13 years agomcore-protos.h (mcore_function_arg): Delete.
Nathan Froyd [Thu, 28 Oct 2010 20:07:06 +0000 (20:07 +0000)]
mcore-protos.h (mcore_function_arg): Delete.

* config/mcore/mcore-protos.h (mcore_function_arg): Delete.
* config/mcore/mcore.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
* config/mcore/mcore.c (mcore_function_arg): Declare.  Make static.
Take a const_tree and a bool.
(mcore_function_arg_advance): New function.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r166043

13 years agoh8300-protos.h (function_arg): Delete.
Nathan Froyd [Thu, 28 Oct 2010 20:06:25 +0000 (20:06 +0000)]
h8300-protos.h (function_arg): Delete.

* config/h8300/h8300-protos.h (function_arg): Delete.
* config/h8300/h8300.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
* config/h8300/h8300.c (function_arg): Rename to...
(h8300_function_arg): ...this.  Make static.  Take a const_tree and
a bool.
(h8300_function_arg_advance): New function.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r166042

13 years agoarc.h (FUNCTION_ARG, [...]): Move code to...
Nathan Froyd [Thu, 28 Oct 2010 20:04:05 +0000 (20:04 +0000)]
arc.h (FUNCTION_ARG, [...]): Move code to...

* config/arc/arc.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Move code
to...
* config/arc/arc.c (arc_function_arg): ...here and...
(arc_function_arg_advance): ...here.  New functions.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r166041

13 years agocrx-protos.h (crx_function_arg): Delete.
Nathan Froyd [Thu, 28 Oct 2010 20:02:25 +0000 (20:02 +0000)]
crx-protos.h (crx_function_arg): Delete.

* config/crx/crx-protos.h (crx_function_arg): Delete.
(crx_function_arg_advance): Delete.
* config/crx/crx.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
* config/crx/crx.c (crx_function_arg): Make static.  Take a
const_tree and a bool.
(crx_function_arg_advance): Make static.  Take a const_tree and
a bool.
(enough_regs_for_param): Take a const_tree.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r166040

13 years agom68hc11-protos.h (m68hc11_function_arg): Delete.
Nathan Froyd [Thu, 28 Oct 2010 20:01:11 +0000 (20:01 +0000)]
m68hc11-protos.h (m68hc11_function_arg): Delete.

* config/m68hc11/m68hc11-protos.h (m68hc11_function_arg): Delete.
(m68hc11_function_arg_advance): Delete.
* config/m68hc11/m68hc11.h (FUNCTION_ARG): Delete.
(FUNCTION_ARG_ADVANCE): Delete.
* config/m68hc11/m68hc11.c (m68hc11_function_arg): Make static.
Take a const_tree and a bool.
(m68hc11_function_arg_advance): Likewise.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r166039

13 years agostormy16-protos.h (xstormy16_function_arg): Delete.
Nathan Froyd [Thu, 28 Oct 2010 19:59:07 +0000 (19:59 +0000)]
stormy16-protos.h (xstormy16_function_arg): Delete.

* config/stormy16/stormy16-protos.h (xstormy16_function_arg): Delete.
(xstormy16_function_arg_advance): Delete.
* config/stormy16/stormy16.h (FUNCTION_ARG): Delete.
(FUNCTION_ARG_ADVANCE): Delete.
* config/stormy16/stormy16.c (xstormy16_function_arg): Make static.
Take a const_tree and a bool.
(xstormy16_function_arg_advance): Likewise.  Return void, updating
the CUM parameter instead.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r166038

13 years agomoxie-protos.h (moxie_function_arg): Delete.
Nathan Froyd [Thu, 28 Oct 2010 19:57:17 +0000 (19:57 +0000)]
moxie-protos.h (moxie_function_arg): Delete.

* config/moxie/moxie-protos.h (moxie_function_arg): Delete.
* config/moxie/moxie.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
(MOXIE_FUNCTION_ARG_SIZE): Move to...
* config/moxie/moxie.c (MOXIE_FUNCTION_ARG_SIZE): ...here.
(moxie_function_arg): Make static.  Take a const_tree and a bool.
(moxie_function_arg_advance): New function.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r166037

13 years agomn10300-protos.h (function_arg): Delete.
Nathan Froyd [Thu, 28 Oct 2010 19:55:43 +0000 (19:55 +0000)]
mn10300-protos.h (function_arg): Delete.

* config/mn10300/mn10300-protos.h (function_arg): Delete.
* config/mn10300/mn10300.h (FUNCTION_ARG): Delete.
(FUNCTION_ARG_ADVANCE): Delete.
* config/mn10300/mn10300.c (function_arg): Rename to...
(mn10300_function_arg): ...this.  Make static.  Take a const_tree
and a bool.
(mn10300_function_arg_advance): New function.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r166036

13 years agoiq2000-protos.h (function_arg): Delete.
Nathan Froyd [Thu, 28 Oct 2010 19:52:48 +0000 (19:52 +0000)]
iq2000-protos.h (function_arg): Delete.

* config/iq2000/iq2000-protos.h (function_arg): Delete.
(function_arg_advance): Delete.
* config/iq2000/iq2000.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
* config/iq2000/iq2000.c (function_arg): Rename to...
(iq2000_function_arg): ...this.  Make static.  Take a const_tree and
a bool.
(function_arg_advance): Rename to...
(iq2000_function_arg_advance): ...this.  Make static.  Take a
const_tree and a bool.
(iq2000_expand_prologue): Call iq2000_function_arg_advance and
iq2000_function_arg.
(iq2000_pass_by_reference): Call iq2000_function_arg).
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r166035

13 years agofr30-protos.h (fr30_num_arg_regs): Delete.
Nathan Froyd [Thu, 28 Oct 2010 19:51:34 +0000 (19:51 +0000)]
fr30-protos.h (fr30_num_arg_regs): Delete.

* config/fr30/fr30-protos.h (fr30_num_arg_regs): Delete.
* config/fr30/fr30.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
* config/fr30/fr30.c (fr30_num_arg_regs): Make static.  Take a
const_tree.
(fr30_function_arg): New function.
(fr30_function_arg_advance): New function.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r166034

13 years agofrv-protos.h (frv_function_arg): Delete.
Nathan Froyd [Thu, 28 Oct 2010 19:45:32 +0000 (19:45 +0000)]
frv-protos.h (frv_function_arg): Delete.

* config/frv/frv-protos.h (frv_function_arg): Delete.
(frv_function_arg_advance): Delete.
* config/frv/frv.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
* config/frv/frv.c (frv_function_arg): Rename to...
(frv_function_arg_1): Make static.  Take const_tree and bool
arguments.
(frv_function_arg, frv_function_incoming_arg): New functions.
(frv_function_arg_advance): Make static.  Take a const_tree and
a bool.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
(TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r166033

13 years agoAdd ARM VFP ABI support to libffi.
Chung-Lin Tang [Thu, 28 Oct 2010 18:11:11 +0000 (18:11 +0000)]
Add ARM VFP ABI support to libffi.

From-SVN: r166032

13 years agore PR target/46153 (ICE: in extract_insn, at recog.c:2110 (unrecognizable insn) with...
Uros Bizjak [Thu, 28 Oct 2010 17:45:52 +0000 (19:45 +0200)]
re PR target/46153 (ICE: in extract_insn, at recog.c:2110 (unrecognizable insn) with -ffloat-store and __builtin_ia32_movlhps)

PR target/46153
* config/i386/sse.md (sse_movhlps_exp): Use destination
returned from ix86_fixup_binary_operands to expand insn.
(sse_movlhps_exp): Ditto.
(sse_loadhps_exp): Ditto.
(sse_loadlps_exp): Ditto.
(sse2_loadhpd_exp): Ditto.
(sse2_loadlpd_exp): Ditto.
(*avx_movhlps): Use ix86_binary_operator_ok in insn predicate.
(sse_movhlps): Ditto.
(*avx_movlhps): Ditto.
(sse_movlhps): Ditto.
(*avx_loadhps): Ditto.
(sse_loadhps): Ditto.
(*avx_loadhpd): Ditto.
(sse_loadhpd): Ditto.
(*avx_storelps): Prevent both operands in memory.
(sse_storelps): Ditto.

testsuite/ChangeLog:

PR target/46153
* gcc.target/i386/pr46153.c: New test.

From-SVN: r166031

13 years agoPR libstdc++/44436 (partial)
Paolo Carlini [Thu, 28 Oct 2010 16:01:05 +0000 (16:01 +0000)]
PR libstdc++/44436 (partial)

2010-10-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/44436 (partial)
* include/bits/hashtable.h (_Hashtable<>::insert(value_type&&),
insert(_Pair&&), insert(const_iterator, value_type&&),
insert(const_iterator, _Pair&&)): Add.
(_M_allocate_node, _M_insert, _M_insert_bucket): Templatize.
* include/bits/hashtable_policy.h (__detail::_Select1st): Add; use
it throughout.
(_Map_base<>::operator[](_Key&&)): Add.
* include/bits/unordered_map.h: Use __detail::_Select1st throughout.
* include/debug/unordered_map: Update.
* include/debug/unordered_set: Likewise.
* include/profile/unordered_map: Likewise.
* include/profile/unordered_set: Likewise.
* testsuite/util/testsuite_rvalref.h (struct hash<rvalstruct>): Add;
minor tweaks throughout, use deleted special members.
* testsuite/23_containers/unordered_map/insert/map_single_move-1.cc:
New.
* testsuite/23_containers/unordered_map/insert/map_single_move-2.cc:
Likewise.
* testsuite/23_containers/unordered_map/insert/array_syntax_move.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/insert/
multimap_single_move-1.cc: Likewise.
* testsuite/23_containers/unordered_multimap/insert/
multimap_single_move-2.cc: Likewise.
* testsuite/23_containers/unordered_set/insert/set_single_move.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/insert/
multiset_single_move.cc: Likewise.

* testsuite/23_containers/unordered_map/insert/array_syntax.cc:
Minor cosmetic changes.

From-SVN: r166030

13 years agoarm.c (const_ok_for_arm): Support 0xXY00XY00 pattern constants in thumb2.
Andrew Stubbs [Thu, 28 Oct 2010 12:36:14 +0000 (12:36 +0000)]
arm.c (const_ok_for_arm): Support 0xXY00XY00 pattern constants in thumb2.

2010-10-28  Andrew Stubbs  <ams@codesourcery.com>

gcc/
* config/arm/arm.c (const_ok_for_arm): Support 0xXY00XY00 pattern
constants in thumb2.

From-SVN: r166029

13 years agoconfigure.ac: Rewrite DGUX check to use GC_CFLAGS, and -O0 check to remove the need...
Paolo Bonzini [Thu, 28 Oct 2010 10:58:48 +0000 (10:58 +0000)]
configure.ac: Rewrite DGUX check to use GC_CFLAGS, and -O0 check to remove the need for MY_CFLAGS.

2010-10-28  Paolo Bonzini  <bonzini@gnu.org>

* configure.ac: Rewrite DGUX check to use GC_CFLAGS, and -O0 check
to remove the need for MY_CFLAGS.
* Makefile.am: Do not use @...@ substitutions.  Use AM_CXXFLAGS,
AM_CFLAGS and AM_LDFLAGS instead of redefining LTCOMPILE and LINK.
Use "override" to disable -O2 when required.
* configure: Regenerate.
* Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.

From-SVN: r166028

13 years agocombine.c (set_nonzero_bits_and_sign_copies): Use unsigned arithmetics in masking...
Eric Botcazou [Thu, 28 Oct 2010 10:32:03 +0000 (10:32 +0000)]
combine.c (set_nonzero_bits_and_sign_copies): Use unsigned arithmetics in masking operations.

* combine.c (set_nonzero_bits_and_sign_copies): Use unsigned
arithmetics in masking operations.
(contains_muldiv): Likewise.
(try_combine): Likewise.
(find_split_point): Likewise.
(combine_simplify_rtx): Likewise.
(simplify_if_then_else): Likewise.
(simplify_set): Likewise.
(expand_compound_operation): Likewise.
(expand_field_assignment): Likewise.
(make_extraction): Likewise.
(extract_left_shift): Likewise.
(make_compound_operation): Likewise.
(force_to_mode): Likewise.
(make_field_assignment): Likewise.
(reg_nonzero_bits_for_combine): Likewise.
(simplify_shift_const_1): Likewise.
(simplify_comparison): Likewise.

From-SVN: r166027

13 years agoDaily bump.
GCC Administrator [Thu, 28 Oct 2010 00:18:38 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r166026

13 years agochecking in Nathan's patch because I accidently checked in part of it with my earlier...
Steve Ellcey [Wed, 27 Oct 2010 22:51:18 +0000 (22:51 +0000)]
checking in Nathan's patch because I accidently checked in part of it with my earlier patch.

checking in Nathan's patch because I accidently checked in part of it
with my earlier patch.  Also adding ChangeLog entry I forgot.

2010-10-27  Nathan Froyd  <froydnj@codesourcery.com>

        * config/ia64/ia64-protos.h (ia64_function_arg): Delete.
        (ia64_function_arg_advance): Delete.
        * config/ia64/ia64.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Delete.
        (FUNCTION_ARG_ADVANCE): Delete.
        * config/ia64/ia64.c (ia64_function_arg): Rename to...
        (ia64_function_arg_1): ...this.  Make static.  Take const_tree and
        bool arguments.
        (ia64_function_arg, ia64_function_incoming_arg): New functions.
        (ia64_function_arg_advance): Make static.  Take a const_tree and
        a bool.
        (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
        (TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r166022

13 years agotm.texi.in (TARGET_GET_RAW_RESULT_MODE): New.
Steve Ellcey [Wed, 27 Oct 2010 22:44:31 +0000 (22:44 +0000)]
tm.texi.in (TARGET_GET_RAW_RESULT_MODE): New.

2010-10-27  Steve Ellcey  <sje@cup.hp.com>

* doc/tm.texi.in (TARGET_GET_RAW_RESULT_MODE): New.
(TARGET_GET_RAW_ARG_MODE): New.
* doc/tm.texi: Regenerate.
* target.def (get_raw_result_mode): New.
(get_raw_arg_mode): New.
* targhooks.c (default_get_reg_raw_mode): New.
* targhooks.h (default_get_reg_raw_mode): New.
* builtins.c (apply_args_size): Use targetm.calls.get_raw_arg_mode.
(apply_result_size): Ditto.
* config/ia64/ia64.c (ia64_get_reg_raw_mode): New.
(TARGET_GET_RAW_RESULT_MODE): Define.
(TARGET_GET_RAW_ARG_MODE): Ditto.

From-SVN: r166021

13 years agoc-common.c (c_common_reswords): Add __is_literal_type.
Jason Merrill [Wed, 27 Oct 2010 21:43:33 +0000 (17:43 -0400)]
c-common.c (c_common_reswords): Add __is_literal_type.

gcc/c-family/
* c-common.c (c_common_reswords): Add __is_literal_type.
* c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
gcc/cp/
* cp-tree.h (cp_trait_kind): Add CPTK_IS_LITERAL_TYPE.
* cxx-pretty-print.c (pp_cxx_trait_expression): Handle it.
* semantics.c (trait_expr_value, finish_trait_expr): Likewise.
* parser.c (cp_parser_primary_expression): Handle RID_IS_LITERAL_TYPE.
(cp_parser_trait_expr): Likewise.
libstdc++-v3/
* include/std/type_traits (is_literal_type): New.

From-SVN: r166020

13 years agoc-common.c (check_case_value): Remove special C++ code.
Jason Merrill [Wed, 27 Oct 2010 21:42:36 +0000 (17:42 -0400)]
c-common.c (check_case_value): Remove special C++ code.

c-family/
* c-common.c (check_case_value): Remove special C++ code.
cp/
* decl.c (finish_case_label): Use decl_constant_value.

From-SVN: r166019

13 years agore PR fortran/46161 ([OOP] Invalid: Passing non-polymorphic to allocatable polymorphi...
Janus Weil [Wed, 27 Oct 2010 21:41:52 +0000 (23:41 +0200)]
re PR fortran/46161 ([OOP] Invalid: Passing non-polymorphic to allocatable polymorphic dummy)

2010-10-27  Janus Weil  <janus@gcc.gnu.org>

PR fortran/46161
* interface.c (compare_allocatable): Handle polymorphic allocatables.
(compare_parameter): Add two error messages for polymorphic dummies.

2010-10-27  Janus Weil  <janus@gcc.gnu.org>

PR fortran/46161
* gfortran.dg/class_dummy_3.f03: New.

From-SVN: r166018

13 years agotrans.c (gigi): Fix formatting issues.
Eric Botcazou [Wed, 27 Oct 2010 21:15:06 +0000 (21:15 +0000)]
trans.c (gigi): Fix formatting issues.

* gcc-interface/trans.c (gigi): Fix formatting issues.
(build_raise_check): Likewise.
(gnat_to_gnu): Likewise.
* gcc-interface/utils2.c (build_call_raise_range): Likewise.
(build_call_raise_column): Likewise.

From-SVN: r166017

13 years agosol2-unwind.h (sparc64_fallback_frame_state): Adjust for newer Solaris 10 release.
Eric Botcazou [Wed, 27 Oct 2010 20:34:36 +0000 (20:34 +0000)]
sol2-unwind.h (sparc64_fallback_frame_state): Adjust for newer Solaris 10 release.

* config/sparc/sol2-unwind.h (sparc64_fallback_frame_state): Adjust
for newer Solaris 10 release.
(sparc_fallback_frame_state): Likewise.

From-SVN: r166015

13 years agomethod.c (synthesized_method_walk): Track constexprness too.
Gabriel Dos Reis [Wed, 27 Oct 2010 20:11:29 +0000 (16:11 -0400)]
method.c (synthesized_method_walk): Track constexprness too.

* method.c (synthesized_method_walk): Track constexprness too.
(process_subob_fn, walk_field_subobs): Likewise.
(implicitly_declare_fn): Set DECL_DECLARED_CONSTEXPR_P.
(defaulted_late_check): Handle DECL_DECLARED_CONSTEXPR_P.
* class.c (add_implicitly_declared_members): Handle
constexpr default ctor.

Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r166014

13 years agoparser.c (cp_parser_ctor_initializer_opt_and_function_body): Make sure a constexpr...
Gabriel Dos Reis [Wed, 27 Oct 2010 19:31:33 +0000 (15:31 -0400)]
parser.c (cp_parser_ctor_initializer_opt_and_function_body): Make sure a constexpr ctor has an empty body.

* parser.c (cp_parser_ctor_initializer_opt_and_function_body):
Make sure a constexpr ctor has an empty body.
* class.c (type_has_constexpr_default_constructor): New.
* cp-tree.h: Declare it.
* init.c (perform_member_init): Complain about uninitialized
member in constexpr ctor.
(emit_mem_initializers): And uninitialized base.
* decl.c (check_tag_decl): Fix typo.

* semantics.c (valid_type_in_constexpr_fundecl_p): New fn.
(is_valid_constexpr_fn): New fn.
(validate_constexpr_fundecl): Use it.
* decl.c (validate_constexpr_redeclaration): New.
(duplicate_decls): Use it.
(cp_finish_decl): Call validate_constexpr_fundecl and
ensure_literal_type_for_constexpr_object here.
(start_decl): Not here.  Don't ICE on constexpr reference.
(check_for_uninitialized_const_var): Don't handle constexpr specially.
(grokfndecl): Set DECL_DECLARED_CONSTEXPR_P.
(check_static_variable_definition): Give friendly message about
missing constexpr.
(grokdeclarator): Complain about typedef and volatile with constexpr.
Reorganize.  Give sorry about non-static data members in C++0x mode.
(start_preparsed_function): Check validate_constexpr_fundecl here.
(check_function_type): Not here.
* decl2.c (finish_static_data_member_decl): Don't complain about
in-class init.
* parser.c (CP_PARSER_FLAGS_ONLY_TYPE_OR_CONSTEXPR): New.
(cp_parser_condition): Pass it to cp_parser_decl_specifier_seq.
(cp_parser_decl_specifier_seq): Handle it.
(cp_parser_explicit_instantiation): Diagnose inline and constexpr.

Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r166013

13 years agoclass.c (check_bases): Propagate non-literality.
Gabriel Dos Reis [Wed, 27 Oct 2010 19:04:06 +0000 (15:04 -0400)]
class.c (check_bases): Propagate non-literality.

* class.c (check_bases): Propagate non-literality.
(check_field_decls): Likewise.
(finalize_literal_type_property): New.
(check_bases_and_members): Call it.
* cp-tree.h (TYPE_HAS_CONSTEXPR_CTOR): New.
(lang_type_class): Add has_constexpr_ctor field.
(DECL_DECLARED_CONSTEXPR_P): Strip template.
* decl.c (grok_special_member_properties): Set
TYPE_HAS_CONSTEXPR_CTOR.

Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r166012

13 years agocall.c (build_integral_nontype_arg_conv): New.
Jason Merrill [Wed, 27 Oct 2010 15:59:54 +0000 (11:59 -0400)]
call.c (build_integral_nontype_arg_conv): New.

* call.c (build_integral_nontype_arg_conv): New.
* cp-tree.h: Declare it.
* pt.c (convert_nontype_argument): Use it.

From-SVN: r166011

13 years ago* error.c (dump_simple_decl): Print constexpr.
Jason Merrill [Wed, 27 Oct 2010 15:54:45 +0000 (11:54 -0400)]
* error.c (dump_simple_decl): Print constexpr.

From-SVN: r166010

13 years ago* cvt.c (build_up_reference): Use target_type for the temporary var.
Jason Merrill [Wed, 27 Oct 2010 15:54:35 +0000 (11:54 -0400)]
* cvt.c (build_up_reference): Use target_type for the temporary var.

From-SVN: r166009

13 years ago* except.c (build_throw): Set EXPR_LOCATION.
Jason Merrill [Wed, 27 Oct 2010 15:48:26 +0000 (11:48 -0400)]
* except.c (build_throw): Set EXPR_LOCATION.

From-SVN: r166008

13 years ago* tree.c (build_cplus_new): Handle CONSTRUCTOR.
Jason Merrill [Wed, 27 Oct 2010 15:48:16 +0000 (11:48 -0400)]
* tree.c (build_cplus_new): Handle CONSTRUCTOR.

From-SVN: r166007

13 years agosemantics.c (finish_compound_stmt): Avoid creating an unnecessary BIND_EXPR.
Jason Merrill [Wed, 27 Oct 2010 15:48:09 +0000 (11:48 -0400)]
semantics.c (finish_compound_stmt): Avoid creating an unnecessary BIND_EXPR.

* semantics.c (finish_compound_stmt): Avoid creating an
unnecessary BIND_EXPR.

From-SVN: r166006

13 years agocall.c (convert_like_real): Don't check narrowing if the element is also an initializ...
Jason Merrill [Wed, 27 Oct 2010 15:48:01 +0000 (11:48 -0400)]
call.c (convert_like_real): Don't check narrowing if the element is also an initializer-list.

* call.c (convert_like_real): Don't check narrowing if the element
is also an initializer-list.

From-SVN: r166005

13 years agogimplify.c (gimplify_decl_expr): Handle anonymous artificial variables sooner.
Jason Merrill [Wed, 27 Oct 2010 15:47:52 +0000 (11:47 -0400)]
gimplify.c (gimplify_decl_expr): Handle anonymous artificial variables sooner.

* gimplify.c (gimplify_decl_expr): Handle anonymous artificial
variables sooner.

From-SVN: r166004

13 years agohaifa-sched.c (ISSUE_POINTS): Remove.
Jie Zhang [Wed, 27 Oct 2010 14:30:17 +0000 (14:30 +0000)]
haifa-sched.c (ISSUE_POINTS): Remove.

* haifa-sched.c (ISSUE_POINTS): Remove.
(max_issue): Don't issue more than issue_rate instructions.

Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com>
From-SVN: r166002

13 years agoReplace UNSPEC_STACK_CHECK with UNSPECV_SPLIT_STACK_RETURN.
Ian Lance Taylor [Wed, 27 Oct 2010 13:32:54 +0000 (13:32 +0000)]
Replace UNSPEC_STACK_CHECK with UNSPECV_SPLIT_STACK_RETURN.

2010-10-27  Ian Lance Taylor  <iant@google.com>

PR target/46197
* config/i386/i386.md (UNSPECV_SPLIT_STACK_RETURN): New.
(split_stack_return): Replace UNSPEC_STACK_CHECK with
UNSPECV_SPLIT_STACK_RETURN.

From-SVN: r166001

13 years agoAdd -mvzeroupper to x86.
H.J. Lu [Wed, 27 Oct 2010 12:36:15 +0000 (12:36 +0000)]
Add -mvzeroupper to x86.

gcc/

2010-10-27  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/i386-protos.h (init_cumulative_args): Add an int.

* config/i386/i386.c (block_info): New.
(BLOCK_INFO): Likewise.
(call_avx256_state): Likewise.
(check_avx256_stores): Likewise.
(move_or_delete_vzeroupper_2): Likewise.
(move_or_delete_vzeroupper_1): Likewise.
(move_or_delete_vzeroupper): Likewise.
(use_avx256_p): Likewise.
(function_pass_avx256_p): Likewise.
(flag_opts): Add -mvzeroupper.
(ix86_option_override_internal): Turn on MASK_VZEROUPPER by
default for TARGET_AVX.  Turn off MASK_VZEROUPPER if TARGET_AVX
is disabled.
(ix86_function_ok_for_sibcall): Disable sibcall if we need to
generate vzeroupper.
(init_cumulative_args): Add an int to indicate caller.  Set
use_avx256_p, callee_return_avx256_p and caller_use_avx256_p
based on return type.
(ix86_function_arg): Set use_avx256_p, callee_pass_avx256_p and
caller_pass_avx256_p based on argument type.
(ix86_expand_epilogue): Emit vzeroupper if 256bit AVX register
is used, but not returned by caller.
(ix86_expand_call): Emit vzeroupper if 256bit AVX register is
used.
(ix86_local_alignment): Set use_avx256_p if 256bit AVX register
is used.
(ix86_minimum_alignment): Likewise.
(ix86_expand_special_args_builtin): Set target to
GEN_INT (vzeroupper_intrinsic) for CODE_FOR_avx_vzeroupper.
(ix86_reorg): Run the vzeroupper optimization if needed.

* config/i386/i386.h (ix86_args): Add caller.
(INIT_CUMULATIVE_ARGS): Updated.
(machine_function): Add use_vzeroupper_p, use_avx256_p,
caller_pass_avx256_p, caller_return_avx256_p,
callee_pass_avx256_p and callee_return_avx256_p.

* config/i386/i386.opt (-mvzeroupper): New.

* config/i386/predicates.md (vzeroupper_operation): Removed.

* config/i386/sse.md (avx_vzeroupper): Removed.
(*avx_vzeroupper): Removed.
(avx_vzeroupper): New.

* doc/invoke.texi: Document -mvzeroupper.

gcc/testsuite/

2010-10-27  H.J. Lu  <hongjiu.lu@intel.com>

* gcc.target/i386/avx-vzeroupper-1.c: Add -mtune=generic.
* gcc.target/i386/avx-vzeroupper-2.c: Likewise.

* gcc.target/i386/avx-vzeroupper-3.c: New.
* gcc.target/i386/avx-vzeroupper-4.c: Likewise.
* gcc.target/i386/avx-vzeroupper-5.c: Likewise.
* gcc.target/i386/avx-vzeroupper-6.c: Likewise.
* gcc.target/i386/avx-vzeroupper-7.c: Likewise.
* gcc.target/i386/avx-vzeroupper-8.c: Likewise.
* gcc.target/i386/avx-vzeroupper-9.c: Likewise.
* gcc.target/i386/avx-vzeroupper-10.c: Likewise.
* gcc.target/i386/avx-vzeroupper-11.c: Likewise.
* gcc.target/i386/avx-vzeroupper-12.c: Likewise.
* gcc.target/i386/avx-vzeroupper-13.c: Likewise.
* gcc.target/i386/avx-vzeroupper-14.c: Likewise.

From-SVN: r166000

13 years agot-mingw32 (SHLIB_LC): Add -lmingwthrd.
Eric Botcazou [Wed, 27 Oct 2010 11:21:00 +0000 (11:21 +0000)]
t-mingw32 (SHLIB_LC): Add -lmingwthrd.

* config/i386/t-mingw32 (SHLIB_LC): Add -lmingwthrd.
* config/i386/t-mingw-w32 (SHLIB_LC): Likewise.
* config/i386/t-mingw-w64 (SHLIB_LC): Likewise.

From-SVN: r165999

13 years agow32-unwind.h (i386_w32_fallback_frame_state): Fix regnum of EBP.
Eric Botcazou [Wed, 27 Oct 2010 11:18:45 +0000 (11:18 +0000)]
w32-unwind.h (i386_w32_fallback_frame_state): Fix regnum of EBP.

* config/i386/w32-unwind.h (i386_w32_fallback_frame_state): Fix regnum
of EBP.  Do not restore reg #9.  Remove +1 adjustment to EIP and set
fs->signal_frame instead.

Co-Authored-By: Olivier Hainque <hainque@adacore.com>
From-SVN: r165998

13 years agoIn gcc/: 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
Nicola Pero [Wed, 27 Oct 2010 05:23:08 +0000 (05:23 +0000)]
In gcc/: 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>

In gcc/:
2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>

        * c-parser.c (c_parser_objc_at_property_declaration): Recognize
        RID_ASSIGN, RID_COPY, RID_RETAIN, RID_READWRITE and RID_NONATOMIC.
        Do not use objc_set_property_attr, but use local variables
        instead.  Detect repeated usage of setter, getter and ivar
        attributes.  Improved error processing when a setter name does not
        end in ':'.  Do not check for CPP_CLOSE_PAREN after we determined
        that the token is a keyword.  Updated call to
        objc_add_property_declaration.

In gcc/cp/:
2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>

        * parser.c (cp_parser_objc_at_property_declaration): Recognize
        RID_ASSIGN, RID_COPY, RID_RETAIN, RID_READWRITE and RID_NONATOMIC.
        Do not use objc_set_property_attr, but use local variables
        instead.  Detect repeated usage of setter, getter and ivar
        attributes.  Improved error processing when a setter name does not
        end in ':'.  Do not check for CPP_CLOSE_PAREN after we determined
        that the token is a keyword.  Updated call to
        objc_add_property_declaration.

In gcc/c-family/:
2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>

        * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
        RID_RETAIN, RID_COPY and RID_NONATOMIC.  Updated RID_FIRST_PATTR
        and RID_LAST_PATTR.
        (objc_add_property_declaration): Added additional arguments.
        (objc_property_attribute_kind): Removed.
        (objc_set_property_attr): Removed.
        * c-common.c (c_common_reswords): Added readwrite, assign, retain,
        copy and nonatomic.
        * stub-objc.c (objc_add_property_declaration): Added additional
        arguments.
        (objc_set_property_attr): Removed.

In gcc/objc/:
2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>

        * objc-act.c (objc_add_property_declaration): Added arguments to
        pass the various property attributes that were parsed with the
        property declaration.  Process arguments to determine the final
        property attributes and produce error messages as appropriate.
        Added temporary code to keep the compiler silent about variables
        set but not used - for new attributes that are only checked but
        have no effect yet.
        (property_readonly): Removed.
        (property_setter): Removed.
        (property_getter): Removed.
        (property_ivar): Removed.
        (property_copies): Removed.
        (objc_set_property_attr): Removed.
        * objc-act.h (enum property_assign_semantics): New.

In gcc/testsuite/:
2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>

        * obj-c.dg/property/at-property-4.m: New.
        * obj-c++.dg/property/at-property-4.mm: New.
        * obj-c++.dg/property/property-neg-5.m: Updated testcase for
        updates in warning.
        * obj-c++.dg/property/property-neg-5.mm: Updated testcase for
        updates in warning.

From-SVN: r165997

13 years agoIn gcc/: 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
Nicola Pero [Wed, 27 Oct 2010 04:37:47 +0000 (04:37 +0000)]
In gcc/: 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>

In gcc/:
2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>

        * c-parser.c (c_parser_objc_at_property): Renamed to
        c_parser_objc_at_property_declaration.  Updated calls to
        objc_add_property_variable, now objc_add_property_declaration.
        Code rewritten to be much more robust in recovering from syntax
        errors.  Added comments.
        (c_parser_objc_property_attrlist): Removed.
        (c_parser_external_declaration): Updated calls to
        c_parser_objc_at_property, now
        c_parser_objc_at_property_declaration.
        (c_parser_objc_methodprotolist): Same change.

In gcc/c-family/:
2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>

        * c-common.h (objc_add_property_variable): Renamed to
        objc_add_property_declaration.  Added location argument.
        * stub-objc.c (objc_add_property_variable): Same change.

In gcc/cp/:
2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>

        * parser.c (cp_parser_objc_property_decl): Renamed to
        cp_parser_objc_struct_declaration.  Return the parsed trees
        instead of calling objc_add_property_variable directly.  Detect
        missing or invalid declspecs.  Implemented attributes.  Do not eat
        the ';' at the end.  Exit loop whenever a non-comma is parsed, not
        just EOF.
        (cp_parser_objc_at_property): Renamed to
        cp_parser_objc_at_property_declaration.  Updated calls to
        objc_add_property_variable, now objc_add_property_declaration, and
        to cp_parser_objc_property_decl, now
        cp_parser_objc_struct_declaration.  Rewritten all code to be more
        robust in dealing with syntax errors, and almost identical to the
        one in c_parser_objc_at_property_declaration.
        (cp_parser_objc_property_attrlist): Removed.
        (cp_parser_objc_method_prototype_list): Updated call to
        cp_parser_objc_at_property.
        (cp_parser_objc_method_definition_list): Same change.
        (cp_parser_objc_class_ivars): Detect a number of invalid
        declarations of instance variables and produce errors when they
        are found.

In gcc/objc/:
2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>

        * objc-act.c (objc_add_property_variable): Renamed to
        objc_add_property_declaration.  Added location argument.  Updated
        warnings and errors to use it.  Use error, not fatal_error, if a
        property declaration is found outside an interface or
        implementation context.

In gcc/testsuite/:
2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>

        * objc.dg/property/at-property-1.m: New.
        * objc.dg/property/at-property-2.m: New.
        * objc.dg/property/at-property-3.m: New.
        * objc.dg/ivar-invalid-type-1.m: New.
        * obj-c++.dg/property/at-property-1.mm: New.
        * obj-c++.dg/property/at-property-2.mm: New.
        * obj-c++.dg/property/at-property-3.mm: New.
        * obj-c++.dg/ivar-invalid-type-1.mm: New.
        * objc.dg/property/property-neg-6.m: Updated testcase for updates
        in error reporting.

From-SVN: r165996

13 years agoPut back unspec_volatile on split_stack_return.
H.J. Lu [Wed, 27 Oct 2010 02:48:42 +0000 (02:48 +0000)]
Put back unspec_volatile on split_stack_return.

2010-10-26  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/i386.md (split_stack_return): Put back
unspec_volatile.

From-SVN: r165995

13 years agoDaily bump.
GCC Administrator [Wed, 27 Oct 2010 00:18:01 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r165994

13 years agoipa.c (process_references): Enqueue all referenced nodes; mark as reachable only...
Jan Hubicka [Tue, 26 Oct 2010 22:42:53 +0000 (00:42 +0200)]
ipa.c (process_references): Enqueue all referenced nodes; mark as reachable only non-external nodes.

* ipa.c (process_references): Enqueue all referenced nodes;
mark as reachable only non-external nodes.
(cgraph_remove_unreachable_nodes): All referenced nodes should
be enqueued; remove bogues node->needed check.

From-SVN: r165990

13 years ago* cgraphbuild.c (build_cgraph_edges): Use ipa-reference to represent OMP.
Jan Hubicka [Tue, 26 Oct 2010 22:32:47 +0000 (00:32 +0200)]
* cgraphbuild.c (build_cgraph_edges): Use ipa-reference to represent OMP.

From-SVN: r165989

13 years agoipa.c (process_references): Enqueue all referenced nodes; mark as reachable only...
Jan Hubicka [Tue, 26 Oct 2010 21:33:37 +0000 (21:33 +0000)]
ipa.c (process_references): Enqueue all referenced nodes; mark as reachable only non-external nodes.

* ipa.c (process_references): Enqueue all referenced nodes;
mark as reachable only non-external nodes.
(cgraph_remove_unreachable_nodes): All referenced nodes should
be enqueued; remove bogues node->needed check.

From-SVN: r165988

13 years agoReplace unspec_volatile with unspec in split_stack_return.
H.J. Lu [Tue, 26 Oct 2010 21:20:19 +0000 (21:20 +0000)]
Replace unspec_volatile with unspec in split_stack_return.

From-SVN: r165987

13 years agoAdd missing testcase.
Jan Hubicka [Tue, 26 Oct 2010 21:20:00 +0000 (21:20 +0000)]
Add missing testcase.

From-SVN: r165986

13 years agolto.c (add_cgraph_node_to_partition, [...]): Add debug info.
Jan Hubicka [Tue, 26 Oct 2010 20:10:03 +0000 (22:10 +0200)]
lto.c (add_cgraph_node_to_partition, [...]): Add debug info.

* lto.c (add_cgraph_node_to_partition,
add_varpool_node_to_partition): Add debug info.
(lto_1_to_1_map, lto_balanced_map): Do not re-add already
partitioned nodes.
(do_whole_program_analysis): Set function flags before dumping.

From-SVN: r165984

13 years agorevert: pt.c (lookup_template_class): push_tinst_level around call to coerce_template...
Jason Merrill [Tue, 26 Oct 2010 19:45:55 +0000 (15:45 -0400)]
revert: pt.c (lookup_template_class): push_tinst_level around call to coerce_template_parms.

Revert
* pt.c (lookup_template_class): push_tinst_level around call to
coerce_template_parms.

From-SVN: r165982

13 years agore PR fortran/46010 (I/O: Namelist-reading bug)
Jerry DeLisle [Tue, 26 Oct 2010 19:34:21 +0000 (19:34 +0000)]
re PR fortran/46010 (I/O: Namelist-reading bug)

2010-10-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/46010
* gfortran.dg/namelist_66.f90: New test.
* gfortran.dg/fmt_t_6.f: Fix whitespace.

From-SVN: r165981

13 years agoinstall.texi: Fix typo in --with-sysroot description.
Jonathan Wakely [Tue, 26 Oct 2010 19:07:01 +0000 (19:07 +0000)]
install.texi: Fix typo in --with-sysroot description.

2010-10-26  Jonathan Wakely  <jwakely.gcc@gmail.com>

* doc/install.texi: Fix typo in --with-sysroot description.

From-SVN: r165980

13 years agore PR fortran/46010 (I/O: Namelist-reading bug)
Jerry DeLisle [Tue, 26 Oct 2010 19:05:08 +0000 (19:05 +0000)]
re PR fortran/46010 (I/O: Namelist-reading bug)

2010-10-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/46010
* io/list_read.c (nml_parse_qualifier): Add additional conditions for
setting the end index for loop specification. Fix some whitespace.
* io/write.c (write_default_char4): Const-ify the source argument.

From-SVN: r165979

13 years agoipa.c (cgraph_externally_visible_p, [...]): Use info provided by linker plugin.
Jan Hubicka [Tue, 26 Oct 2010 18:34:03 +0000 (20:34 +0200)]
ipa.c (cgraph_externally_visible_p, [...]): Use info provided by linker plugin.

* ipa.c (cgraph_externally_visible_p, varpool_externally_visible_p):
Use info provided by linker plugin.

From-SVN: r165978

13 years agoPatch by Ralf Wildenhues.
Ralf Wildenhues [Tue, 26 Oct 2010 18:29:29 +0000 (18:29 +0000)]
Patch by Ralf Wildenhues.

* aclocal.m4 (AC_LANG_FUNC_LINK_TRY(C)): Delete.
* configure: Regenerate.

From-SVN: r165977

13 years agotree.c (build_vec_init_expr): Split out from...
Jason Merrill [Tue, 26 Oct 2010 18:10:53 +0000 (14:10 -0400)]
tree.c (build_vec_init_expr): Split out from...

* tree.c (build_vec_init_expr): Split out from...
(build_array_copy): ...here.
* init.c (perform_member_init): Use it.
* cp-tree.h: Declare it.
* cp-gimplify.c (cp_gimplify_init_expr): Don't gimplify the slot for
VEC_INIT_EXPR and AGGR_INIT_EXPR here.  Drop pre/post parameters.
(cp_gimplify_expr): Handle array default-initialization via
VEC_INIT_EXPR.

From-SVN: r165976

13 years agovarasm.c (constructor_static_from_elts_p): Don't require a CONSTRUCTOR to have elemen...
Jason Merrill [Tue, 26 Oct 2010 17:57:44 +0000 (13:57 -0400)]
varasm.c (constructor_static_from_elts_p): Don't require a CONSTRUCTOR to have elements to be suitable for static...

* varasm.c (constructor_static_from_elts_p): Don't require a
CONSTRUCTOR to have elements to be suitable for static
initialization.  Allow ARRAY_TYPE as well.

From-SVN: r165975

13 years agopt.c (lookup_template_class): push_tinst_level around call to coerce_template_parms.
Jason Merrill [Tue, 26 Oct 2010 17:57:30 +0000 (13:57 -0400)]
pt.c (lookup_template_class): push_tinst_level around call to coerce_template_parms.

* pt.c (lookup_template_class): push_tinst_level around call to
coerce_template_parms.

From-SVN: r165974

13 years agore PR fortran/42647 ([F03] Missed initialization/dealloc of allocatable scalar DT...
Janus Weil [Tue, 26 Oct 2010 17:38:42 +0000 (19:38 +0200)]
re PR fortran/42647 ([F03] Missed initialization/dealloc of allocatable scalar DT with allocatable component)

2010-10-26  Janus Weil  <janus@gcc.gnu.org>

PR fortran/42647
* trans.h (gfc_deallocate_scalar_with_status): New prototype.
* trans.c (gfc_deallocate_scalar_with_status): New function for
deallocation of allocatable scalars.
* trans-array.c (structure_alloc_comps): Call it here ...
* trans-decl.c (gfc_trans_deferred_vars): ... here ...
* trans-stmt.c (gfc_trans_deallocate): ... and here.

2010-10-26  Janus Weil  <janus@gcc.gnu.org>

PR fortran/42647
* gfortran.dg/allocatable_scalar_9.f90: Extended.
* gfortran.dg/allocatable_scalar_10.f90: New.
* gfortran.dg/class_19.f03: Extended.

From-SVN: r165973

13 years agore PR lto/45736 (ICE: in cgraph_remove_unreachable_nodes, at ipa.c:245 with -flto...
Jan Hubicka [Tue, 26 Oct 2010 16:40:16 +0000 (18:40 +0200)]
re PR lto/45736 (ICE: in cgraph_remove_unreachable_nodes, at ipa.c:245 with -flto and attribute((constructor)))

PR middle-end/45736
* cgraph.c (cgraph_set_readonly_flag): Rename to...
(cgraph_set_const_flags) ... this one; get also looping argument;
clear constructor/destructor flags.
(cgraph_set_pure_flag): Likewise.
(cgraph_set_looping_const_or_pure_flag): Remove.
(cgraph_can_remove_if_no_direct_calls_and_refs): Do not try
to optimize away static ctors/dtors; it does not work on inline clones;
external functions can always be rmeoved.
(cgraph_will_be_removed_from_program_if_no_direct_calls): Assert on inline
clones; in LTO external functions always can go.
(cgraph_used_from_object_file_p): Handle EXTERNAL functions correctly.
(cgraph_mark_address_taken_node): Assert that we are not taking address of
inline clone.
(cgraph_can_remove_if_no_direct_calls_p): We always eventually remove
external functions.
* ipa-cp.c (ipcp_cloning_candidate_p): Do not clone functions with address taken.
(ipcp_initialize_node_lattices): Only local functions can be handled without cloning.
* cgraph.h (cgraph_set_readonly_flag,
cgraph_set_looping_const_or_pure_flag): Remove.
(cgraph_set_const_flag): Declare.
(cgraph_set_pure_flag): Update.
* ipa-pure-const (propagate_pure_const, local_pure_const): Update
flags setting code.
* ipa.c (cgraph_remove_unreachable_nodes): Fix formating; do not look at inline
clones; fix handling of external definitions.
(cgraph_postorder): Do not look at inline clones in the first pass.
(function_and_variable_visibility): Drop constructors/destructor
flags at pure and const functions.
* tree-profile.c (tree_profiling): Update.
* ipa-inline.c (cgraph_clone_inlined_nodes): Always clone functions with
address taken; external functions do not account to whole program size.
(cgraph_decide_inlining): Likewise; do not try to inline functions already
inlined.
* testsuite/gcc.dg/lto/pr45736_0.c: New function.

From-SVN: r165972

13 years agoinvoke.texi: Improve documentation of -fstrict-volatile-bitfields.
Jie Zhang [Tue, 26 Oct 2010 16:13:04 +0000 (16:13 +0000)]
invoke.texi: Improve documentation of -fstrict-volatile-bitfields.

* doc/invoke.texi: Improve documentation of
-fstrict-volatile-bitfields.

From-SVN: r165971

13 years agore PR tree-optimization/46167 (ICE: SIGSEGV in flow_bb_inside_loop_p (cfgloop.c:776...
Ira Rosen [Tue, 26 Oct 2010 15:53:28 +0000 (15:53 +0000)]
re PR tree-optimization/46167 (ICE: SIGSEGV in flow_bb_inside_loop_p (cfgloop.c:776) with -O -ftree-vectorize)

PR tree-optimization/46167
* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Check that there
is basic block for the statement.

From-SVN: r165970

13 years ago* tree.c (stabilize_expr): Handle xvalues properly.
Jason Merrill [Tue, 26 Oct 2010 15:02:54 +0000 (11:02 -0400)]
* tree.c (stabilize_expr): Handle xvalues properly.

From-SVN: r165969

13 years ago* call.c (build_over_call): Use argarray[0] for 'this' argument.
Jason Merrill [Tue, 26 Oct 2010 15:02:47 +0000 (11:02 -0400)]
* call.c (build_over_call): Use argarray[0] for 'this' argument.

From-SVN: r165968

13 years ago* decl.c (finish_function): Don't look at function_depth.
Jason Merrill [Tue, 26 Oct 2010 15:02:39 +0000 (11:02 -0400)]
* decl.c (finish_function): Don't look at function_depth.

From-SVN: r165967

13 years agopdp11.c (pdp11_f_format, [...]): Update to current definition of struct_real_format.
Paul Koning [Tue, 26 Oct 2010 15:00:54 +0000 (11:00 -0400)]
pdp11.c (pdp11_f_format, [...]): Update to current definition of struct_real_format.

* config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Update to
current definition of struct_real_format.

From-SVN: r165966

13 years agoProperly align parameters on stack for x86.
H.J. Lu [Tue, 26 Oct 2010 13:56:42 +0000 (13:56 +0000)]
Properly align parameters on stack for x86.

gcc/

2010-10-26  H.J. Lu  <hongjiu.lu@intel.com>

PR target/44948
* config/i386/i386.c (ix86_old_function_arg_boundary): New.
(ix86_function_arg_boundary): Always align parameters on stack
in 64bit and align parameters with alignment >= 16byte on stack
in 32bit.  Warn alignment change.

gcc/testsuite/

2010-10-26  H.J. Lu  <hongjiu.lu@intel.com>

PR target/44948
* g++.dg/abi/param2.C: Add -Wno-psabi for ilp32 x86.
* g++.dg/vect/pr33860a.cc: Likewise.
* gcc.c-torture/compile/20070522-1.c: Likewise.
* gcc.dg/compat/struct-align-1_x.c: Likewise.
* gcc.dg/compat/struct-align-1_y.c: Likewise.
* gcc.dg/compat/struct-align-2_x.c: Likewise.
* gcc.dg/compat/struct-align-2_y.c: Likewise.
* gcc.dg/pr44136.c: Likewise.

* gcc.c-torture/compile/pr33617.c: Add -Wno-psabi for x86.
* gcc.dg/compat/vector-1_x.c: Likewise.
* gcc.dg/compat/vector-1_y.c: Likewise.
* gcc.dg/compat/vector-2_x.c: Likewise.
* gcc.dg/compat/vector-2_y.c: Likewise.
* gcc.dg/pr43300.c: Likewise.

* gcc.dg/compat/vector-1a_x.c: Add -Wno-psabi.
* gcc.dg/compat/vector-1a_y.c: Likewise.
* gcc.dg/compat/vector-1b_x.c: Likewise.
* gcc.dg/compat/vector-1b_y.c: Likewise.
* gcc.dg/compat/vector-2a_x.c: Likewise.
* gcc.dg/compat/vector-2a_y.c: Likewise.
* gcc.dg/compat/vector-2b_x.c: Likewise.
* gcc.dg/compat/vector-2b_y.c: Likewise.
* gcc.target/i386/pr39162.c: Likewise.
* gcc.target/i386/pr40906-2.c: Likewise.
* gcc.target/i386/sse-5.c: Likewise.

* gcc.dg/pr35442.c: Prune ABI change warnings.

* gcc.c-torture/execute/pr38151.x: New.
* gcc.target/i386/pr44948-1a.c: Likewise.
* gcc.target/i386/pr44948-1b.c: Likewise.
* gcc.target/i386/pr44948-2a.c: Likewise.
* gcc.target/i386/pr44948-2b.c: Likewise.

From-SVN: r165965

This page took 0.113053 seconds and 5 git commands to generate.