gcc.git
14 years agoMakefile.in (libgcc-extra-parts): Check for static archives and invoke ranlib after...
Iain Sandoe [Tue, 21 Sep 2010 14:43:59 +0000 (14:43 +0000)]
Makefile.in (libgcc-extra-parts): Check for static archives and invoke ranlib after installing them.

* Makefile.in (libgcc-extra-parts):  Check for static archives and
invoke ranlib after installing them.
(gcc-extra-parts): Likewise.
(install-leaf): Likewise.

From-SVN: r164482

14 years agoconfigure.ac (enable-lto): Add Darwin to the list of supported lto targets and amend...
Iain Sandoe [Tue, 21 Sep 2010 14:32:36 +0000 (14:32 +0000)]
configure.ac (enable-lto): Add Darwin to the list of supported lto targets and amend comment.

* configure.ac (enable-lto): Add Darwin to the list of supported lto
targets and amend comment.
* configure: Regenerate.

From-SVN: r164481

14 years agore PR c++/45645 (pr44972.C fails with error: ‘__assert_fail’ was not declared in...
Jonathan Wakely [Tue, 21 Sep 2010 14:12:58 +0000 (15:12 +0100)]
re PR c++/45645 (pr44972.C fails with error: ‘__assert_fail’ was not declared in this scope)

2010-09-21  Jonathan Wakely  <redi@gcc.gnu.org>
    Jack Howarth  <howarth@bromo.med.uc.edu>

PR c++/45645
* g++.dg/torture/pr44972.C: Use portable assert().

Co-Authored-By: Jack Howarth <howarth@bromo.med.uc.edu>
From-SVN: r164479

14 years agoconfigure.ac: Set LIBMATHSPEC to -lm except on darwin.
Jack Howarth [Tue, 21 Sep 2010 14:01:43 +0000 (14:01 +0000)]
configure.ac: Set LIBMATHSPEC to -lm except on darwin.

2010-09-21  Jack Howarth <howarth@bromo.med.uc.edu>

* libjava/configure.ac: Set LIBMATHSPEC to -lm except on darwin.
* libjava/libgcj.spec.in: Use LIBMATHSPEC.
* libjava/configure: Regenerate.

From-SVN: r164478

14 years agoiterators.md (qhs_extenddi_op): New mode_attr.
Bernd Schmidt [Tue, 21 Sep 2010 13:11:03 +0000 (13:11 +0000)]
iterators.md (qhs_extenddi_op): New mode_attr.

* config/arm/iterators.md (qhs_extenddi_op): New mode_attr.
(qhs_extenddi_cstr): Likewise.
* config/arm/arm.md (zero_extend<mode>di2, extend<mode>di2): Use
them for the source operand.

From-SVN: r164477

14 years agoi386.c (ix86_split_ashl): Rename single_width variable to half_width.
Uros Bizjak [Tue, 21 Sep 2010 11:42:06 +0000 (13:42 +0200)]
i386.c (ix86_split_ashl): Rename single_width variable to half_width.

* config/i386/i386.c (ix86_split_ashl): Rename single_width variable
to half_width.  Use GET_MODE_BITSIZE to calculate mode size.
(ix86_split_ashr): Ditto.
(ix86_split_lshr): Ditto.

From-SVN: r164476

14 years agore PR tree-optimization/45580 (Building WebKit fails with compiler catching SIGSEGV...
Richard Guenther [Tue, 21 Sep 2010 09:52:00 +0000 (09:52 +0000)]
re PR tree-optimization/45580 (Building WebKit fails with compiler catching SIGSEGV in gimple_fold_obj_type_ref_known_binfo())

2010-09-21  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/45580
* tree-ssa-propagate.c (substitute_and_fold): Always replace
regular uses.
* gimple-fold.c (gimple_fold_obj_type_ref): For a BINFO without
virtuals fold the call into a regular indirect one.

* g++.dg/torture/pr45580.C: New testcase.

From-SVN: r164474

14 years agoDaily bump.
GCC Administrator [Tue, 21 Sep 2010 00:19:32 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r164472

14 years agogcc-dg.exp (clanup-stack-usage): Really remove .su files.
Uros Bizjak [Mon, 20 Sep 2010 22:15:17 +0000 (00:15 +0200)]
gcc-dg.exp (clanup-stack-usage): Really remove .su files.

* lib/gcc-dg.exp (clanup-stack-usage): Really remove .su files.

From-SVN: r164466

14 years agore PR fortran/45438 ([OOP] ICE with -fcheck=pointer)
Janus Weil [Mon, 20 Sep 2010 21:42:54 +0000 (23:42 +0200)]
re PR fortran/45438 ([OOP] ICE with -fcheck=pointer)

2010-09-20  Janus Weil  <janus@gcc.gnu.org>

PR fortran/45438
* trans-expr.c (gfc_conv_procedure_call): Fix pointer checking for
TBPs, PPCs and pointer/allocatable components.

2010-09-20  Janus Weil  <janus@gcc.gnu.org>

PR fortran/45438
* gfortran.dg/pointer_check_7.f90: New.

From-SVN: r164462

14 years agore PR rtl-optimization/42775 (GCC fails to rebuild itself with STAGE1_CFLAGS=-O1)
Eric Botcazou [Mon, 20 Sep 2010 21:29:48 +0000 (21:29 +0000)]
re PR rtl-optimization/42775 (GCC fails to rebuild itself with STAGE1_CFLAGS=-O1)

PR rtl-optimization/42775
* cfgrtl.c (rest_of_pass_free_cfg): Recompute notes if delay slot
scheduling is enabled.

From-SVN: r164458

14 years agore PR rtl-optimization/45728 (ICE: in gen_lowpart_general, at rtlhooks.c:59 at -O1...
Jakub Jelinek [Mon, 20 Sep 2010 20:41:08 +0000 (22:41 +0200)]
re PR rtl-optimization/45728 (ICE: in gen_lowpart_general, at rtlhooks.c:59 at -O1 when comparing union members)

PR rtl-optimization/45728
* expr.c (expand_expr_real_1): If op0 isn't REG or MEM, try
gen_lowpart_common first and if that fails, force_reg first
before calling gen_lowpart.

* gcc.c-torture/compile/pr45728.c: New test.

From-SVN: r164456

14 years agore PR rtl-optimization/45678 (crash on vector code with -m32 -msse)
Jakub Jelinek [Mon, 20 Sep 2010 20:37:10 +0000 (22:37 +0200)]
re PR rtl-optimization/45678 (crash on vector code with -m32 -msse)

PR middle-end/45678
* cfgexpand.c (expand_one_stack_var_at): Use
crtl->max_used_stack_slot_alignment as max_align, instead
of maximum of that and PREFERRED_STACK_BOUNDARY.
Don't call update_stack_alignment.

From-SVN: r164454

14 years agolanghooks.h (struct lang_hooks_for_types): Remove hash_types field.
Eric Botcazou [Mon, 20 Sep 2010 20:11:35 +0000 (20:11 +0000)]
langhooks.h (struct lang_hooks_for_types): Remove hash_types field.

* langhooks.h (struct lang_hooks_for_types): Remove hash_types field.
* langhooks-def.h (LANG_HOOKS_HASH_TYPES): Delete.
(LANG_HOOKS_FOR_TYPES_INITIALIZER): Remove LANG_HOOKS_HASH_TYPES.
* system.h (LANG_HOOKS_HASH_TYPES): Poison.
* tree.c (type_hash_canon): Do not test lang_hooks.types.hash_types.
(build_nonstandard_integer_type): Likewise.
(build_range_type_1): New function, built from...
(build_range_type): ...this.  Call build_range_type_1.
(build_nonshared_range_type): New function.
(build_array_type_1): New function, built from...
(build_array_type: ...this.  Call build_array_type_1.
(build_nonshared_array_type): New function.
* tree.h (build_nonshared_range_type): Declare.
(build_nonshared_array_type): Likewise.
ada/
* gcc-interface/decl.c (gnat_to_gnu_entity): Replace calls to
build_array_type with calls to build_nonshared_array_type.
(substitute_in_type): Likewise.
* gcc-interface/misc.c (LANG_HOOKS_HASH_TYPES): Delete.
(LANG_HOOKS_TYPE_HASH_EQ): Define.
(gnat_post_options): Add 'static' keyword.
(gnat_type_hash_eq): New static function.
* gcc-interface/utils.c (fntype_same_flags_p): New function.
(create_subprog_type): Call it.
(create_index_type): Call build_nonshared_range_type and tidy up.
(create_range_type): Likewise.
* gcc-interface/gigi.h (fntype_same_flags_p): Declare.

From-SVN: r164452

14 years agore PR libstdc++/45711 (Building with "--enable-libstdcxx-debug" fails during install)
Ralf Wildenhues [Mon, 20 Sep 2010 19:33:12 +0000 (19:33 +0000)]
re PR libstdc++/45711 (Building with "--enable-libstdcxx-debug" fails during install)

Fix PR libstdc++/45711.

libstdc++-v3/:
PR libstdc++/45711
* src/Makefile.am (stamp-debug): Also adjust possibly-relative
file names in MKDIR_P, and, for consistency, also top_build_prefix.
* src/Makefile.in: Regenerate.

From-SVN: r164451

14 years agoarm.h (CLASS_LIKELY_SPILLED_P): Remove.
Anatoly Sokolov [Mon, 20 Sep 2010 19:30:31 +0000 (23:30 +0400)]
arm.h (CLASS_LIKELY_SPILLED_P): Remove.

* config/arm/arm.h (CLASS_LIKELY_SPILLED_P): Remove.
* config/arm/arm.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
(arm_class_likely_spilled_p): New function.

From-SVN: r164450

14 years agoi386.c (ix86_expand_ashl_const): Rewrite using indirect functions.
Uros Bizjak [Mon, 20 Sep 2010 19:04:02 +0000 (21:04 +0200)]
i386.c (ix86_expand_ashl_const): Rewrite using indirect functions.

* config/i386/i386.c (ix86_expand_ashl_const): Rewrite using
indirect functions.
(ix86_split_ashl): Ditto.
(ix86_split_ashr): Ditto.
(ix86_split_lshr): Ditto.
(ix86_adjust_counter): Ditto.

From-SVN: r164449

14 years agore PR fortran/45081 (ICE in gfc_conv_array_initializer, at fortran/trans-array.c...
Paul Thomas [Mon, 20 Sep 2010 18:55:12 +0000 (18:55 +0000)]
re PR fortran/45081 (ICE in gfc_conv_array_initializer, at fortran/trans-array.c:4208)

2010-09-20  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/45081
* simplify.c (is_constant_array_expr): Allow structure array
elements as well as constants.
(gfc_simplify_pack, gfc_simplify_reshape, gfc_simplify_spread,
gfc_simplify_transpose, gfc_simplify_unpack): Copy the derived
type of source to the result.

2010-09-20  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/45081
* gfortran.dg/derived_array_intrinsics_1.f90 : New test.

From-SVN: r164448

14 years agoIn gcc/:
Nicola Pero [Mon, 20 Sep 2010 18:32:08 +0000 (18:32 +0000)]
In gcc/:

       * c-family/c-common.h (constant_string_class): Documented with
       comment identical to the one in c-common.c.

From-SVN: r164447

14 years agoAdd "\\".
H.J. Lu [Mon, 20 Sep 2010 18:03:28 +0000 (18:03 +0000)]
Add "\\".

2010-09-20  H.J. Lu  <hongjiu.lu@intel.com>

* g++.dg/tree-ssa/pr45605.C: Add "\\".

From-SVN: r164446

14 years agodwarf2out.c (any_cfis_emitted): New static variable.
Jakub Jelinek [Mon, 20 Sep 2010 16:49:58 +0000 (18:49 +0200)]
dwarf2out.c (any_cfis_emitted): New static variable.

* dwarf2out.c (any_cfis_emitted): New static variable.
(add_fde_cfi): Set it.
(dwarf2out_frame_debug): Clear it before processing,
if it is set afterwards, flush any queued reg saves.

From-SVN: r164443

14 years agore PR debug/45124 (No DW_AT_accessibility for public DIEs in DW_TAG_class_type)
Jakub Jelinek [Mon, 20 Sep 2010 16:48:29 +0000 (18:48 +0200)]
re PR debug/45124 (No DW_AT_accessibility for public DIEs in DW_TAG_class_type)

PR debug/45124
* dwarf2out.c (add_accessibility_attribute): Assume
DW_ACCESS_private as the default for dwarf_version > 2
and DW_TAG_class_type parent.
(gen_inheritance_die): Assume DW_ACCESS_public as the default
for dwarf_version > 2 and parent other than DW_TAG_class_type.

From-SVN: r164442

14 years agore PR target/45726 (Thumb2 instruction emitted for incompatible CPU)
Rafael Carre [Mon, 20 Sep 2010 16:21:57 +0000 (16:21 +0000)]
re PR target/45726 (Thumb2 instruction emitted for incompatible CPU)

2010-09-20  Rafael Carre   <rafael.carre@gmail.com>

PR target/45726
* arm.md (arm_movt): Only enable on machines with MOVT.

From-SVN: r164441

14 years agoarm.c (arm_address_offset_is_imm): New.
Jie Zhang [Mon, 20 Sep 2010 16:00:29 +0000 (16:00 +0000)]
arm.c (arm_address_offset_is_imm): New.

* config/arm/arm.c (arm_address_offset_is_imm): New.
(arm_early_store_addr_dep): New.
(arm_early_load_addr_dep): New.
* config/arm/arm-protos.h (arm_early_store_addr_dep): Declare.
(arm_early_load_addr_dep): Declare.
(arm_address_offset_is_imm): Declare.
* config/arm/cortex-m4.md: New file.
* config/arm/cortex-m4-fpu.md: New file.
* config/arm/arm.md: Include cortex-m4.md and cortex-m4-fpu.md.
(attr generic_sched): Exclude cortexm4.
(attr generic_vfp): Exclude cortexm4.

From-SVN: r164440

14 years agore PR tree-optimization/45704 (load byte instruction is used for volatile int)
Richard Guenther [Mon, 20 Sep 2010 15:54:03 +0000 (15:54 +0000)]
re PR tree-optimization/45704 (load byte instruction is used for volatile int)

2010-09-20  Richard Guenther  <rguenther@suse.de>

PR middle-end/45704
* gimplify.c (gimplify_modify_expr_rhs): Preserve volatileness.

* gcc.dg/torture/pr45704.c: New testcase.

From-SVN: r164439

14 years agore PR tree-optimization/45605 (Missed devirtualization)
Jan Hubicka [Mon, 20 Sep 2010 15:48:42 +0000 (17:48 +0200)]
re PR tree-optimization/45605 (Missed devirtualization)

PR tree-optimize/45605
* cgraph.h (const_value_known_p): Declare.
(varpool_decide_const_value_known): Remove.
* tree-ssa-ccp.c (get_base_constructor): Use it.
* lto-cgraph.c (compute_ltrans_boundary): Likewise.
* expr.c (string_constant): Likewise.
* tree-ssa-loop-ivcanon.c (constant_after_peeling): Likewise.
* ipa.c (ipa_discover_readonly_nonaddressable_var,
function_and_variable_visibility): Likewise.
* gimplify.c (gimplify_call_expr): Likewise.
* gimple-fold.c (get_symbol_constant_value): Likewise.
* varpool.c (varpool_decide_const_value_known): Replace by...
(const_value_known_p): ... this one; handle other kinds of DECLs
too and work for automatic vars.
(varpool_finalize_decl): Use const_value_known_p.

* lto.c (lto_promote_cross_file_statics): Use const_value_known_p.

* g++.dg/tree-ssa/pr45605.C: New testcase.

From-SVN: r164438

14 years agore PR target/45726 (Thumb2 instruction emitted for incompatible CPU)
Rafael Carre [Mon, 20 Sep 2010 15:25:44 +0000 (15:25 +0000)]
re PR target/45726 (Thumb2 instruction emitted for incompatible CPU)

2010-09-20  Rafael Carre   <rafael.carre@gmail.com>

PR target/45726
* arm.md (arm_movtas_ze): Only enable on machine with MOVT.

From-SVN: r164436

14 years agore PR testsuite/45706 (gcc.dg/vect/vect-114.c)
Michael Matz [Mon, 20 Sep 2010 14:45:30 +0000 (14:45 +0000)]
re PR testsuite/45706 (gcc.dg/vect/vect-114.c)

PR testsuite/45706
* gcc.dg/vect/pr43432.c: Don't override dg-options, defaults are
enough.

From-SVN: r164435

14 years agore PR middle-end/45705 (Useless store not optimized away)
Richard Guenther [Mon, 20 Sep 2010 14:40:10 +0000 (14:40 +0000)]
re PR middle-end/45705 (Useless store not optimized away)

2010-09-20  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/45705
* tree-ssa-dom.c (optimize_stmt): Perform redundant store elimination.

* gcc.dg/tree-ssa/ssa-dom-dse-1.c: New testcase.

From-SVN: r164434

14 years agore PR testsuite/45706 (gcc.dg/vect/vect-114.c)
Michael Matz [Mon, 20 Sep 2010 14:12:04 +0000 (14:12 +0000)]
re PR testsuite/45706 (gcc.dg/vect/vect-114.c)

PR testsuite/45706
* lib/target-supports.exp (check_effective_target_vect_perm):
Add i?86-*-*.

From-SVN: r164433

14 years agore PR rtl-optimization/45695 (-O1 wrong-code by cmove)
Jakub Jelinek [Mon, 20 Sep 2010 13:24:23 +0000 (15:24 +0200)]
re PR rtl-optimization/45695 (-O1 wrong-code by cmove)

PR rtl-optimization/45695
* combine.c (try_combine): When splitting a two set pattern,
make sure the pattern which will be put into i2 doesn't use REGs
or MEMs set by insns in between i2 and i3.

* gcc.c-torture/execute/pr45695.c: New test.

From-SVN: r164431

14 years agoDaily bump.
GCC Administrator [Mon, 20 Sep 2010 00:17:26 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r164429

14 years agore PR lto/44246 (ICE with -fwhopr/-flto when using strlen and strcat without previous...
Jan Hubicka [Sun, 19 Sep 2010 21:49:28 +0000 (23:49 +0200)]
re PR lto/44246 (ICE with -fwhopr/-flto when using strlen and strcat without previous declaration)

PR lto/44246
* lto-cgraph.c (input_cgraph_1, input_varpool_1): Avoid
processing same node twice.
* gcc.c-torture/compile/pr44246.c:New file.

From-SVN: r164425

14 years agotrans.c (gnat_pushdecl): Do not do anything special for PARM_DECLs.
Eric Botcazou [Sun, 19 Sep 2010 14:55:28 +0000 (14:55 +0000)]
trans.c (gnat_pushdecl): Do not do anything special for PARM_DECLs.

* gcc-interface/trans.c (gnat_pushdecl): Do not do anything special
for PARM_DECLs.
(end_subprog_body): If the body is a BIND_EXPR, make its associated
block the top-level one.
(build_function_stub): Build a statement group for the whole function.
* gcc-interface/utils.c (Subprogram_Body_to_gnu): If copy-in/copy-out
is used, create the enclosing block early and process first the OUT
parameters.

From-SVN: r164422

14 years agobfin.h (CLASS_LIKELY_SPILLED_P): Remove.
Anatoly Sokolov [Sun, 19 Sep 2010 14:53:05 +0000 (18:53 +0400)]
bfin.h (CLASS_LIKELY_SPILLED_P): Remove.

* config/bfin/bfin.h (CLASS_LIKELY_SPILLED_P): Remove.
* config/bfin/bfin.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
(bfin_class_likely_spilled_p): New function

From-SVN: r164421

14 years agore PR tree-optimization/45714 (Vectorization of double pow function causes a segmenta...
Ira Rosen [Sun, 19 Sep 2010 14:23:40 +0000 (14:23 +0000)]
re PR tree-optimization/45714 (Vectorization of double pow function causes a segmentation fault)

PR tree-optimization/45714
* tree-vect-stmts.c (vect_transform_stmt): Use a dummy statement
created in vectorizable_call instead of the original statement in
def stmt updates.

From-SVN: r164420

14 years agodecl.c (gnat_to_gnu_entity): Do not generate debug info for individual enumerators.
Eric Botcazou [Sun, 19 Sep 2010 14:03:39 +0000 (14:03 +0000)]
decl.c (gnat_to_gnu_entity): Do not generate debug info for individual enumerators.

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>: Do
not generate debug info for individual enumerators.

From-SVN: r164418

14 years agodecl.c (gnat_to_gnu_entity): Use record type instead of enumeral type as the dummy...
Eric Botcazou [Sun, 19 Sep 2010 13:55:36 +0000 (13:55 +0000)]
decl.c (gnat_to_gnu_entity): Use record type instead of enumeral type as the dummy type built for the...

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Use record
type instead of enumeral type as the dummy type built for the template
type of fat pointers.

From-SVN: r164417

14 years agogigi.h (get_elaboration_procedure): Declare.
Eric Botcazou [Sun, 19 Sep 2010 13:48:51 +0000 (13:48 +0000)]
gigi.h (get_elaboration_procedure): Declare.

* gcc-interface/gigi.h (get_elaboration_procedure): Declare.
(gnat_zaplevel): Likewise.
* gcc-interface/decl.c (gnat_to_gnu_entity): Do not force global
binding level for an external constant.
<E_Constant>: Force the local context and create a fake scope before
translating the defining expression of an external constant.
<object>: Treat external constants at the global level explicitly for
renaming declarations.
(elaborate_expression_1): Force the variable to be static if the
expression is global.
* gcc-interface/trans.c (get_elaboration_procedure): New function.
(call_to_gnu): Use it.
(gnat_to_gnu): Likewise.
<N_Object_Declaration>: Do not test Is_Public to force the creation of
an initialization variable.
(add_decl_expr): Discard the statement if the declaration is external.
* gcc-interface/utils.c (gnat_pushdecl): Do not put the declaration in
the current block if it is external.
(create_var_decl_1): Do not test Is_Public to set TREE_STATIC.
(gnat_zaplevel): New global function.

From-SVN: r164416

14 years agodecl.c (gnat_to_gnu_entity): Explicitly test _LEVEL variables against zero in all...
Eric Botcazou [Sun, 19 Sep 2010 13:18:26 +0000 (13:18 +0000)]
decl.c (gnat_to_gnu_entity): Explicitly test _LEVEL variables against zero in all cases.

* gcc-interface/decl.c (gnat_to_gnu_entity): Explicitly test _LEVEL
variables against zero in all cases.
(rest_of_type_decl_compilation): Likewise.
* gcc-interface/trans.c (gigi): Pass properly typed constants to
create_var_decl.
(call_to_gnu): Fix formatting.
(Handled_Sequence_Of_Statements_to_gnu): Likewise.
(Exception_Handler_to_gnu_zcx): Likewise.
(gnat_to_gnu) <N_Object_Declaration>: Short-circuit handling of
constant
expressions in presence of a freeze node.

From-SVN: r164415

14 years agodecl.c (gnat_to_gnu_entity): Look into expressions for external constants that are...
Eric Botcazou [Sun, 19 Sep 2010 13:12:13 +0000 (13:12 +0000)]
decl.c (gnat_to_gnu_entity): Look into expressions for external constants that are aggregates.

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Look into
expressions for external constants that are aggregates.
* gcc-interface/utils2.c (build_simple_component_ref): If the field
is an inherited component in an extension, look through the extension.

From-SVN: r164414

14 years agoi386-protos.h (split_double_mode): New prototype.
Uros Bizjak [Sun, 19 Sep 2010 12:42:32 +0000 (14:42 +0200)]
i386-protos.h (split_double_mode): New prototype.

* config/i386/i386-protos.h (split_double_mode): New prototype.
(split_di, split_ti): Remove prototypes.
* config/i386/i386.c (split_double_mode): New function.
(split_di, split_ti): Remove.
(ix86_expand_branch): Use split_double_mode.
(ix86_split_to_parts): Ditto.
(ix86_split_ashl): Ditto.
(ix86_split_ashr): Ditto.
(ix86_split_lshr): Ditto.
(ix86_force_to_memory): Ditto.
* config/i386/i386.md: Use split_double_mode in double-mode splitters.

From-SVN: r164413

14 years agoUglify C++ headers some more.
Ralf Wildenhues [Sun, 19 Sep 2010 09:44:24 +0000 (09:44 +0000)]
Uglify C++ headers some more.

libstdc++-v3/:
* include/ext/throw_allocator.h
(hash<__gnu_cxx::throw_value_limit>::operator()): Uglify local.
(hash<__gnu_cxx::throw_value_random>::operator()): Likewise.
* include/parallel/set_operations.h (__symmetric_difference_func):
Uglify remaining arguments to __count, __first_empty, _M_invoke.
(__difference_func): Likewise for __count.
* include/profile/impl/profiler_node.h
(__object_info_base::__write): Uglify parameter.

From-SVN: r164411

14 years agohash_bytes.cc: Compile load_bytes and shift_mix only when __SIZEOF_SIZE_T__ == 8.
Paolo Carlini [Sun, 19 Sep 2010 08:52:50 +0000 (08:52 +0000)]
hash_bytes.cc: Compile load_bytes and shift_mix only when __SIZEOF_SIZE_T__ == 8.

2010-09-19  Paolo Carlini  <paolo.carlini@oracle.com>

* src/hash_bytes.cc: Compile load_bytes and shift_mix only when
__SIZEOF_SIZE_T__ == 8.

From-SVN: r164410

14 years agoDaily bump.
GCC Administrator [Sun, 19 Sep 2010 00:17:20 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r164409

14 years agore PR tree-optimization/45453 (ICE: verify_cgraph_node failed: inlined_to pointer...
Jan Hubicka [Sat, 18 Sep 2010 23:13:17 +0000 (01:13 +0200)]
re PR tree-optimization/45453 (ICE: verify_cgraph_node failed: inlined_to pointer set for noninline callers with -O2 -fno-early-inlining)

PR tree-optimization/45453
* cgraphunit.c (cgraph_finalize_function): Consider comdat & external
virtual functions are reachable.
* ipa-inline.c (cgraph_clone_inlined_nodes): Likewise.
* ipa.c (cgraph_remove_unreachable_nodes): Likewise.
* ipa-prop.c (ipa_modify_formal_parameters): Clear DECL_VIRTUAL_P
when modifying function.

* g++.dg/tree-ssa/pr45453.C: New testcase.

From-SVN: r164405

14 years agofrontend-passes.c (gfc_expr_walker): Also handle EXPR_SUBSTRING.
Thomas Koenig [Sat, 18 Sep 2010 22:45:13 +0000 (22:45 +0000)]
frontend-passes.c (gfc_expr_walker): Also handle EXPR_SUBSTRING.

2010-09-19  Thomas Koenig  <tkoenig@gcc.gnu.org>

* frontend-passes.c (gfc_expr_walker):  Also
handle EXPR_SUBSTRING.

From-SVN: r164404

14 years agofrontend-passes.c (gfc_expr_walker): Handle constructors and references.
Thomas Koenig [Sat, 18 Sep 2010 22:22:38 +0000 (22:22 +0000)]
frontend-passes.c (gfc_expr_walker): Handle constructors and references.

2010-09-17  Thomas Koenig  <tkoenig@gcc.gnu.org>

* frontend-passes.c (gfc_expr_walker):  Handle
constructors and references.

From-SVN: r164403

14 years agore PR tree-optimization/45605 (Missed devirtualization)
Jan Hubicka [Sat, 18 Sep 2010 21:25:29 +0000 (23:25 +0200)]
re PR tree-optimization/45605 (Missed devirtualization)

PR tree-optimization/45605
* cgraphunit.c (cgraph_analyze_functions): Allocate bitmap obstack.
* gimple-fold.c (static_object_in_other_unit_p): New function.
(canonicalize_constructor_val): Use it.
(get_symbol_constant_value): Be reaqdy for canonicalize_constructor_val
returning NULL.
(gimple_fold_obj_type_ref_known_binfo): Use static_object_in_other_unit_p.

From-SVN: r164402

14 years agocall.c (compare_ics): Do lvalue/rvalue reference binding comparison for ck_list,...
Jason Merrill [Sat, 18 Sep 2010 21:22:10 +0000 (17:22 -0400)]
call.c (compare_ics): Do lvalue/rvalue reference binding comparison for ck_list, too.

* call.c (compare_ics): Do lvalue/rvalue reference binding
comparison for ck_list, too.

From-SVN: r164401

14 years agore PR tree-optimization/45709 (internal compiler error: in add_phi_arg, at tree-phino...
Richard Guenther [Sat, 18 Sep 2010 17:13:04 +0000 (17:13 +0000)]
re PR tree-optimization/45709 (internal compiler error: in add_phi_arg, at tree-phinodes.c:395)

2010-09-18  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/45709
* tree-inline.c (copy_phis_for_bb): Delay commit of edge
insertions until after all PHI nodes of the block are processed.

* g++.dg/torture/pr45709-2.C: New testcase.

From-SVN: r164397

14 years ago* config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Add.
Tijl Coosemans [Sat, 18 Sep 2010 17:05:26 +0000 (17:05 +0000)]
* config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Add.

From-SVN: r164396

14 years agoPass -fno-pic to gcc.target/i386/pad-3.c.
H.J. Lu [Sat, 18 Sep 2010 16:24:50 +0000 (16:24 +0000)]
Pass -fno-pic to gcc.target/i386/pad-3.c.

2010-09-18  H.J. Lu  <hongjiu.lu@intel.com>

PR testsuite/45719
* gcc.target/i386/pad-3.c: Pass -fno-pic.

From-SVN: r164395

14 years agolto-elf.c (lto_obj_file_open): Also provide filename when elf_begin fails.
Gerald Pfeifer [Sat, 18 Sep 2010 16:24:38 +0000 (16:24 +0000)]
lto-elf.c (lto_obj_file_open): Also provide filename when elf_begin fails.

* lto-elf.c (lto_obj_file_open): Also provide filename when
elf_begin fails.

From-SVN: r164394

14 years agoconfig.gcc (*-w64-mingw*): Correct typo about t-dfprules.
Kai Tietz [Sat, 18 Sep 2010 14:50:31 +0000 (14:50 +0000)]
config.gcc (*-w64-mingw*): Correct typo about t-dfprules.

2010-09-18  Kai Tietz  <kai.tietz@onevision.com>

        * config.gcc (*-w64-mingw*): Correct typo about t-dfprules.

From-SVN: r164393

14 years agore PR tree-optimization/45709 (internal compiler error: in add_phi_arg, at tree-phino...
Richard Guenther [Sat, 18 Sep 2010 11:38:25 +0000 (11:38 +0000)]
re PR tree-optimization/45709 (internal compiler error: in add_phi_arg, at tree-phinodes.c:395)

2010-09-18  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/45709
* tree-inline.c (copy_phis_for_bb): Fixup new_edge when
we splitted it.

* g++.dg/torture/pr45709.C: New testcase.

From-SVN: r164390

14 years agoIn libobjc/:
Nicola Pero [Sat, 18 Sep 2010 09:34:58 +0000 (09:34 +0000)]
In libobjc/:

        * hash.c: Include objc-private/hash.h instead of objc/hash.h.

        * objc/sarray.h: Moved into objc/deprecated/sarray.h;
        objc/sarray.h replaced with a placeholder including the file from
        the deprecated/ directory.
        * objc-private/sarray.h: New file (private copy of sarray.h).
        * hash.c: Include <assert.h> instead of "assert.h"
        * sarray.c: Include <assert.h> instead of "assert.h".  Include
        objc-private/sarray.h instead of objc/sarray.h.
        * selector.c: Include objc-private/sarray.h instead of
        objc/sarray.h.
        * sendmsg.c: Include <assert.h>.  Include objc-private/sarray.h
        instead of objc/sarray.h.
        * Makefile.in (OBJC_DEPRECATED_H): Added sarray.h.

From-SVN: r164389

14 years agore PR libstdc++/45713 (sizeof std::bitset<ULONG_MAX> == 1)
Luc Hermitte [Sat, 18 Sep 2010 01:29:31 +0000 (03:29 +0200)]
re PR libstdc++/45713 (sizeof std::bitset<ULONG_MAX> == 1)

2010-09-17  Luc Hermitte  <hermitte@free.fr>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/45713
* include/std/bitset: Fix _GLIBCXX_BITSET_WORDS macro.
* testsuite/23_containers/bitset/45713.cc: New.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r164388

14 years agoDaily bump.
GCC Administrator [Sat, 18 Sep 2010 00:17:46 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r164387

14 years agoAdd DEBUG_FUNCTION to all the dot_* debugging functions.
Sebastian Pop [Fri, 17 Sep 2010 21:39:28 +0000 (21:39 +0000)]
Add DEBUG_FUNCTION to all the dot_* debugging functions.

2010-09-17  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-dependences.c (dot_deps): Add DEBUG_FUNCTION.
(dot_deps_stmt): Same.
* graphite-poly.c (dot_lst): Same.
* graphite-scop-detection.c (dot_all_scops): Same.
(dot_scop): Same.

From-SVN: r164381

14 years agoAdd back dot_rdg.
Sebastian Pop [Fri, 17 Sep 2010 21:39:19 +0000 (21:39 +0000)]
Add back dot_rdg.

2010-09-17  Sebastian Pop  <sebastian.pop@amd.com>

Revert commit: 2009-12-16  Ben Elliston  <bje@au.ibm.com>
* tree-data-ref.c (dot_rdg_1): Added back.
(dot_rdg): Same.  Added "#if 0" around system call.

From-SVN: r164380

14 years agoPad short functions with NOPs for Atom.
H.J. Lu [Fri, 17 Sep 2010 21:07:09 +0000 (21:07 +0000)]
Pad short functions with NOPs for Atom.

gcc/

2010-09-17  H.J. Lu  <hongjiu.lu@intel.com>
    Richard Henderson  <rth@redhat.com>

* config/i386/i386.c (initial_ix86_tune_features): Add
X86_TUNE_PAD_SHORT_FUNCTION.
(ix86_code_end): Pad with 8 NOPs for TARGET_PAD_SHORT_FUNCTION.
(ix86_count_insn): New.
(ix86_pad_short_function): Likewise.
(ix86_reorg): Support TARGET_PAD_SHORT_FUNCTION.

* config/i386/i386.h (ix86_tune_indices): Add
X86_TUNE_PAD_SHORT_FUNCTION.
(TARGET_PAD_SHORT_FUNCTION): New.

* config/i386/i386.md (UNSPEC_NOPS): New.
(nops): Likewise.

gcc/testsuite/

2010-09-17  H.J. Lu  <hongjiu.lu@intel.com>

* gcc.target/i386/pad-1.c: New.
* gcc.target/i386/pad-2.c: Likewise.
* gcc.target/i386/pad-3.c: Likewise.
* gcc.target/i386/pad-4.c: Likewise.
* gcc.target/i386/pad-5a.c: Likewise.
* gcc.target/i386/pad-5b.c: Likewise.
* gcc.target/i386/pad-6a.c: Likewise.
* gcc.target/i386/pad-6b.c: Likewise.
* gcc.target/i386/pad-7.c: Likewise.
* gcc.target/i386/pad-8.c: Likewise.
* gcc.target/i386/pad-9.c: Likewise.
* gcc.target/i386/pad-10.c: Likewise.

Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r164379

14 years agoDo not print warning messages when there are no occurences.
Sebastian Pop [Fri, 17 Sep 2010 19:09:47 +0000 (19:09 +0000)]
Do not print warning messages when there are no occurences.

2010-07-02  Sebastian Pop  <sebastian.pop@amd.com>

* check_GNU_style.sh: Do not print warning messages when there are
no occurences.

From-SVN: r164378

14 years agoMake sure that all variable sized adjustments are multiple of preferred
H.J. Lu [Fri, 17 Sep 2010 18:00:40 +0000 (18:00 +0000)]
Make sure that all variable sized adjustments are multiple of preferred
stack boundary after stack alignment.

gcc/

2010-09-17  H.J. Lu  <hongjiu.lu@intel.com>

PR middle-end/45234
* calls.c (expand_call): Make sure that all variable sized
adjustments are multiple of preferred stack boundary after
stack alignment.

gcc/testsuite/

2010-09-17  H.J. Lu  <hongjiu.lu@intel.com>

PR middle-end/45234
* gcc.dg/torture/stackalign/alloca-5.c: New.

From-SVN: r164377

14 years agorx.c (valid_psw_flag): New.
DJ Delorie [Fri, 17 Sep 2010 17:51:43 +0000 (13:51 -0400)]
rx.c (valid_psw_flag): New.

* config/rx/rx.c (valid_psw_flag): New.
(rx_expand_builtin): Call it for setpsw/clrpsw.
(rx_expand_builtin_mvtipl): Pass an integer to IN_RANGE, not an
RTX.
* config/rx/rx.md (bitclr): Don't mark the output as early-clobber.
(bitclr_in_memory): Likewise.
(clrspw, setpsw, mvfc, mvtc, mvtipl): Make volatile.

From-SVN: r164376

14 years agoUpdate stack alignment when increasing local variable alignment.
H.J. Lu [Fri, 17 Sep 2010 17:49:30 +0000 (17:49 +0000)]
Update stack alignment when increasing local variable alignment.

gcc/

2010-09-17  H.J. Lu  <hongjiu.lu@intel.com>

PR middle-end/45678
* cfgexpand.c (update_stack_alignment): New.
(get_decl_align_unit): Use it.
(expand_one_stack_var_at): Call update_stack_alignment.

gcc/testsuite/

2010-09-17  H.J. Lu  <hongjiu.lu@intel.com>

PR middle-end/45678
* gcc.dg/torture/pr45678-2.c: New.

From-SVN: r164375

14 years agoIn libobjc/:
Nicola Pero [Fri, 17 Sep 2010 16:52:36 +0000 (16:52 +0000)]
In libobjc/:

        * objc-private/objc-list.h (list_remove_elem): Unused function
        removed.  (list_nth): Unused function removed.  (list_find):
        Unused function removed.  (list_lenght): Unused function removed.

        Also, fixed an error in my last commit by adding back
        objc/hash.h and objc/objc-list.h that had not been committed.

From-SVN: r164374

14 years agoIn libobjc/:
Nicola Pero [Fri, 17 Sep 2010 16:35:15 +0000 (16:35 +0000)]
In libobjc/:

        * objc/hash.h: Moved into objc/deprecated/hash.h; objc/hash.h
        replaced with a placeholder including the file from the
        deprecated/ directory.
        * objc/objc-api.h: Updated includes.
        * objc/typedstream.h: Updated includes.
        * objc-private/hash.h: New file (private copy of hash.h).
        * objc/objc-list.h: Moved into objc/deprecated/objc-list.h;
        objc/objc-list.h replaced with a placeholder including the file
        from the deprecated/ directory.
        * objc-private/objc-list.h: New file (private copy of objc-list.h).
        * init.c: Include objc-private/hash.h and objc-private/objc-list.h
        instead of objc/hash.h and objc/objc-list.h.
        * selector.c: Same change.
        * class.c: Added include <string.h>, which used to be implicitly included
        when hash.h was included.
        * exception.c: Same change.
        * objects.c: Same change.
        * sarray.c: Same change.
        * sendmsg.c: Same change.
        * Makefile.in (OBJC_DEPRECATED_H): Added hash.h and objc-list.h.
        (OBJC_H): Removed hash.h and objc-list.h

From-SVN: r164373

14 years agolto-streamer-in.c (lto_input_ts_translation_unit_decl_tree_pointers): Properly copy...
Richard Guenther [Fri, 17 Sep 2010 14:18:39 +0000 (14:18 +0000)]
lto-streamer-in.c (lto_input_ts_translation_unit_decl_tree_pointers): Properly copy the read string.

2010-09-17  Richard Guenther  <rguenther@suse.de>

* lto-streamer-in.c (lto_input_ts_translation_unit_decl_tree_pointers):
Properly copy the read string.

From-SVN: r164371

14 years agooptions.texi (Variable): Document.
Joseph Myers [Fri, 17 Sep 2010 14:14:49 +0000 (15:14 +0100)]
options.texi (Variable): Document.

* doc/options.texi (Variable): Document.
* optc-gen.awk, opth-gen.awk: Handle Variable records.  Don't
generate target_flags declarations explicitly.  Don't define
VarExists variables for the driver.
* common.opt (target_flags): New Variable record.
(flag_dump_unnumbered, flag_dump_unnumbered_links,
flag_var_tracking, flag_var_tracking_assignments,
flag_var_tracking_assignments_toggle): Don't mark variables with
VarExists.
* config/i386/i386.c (ix86_isa_flags): Don't define here.
* config/i386/i386.opt (ix86_isa_flags): Define here.
* config/mcore/mcore.c (mcore_stack_increment): Don't define here.
* config/mcore/mcore.opt (mcore_stack_increment): Don't mark with
VarExists.
* flags.h (flag_dump_unnumbered, flag_var_tracking): Remove.
* print-rtl.c (flag_dump_unnumbered, flag_dump_unnumbered_links):
Only define for generator programs.
* rtlanal.c (target_flags): Remove.
* toplev.c (flag_var_tracking, flag_var_tracking_assignments,
flag_var_tracking_assignments_toggle): Remove.

From-SVN: r164370

14 years agore PR rtl-optimization/45678 (crash on vector code with -m32 -msse)
Richard Guenther [Fri, 17 Sep 2010 13:57:04 +0000 (13:57 +0000)]
re PR rtl-optimization/45678 (crash on vector code with -m32 -msse)

2010-09-17  Richard Guenther  <rguenther@suse.de>

PR middle-end/45678
* gcc.dg/torture/pr45678-1.c: New testcase.

From-SVN: r164369

14 years agore PR tree-optimization/43432 (Missed vectorization: "complicated access pattern...
Michael Matz [Fri, 17 Sep 2010 13:26:43 +0000 (13:26 +0000)]
re PR tree-optimization/43432 (Missed vectorization: "complicated access pattern" for increasing and decreasing data indexing)

PR tree-optimization/43432
* tree-vect-data-refs.c (vect_analyze_data_ref_access):
Accept backwards consecutive accesses.
(vect_create_data_ref_ptr): If step is negative generate
decreasing IVs.
* tree-vect-stmts.c (vectorizable_store): Reject negative steps.
(perm_mask_for_reverse, reverse_vec_elements): New functions.
(vectorizable_load): Handle loads with negative steps when easily
possible.

testsuite/
PR tree-optimization/43432
* lib/target-supports.exp (check_effective_target_vect_perm_byte,
check_effective_target_vect_perm_short): New predicates.
(check_effective_target_vect_perm): Include x86_64.
* gcc.dg/vect/pr43432.c: New test.
* gcc.dg/vect/vect-114.c: Adjust.
* gcc.dg/vect/vect-15.c: Ditto.
* gcc.dg/vect/slp-perm-8.c: Use new predicate.
* gcc.dg/vect/slp-perm-9.c: Ditto.

From-SVN: r164367

14 years agolto-cgraph.c (compute_ltrans_boundary): Use const_value_known.
Jan Hubicka [Fri, 17 Sep 2010 11:27:25 +0000 (13:27 +0200)]
lto-cgraph.c (compute_ltrans_boundary): Use const_value_known.

* lto-cgraph.c (compute_ltrans_boundary): Use const_value_known.
* lto.c (lto_promote_cross_file_statics): Use const_value_known.

From-SVN: r164366

14 years agov850.c (v850_function_value_regno_p): Make static.
Naveen H.S [Fri, 17 Sep 2010 10:36:49 +0000 (10:36 +0000)]
v850.c (v850_function_value_regno_p): Make static.

        * config/v850/v850.c (v850_function_value_regno_p): Make static.
        Adjust comments. Declare.
        (TARGET_FUNCTION_VALUE_REGNO_P): Define.
        * config/v850/v850.h (FUNCTION_VALUE_REGNO_P): Delete.

From-SVN: r164365

14 years agoIn gcc/testsuite/:
Nicola Pero [Fri, 17 Sep 2010 10:14:25 +0000 (10:14 +0000)]
In gcc/testsuite/:

        * objc/execute/exceptions/throw-nil.m: Run the test only with the
        GNU runtime.

From-SVN: r164359

14 years agocommon.opt (combine): Remove.
Richard Guenther [Fri, 17 Sep 2010 09:04:14 +0000 (09:04 +0000)]
common.opt (combine): Remove.

2010-09-17  Richard Guenther  <rguenther@suse.de>

* common.opt (combine): Remove.
* gcc.c (default_compilers): Remove specs testing combine.
The C compilers no longer can combine.
(option_map): Remove -combine.
(display_help): Remove -combine.
(driver_handle_option): Remove OPT_combine handling.
(compile_input_file_p): Remove.
(do_spec): Remove code concerning combine.
(main): Likewise.
* doc/invoke.texi: Remove traces of -combine.
* lto-wrapper.c (run_gcc): Do not pass -combine to the compiler
driver.

lto/
* lang.opt (flag_wpa): Also enable for the driver.

* gcc.dg/pr27898.c: Use -flto instead of -combine.
* gcc.dg/pr28706.c: Likewise.
* gcc.dg/pr28712.c: Likewise.
* gcc.dg/pr30762-1.c: Likewise.
* gcc.dg/pr30762-2.c: Likewise.
* gcc.dg/pr31529-1.c: Likewise.
* gcc.dg/pr31529-2.c: Likewise.
* gcc.dg/pr34457-1.c: Likewise.
* gcc.dg/pr34457-2.c: Likewise.
* gcc.dg/pr34668-1.c: Likewise.
* gcc.dg/pr34668-2.c: Likewise.
* gcc.dg/pr34989-1.c: Likewise.
* gcc.dg/pr34989-2.c: Likewise.
* gcc.dg/pr43557-1.c: Likewise.
* gcc.dg/pr43557-2.c: Likewise.
* gcc.dg/debug/pr41893-1.c: Likewise.
* gcc.dg/matrix/matrix.exp: Do not use -combine.
* gcc.dg/matrix/matrix-3.c: Drop dg-options.
* gcc.dg/matrix/matrix-4.c: Likewise.
* gcc.dg/struct/struct-reorg.exp: Do not use -combine.
* gcc.dg/struct/wo_prof_empty_str.c: Drop dg-options.
* gcc.dg/struct/wo_prof_escape_arg_to_local.c: Likewise.
* gcc.dg/struct/wo_prof_escape_return.c: Likewise.

From-SVN: r164357

14 years agore PR rtl-optimization/45678 (crash on vector code with -m32 -msse)
Richard Guenther [Fri, 17 Sep 2010 09:00:23 +0000 (09:00 +0000)]
re PR rtl-optimization/45678 (crash on vector code with -m32 -msse)

2010-09-17  Richard Guenther  <rguenther@suse.de>

PR middle-end/45678
* builtins.c (fold_builtin_memory_op): Always properly adjust
alignment of memory accesses.

From-SVN: r164356

14 years agolto-cgraph.c (input_overwrite_node): Do not set DECL_EXTERNAL when processing clone.
Jan Hubicka [Fri, 17 Sep 2010 00:35:22 +0000 (02:35 +0200)]
lto-cgraph.c (input_overwrite_node): Do not set DECL_EXTERNAL when processing clone.

* lto-cgraph.c (input_overwrite_node): Do not set DECL_EXTERNAL when
processing clone.
* lto.c (lto_materialize_function): Do not tamper with STATIC and
EXTERNAL flags.

From-SVN: r164354

14 years agoDaily bump.
GCC Administrator [Fri, 17 Sep 2010 00:17:57 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r164353

14 years agore PR fortran/43665 (INTENT(IN) etc. optimization of calls: function annotations...
Tobias Burnus [Thu, 16 Sep 2010 21:30:05 +0000 (23:30 +0200)]
re PR fortran/43665 (INTENT(IN) etc. optimization of calls: function annotations for noclobber/noescape arguments)

2010-09-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/43665
        * trans-types.c (create_fn_spec): New function.
        (gfc_get_function_type): Call it.

2010-09-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/43665
        * gfortran.dg/cray_pointers_2.f90: Disable inlining to avoid
        optimizations.
        * gfortran.dg/intent_optimize_1.f90: New test.

From-SVN: r164348

14 years ago* config/i386/i386.md: Rearrange divmod patterns a bit.
Uros Bizjak [Thu, 16 Sep 2010 21:07:00 +0000 (23:07 +0200)]
* config/i386/i386.md: Rearrange divmod patterns a bit.

From-SVN: r164347

14 years agoAdd -m8bit-idiv for x86.
H.J. Lu [Thu, 16 Sep 2010 18:05:37 +0000 (18:05 +0000)]
Add -m8bit-idiv for x86.

gcc/

2010-09-16  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/i386-protos.h (ix86_split_idivmod): New prototype.

* config/i386/i386.c (predict_jump): Add prototype.
(flag_opts): Add -m8bit-idiv.
(ix86_split_idivmod): New.

* config/i386/i386.md (UNSPEC_DIV_ALREADY_SPLIT): New.
Add 2 splitters for SI/DI mode divide.
(divmod<mode>4_1): New pattern.
(udivmod<mode>4_1): Likewise.
(testdi_ccno_1): Likewise.

* config/i386/i386.opt (m8bit-idiv): New.

* doc/invoke.texi: Document -m8bit-idiv.

gcc/testsuite/

2010-09-16  H.J. Lu  <hongjiu.lu@intel.com>

* gcc.target/i386/divmod-1.c: New.
* gcc.target/i386/divmod-2.c: Likewise.
* gcc.target/i386/divmod-3.c: Likewise.
* gcc.target/i386/divmod-4.c: Likewise.
* gcc.target/i386/divmod-4a.c: Likewise.
* gcc.target/i386/divmod-5.c: Likewise.
* gcc.target/i386/divmod-6.c: Likewise.
* gcc.target/i386/divmod-7.c: Likewise.
* gcc.target/i386/divmod-8.c: Likewise.
* gcc.target/i386/udivmod-1.c: Likewise.
* gcc.target/i386/udivmod-2.c: Likewise.
* gcc.target/i386/udivmod-3.c: Likewise.
* gcc.target/i386/udivmod-4.c: Likewise.
* gcc.target/i386/udivmod-4a.c: Likewise.
* gcc.target/i386/udivmod-5.c: Likewise.
* gcc.target/i386/udivmod-6.c: Likewise.
* gcc.target/i386/udivmod-7.c: Likewise.
* gcc.target/i386/udivmod-8.c: Likewise.

From-SVN: r164346

14 years agore PR bootstrap/45680 (cc1 fails to link on Solaris 9/x86 with Sun as: min_insn_size...
Reza Yazdani [Thu, 16 Sep 2010 17:19:25 +0000 (17:19 +0000)]
re PR bootstrap/45680 (cc1 fails to link on Solaris 9/x86 with Sun as: min_insn_size missing)

Fix PR45680.

2010-09-16  Reza Yazdani  <reza.yazdani@amd.com>

PR bootstrap/45680
* config/i386/i386.c (min_insn_size): Moved out of the
ASM_OUTPUT_MAX_SKIP_PAD ifdef.

From-SVN: r164345

14 years agopr45679-1_0.C: New file.
Jan Hubicka [Thu, 16 Sep 2010 17:11:38 +0000 (19:11 +0200)]
pr45679-1_0.C: New file.

* g++.dg/lto/pr45679-1_0.C: New file.
* g++.dg/lto/pr45679-1_1.C: New file.
* g++.dg/lto/pr45679-0_0.C: New file.
* g++.dg/lto/pr45679-0_1.C: New file.
* lto-cgraph.c (lto_output_node): Fix handling of clones.
* ipa.c (cgraph_remove_unreachabloe_nodes): Fix handling of
unreachable clones with reachable clones.
* tree-inline.c (copy_bb): Fix sanity checking when producing
unreachable clone.

From-SVN: r164344

14 years agostl_raw_storage_iter.h (raw_storage_iterator<>:: operator=(const _Tp&)): Use std...
Paolo Carlini [Thu, 16 Sep 2010 17:09:10 +0000 (17:09 +0000)]
stl_raw_storage_iter.h (raw_storage_iterator<>:: operator=(const _Tp&)): Use std::__addressof.

2010-09-16  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/stl_raw_storage_iter.h (raw_storage_iterator<>::
operator=(const _Tp&)): Use std::__addressof.

From-SVN: r164343

14 years agogfortran.h (walk_code_fn_t, [...]): New types.
Jakub Jelinek [Thu, 16 Sep 2010 16:53:35 +0000 (18:53 +0200)]
gfortran.h (walk_code_fn_t, [...]): New types.

* gfortran.h (walk_code_fn_t, walk_expr_fn_t): New types.
(gfc_expr_walker, gfc_code_walker): New prototypes.
* frontend-passes.c (gfc_expr_walker, gfc_code_walker): New functions.
(WALK_SUBEXPR, WALK_SUBEXPR_TAIL, WALK_SUBCODE): Define.
(optimize_namespace): Use gfc_code_walker.
(optimize_code, optimize_expr): Rewritten as gfc_code_walker hooks.
(optimize_expr_0, optimize_code_node,
optimize_actual_arglist): Removed.
(optimize_assignment): Don't call optimize_expr_0.

From-SVN: r164342

14 years agoRecord PR middle-end/44763 in ChangeLog.
Rainer Orth [Thu, 16 Sep 2010 16:37:01 +0000 (16:37 +0000)]
Record PR middle-end/44763 in ChangeLog.

From-SVN: r164341

14 years agom32r.c (TARGET_MEMORY_MOVE_COSTS): Remove.
Anatoly Sokolov [Thu, 16 Sep 2010 16:25:27 +0000 (20:25 +0400)]
m32r.c (TARGET_MEMORY_MOVE_COSTS): Remove.

* config/m32r/m32r.c (TARGET_MEMORY_MOVE_COSTS): Remove.
(TARGET_MEMORY_MOVE_COST): Define.
(m32r_function_arg): Annotate argument 'type' with ATTRIBUTE_UNUSED.

From-SVN: r164340

14 years agosystem_error (system_error::system_error(error_code), [...]): Fix for what() to retur...
Paolo Carlini [Thu, 16 Sep 2010 14:55:37 +0000 (14:55 +0000)]
system_error (system_error::system_error(error_code), [...]): Fix for what() to return the NBTS recommended in the Note in 19.5.6.2/14.

2010-09-16  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/system_error (system_error::system_error(error_code),
system_error(error_code, const string&), system_error(int, const
error_category&), system_error(int, const error_category&,
const string&)): Fix for what() to return the NBTS recommended in
the Note in 19.5.6.2/14.
* testsuite/19_diagnostics/system_error/cons-1.cc: Adjust.
* testsuite/19_diagnostics/system_error/what-1.cc: Likewise.
* testsuite/19_diagnostics/system_error/what-2.cc: Likewise.
* testsuite/19_diagnostics/system_error/what-big.cc: Likewise.
* testsuite/19_diagnostics/system_error/what-3.cc: Likewise.

* testsuite/19_diagnostics/system_error/what-4.cc: Tidy includes.

From-SVN: r164339

14 years agore PR fortran/45674 ([OOP] Undefined references for extended types)
Janus Weil [Thu, 16 Sep 2010 13:12:59 +0000 (15:12 +0200)]
re PR fortran/45674 ([OOP] Undefined references for extended types)

2010-09-16  Janus Weil  <janus@gcc.gnu.org>

PR fortran/45674
* interface.c (compare_parameter): Create vtab for actual argument,
instead of formal (if needed).

2010-09-16  Janus Weil  <janus@gcc.gnu.org>

PR fortran/45674
* gfortran.dg/class_dummy_2.f03: New.

From-SVN: r164338

14 years agocomplex (complex<float>::operator=(float), [...]): Simplify a tad...
Paolo Carlini [Thu, 16 Sep 2010 12:39:13 +0000 (12:39 +0000)]
complex (complex<float>::operator=(float), [...]): Simplify a tad...

2010-09-16  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/complex (complex<float>::operator=(float),
complex<float>::operator+=(float),
complex<float>::operator-=(float),
complex<double>::operator=(double),
complex<double>::operator+=(double),
complex<double>::operator-=(double),
complex<long double>::operator=(long double),
complex<long double>::operator+=(long double),
complex<long double>::operator-=(long double)): Simplify a tad,
just forward to the underlying __complex__ T operators, as
operator*= and operator/= already do.

* include/std/complex (complex<float>, complex<double>,
complex<long double>): Simplify spelling of return types, just
say complex, instead of complex<float>, complex<double>,
complex<long double>, respectively.

From-SVN: r164337

14 years agosel-sched.c (move_cond_jump): Use tidy_control_flow instead of maybe_tidy_empty_bb.
Alexander Monakov [Thu, 16 Sep 2010 12:26:23 +0000 (16:26 +0400)]
sel-sched.c (move_cond_jump): Use tidy_control_flow instead of maybe_tidy_empty_bb.

2010-09-16  Alexander Monakov  <amonakov@ispras.ru>

* sel-sched.c (move_cond_jump): Use tidy_control_flow instead of
maybe_tidy_empty_bb.

Revert:
2010-09-06  Alexander Monakov  <amonakov@ispras.ru>
* sel-sched-ir.c (maybe_tidy_empty_bb): Export.

From-SVN: r164336

14 years agotarget.def (target_option.optimization): New hook.
Joseph Myers [Thu, 16 Sep 2010 12:04:29 +0000 (13:04 +0100)]
target.def (target_option.optimization): New hook.

* target.def (target_option.optimization): New hook.
* doc/tm.texi.in (OPTIMIZATION_OPTIONS): Change to
TARGET_OPTION_OPTIMIZATION hook.
* doc/tm.texi: Regenerate.
* hooks.c (hook_void_int_int): New.
* hooks.h (hook_void_int_int): Declare.
* opts.c: Don't include tm_p.h.
(decode_options): Use targetm.target_option.optimization instead
of OPTIMIZATION_OPTIONS.
* system.h (OPTIMIZATION_OPTIONS): Poison.
* config/arm/arm-protos.h (arm_optimization_options): Remove.
* config/arm/arm.c (TARGET_OPTION_OPTIMIZATION): Define.
(arm_optimization_options): Rename to arm_option_optimization.
Make static.
* config/arm/arm.h (OPTIMIZATION_OPTIONS): Remove.
* config/cris/cris.c (TARGET_OPTION_OPTIMIZATION): Define.
(cris_option_optimization): New.
* config/cris/cris.h (OPTIMIZATION_OPTIONS): Remove.
* config/crx/crx.c (TARGET_OPTION_OPTIMIZATION): Define.
(crx_option_optimization): New.
* config/crx/crx.h (OPTIMIZATION_OPTIONS): Remove.
* config/frv/frv-protos.h (frv_optimization_options): Remove.
* config/frv/frv.c (TARGET_OPTION_OPTIMIZATION): Define.
(frv_optimization_options): Rename to frv_option_optimization.
Make static.
* config/frv/frv.h (OPTIMIZATION_OPTIONS): Remove.
* config/h8300/h8300.c (h8300_option_optimization): New.
(TARGET_OPTION_OPTIMIZATION): Define.
* config/h8300/h8300.h (OPTIMIZATION_OPTIONS): Remove.
* config/i386/i386-protos.h (optimization_options): Remove.
* config/i386/i386.c (optimization_options): Rename to
ix86_option_optimization.  Make static.
(TARGET_OPTION_OPTIMIZATION): Define.
* config/i386/i386.h (OPTIMIZATION_OPTIONS): Remove.
* config/ia64/ia64-protos.h (ia64_optimization_options): Remove.
* config/ia64/ia64.c (TARGET_OPTION_OPTIMIZATION): Define.
(ia64_optimization_options): Rename to ia64_option_optimization.
Make static.  Call SUBTARGET_OPTIMIZATION_OPTIONS.
* config/ia64/ia64.h (OPTIMIZATION_OPTIONS): Remove.  Remove
commented-out definition.
* config/ia64/vms.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define
instead of OPTIMIZATION_OPTIONS.
* config/m32r/m32r.c (TARGET_OPTION_OPTIMIZATION): Define.
(m32r_option_optimization): New.
* config/m32r/m32r.h (OPTIMIZATION_OPTIONS): Remove.
* config/m68hc11/m68hc11-protos.h (m68hc11_optimization_options):
Remove.
* config/mcore/mcore.c (TARGET_OPTION_OPTIMIZATION): Define.
(mcore_option_optimization): New.
* config/mcore/mcore.h (OPTIMIZATION_OPTIONS): Remove.
* config/mep/mep-protos.h (mep_optimization_options): Remove.
* config/mep/mep.c (TARGET_OPTION_OPTIMIZATION): Define.
(mep_optimization_options): Rename to mep_option_optimization.
Make static.  Take unused level and size parameters.
* config/mep/mep.h (OPTIMIZATION_OPTIONS): Remove.
* config/mmix/mmix.c (TARGET_OPTION_OPTIMIZATION): Define.
(mmix_option_optimization): New.
* config/mmix/mmix.h (OPTIMIZATION_OPTIONS): Remove.
* config/pdp11/pdp11.c (TARGET_OPTION_OPTIMIZATION): Define.
(pdp11_option_optimization): New.
* config/pdp11/pdp11.h (OPTIMIZATION_OPTIONS): Remove.
* config/rs6000/rs6000-protos.h (optimization_options): Remove.
* config/rs6000/rs6000.c (TARGET_OPTION_OPTIMIZATION): Define.
(optimization_options): Rename to rs6000_option_optimization.
Make static.
* config/rs6000/rs6000.h (OPTIMIZATION_OPTIONS): Remove.
* config/rx/rx-protos.h (rx_set_optimization_options): Remove.
* config/rx/rx.c (rx_set_optimization_options): Rename to
rx_option_optimization.  Make static.  Take unused level and size
parameters.
(TARGET_OPTION_OPTIMIZATION): Define.
* config/rx/rx.h (OPTIMIZATION_OPTIONS): Remove.
* config/s390/s390-protos.h (optimization_options): Remove.
* config/s390/s390.c (optimization_options): Rename to
s390_option_optimization.  Make static.  Don't mark size parameter
unused.
(TARGET_OPTION_OPTIMIZATION): Define.
* config/s390/s390.h (OPTIMIZATION_OPTIONS): Remove.
* config/sh/sh-protos.h (sh_optimization_options): Remove.
* config/sh/sh.c (TARGET_OPTION_OPTIMIZATION): Define.
(sh_optimization_options): Rename to sh_option_optimization.  Make
static.  Don't mark parameters unused.
* config/sh/sh.h (OPTIMIZATION_OPTIONS): Remove.
* config/spu/spu-protos.h (spu_optimization_options): Remove.
* config/spu/spu.c (TARGET_OPTION_OPTIMIZATION): Define.
(spu_optimization_options): Rename to spu_option_optimization.
Make static.
* config/spu/spu.h (OPTIMIZATION_OPTIONS): Remove.
* config/v850/v850.c (TARGET_OPTION_OPTIMIZATION): Define.
(v850_option_optimization): New.
* config/v850/v850.h (OPTIMIZATION_OPTIONS): Remove.
* config/xtensa/xtensa.c (TARGET_OPTION_OPTIMIZATION): Define.
(xtensa_option_optimization): New.
* config/xtensa/xtensa.h (OPTIMIZATION_OPTIONS): Remove.

From-SVN: r164335

14 years agotm.texi.in (OVERRIDE_OPTIONS): Remove documentation.
Joseph Myers [Thu, 16 Sep 2010 11:59:39 +0000 (12:59 +0100)]
tm.texi.in (OVERRIDE_OPTIONS): Remove documentation.

* doc/tm.texi.in (OVERRIDE_OPTIONS): Remove documentation.
(C_COMMON_OVERRIDE_OPTIONS): Don't refer to OVERRIDE_OPTIONS.
* doc/tm.texi: Regenerate.
* system.h (OVERRIDE_OPTIONS): Poison.
* target.def (override): Default to hook_void_void.
* targhooks.c (default_target_option_override): Remove.
* genmodes.c, machmode.def: Update comments mentioning
OVERRIDE_OPTIONS.
* config/alpha/alpha-modes.def: Update comment mentioning
alpha_override_options.
* config/alpha/alpha-protos.h (override_options): Remove.
* config/alpha/alpha.c (override_options): Rename to
alpha_option_override.  Call SUBTARGET_OVERRIDE_OPTIONS.  Make
static.
(TARGET_OPTION_OVERRIDE): Define.
* config/alpha/alpha.h (OVERRIDE_OPTIONS): Remove.
* config/alpha/vms.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead
of OVERRIDE_OPTIONS.
* config/arc/arc-protos.h (arc_init): Remove.
* config/arc/arc.c (TARGET_OPTION_OVERRIDE): Define.
(arc_init): Rename to arc_option_override.  Make static.
* config/arc/arc.h (ARC_EXTENSION_CPU): Correct comment.
(OVERRIDE_OPTIONS): Remove.
* config/arm/arm-protos.h (arm_override_options): Remove.
* config/arm/arm.c (TARGET_OPTION_OVERRIDE): Define.
(arm_override_options): Rename to arm_option_override.  Make
static.  Call SUBTARGET_OVERRIDE_OPTIONS.
* config/arm/arm.h (OVERRIDE_OPTIONS): Remove.
* config/arm/arm.md: Update comment referring to
arm_override_options.
* config/arm/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define
instead of OVERRIDE_OPTIONS.
* config/avr/avr-protos.h (avr_override_options): Remove.
* config/avr/avr.c (TARGET_OPTION_OVERRIDE): Define.
(avr_override_options): Rename to avr_option_override.  Make
static.
* config/avr/avr.h (OVERRIDE_OPTIONS): Remove.
* config/bfin/bfin-protos.h (override_options): Remove (twice).
* config/bfin/bfin.c (override_options): Rename to
bfin_option_override.  Make static.
(TARGET_OPTION_OVERRIDE): Define.
* config/bfin/bfin.h (OVERRIDE_OPTIONS): Remove.
* config/cris/cris-protos.h (cris_override_options): Remove.
* config/cris/cris.c (TARGET_OPTION_OVERRIDE): Define.
(cris_override_options): Rename to cris_option_override.  Make
static.
* config/cris/cris.h (OVERRIDE_OPTIONS): Remove.
* config/frv/frv-protos.h (frv_override_options): Remove.
* config/frv/frv.c (TARGET_OPTION_OVERRIDE): Define.
(frv_override_options): Rename to frv_option_override.  Make
static.
* config/frv/frv.h (OVERRIDE_OPTIONS): Remove.
* config/h8300/h8300-protos.h (h8300_init_once): Remove.
* config/h8300/h8300.c (h8300_init_once): Rename to
h8300_option_override.  Make static.
(TARGET_OPTION_OVERRIDE): Define.
* config/h8300/h8300.h (OVERRIDE_OPTIONS): Remove.
* config/i386/i386-protos.h (override_options): Remove.
* config/i386/i386.c (override_options): Rename to
ix86_option_override_internal.  Make static.  Comments referring
to this function and callers changed.
(ix86_option_override): New.
(TARGET_OPTION_OVERRIDE): Define.
* config/i386/i386.h (OVERRIDE_OPTION): Remove.
* config/i386/linux64.h (DEFAULT_PCC_STRUCT_RETURN): Update
comment.
* config/ia64/ia64.c (ia64_file_start): Update comment referring
to ia64_override_options.
* config/iq2000/iq2000-protos.h (override_options): Remove.
* config/iq2000/iq2000.c (TARGET_OPTION_OVERRIDE): Define.
(override_options): Rename to iq2000_option_override.  Make
static.
* config/iq2000/iq2000.h (OVERRIDE_OPTIONS): Remove.
* config/lm32/lm32-protos.h (lm32_override_options): Remove.
* config/lm32/lm32.c (TARGET_OPTION_OVERRIDE): Define.
(lm32_override_options): Rename to lm32_option_override.  Make
static.
* config/lm32/lm32.h (OVERRIDE_OPTIONS): Remove.
* config/m32r/m32r.c (TARGET_OPTION_OVERRIDE): Define.
(m32r_option_override): New.
(m32r_init): Update comment.
* config/m32r/m32r.h (OVERRIDE_OPTIONS): Remove.
* config/m68hc11/m68hc11-protos.h (m68hc11_override_options):
Remove.
* config/m68hc11/m68hc11.c (TARGET_OPTION_OVERRIDE): Define.
(m68hc11_override_options): Rename to m68hc11_option_override.
Make static.  Return void.
* config/m68hc11/m68hc11.h (OVERRIDE_OPTIONS): Remove.
* config/m68k/m68k-protos.h (override_options): Remove.
* config/m68k/m68k.c (TARGET_OPTION_OVERRIDE): Define.
(override_options): Rename to m68k_option_override.  Make static.
* config/m68k/m68k.h (OVERRIDE_OPTIONS): Remove.
* config/mcore/mcore-protos.h (mcore_override_options): Remove.
* config/mcore/mcore.c (TARGET_OPTION_OVERRIDE): Define.
(mcore_override_options): Rename to mcore_option_override.  Make
static.
* config/mcore/mcore.h (OVERRIDE_OPTIONS): Remove.
* config/mep/mep-protos.h (mep_override_options): Remove.
* config/mep/mep.c (TARGET_OPTION_OVERRIDE): Define.
(mep_override_options): Rename to mep_option_override.  Make
static.
* config/mep/mep.h (OVERRIDE_OPTIONS): Remove.
* config/mmix/mmix-protos.h (mmix_override_options): Remove.
* config/mmix/mmix.c (TARGET_OPTION_OVERRIDE): Define.
(mmix_override_options): Rename to mmix_option_override.  Make
static.
* config/mmix/mmix.h (OVERRIDE_OPTIONS): Remove.
* config/mn10300/mn10300-protos.h (mn10300_override_options):
Remove.
* config/mn10300/mn10300.c (TARGET_OPTION_OVERRIDE): Define.
(mn10300_override_options): Rename to mn10300_option_override.
Make static.
* config/mn10300/mn10300.h (OVERRIDE_OPTIONS): Remove.
* config/moxie/moxie-protos.h (moxie_override_options): Remove.
* config/moxie/moxie.c (moxie_override_options): Rename to
moxie_option_override.  Make static.
(TARGET_OPTION_OVERRIDE): Define.
* config/moxie/moxie.h (OVERRIDE_OPTIONS): Remove.
* config/picochip/picochip-protos.h (picochip_override_options):
Remove.  Update comment referring to picochip_override_options.
* config/picochip/picochip.c (TARGET_OPTION_OVERRIDE): Define.
(picochip_override_options): Rename to picochip_option_override.
Make static.  Update comment and definition of
TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE.
* config/picochip/picochip.h (OVERRIDE_OPTIONS): Remove.
* config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Update
comment.
* config/rs6000/aix51.h (SUBTARGET_OVERRIDE_OPTIONS): Update
comment.
* config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Update
comment.
* config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Update
comment.
* config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Update
comment.
* config/rs6000/linux64.h (OPTION_TARGET_CPU_DEFAULT): Define
instead of OVERRIDE_OPTIONS.
* config/rs6000/rs6000-modes.def: Update comment referring to
rs6000_override_options.
* config/rs6000/rs6000-protos.h (rs6000_override_options): Remove.
* config/rs6000/rs6000.c (TARGET_OPTION_OVERRIDE): Define.
(rs6000_override_options): Rename to
rs6000_option_override_internal.  Make static.  Commented
referring to rs6000_override_options and OVERRIDE_OPTIONS updated.
(rs6000_option_override): New.
* config/rs6000/rs6000.h (OPTION_TARGET_CPU_DEFAULT): Define
instead of OVERRIDE_OPTIONS.
* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Update
comment.
* config/s390/s390-protos.h (override_options): Remove.
* config/s390/s390.c (override_options): Rename to
s390_option_override.  Make static.
(TARGET_OPTION_OVERRIDE): Define.
* config/s390/s390.h (OVERRIDE_OPTIONS): Remove.
* config/score/score-protos.h (score_override_options): Remove.
* config/score/score.c (TARGET_OPTION_OVERRIDE): Define.
(score_override_options): Rename to score_option_override.  Make
static.
* config/score/score.h (OVERRIDE_OPTIONS): Remove.
Update comment referring to override_options.
* config/score/score3.c (score3_override_options): Rename to
score3_option_override.
* config/score/score3.h (score3_override_options): Rename to
score3_option_override.
* config/score/score7.c (score7_override_options): Rename to
score7_option_override.
* config/score/score7.h (score7_override_options): Rename to
score7_option_override.
* config/sh/sh.c: Update comments referring to OVERRIDE_OPTIONS.
* config/sparc/sparc.c (TARGET_OPTION_OVERRIDE): Define.
(sparc_override_options): Rename to sparc_option_override.  Make
static.  Call SUBTARGET_OVERRIDE_OPTIONS.
* config/sparc/sparc.h (OVERRIDE_OPTIONS): Remove.
* config/sparc/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define
instead of OVERRIDE_OPTIONS.
* config/spu/spu-protos.h (spu_override_options): Remove.
* config/spu/spu.c (TARGET_OPTION_OVERRIDE): Define.
(spu_override_options): Rename to spu_option_override.  Make
static.
* config/spu/spu.h (OVERRIDE_OPTIONS): Remove.
* config/vax/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead of
OVERRIDE_OPTIONS.
* config/vax/vax-protos.h (override_options): Remove.
* config/vax/vax.c (TARGET_OPTION_OVERRIDE): Define.
(override_options): Rename to vax_option_override.  Make static.
Call SUBTARGET_OVERRIDE_OPTIONS.
* config/vax/vax.h (OVERRIDE_OPTIONS): Remove.
* config/vxworks.c: Update comment referring to OVERRIDE_OPTIONS.
* config/vxworks.h: Update comment referring to OVERRIDE_OPTIONS.
* config/xtensa/xtensa-protos.h (override_options): Remove.
* config/xtensa/xtensa.c (TARGET_OPTION_OVERRIDE): Define.
(override_options): Rename to xtensa_option_override.  Make
static.
* config/xtensa/xtensa.h (OVERRIDE_OPTIONS): Remove.

From-SVN: r164334

14 years agore PR tree-optimization/45623 (GCC 4.5.[01] breaks our ffi on Linux64. ABI break?)
Richard Guenther [Thu, 16 Sep 2010 11:06:25 +0000 (11:06 +0000)]
re PR tree-optimization/45623 (GCC 4.5.[01] breaks our ffi on Linux64. ABI break?)

2010-09-16  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/45623
* tree-ssa-structalias.c (get_constraint_for_ptr_offset): Adjust.
(get_constraint_for_component_ref): If computing a constraint
for the rhs handle type punning through unions.
(get_constraint_for_address_of): Adjust.
(get_constraint_for_1): Likewise.
(get_constraint_for): Likewise.
(get_constraint_for_rhs): New function.
(do_structure_copy): Adjust.
(make_constraint_to): Likewise.
(handle_const_call): Likewise.
(find_func_aliases): Likewise.
(process_ipa_clobber): Likewise.
(create_variable_info_for): Likewise.

* gcc.dg/torture/pr45623.c: New testcase.

From-SVN: r164333

14 years agotree-vectorizer.c: Fix documentation.
Ira Rosen [Thu, 16 Sep 2010 10:35:14 +0000 (10:35 +0000)]
tree-vectorizer.c: Fix documentation.

* tree-vectorizer.c: Fix documentation.
* tree-vectorizer.h (vinfo_for_stmt): Add documentation.
(set_vinfo_for_stmt, get_earlier_stmt, get_later_stmt,
is_pattern_stmt_p, is_loop_header_bb_p,
stmt_vinfo_set_inside_of_loop_cost,
stmt_vinfo_set_outside_of_loop_cost, vect_pow2, aligned_access_p,
known_alignment_for_access_p): Likewise.
* tree-vect-loop.c: Fix documentation.
(vect_get_cost): Start function name from new line.
* tree-vect-data-refs.c: Fix documentation.
* tree-vect_stmts.c: Likewise.
(vect_create_vectorized_promotion_stmts): Always free vec_tmp.
(vectorizable_store): Free vec_oprnds if allocated.
(vectorizable_condition): Initialize several variables to avoid
warnings.
* tree-vect-slp.c: Fix documentation.

From-SVN: r164332

14 years agotree.c (tree_node_structure_for_code): TRANSLATION_UNIT_DECL is TS_TRANSLATION_UNIT_DECL.
Richard Guenther [Thu, 16 Sep 2010 09:38:13 +0000 (09:38 +0000)]
tree.c (tree_node_structure_for_code): TRANSLATION_UNIT_DECL is TS_TRANSLATION_UNIT_DECL.

2010-09-16  Richard Guenther  <rguenther@suse.de>

* tree.c (tree_node_structure_for_code): TRANSLATION_UNIT_DECL
is TS_TRANSLATION_UNIT_DECL.
(initialize_tree_contains_struct): Adjust.
(all_translation_units): New global vector.
(build_translation_unit_decl): New function.
* tree.h (TRANSLATION_UNIT_LANGUAGE): New macro.
(struct tree_translation_unit_decl): New.
(all_translation_units): Declare.
(union tree_node): Add translation_unit_decl member.
(build_translation_unit_decl): Declare.
* treestruct.def (TS_TRANSLATION_UNIT_DECL): New.
* lto-streamer-out.c (pack_ts_translation_unit_decl_value_fields):
New function.
(pack_value_fields): Call it.
(lto_output_tree_ref): Handle references to TRANSLATION_UNIT_DECL.
(lto_output_ts_translation_unit_decl_tree_pointers): New function.
(lto_output_tree_pointers): Call it.
* lto-streamer-in.c (lto_input_tree_ref): Handle references
to TRANSLATION_UNIT_DECL.
(unpack_ts_translation_unit_decl_value_fields): New function.
(unpack_value_fields): Call it.
(lto_input_ts_translation_unit_decl_tree_pointers): New function.
(lto_input_tree_pointers): Call it.
* lto-streamer.c (check_handled_ts_structures): Adjust.
* lto-streamer.h (enum LTO_tags): Add LTO_translation_unit_decl_ref.
* c-decl.c (all_translation_units): Remove.
(pop_scope): Use build_translation_unit_decl.
(collect_all_refs): Adjust.
(for_each_global_decl): Likewise.
(c_write_global_declarations): Likewise.

java/
* jcf-parse.c (current_file_list): Remove.
(java_parse_file): Use build_translation_unit_decl.  Adjust.

From-SVN: r164331

14 years agore PR bootstrap/45686 (Building rev. 164285 fails with --enable-checking=all)
Jakub Jelinek [Thu, 16 Sep 2010 09:35:02 +0000 (11:35 +0200)]
re PR bootstrap/45686 (Building rev. 164285 fails with --enable-checking=all)

PR bootstrap/45686
* fold-const.c (fold_checksum_tree): Change slot from const void **
to void **, use CONST_CAST_TREE to store into *slot.

From-SVN: r164330

14 years agoi386.md: Remove unneeded empty conditions and preparation statements from expanders.
Uros Bizjak [Thu, 16 Sep 2010 08:33:04 +0000 (10:33 +0200)]
i386.md: Remove unneeded empty conditions and preparation statements from expanders.

* config/i386/i386.md: Remove unneeded empty conditions and
preparation statements from expanders.
* config/i386/mmx.md: Ditto.
* config/i386/sse.md: Ditto.

From-SVN: r164329

14 years ago* config/i386/i386.h (PUSH_ROUNDING): Redefine using UNITS_PER_WORD.
Uros Bizjak [Thu, 16 Sep 2010 06:34:12 +0000 (08:34 +0200)]
* config/i386/i386.h (PUSH_ROUNDING): Redefine using UNITS_PER_WORD.

From-SVN: r164328