OSDN Git Service

pf3gnuchains/gcc-fork.git
13 years ago PR target/46030
amodra [Mon, 1 Nov 2010 03:24:20 +0000 (03:24 +0000)]
PR target/46030
* config/rs6000/rs6000.c (struct rs6000_stack): Add reload_completed
and savres_strategy.
(stack_info): New file scope var.
(rs6000_init_machine_status): Init stack_info.
(SAVRES_INLINE_FPRS, SAVRES_INLINE_GPRS,
SAVRES_NOINLINE_GPRS_SAVES_LR, SAVRES_NOINLINE_FPRS_SAVES_LR,
SAVRES_NOINLINE_FPRS_DOESNT_RESTORE_LR): Replace with..
(SAVE_INLINE_FPRS, SAVE_INLINE_GPRS, REST_INLINE_FPRS, REST_INLINE_GPRS,
SAVE_NOINLINE_GPRS_SAVES_LR, SAVE_NOINLINE_FPRS_SAVES_LR
REST_NOINLINE_FPRS_DOESNT_RESTORE_LR): ..this.  Update all refs.
(rs6000_savres_strategy): Rewrite.
(rs6000_stack_info): Use "stack_info" in place of local "info".
Return cached stack info when reload_completed unless ENABLE_CHECKING
in which case confirm newly calculated stack info matches old info.
Delay calculation of lr_save_p, set it for out of line gp save/restore
as well as fp.  Call rs6000_savres_strategy from here..
(rs6000_emit_prologue, rs6000_emit_epilogue): ..rather than here.
(rs6000_output_function_prologue): Use info->savres_strategy to
determine whether fp save/restore externs need to be emitted.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166125 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * class.c (is_really_empty_class): Work when type is not complete.
jason [Mon, 1 Nov 2010 02:04:48 +0000 (02:04 +0000)]
* class.c (is_really_empty_class): Work when type is not complete.
(synthesized_default_constructor_is_constexpr): New.
(add_implicitly_declared_members): Use it.
(type_has_constexpr_default_constructor): Likewise.
* cp-tree.h: Declare it.
* method.c (synthesized_method_walk): Use it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166124 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * tree.h (EXPR_LOC_OR_HERE): New macro.
jason [Mon, 1 Nov 2010 02:04:39 +0000 (02:04 +0000)]
* tree.h (EXPR_LOC_OR_HERE): New macro.
* builtins.c (c_strlen): Use it.
* c-decl.c (build_enumerator): Likewise.
* gimplify.c (internal_get_tmp_var): Likewise.
(shortcut_cond_expr): Likewise.
(gimplify_one_sizepos): Likewise.
c-family/
* c-common.c (conversion_warning, warn_for_collisions_1): Use
EXPR_LOC_OR_HERE.
cp/
* decl.c (pop_switch): Use EXPR_LOC_OR_HERE.
* typeck.c (convert_for_assignment): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166123 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * decl.c (grokdeclarator): Don't ICE on constexpr non-static data
jason [Mon, 1 Nov 2010 02:04:30 +0000 (02:04 +0000)]
* decl.c (grokdeclarator): Don't ICE on constexpr non-static data
member.

* parser.c (cp_parser_diagnose_invalid_type_name): Give helpful
message about constexpr without -std=c++0x.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166122 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR testsuite/20003
jason [Mon, 1 Nov 2010 02:04:20 +0000 (02:04 +0000)]
PR testsuite/20003
* testsuite/libmudflap.cth/pass40-frag.c: Increase timeout to 30.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166121 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDisable -mpreferred-stack-boundary options for Windows.
rth [Mon, 1 Nov 2010 01:14:46 +0000 (01:14 +0000)]
Disable -mpreferred-stack-boundary options for Windows.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166120 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoEmit SEH unwind info.
rth [Mon, 1 Nov 2010 00:40:33 +0000 (00:40 +0000)]
Emit SEH unwind info.

* config/i386/cygming.h (TARGET_SEH): New.
(MAX_STACK_ALIGNMENT): New.  Disable alignment for SEH.
(TARGET_ASM_UNWIND_EMIT, TARGET_ASM_UNWIND_EMIT_BEFORE_INSN,
TARGET_ASM_FUNCTION_END_PROLOGUE, SUBTARGET_ASM_UNWIND_INIT): New.
(TARGET_OS_CPP_BUILTINS): Define __SEH__ as needed.
(ASM_DECLARE_FUNCTION_NAME): Use i386_pe_start_function.
(ASM_DECLARE_FUNCTION_SIZE): New.
* config/i386/i386-protos.h: Update.
* config/i386/i386.c (ix86_option_override_internal): Enable
flag_unwind_tables with flag_asynchronous_unwind_tables immediately;
restrict -mpreferred-stack-boundary for SEH; enable flag_fentry.
(ix86_asm_output_function_label): Use SUBTARGET_ASM_UNWIND_INIT.
(ix86_compute_frame_layout): For SEH, disable
use_fast_prologue_epilogue, move frame pointer to the end of
the frame.  Initialize hfp_save_offset.
(ix86_expand_prologue): Honor hfp_save_offset.  Emit blockage
at end of prologue for SEH.
(ix86_expand_epilogue): For SEH, use pops, emit a nop if needed,
emit blockage at beginning of epilogue.
(ix86_expand_binary_operator): After reload, emit LEA if needed.
(ix86_output_call_insn): New.
* config/i386/i386.h (TARGET_SEH): New.
(struct machine_function): Add member seh.
* config/i386/i386.md (all call patterns): Use ix86_output_call_insn.
* config/i386/winnt.c (struct seh_frame_state): New.
(i386_pe_seh_init, i386_pe_seh_end_prologue, i386_pe_seh_fini,
seh_emit_push, seh_emit_save, seh_emit_stackalloc, seh_cfa_adjust_cfa,
seh_cfa_offset, seh_frame_related_expr, i386_pe_seh_unwind_emit,
i386_pe_start_function, i386_pe_end_function): New.

* dwarf2out.c (dwarf2out_frame_debug_expr): Accept CFA as well
as CFA_STORE in rules 12 and 13.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166119 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Mon, 1 Nov 2010 00:18:18 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166118 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-10-31 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 1 Nov 2010 00:08:58 +0000 (00:08 +0000)]
2010-10-31  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/23_containers/bitset/cons/dr1325-2.cc: Fix typo.
* testsuite/20_util/hash/quality.cc: Avoid -Wall warnings.
* testsuite/20_util/hash/chi2_quality.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166114 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoAdd -mtune=generic to fma3-builtin-2.c/fma4-builtin-2.c.
hjl [Sun, 31 Oct 2010 19:07:09 +0000 (19:07 +0000)]
Add -mtune=generic to fma3-builtin-2.c/fma4-builtin-2.c.

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

PR target/46142
* gcc.target/i386/fma3-builtin-2.c: Add -mtune=generic.
* gcc.target/i386/fma4-builtin-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166113 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/testsuite/
rsandifo [Sun, 31 Oct 2010 15:04:10 +0000 (15:04 +0000)]
gcc/testsuite/
* gcc.dg/stack-usage-1.c (SIZE): Increase to 248 for some MIPS targets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166110 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/testsuite/
rsandifo [Sun, 31 Oct 2010 14:38:51 +0000 (14:38 +0000)]
gcc/testsuite/
* gcc.dg/tls/thr-init-1.c: Fix order of dg-do.
* gcc.dg/tls/thr-init-2.c: Likewise.  Require tls_runtime rather
than tls.
* gcc.dg/torture/tls/thr-init-1.c: Require tls_runtime rather than tls.
* gcc.dg/torture/tls/thr-init-2.c: Likewise.
* objc.dg/torture/tls/thr-init.m: Likewise.
* objc.dg/torture/tls/thr-init-2.m: Likewise.
* objc.dg/torture/tls/thr-init-3.m: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166109 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago* config/pdp11/pdp11.md: Change output operands to disallow
pkoning [Sun, 31 Oct 2010 14:16:22 +0000 (14:16 +0000)]
* config/pdp11/pdp11.md: Change output operands to disallow
immediate operands.
* config/pdp11/predicates.md (float_nonimm_operand): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166108 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/testsuite/
rsandifo [Sun, 31 Oct 2010 14:15:40 +0000 (14:15 +0000)]
gcc/testsuite/
* gcc.c-torture/execute/20101011-1.c: Skip for MIPS unless running
the Linux kernel.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166107 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR tree-optimization/46142
uros [Sun, 31 Oct 2010 07:18:07 +0000 (07:18 +0000)]
PR tree-optimization/46142
* tree-vect-stmts.c (vectorizable_call): Enlarge dt array to
accommodate third function argument.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166105 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * tree-ssa-loop-im.c (rewrite_reciprocal): Use build_one_cst.
froydnj [Sun, 31 Oct 2010 02:32:20 +0000 (02:32 +0000)]
* tree-ssa-loop-im.c (rewrite_reciprocal): Use build_one_cst.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166103 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * fold-const.c (build_zero_vector): Use build_vector_from_val.
froydnj [Sun, 31 Oct 2010 02:20:22 +0000 (02:20 +0000)]
* fold-const.c (build_zero_vector): Use build_vector_from_val.
* tree-vect-loop.c (get_initial_def_for_induction): Likewise.
(get_initial_def_for_reduction): Likewise.
* tree-vect-slp.c (vect_get_constant_vectors): Likewise.
* tree-vect-stmts.c (vect_get_vec_def_for_operand): Likewise.
* tree.c (build_one_cst): Likewise.
(build_vector_from_val): Use types_compatible_p for assert.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166102 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * emit-rtl.c (mark_used_flags): New function.
froydnj [Sun, 31 Oct 2010 01:58:12 +0000 (01:58 +0000)]
* emit-rtl.c (mark_used_flags): New function.
(set_used_flags, reset_used_flags): Call it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166101 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Sun, 31 Oct 2010 00:17:39 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166100 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR middle-end/44569
uros [Sat, 30 Oct 2010 19:55:16 +0000 (19:55 +0000)]
PR middle-end/44569
* lower-suberg.c (simplify_subreg_concatn): For VOIDmode elements,
determine the mode of a subreg by GET_MODE_INNER of CONCATN RTX.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166092 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-10-30 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Sat, 30 Oct 2010 15:19:27 +0000 (15:19 +0000)]
2010-10-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

* gfortran.h (gfc_option_t):  Replace dump_parse_tree by
dump_fortran_original and add dump_fortran_optimized.
* lang.opt: Add fdump-fortran-original and
fdump-fortran-optimized.  Document that fdump-parse-tree is
deprecated.
* gfortran.texi: Add -fdump-fortran-original and
-fdump-fortran-optimized.  -fdump-parse-tree is deprecated.
* frontend-passes.c (gfc_run_passes):  If optimizing and
if gfc_option.dump_fortran_optimized is set, dump the parse tree
after optimization.
* parse.c:  Rename gfc_option.dump_parse_tree to
gfc_option.dump_fortran_original.
* options.c (gfc_init_options):  Rename gfc_option.dump_parse_tree
to gfc_option.dump_fortran_original and handle
gfc_option.dump_fortran_optimize.
(gfc_post_options): Rename gfc_option.dump_parse_tree
to gfc_option.dump_fortran_original.
(gfc_handle_option):  Rename OPT_fdump_parse_tree to
OPT_fdump_fortran_original and gfc_option.dump_parse_tree
to gfc_option.dump_fortran_original.  Handle
OPT_fdump_fortran_optimized.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166091 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * class.c (layout_vtable_decl): Call build_array_of_n_type.
froydnj [Sat, 30 Oct 2010 14:35:35 +0000 (14:35 +0000)]
* class.c (layout_vtable_decl): Call build_array_of_n_type.
(build_vtt, build_ctor_vtabl_group): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166090 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-10-30 Janus Weil <janus@gcc.gnu.org>
janus [Sat, 30 Oct 2010 13:52:39 +0000 (13:52 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166089 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoAlign long double parameters on stack to 4byte in 32bit.
hjl [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166088 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoIn gcc/:
nicola [Sat, 30 Oct 2010 11:22:46 +0000 (11:22 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166087 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166084 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * setproctitle.c: Add space after function name in @deftypefn
ian [Fri, 29 Oct 2010 23:09:50 +0000 (23:09 +0000)]
* setproctitle.c: Add space after function name in @deftypefn
comment.
* functions.texi: Rebuild.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166079 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago* doc/tm.texi.in (REGNO_OK_FOR_BASE_P, REGNO_MODE_OK_FOR_BASE_P,
pkoning [Fri, 29 Oct 2010 21:33:32 +0000 (21:33 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166077 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166076 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166075 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoPR/41822
pkoning [Fri, 29 Oct 2010 19:45:23 +0000 (19:45 +0000)]
PR/41822
* config/pdp11/pdp11.md (andhi3, andqi3): Fix wrong code error.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166073 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoPR rtl-opt/46226
rth [Fri, 29 Oct 2010 17:12:46 +0000 (17:12 +0000)]
PR rtl-opt/46226
Move test case to x86 test directory.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166069 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoPR rtl-opt/46226
rth [Fri, 29 Oct 2010 16:56:18 +0000 (16:56 +0000)]
PR rtl-opt/46226
* stmt.c (expand_asm_operands): Call do_pending_stack_adjust
for asm goto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166067 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago* config/pdp11/pdp11.c (output_move_quad): Fix ICE for CPU
pkoning [Fri, 29 Oct 2010 16:41:50 +0000 (16:41 +0000)]
* config/pdp11/pdp11.c (output_move_quad): Fix ICE for CPU
register to register move.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166066 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago* config/pdp11/pdp11.c (print_operand_address): Correct handling
pkoning [Fri, 29 Oct 2010 16:10:07 +0000 (16:10 +0000)]
* config/pdp11/pdp11.c (print_operand_address): Correct handling
of integer constant addresses, delete vax-only logic.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166065 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/picochip/picochip.c (picochip_is_short_branch): Simplify
hariharans [Fri, 29 Oct 2010 15:45:10 +0000 (15:45 +0000)]
    * config/picochip/picochip.c (picochip_is_short_branch): Simplify
          a conditional expression.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166064 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago* config/pdp11/pdp11.c (pdp11_trampoline_init): Correct
pkoning [Fri, 29 Oct 2010 15:29:51 +0000 (15:29 +0000)]
* config/pdp11/pdp11.c (pdp11_trampoline_init): Correct
instruction encoding.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166063 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-10-29 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 29 Oct 2010 15:11:47 +0000 (15:11 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166062 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-10-29 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
rguenth [Fri, 29 Oct 2010 14:59:07 +0000 (14:59 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166061 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago* config/pdp11/pdp11-protos.h (pdp11_cannot_change_mode_class,
pkoning [Fri, 29 Oct 2010 14:32:59 +0000 (14:32 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166060 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * c-ada-spec.c (separate_class_package): New function.
charlet [Fri, 29 Oct 2010 10:03:43 +0000 (10:03 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166059 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * doc/invoke.texi: Document -mam34 and -mtune options.
nickc [Fri, 29 Oct 2010 08:53:47 +0000 (08:53 +0000)]
    * 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166058 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-10-29 Paolo Bonzini <bonzini@gnu.org>
bonzini [Fri, 29 Oct 2010 06:48:39 +0000 (06:48 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166057 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc.c-torture/execute/20101011-1.c: Skip on SH.
kkojima [Fri, 29 Oct 2010 04:11:19 +0000 (04:11 +0000)]
* gcc.c-torture/execute/20101011-1.c: Skip on SH.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166056 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166055 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-10-29 Paolo Bonzini <bonzini@gnu.org>
bonzini [Thu, 28 Oct 2010 22:37:36 +0000 (22:37 +0000)]
2010-10-29  Paolo Bonzini  <bonzini@gnu.org>

* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166050 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc.c-torture/execute/20101011-1.c: Fix #ifdef.
pthaugen [Thu, 28 Oct 2010 21:32:49 +0000 (21:32 +0000)]
* gcc.c-torture/execute/20101011-1.c: Fix #ifdef.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166049 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-10-28 Paolo Bonzini <bonzini@gnu.org>
bonzini [Thu, 28 Oct 2010 21:20:01 +0000 (21:20 +0000)]
2010-10-28  Paolo Bonzini  <bonzini@gnu.org>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166048 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago Partially revert:
uros [Thu, 28 Oct 2010 20:49:46 +0000 (20:49 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166047 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166046 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/cris/cris.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Delete.
froydnj [Thu, 28 Oct 2010 20:19:57 +0000 (20:19 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166045 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/lm32/lm32-protos.h (lm32_function_arg): Delete.
froydnj [Thu, 28 Oct 2010 20:13:18 +0000 (20:13 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166044 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/mcore/mcore-protos.h (mcore_function_arg): Delete.
froydnj [Thu, 28 Oct 2010 20:07:06 +0000 (20:07 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166043 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/h8300/h8300-protos.h (function_arg): Delete.
froydnj [Thu, 28 Oct 2010 20:06:25 +0000 (20:06 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166042 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/arc/arc.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Move code
froydnj [Thu, 28 Oct 2010 20:04:05 +0000 (20:04 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166041 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/crx/crx-protos.h (crx_function_arg): Delete.
froydnj [Thu, 28 Oct 2010 20:02:25 +0000 (20:02 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166040 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/m68hc11/m68hc11-protos.h (m68hc11_function_arg): Delete.
froydnj [Thu, 28 Oct 2010 20:01:11 +0000 (20:01 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166039 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/stormy16/stormy16-protos.h (xstormy16_function_arg): Delete.
froydnj [Thu, 28 Oct 2010 19:59:07 +0000 (19:59 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166038 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/moxie/moxie-protos.h (moxie_function_arg): Delete.
froydnj [Thu, 28 Oct 2010 19:57:17 +0000 (19:57 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166037 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/mn10300/mn10300-protos.h (function_arg): Delete.
froydnj [Thu, 28 Oct 2010 19:55:43 +0000 (19:55 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166036 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/iq2000/iq2000-protos.h (function_arg): Delete.
froydnj [Thu, 28 Oct 2010 19:52:48 +0000 (19:52 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166035 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/fr30/fr30-protos.h (fr30_num_arg_regs): Delete.
froydnj [Thu, 28 Oct 2010 19:51:34 +0000 (19:51 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166034 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/frv/frv-protos.h (frv_function_arg): Delete.
froydnj [Thu, 28 Oct 2010 19:45:32 +0000 (19:45 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166033 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166032 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR target/46153
uros [Thu, 28 Oct 2010 17:45:52 +0000 (17:45 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166031 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-10-28 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 28 Oct 2010 16:01:05 +0000 (16:01 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166030 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-10-28 Andrew Stubbs <ams@codesourcery.com>
ams [Thu, 28 Oct 2010 12:36:14 +0000 (12:36 +0000)]
2010-10-28  Andrew Stubbs  <ams@codesourcery.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166029 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-10-28 Paolo Bonzini <bonzini@gnu.org>
bonzini [Thu, 28 Oct 2010 10:58:48 +0000 (10:58 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166028 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * combine.c (set_nonzero_bits_and_sign_copies): Use unsigned
ebotcazou [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.
(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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166027 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166026 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agochecking in Nathan's patch because I accidently checked in part of it
sje [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.  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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166022 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-10-27 Steve Ellcey <sje@cup.hp.com>
sje [Wed, 27 Oct 2010 22:44:31 +0000 (22:44 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166021 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/c-family/
jason [Wed, 27 Oct 2010 21:43:33 +0000 (21:43 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166020 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoc-family/
jason [Wed, 27 Oct 2010 21:42:36 +0000 (21:42 +0000)]
c-family/
* c-common.c (check_case_value): Remove special C++ code.
cp/
* decl.c (finish_case_label): Use decl_constant_value.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166019 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-10-27 Janus Weil <janus@gcc.gnu.org>
janus [Wed, 27 Oct 2010 21:41:52 +0000 (21:41 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166018 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc-interface/trans.c (gigi): Fix formatting issues.
ebotcazou [Wed, 27 Oct 2010 21:15:06 +0000 (21:15 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166017 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/sparc/sol2-unwind.h (sparc64_fallback_frame_state): Adjust
ebotcazou [Wed, 27 Oct 2010 20:34:36 +0000 (20:34 +0000)]
* config/sparc/sol2-unwind.h (sparc64_fallback_frame_state): Adjust
for newer Solaris 10 release.
(sparc_fallback_frame_state): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166015 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * method.c (synthesized_method_walk): Track constexprness too.
jason [Wed, 27 Oct 2010 20:11:29 +0000 (20:11 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166014 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * parser.c (cp_parser_ctor_initializer_opt_and_function_body):
jason [Wed, 27 Oct 2010 19:31:33 +0000 (19:31 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166013 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * class.c (check_bases): Propagate non-literality.
jason [Wed, 27 Oct 2010 19:04:06 +0000 (19:04 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166012 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * call.c (build_integral_nontype_arg_conv): New.
jason [Wed, 27 Oct 2010 15:59:54 +0000 (15:59 +0000)]
* call.c (build_integral_nontype_arg_conv): New.
* cp-tree.h: Declare it.
* pt.c (convert_nontype_argument): Use it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166011 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166010 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166009 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166008 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166007 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * semantics.c (finish_compound_stmt): Avoid creating an
jason [Wed, 27 Oct 2010 15:48:09 +0000 (15:48 +0000)]
* semantics.c (finish_compound_stmt): Avoid creating an
unnecessary BIND_EXPR.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166006 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * call.c (convert_like_real): Don't check narrowing if the element
jason [Wed, 27 Oct 2010 15:48:01 +0000 (15:48 +0000)]
* call.c (convert_like_real): Don't check narrowing if the element
is also an initializer-list.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166005 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gimplify.c (gimplify_decl_expr): Handle anonymous artificial
jason [Wed, 27 Oct 2010 15:47:52 +0000 (15:47 +0000)]
* gimplify.c (gimplify_decl_expr): Handle anonymous artificial
variables sooner.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166004 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * haifa-sched.c (ISSUE_POINTS): Remove.
jiez [Wed, 27 Oct 2010 14:30:17 +0000 (14:30 +0000)]
* haifa-sched.c (ISSUE_POINTS): Remove.
(max_issue): Don't issue more than issue_rate instructions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166002 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoReplace UNSPEC_STACK_CHECK with UNSPECV_SPLIT_STACK_RETURN.
hjl [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166001 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoAdd -mvzeroupper to x86.
hjl [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166000 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/i386/t-mingw32 (SHLIB_LC): Add -lmingwthrd.
ebotcazou [Wed, 27 Oct 2010 11:21:00 +0000 (11:21 +0000)]
* config/i386/t-mingw32 (SHLIB_LC): Add -lmingwthrd.
* config/i386/t-mingw-w32 (SHLIB_LC): Likewise.
* config/i386/t-mingw-w64 (SHLIB_LC): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165999 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/i386/w32-unwind.h (i386_w32_fallback_frame_state): Fix regnum
ebotcazou [Wed, 27 Oct 2010 11:18:45 +0000 (11:18 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165998 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoIn gcc/:
nicola [Wed, 27 Oct 2010 05:23:08 +0000 (05:23 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165997 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoIn gcc/:
nicola [Wed, 27 Oct 2010 04:37:47 +0000 (04:37 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165996 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoPut back unspec_volatile on split_stack_return.
hjl [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165995 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165994 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * ipa.c (process_references): Enqueue all referenced nodes;
hubicka [Tue, 26 Oct 2010 22:42:53 +0000 (22:42 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165990 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165989 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * ipa.c (process_references): Enqueue all referenced nodes;
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.
(cgraph_remove_unreachable_nodes): All referenced nodes should
be enqueued; remove bogues node->needed check.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165988 138bc75d-0d04-0410-961f-82ee72b054a4