GCC Administrator [Mon, 29 Nov 2010 00:20:09 +0000 (00:20 +0000)]
Daily bump.
From-SVN: r167229
Janus Weil [Sun, 28 Nov 2010 20:22:29 +0000 (21:22 +0100)]
re PR fortran/46662 ([OOP] gfortran accepts "CALL polymorphic%abstract_type%ppc()")
2010-11-28 Janus Weil <janus@gcc.gnu.org>
PR fortran/46662
* resolve.c (update_ppc_arglist): Add check for abstract passed object.
2010-11-28 Janus Weil <janus@gcc.gnu.org>
PR fortran/46662
* gfortran.dg/proc_ptr_comp_pass_7.f90: New.
From-SVN: r167225
Eric Botcazou [Sun, 28 Nov 2010 17:34:32 +0000 (17:34 +0000)]
aliasing2.adb (dg-final): Robustify pattern matching.
* gnat.dg/aliasing2.adb (dg-final): Robustify pattern matching.
* gnat.dg/pack9.adb (dg-final): Likewise.
From-SVN: r167222
Joseph Myers [Sun, 28 Nov 2010 17:32:27 +0000 (17:32 +0000)]
* sv.po: Update.
From-SVN: r167221
Paul Thomas [Sun, 28 Nov 2010 13:47:26 +0000 (13:47 +0000)]
re PR fortran/35810 ([TR 15581 / F2003] Automatic reallocation on assignment to allocatable variables)
2010-11-28 Paul Thomas <pault@gcc.gnu.org>
PR fortran/35810
* trans-array.c (gfc_trans_array_constructor): If the loop->to
is a VAR_DECL, assume this is dynamic. In this case, use the
counter to obtain the value and set loop->to appropriately.
(gfc_conv_ss_descriptor): Always save the offset of a variable
in info.saved_offset.
(gfc_conv_ss_startstride): Do not attempt bound checking of the
lhs of an assignment, if allocatable and f2003 is allowed.
(gfc_conv_loop_setup): If possible, do not use an allocatable
lhs variable for the loopspec.
(gfc_is_reallocatable_lhs): New function.
(get_std_lbound): New function.
(gfc_alloc_allocatable_for_assignment): New function.
* gfortran.h : Add flag_realloc_lhs to the options structure.
* lang.opt : Add option f(no-)realloc-lhs.
* invoke.texi : Document option f(no-)realloc-lhs.
* options.c (gfc_init_options, gfc_post_options,
gfc_handle_option): Incorporate f(no-)realloc-lhs with default
to frealloc_lhs for -std > f95.
* trans-array.h : Add primitive for previous.
* trans-expr.c (gfc_conv_string_length): Return if character
length is a variable and the expression is NULL.
(gfc_conv_procedure_call): If the call is of the kind x = f(...)
and the lhs is allocatable and reallocation on assignment OK,
call gfc_alloc_allocatable_for_assignment. Do not generate the
function call unless direct by reference.
(realloc_lhs_loop_for_fcn_call): New function.
(realloc_lhs_bounds_for_intrinsic_call): New function.
(gfc_trans_arrayfunc_assign): Reallocation assignments need
a loopinfo and for the loop bounds to be set. With intrinsic
functions, free the lhs data and let the library allocate the
data array. Done by the new functions above.
(gfc_trans_assignment_1): If the lhs is allocatable and
reallocation on assignment is allowed, mark the lhs and use
gfc_alloc_allocatable_for_assignment to make the reallocation.
* trans.h : Add is_alloc_lhs bitfield to gfc_ss structure.
2010-11-28 Paul Thomas <pault@gcc.gnu.org
PR fortran/35810
* gfortran.dg/realloc_on_assign_1.f03: New test.
* gfortran.dg/realloc_on_assign_2.f03: New test.
* gfortran.dg/transpose_2.f90: dg-option -fno-realloc-lhs.
* gfortran.dg/unpack_bounds_1.f90: The same.
* gfortran.dg/cshift_bounds_2.f90: The same.
* gfortran.dg/matmul_bounds_2.f90: The same.
* gfortran.dg/matmul_bounds_3.f90: The same.
* gfortran.dg/matmul_bounds_4.f90: The same.
* gfortran.dg/matmul_bounds_5.f90: The same.
From-SVN: r167220
Paolo Carlini [Sun, 28 Nov 2010 10:22:55 +0000 (10:22 +0000)]
re PR libstdc++/46683 (FAIL: ext/profile/all.cc)
2010-11-28 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/46683
* testsuite/ext/profile/mh.cc: Move dg-require* directives to the end.
* testsuite/ext/profile/all.cc: Likewise.
From-SVN: r167219
Tobias Burnus [Sun, 28 Nov 2010 07:42:56 +0000 (08:42 +0100)]
re PR fortran/46678 (Wrong code with strings)
2010-11-27 Tobias Burnus <burnus@net-b.de>
Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/46678
trans-decl.c (gfc_trans_auto_character_variable): Use gfc_init_block
instead of gfc_start_block.
Co-Authored-By: Jerry DeLisle <jvdelisle@gcc.gnu.org>
From-SVN: r167218
Jonathan Wakely [Sun, 28 Nov 2010 01:32:57 +0000 (01:32 +0000)]
re PR libstdc++/46689 (FAIL: 20_util/shared_ptr/comparison/cmp.cc)
2010-11-28 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/46689
* testsuite/20_util/shared_ptr/comparison/cmp.cc: Remove tests for
invalid comparisons.
From-SVN: r167217
GCC Administrator [Sun, 28 Nov 2010 00:19:33 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r167216
Jerry DeLisle [Sat, 27 Nov 2010 22:12:46 +0000 (22:12 +0000)]
re PR fortran/46301 (Missing diagnosis for "len=:")
2010-11-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/46301
trans-expr.c (gfc_trans_assignment): Add error message for not
implemented assignment to deferred-length character variable.
From-SVN: r167212
Tobias Burnus [Sat, 27 Nov 2010 21:22:00 +0000 (22:22 +0100)]
re PR fortran/46638 (Wrong result with TRANSFER from string to DT)
2010-11-27 Tobias Burnus <burnus@net-b.de>
PR fortran/46638
PR fortran/46668
* gfortran.dg/transfer_simplify_10.f90: Fix endian issue.
From-SVN: r167209
Jan Hubicka [Sat, 27 Nov 2010 19:37:00 +0000 (20:37 +0100)]
dwarf2out.c (dwarf2out_begin_function): Set cold_text_section and output cold_text_section_label.
* dwarf2out.c (dwarf2out_begin_function): Set cold_text_section
and output cold_text_section_label.
(dwarf2out_init): Don't do that there.
(dwarf2out_finish): Handle cold section end label only if cold
section was used.
From-SVN: r167208
Eric Botcazou [Sat, 27 Nov 2010 19:07:08 +0000 (19:07 +0000)]
re PR ada/46574 (ada bootstrap fails with --enable-build-with-cxx.)
PR ada/46574
* gcc-interface/utils2.c (compare_elmt_bitpos): Fix typos.
From-SVN: r167207
Eric Botcazou [Sat, 27 Nov 2010 18:46:49 +0000 (18:46 +0000)]
re PR ada/40777 (compile error on gcc-interface/targtyps.c)
PR ada/40777
* gcc-interface/targtyps.c (get_target_double_scalar_alignment): Guard
use of TARGET_64BIT macro.
From-SVN: r167205
Eric Botcazou [Sat, 27 Nov 2010 18:34:52 +0000 (18:34 +0000)]
s-osinte-linux.ads (sigset_t): Use unsigned_char subtype directly.
* s-osinte-linux.ads (sigset_t): Use unsigned_char subtype directly.
(unsigned_long_long_t): New modular type.
(pthread_cond_t): Add alignment clause.
From-SVN: r167204
Jonathan Wakely [Sat, 27 Nov 2010 18:32:08 +0000 (18:32 +0000)]
shared_ptr_base.h (operator>, [...]): Remove comparisons not specified in the C++0x draft.
2010-11-27 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/bits/shared_ptr_base.h (operator>, operator>=, operator<=):
Remove comparisons not specified in the C++0x draft.
From-SVN: r167203
Nicola Pero [Sat, 27 Nov 2010 18:17:14 +0000 (18:17 +0000)]
In gcc/cp/: 2010-11-27 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/cp/:
2010-11-27 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc++/46222
* decl.c (grokdeclarator): Replaced an assert (for a case that can
never happen in C++, but could happen in ObjC++ for invalid code)
with a check that prints an error message and returns
error_mark_node.
In gcc/testsuite/:
2010-11-27 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc++/46222
* obj-c++.dg/property/at-property-2.mm: Uncommented testcase.
From-SVN: r167202
Eric Botcazou [Sat, 27 Nov 2010 15:53:23 +0000 (15:53 +0000)]
bootstrap-lto.mk (BOOT_ADAFLAGS): Delete.
config/
* bootstrap-lto.mk (BOOT_ADAFLAGS): Delete.
gcc/
* tree-nested.c (remap_vla_decls): Fully expand value expressions of
VLA variables.
gcc/ada/
* gnatvsn.adb (Version_String): Change type to C-like array of chars.
(Gnat_Version_String): Adjust to above change.
From-SVN: r167201
Richard Guenther [Sat, 27 Nov 2010 14:32:47 +0000 (14:32 +0000)]
gimple.c (gimple_assign_copy_p): Use gimple_assign_single_p.
2010-11-27 Richard Guenther <rguenther@suse.de>
* gimple.c (gimple_assign_copy_p): Use gimple_assign_single_p.
(gimple_assign_ssa_name_copy_p): Likewise.
(gimple_assign_unary_nop_p): Use is_gimple_assign.
(is_gimple_cast): Remove.
(gimple_assign_single_p): Move ...
* gimple.h (gimple_assign_single_p): ... here.
(is_gimple_cast): Remove.
(gimple_assign_rhs_code): Simplify.
* gimple-fold.c (gimple_fold_builtin): Use CONVERT_EXPR_P
instead of is_gimple_cast.
* ipa-type-escape.c (look_for_casts): Likewise.
From-SVN: r167200
François Dumont [Sat, 27 Nov 2010 13:09:47 +0000 (14:09 +0100)]
unordered_map (unordered_multimap<>::erase): Fix to erase all elements associated to the key.
2010-11-27 François Dumont <francois.cppdevs@free.fr>
* include/debug/unordered_map (unordered_multimap<>::erase): Fix to
erase all elements associated to the key.
* include/debug/unordered_set (unordered_multiset<>::erase): Likewise.
* testsuite/23_containers/unordered_multimap/erase/1.cc: Modify to
check for multiple erase.
* testsuite/23_containers/unordered_multiset/erase/1.cc: Likewise.
From-SVN: r167199
François Dumont [Sat, 27 Nov 2010 12:51:58 +0000 (13:51 +0100)]
2010-11-27 François Dumont <francois.cppdevs@free.fr>
* include/debug/unordered_map, unordered_set (unordered_map<>::insert,
unordered_multimap<>::insert, unordered_set<>::insert,
unordered_multiset<>::insert) Debug check iterator hint and pass it to
normal implementation.
From-SVN: r167198
Nicola Pero [Sat, 27 Nov 2010 10:06:59 +0000 (10:06 +0000)]
In gcc/objc/: 2010-11-27 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/objc/:
2010-11-27 Nicola Pero <nicola.pero@meta-innovation.com>
Implemented optional properties.
* objc-act.h (PROPERTY_OPTIONAL): New.
* objc-act.c (objc_add_property_declaration): Set
PROPERTY_OPTIONAL if appropriate.
(finish_class): When generating definitions of setter and getter
methods associated with a property for a protocol, mark them as
optional if the property is optional.
(maybe_make_artificial_property_decl): Added 'getter_name'
argument. Set PROPERTY_OPTIONAL.
(objc_maybe_build_component_ref): Updated calls to
maybe_make_artificial_property_decl. Added code for optional,
readonly properties.
(objc_build_class_component_ref): Updated call to
maybe_make_artificial_property_decl.
In gcc/testsuite/:
2010-11-27 Nicola Pero <nicola.pero@meta-innovation.com>
* objc.dg/property/at-property-24.m: New.
* objc.dg/property/at-property-25.m: New.
* obj-c++.dg/property/at-property-24.mm: New.
* obj-c++.dg/property/at-property-25.mm: New.
From-SVN: r167197
François Dumont [Sat, 27 Nov 2010 10:04:19 +0000 (11:04 +0100)]
bitset (bitset<>::reference): Clean code, use normal reference type in experimental mode.
2010-11-27 François Dumont <francois.cppdevs@free.fr>
* include/debug/bitset (bitset<>::reference): Clean code, use normal
reference type in experimental mode.
* testsuite/23_containers/bitset/debug/invalid/1.cc: Fix for
experimental mode.
From-SVN: r167196
Nicola Pero [Sat, 27 Nov 2010 09:53:43 +0000 (09:53 +0000)]
In gcc/objc/: 2010-11-27 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/objc/:
2010-11-27 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.c (objc_build_struct): Fixed loops that save and
restore TYPE_OBJC_INFO to iterate over all variants of the type; a
special case for the current type is then no longer required.
Duplicate TYPE_LANG_SPECIFIC for each type before restoring
TYPE_OBJC_INFO.
(objc_get_protocol_qualified_type): Updated comments.
In gcc/testsuite/:
2010-11-27 Nicola Pero <nicola.pero@meta-innovation.com>
* objc.dg/protocol-qualifier-1.m: New.
* objc.dg/protocol-qualifier-2.m: New.
* obj-c++.dg/protocol-qualifier-1.mm: New.
* obj-c++.dg/protocol-qualifier-2.mm: New.
From-SVN: r167195
GCC Administrator [Sat, 27 Nov 2010 00:19:51 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r167194
Joseph Myers [Fri, 26 Nov 2010 23:18:28 +0000 (23:18 +0000)]
options.texi (Enum, EnumValue): Document new record types.
* doc/options.texi (Enum, EnumValue): Document new record types.
(Enum): Document new option flag.
* opt-functions.awk
* optc-gen.awk: Handle enumerated option arguments.
* opth-gen.awk: Handle enumerated option arguments.
* opts-common.c (enum_arg_ok_for_language, enum_arg_to_value,
enum_value_to_arg): New.
(decode_cmdline_option): Handle enumerated arguments.
(read_cmdline_option): Handle CL_ERR_ENUM_ARG.
(set_option, option_enabled, get_option_state): Handle CLVC_ENUM.
* opts.c (print_filtered_help, print_specific_help): Take
lang_mask arguments.
(print_filtered_help): Handle printing values of enumerated
options. Print possible arguments for enumerated options.
(print_specific_help): Update call to print_filtered_help.
(common_handle_option): Update calls to print_specific_help. Use
value rather than arg for OPT_fdiagnostics_show_location_. Don't
handle OPT_ffp_contract_, OPT_fexcess_precision_,
OPT_fvisibility_, OPT_ftls_model_, OPT_fira_algorithm_ or
OPT_fira_region_ here.
* opts.h (enum cl_var_type): Add CLVC_ENUM.
(struct cl_option): Add var_enum.
(CL_ENUM_CANONICAL, CL_ENUM_DRIVER_ONLY, struct cl_enum_arg,
struct cl_enum, cl_enums, cl_enums_count): New.
(CL_ERR_ENUM_ARG): Define.
(CL_ERR_NEGATIVE): Update value.
(enum_value_to_arg): Declare.
* common.opt (flag_ira_algorithm, flag_ira_region,
flag_fp_contract_mode, flag_excess_precision_cmdline,
default_visibility, flag_tls_default): Remove Variable entries.
(help_enum_printed): New Variable.
(fdiagnostics-show-location=): Use Enum. Add associated
SourceInclude, Enum and EnumValue entries.
(fexcess-precision=, ffp-contract=, fira-algorithm=, fira-region=,
ftls-model=, fvisibility=): Use Enum, Var and Init. Add
associated Enum and EnumValue entries.
po:
* exgettext: Handle UnknownError.
From-SVN: r167190
Paolo Carlini [Fri, 26 Nov 2010 23:03:36 +0000 (23:03 +0000)]
2010-11-27 Paolo Carlini <paolo.carlini@oracle.com>
* Tweak last ChangeLog entry.
From-SVN: r167189
François Dumont [Fri, 26 Nov 2010 20:29:01 +0000 (21:29 +0100)]
libstdc++.exp [...]: Use remote_file delete for generated exe.
2010-11-26 François Dumont <francois.cppdevs@free.fr>
* testsuite/lib/libstdc++.exp [check_v3_target_debug_mode]: Use
remote_file delete for generated exe. [check_v3_target_profile_mode]
Add.
* testsuite/lib/dg-options.exp [dg-require-profile-mode]: Add
* testsuite/ext/profile/mh.cc, profiler_algos.cc, all.cc: Use
dg-require-profile-mode, remove explicit _GLIBCXX_PROFILE definition.
From-SVN: r167188
Joern Rennecke [Fri, 26 Nov 2010 17:38:20 +0000 (17:38 +0000)]
re PR target/46623 (microblaze --enable-werror-always build fails)
PR target/46623
* config/microblaze/microblaze.c (microblaze_block_move_straight):
Use XALLOCAVEC.
(microblaze_option_override): Don't use C++ style comments.
(save_restore_insns): Remove unused variable base_offset.
(microblaze_expand_prologue): Remove unused variable insn.
(microblaze_secondary_reload): Adjust type to match target.h .
(microblaze_elf_in_small_data_p): Move declarations to start of block.
(microblaze_expand_move): Likewise.
* config/microblaze/microblaze.h (LARGE_INT):
Avoid signed / unsigned comparisons.
(ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
(ASM_FORMAT_PRIVATE_NAME): Make format specifier match printed data.
(ASM_FINISH_DECLARE_OBJECT): Likewise. Constify name.
From-SVN: r167186
Rainer Orth [Fri, 26 Nov 2010 17:36:42 +0000 (17:36 +0000)]
gnat.exp: Load gcc.exp.
* lib/gnat.exp: Load gcc.exp.
(gnat_target_compile): Use gcc_target_compile for *.c sources.
* gnat.dg/sse_nolib.adb: Use dg-require-effective-target sse_runtime.
From-SVN: r167185
Michael Matz [Fri, 26 Nov 2010 16:51:39 +0000 (16:51 +0000)]
tree-ssa-copy.c (fini_copy_prop): Don't DCE when we have loops.
* tree-ssa-copy.c (fini_copy_prop): Don't DCE when we have loops.
* passes.c (init_optimization_passes): Remove superfluous
copy-prop pass.
From-SVN: r167184
Richard Guenther [Fri, 26 Nov 2010 16:12:49 +0000 (16:12 +0000)]
re PR lto/46648 (type mismatch in array reference; verify_stmts failed)
2010-11-26 Richard Guenther <rguenther@suse.de>
PR lto/46648
* gimple.c (gtc_visit): Do not return true for members of an
SCC still being processed but the current lattice value of
the member. Treat SCC members comparison state as lattice,
starting at equal, eventually dropping to unequal.
(gimple_types_compatible_p_1): Likewise.
* gcc.dg/lto/
20101125-1_0.c: New testcase.
* gcc.dg/lto/
20101125-1_1.c: Likewise.
From-SVN: r167183
Bud Davis [Fri, 26 Nov 2010 16:11:14 +0000 (16:11 +0000)]
arith_divide_no_check.f [...]: new tests.
2010-11-22 Bud Davis <jmdavis@link.com>
* arith_divide_no_check.f ,arith_divide.f,old_style_init.f90: new
tests.
From-SVN: r167182
Richard Guenther [Fri, 26 Nov 2010 16:01:26 +0000 (16:01 +0000)]
re PR middle-end/46559 (libstdc++ link FAILs with -flto)
2010-11-26 Richard Guenther <rguenther@suse.de>
PR middle-end/46559
* dwarf2out.c (dwarf2out_finish): Use comp_unit_die as root
for location list processing.
From-SVN: r167181
H.J. Lu [Fri, 26 Nov 2010 15:14:20 +0000 (15:14 +0000)]
Add a testcase for PR tree-optimization/46665.
2010-11-26 H.J. Lu <hongjiu.lu@intel.com>
PR tree-optimization/46665
* gfortran.dg/pr46665.f90: New.
From-SVN: r167179
Richard Guenther [Fri, 26 Nov 2010 14:39:25 +0000 (14:39 +0000)]
re PR tree-optimization/46560 (libstdc++ execute FAILs with -flto)
2010-11-26 Richard Guenther <rguenther@suse.de>
PR lto/46560
* cgraph.c (cgraph_clone_edge): Clone call_stmt dependent
flags manually.
From-SVN: r167178
Andreas Krebbel [Fri, 26 Nov 2010 14:07:16 +0000 (14:07 +0000)]
s390.c (print_operand_address): Replace assert with error message.
2010-11-26 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.c (print_operand_address): Replace assert with
error message.
(print_operand): Replace assertions, gcc_unreachable and
fatal_insn with error messages.
From-SVN: r167177
Richard Guenther [Fri, 26 Nov 2010 14:04:50 +0000 (14:04 +0000)]
re PR rtl-optimization/46665 (two gfortran tests fail with -O[2s] -fipa-pta -fno-tree-ccp -fno-tree-forwprop)
2010-11-26 Richard Guenther <rguenther@suse.de>
PR tree-optimization/46665
* tree-ssa-structalias.c (pt_solution_set_var): Use DECL_PT_UID.
From-SVN: r167176
Ian Bolton [Fri, 26 Nov 2010 13:21:32 +0000 (13:21 +0000)]
arm.c (arm_option_override): enable loop array prefetching at -O3 for suitable targets, and configure params.
2010-11-26 Ian Bolton <ian.bolton@arm.com>
* config/arm/arm.c (arm_option_override): enable loop array
prefetching at -O3 for suitable targets, and configure params.
* config/arm/arm-protos.h (struct tune_params): Add fields for
configuring loop array prefetching.
From-SVN: r167175
Christian Borntraeger [Fri, 26 Nov 2010 13:16:28 +0000 (13:16 +0000)]
2817.md (z196_crack): Add z196_g3 as possible slot.
2010-11-26 Christian Borntraeger <borntraeger@de.ibm.com>
* config/s390/2817.md (z196_crack): Add z196_g3 as possible slot.
From-SVN: r167174
Richard Guenther [Fri, 26 Nov 2010 12:42:41 +0000 (12:42 +0000)]
re PR lto/46664 (Failed to build 481.wrf in SPEC CPU 2006 with LTO)
2010-11-26 Richard Guenther <rguenther@suse.de>
PR tree-optimization/46664
* tree-affine.c (aff_combination_to_tree): Add rest last.
From-SVN: r167173
Michael Haubenwallner [Fri, 26 Nov 2010 09:53:24 +0000 (10:53 +0100)]
re PR target/33637 ("checking for nm: test: too many arguments" causes "Undefined symbol: __gxx_personality_v0")
PR target/33637
* configure.ac: Accept extra arguments for AS_FOR_TARGET,
LD_FOR_TARGET, NM_FOR_TARGET, OBJDUMP_FOR_TARGET.
* configure: Regenerated.
* exec-tool.in: Not quoting command, may have extra arguments.
From-SVN: r167172
Richard Guenther [Fri, 26 Nov 2010 09:49:47 +0000 (09:49 +0000)]
re PR bootstrap/46528 (profiledbootstrap failure)
2010-11-26 Richard Guenther <rguenther@suse.de>
PR tree-optimization/46528
PR debug/46338
* profile.c (branch_prob): Do not split blocks based on locations
from debug statements.
From-SVN: r167171
Jakub Jelinek [Fri, 26 Nov 2010 09:38:54 +0000 (10:38 +0100)]
re PR middle-end/46647 (Can't inline memset with -1)
PR middle-end/46647
* builtins.c (fold_builtin_memset): Check c is INTEGER_CST instead
of host_integerp check. Use TREE_INT_CST_LOW instead of tree_low_cst.
* gcc.dg/pr46647.c: New test.
From-SVN: r167170
Jakub Jelinek [Fri, 26 Nov 2010 09:36:29 +0000 (10:36 +0100)]
re PR bootstrap/45700 (--enable-checking=fold bootstrap failures)
PR bootstrap/45700
* tree.h (build1_stat_loc, build2_stat_loc, build3_stat_loc,
build4_stat_loc, build5_stat_loc, build6_stat_loc): New inlines.
(build1_loc, build2_loc, build3_loc, build4_loc, build5_loc,
build6_loc): Define.
* fold-const.c (protected_set_expr_location_unshare): New inline.
(fold_convert_loc, pedantic_non_lvalue_loc): Use it.
(negate_expr, associate_trees, non_lvalue_loc, omit_one_operand_loc,
pedantic_omit_one_operand_loc, omit_two_operands_loc,
fold_truth_not_expr, invert_truthvalue_loc, make_bit_field_ref,
optimize_bit_field_compare, make_range, fold_range_test, fold_truthop,
build_fold_addr_expr_with_type_loc, fold_unary_loc, fold_binary_loc,
fold_indirect_ref_1, build_fold_indirect_ref_loc): Use builN_loc
instead of buildN followed by SET_EXPR_LOCATION or
protected_set_expr_location.
(fold_build1_stat_loc, fold_build2_stat_loc, fold_build3_stat_loc):
Use buildN_stat_loc instead of buildN_stat followed by
SET_EXPR_LOCATION.
* trans.h (build1_stat_loc, build2_stat_loc, build3_stat_loc,
build4_stat_loc): Removed.
(build1_loc, build2_loc, build3_loc, build4_loc): Removed.
From-SVN: r167169
Jakub Jelinek [Fri, 26 Nov 2010 09:35:35 +0000 (10:35 +0100)]
re PR bootstrap/45700 (--enable-checking=fold bootstrap failures)
PR bootstrap/45700
* tree.h (build1_stat_loc, build2_stat_loc, build3_stat_loc,
build4_stat_loc, build5_stat_loc, build6_stat_loc): New inlines.
(build1_loc, build2_loc, build3_loc, build4_loc, build5_loc,
build6_loc): Define.
* fold-const.c (protected_set_expr_location_unshare): New inline.
(fold_convert_loc, pedantic_non_lvalue_loc): Use it.
(negate_expr, associate_trees, non_lvalue_loc, omit_one_operand_loc,
pedantic_omit_one_operand_loc, omit_two_operands_loc,
fold_truth_not_expr, invert_truthvalue_loc, make_bit_field_ref,
optimize_bit_field_compare, make_range, fold_range_test, fold_truthop,
build_fold_addr_expr_with_type_loc, fold_unary_loc, fold_binary_loc,
fold_indirect_ref_1, build_fold_indirect_ref_loc): Use builN_loc
instead of buildN followed by SET_EXPR_LOCATION or
protected_set_expr_location.
(fold_build1_stat_loc, fold_build2_stat_loc, fold_build3_stat_loc):
Use buildN_stat_loc instead of buildN_stat followed by
SET_EXPR_LOCATION.
* trans.h (build1_stat_loc, build2_stat_loc, build3_stat_loc,
build4_stat_loc): Removed.
(build1_loc, build2_loc, build3_loc, build4_loc): Removed.
From-SVN: r167168
Basile Starynkevitch [Fri, 26 Nov 2010 07:14:15 +0000 (07:14 +0000)]
Makefile.in (s-tm-texi): Remove spurous tab.
2010-11-26 Basile Starynkevitch <basile@starynkevitch.net>
* Makefile.in (s-tm-texi): Remove spurous tab.
From-SVN: r167167
Alexandre Oliva [Fri, 26 Nov 2010 04:27:24 +0000 (04:27 +0000)]
re PR debug/46258 (gcc.dg/tree-ssa/pr23820.c: -fcompare-debug failure with -O3 -ffloat-store)
PR debug/46258
* tree-cfg.c (replace_uses_by): Don't mark BBs as altered on
debug stmts.
From-SVN: r167162
Alexandre Oliva [Fri, 26 Nov 2010 04:27:04 +0000 (04:27 +0000)]
toplev.c (finalize): Add no_backend parameter.
* toplev.c (finalize): Add no_backend parameter. Don't finish
passes when preprocessing only. Adjust...
(do_compile): ... caller.
From-SVN: r167161
Alexandre Oliva [Fri, 26 Nov 2010 04:25:32 +0000 (04:25 +0000)]
re PR fortran/46020 (Improve error string for BIND(C) diagnostic for len>1 character return type)
PR other/46020
* configure.ac (CXX_FOR_TARGET): Add -funconfigured-libstdc++-v3.
* Makefile.def (CXX_FOR_TARGET): Removed from flags_to_pass.
* Makefile.tpl (CXX_FOR_TARGET_FLAG_TO_PASS): New.
(BASE_FLAGS_TO_PASS): Use it.
* configure: Rebuilt.
* Makefile.in: Rebuilt.
From-SVN: r167160
John David Anglin [Fri, 26 Nov 2010 04:09:25 +0000 (04:09 +0000)]
pa.md (negdf2): Condition on !flag_signed_zeros instead of flag_unsafe_math_optimizations.
* config/pa/pa.md (negdf2): Condition on !flag_signed_zeros instead of
flag_unsafe_math_optimizations.
(negsf2): Likewise.
Move fnegabs related patterns together. Only use fmpynfadd instruction
to negate a multiply if !flag_signed_zeros is true.
From-SVN: r167159
GCC Administrator [Fri, 26 Nov 2010 00:20:18 +0000 (00:20 +0000)]
Daily bump.
From-SVN: r167158
Janus Weil [Thu, 25 Nov 2010 22:04:59 +0000 (23:04 +0100)]
re PR fortran/46581 ([OOP] segfault in SELECT TYPE with associate-name)
2010-11-25 Janus Weil <janus@gcc.gnu.org>
PR fortran/46581
* trans.h (gfc_process_block_locals): Removed second argument.
* trans-decl.c (trans_associate_var): Moved to trans-stmt.c.
(gfc_trans_deferred_vars): Skip ASSOCIATE variables.
(gfc_process_block_locals): Don't mark associate names to be
initialized.
* trans-stmt.c (trans_associate_var): Moved here from trans-decl.c.
(gfc_trans_block_construct): Call 'trans_associate_var' from here
to make sure SELECT TYPE with associate-name is treated correctly.
2010-11-25 Janus Weil <janus@gcc.gnu.org>
PR fortran/46581
* gfortran.dg/select_type_19.f03: New.
From-SVN: r167154
Uros Bizjak [Thu, 25 Nov 2010 21:50:53 +0000 (22:50 +0100)]
gengtype-state.c (read_state_structures): Initialize "previous".
* gengtype-state.c (read_state_structures): Initialize "previous".
From-SVN: r167153
François Dumont [Thu, 25 Nov 2010 20:53:39 +0000 (21:53 +0100)]
debug.cc: Introduce a mutex pool in get_safe_base_mutex.
2010-11-25 François Dumont <francois.cppdevs@free.fr>
* src/debug.cc: Introduce a mutex pool in get_safe_base_mutex.
Move code used to manipulate sequence safe iterators from safe
iterator methods to safe sequence ones. Remove usage of safe iterator
mutex, keep _Safe_iterator_base::_M_get_mutex for library backward
binary compatibility.
* src/Makefile.am: Build debug.cc in gnu++0x mode for _Hash_impl usage.
* src/Makefile.in: Regenerate
* include/debug/safe_base.h: Add _Safe_iterator_base _M_invalidate
and _M_reset. Add _Safe_sequence_base _M_attach, _M_attach_single,
_M_detach and _M_detach_single.
* include/debug.safe_iterator.h, safe_iterator.tcc: Remove
_Safe_iterator _M_invalidate and _M_invalidate_single. Implement all
methods in terms of normal iterators rather than safe ones.
* include/debug/safe_sequence.h: Replace _Safe_sequence
_M_transfe_iter with _M_transfer_from_if taking the source sequence
and a predicate signaling when a safe iterator shall be transfered.
Add _Equal_to predicate.
* include/debug/safe_sequence.tcc: New.
* include/Makefile.am: Adjust.
* include/Makefile.in: Regenerate.
* include/debug/forward_list: Swap safe iterators in move constructor.
Do not invalidate before begin in _M_invalidate_all method.
Reimplement safe methods using normal iterators rather than safe ones.
* include/debug/set.h, unordered_map, multiset.h, vector,
unordered_set, deque, map.h, list, multimap.h: Reimplement safe method
using normal iterators rather than safe ones.
* testsuite/23_containers/forward_list/debug/clear.cc, swap.cc,
move_constructor.cc, splice_after.cc, splice_after1.cc,
splice_after2.cc, splice_after3.cc, splice_after4.cc: New.
* testsuite/23_containers/vector/debug/multithreaded_swap.cc: New.
From-SVN: r167152
Nicola Pero [Thu, 25 Nov 2010 19:50:13 +0000 (19:50 +0000)]
In gcc/objc/: 2010-11-25 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/objc/:
2010-11-25 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.c (objc_build_struct): Install TYPE_OBJC_INTERFACE
after finish_struct, not before, otherwise it may be wiped out by
it. This fixes spurious warnings when a class has more than 15
instance variables.
In gcc/testsuite/:
2010-11-25 Nicola Pero <nicola.pero@meta-innovation.com>
* objc.dg/ivar-problem-1.m: New.
* obj-c++.dg/ivar-problem-1.mm: New.
From-SVN: r167151
Basile Starynkevitch [Thu, 25 Nov 2010 19:03:27 +0000 (19:03 +0000)]
gentype-state.c: Add new file.
2010-11-25 Basile Starynkevitch <basile@starynkevitch.net>
Jeremie Salvucci <jeremie.salvucci@free.fr>
* gentype-state.c: Add new file.
* gengtype.c (type count): New variable.
(new_structure, find_param_structure, create_pointer)
(create_array): Use it to set state_number in types.
(dump_everything): Improve comment.
(main): Call read_state and write_state. Print type_count.
* gengtype.h (type_lineloc): New function.
(read_state, write_state): New declarations.
* Makefile.in (GENGTYPE_FLAGS): New variable.
(s-gtype): Run gengtype twice and generate gtype.state.
(build/gengtype-state.o): New rule.
(build/gengtype$(build_exeext)): Link gengtype-state.o.
(mostlyclean): Update comment. Remove gtype.state.
Co-Authored-By: Jeremie Salvucci <jeremie.salvucci@free.fr>
From-SVN: r167150
Rainer Orth [Thu, 25 Nov 2010 18:16:57 +0000 (18:16 +0000)]
make_sunver.pl: Use elfdump -s to extract symbols if possible, readelf -s otherwise.
* make_sunver.pl: Use elfdump -s to extract symbols if possible,
readelf -s otherwise.
From-SVN: r167149
Jakub Jelinek [Thu, 25 Nov 2010 18:00:47 +0000 (19:00 +0100)]
re PR middle-end/46637 (SIGSEGV in if_then_else_cond - too deep recursion)
PR middle-end/46637
* combine.c (try_combine): When substing i2dest for i2src, pass
1 as last argument even if
i0_feeds_i1_n && i1_feeds_i2_n && i0dest_in_i0src.
* gcc.c-torture/compile/pr46637.c: New test.
From-SVN: r167148
H.J. Lu [Thu, 25 Nov 2010 13:57:51 +0000 (13:57 +0000)]
Add -mtune=generic to gfortran.dg/pr46519-1.f.
2010-11-25 H.J. Lu <hongjiu.lu@intel.com>
* gfortran.dg/pr46519-1.f: Add -mtune=generic.
From-SVN: r167147
H.J. Lu [Thu, 25 Nov 2010 13:47:42 +0000 (13:47 +0000)]
Properly cast integer constant char.
gcc/
2010-11-25 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/46647
* builtins.c (target_char_cast): Check INTEGER_CST instead of
host_integerp. Replace tree_low_cst with TREE_INT_CST_LOW.
gcc/testsuite/
2010-11-25 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/46647
* gcc.target/i386/pr46647.c: New.
From-SVN: r167146
Joseph Myers [Thu, 25 Nov 2010 13:16:03 +0000 (13:16 +0000)]
target.def (supports_split_stack, [...]): Take gcc_options parameters.
* target.def (supports_split_stack, except_unwind_info): Take
gcc_options parameters.
* targhooks.c (default_except_unwind_info,
dwarf2_except_unwind_info, sjlj_except_unwind_info): Take
gcc_options parameters.
* targhooks.h (default_except_unwind_info,
dwarf2_except_unwind_info, sjlj_except_unwind_info): Update
prototypes.
* doc/tm.texi.in (TARGET_IRA_COVER_CLASSES,
TARGET_HAVE_NAMED_SECTIONS, TARGET_UNWIND_TABLES_DEFAULT):
Document that hooks must not be modified.
(TARGET_EXCEPT_UNWIND_INFO): Refer to opts argument.
* doc/tm.texi: Regenerate.
* defaults.h (STACK_OLD_CHECK_PROTECT, STACK_CHECK_PROTECT): Pass
&global_options to targetm.except_unwind_info.
* dwarf2out.c (dwarf2out_do_frame, dwarf2out_do_cfi_asm,
dwarf2out_begin_prologue, dwarf2out_frame_init,
dwarf2out_frame_finish, dwarf2out_assembly_start): Pass
&global_options to targetm.except_unwind_info.
* except.c (init_eh, finish_eh_generation,
gate_convert_to_eh_region_ranges,
output_one_function_exception_table): Pass &global_options to
targetm.except_unwind_info.
* expr.c (build_personality_function): Pass &global_options to
targetm.except_unwind_info.
* function.c (expand_function_end): Pass &global_options to
targetm.except_unwind_info.
* hooks.c (hook_bool_bool_gcc_optionsp_false): New.
* hooks.h (hook_bool_bool_gcc_optionsp_false): Declare.
* opts.c (finish_options): Pass opts to targetm.except_unwind_info
and targetm.supports_split_stack. Remove assertions about opts
and opts_set.
(common_handle_option): Remove assertions about opts, opts_set and
dc.
* tree-tailcall.c (suitable_for_tail_call_opt_p): Pass
&global_options to targetm.except_unwind_info.
* tree.c (build_common_builtin_nodes: Pass &global_options to
targetm.except_unwind_info.
* config/arm/arm.c (arm_except_unwind_info): Add gcc_options
parameter.
(arm_compute_func_type, arm_expand_prologue, thumb_pushpop,
thumb1_expand_prologue, thumb1_output_function_prologue,
arm_unwind_emit, arm_output_fn_unwind): Update calls to
arm_except_unwind_info.
* config/i386/i386.c (ix86_supports_split_stack): Add gcc_options
parameter.
* config/ia64/ia64.c (ia64_except_unwind_info): Add gcc_options
parameter.
(ia64_output_function_prologue, ia64_add_bundle_selector_before,
ia64_reorg, ia64_asm_unwind_emit): Update calls to
ia64_except_unwind_info.
* config/pa/pa.c (pa_option_override): Pass &global_options to
targetm.except_unwind_info.
* config/picochip/picochip-protos.h (picochip_except_unwind_info):
Remove prototype.
c-family:
* c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
targetm.except_unwind_info.
From-SVN: r167145
Kai Tietz [Thu, 25 Nov 2010 12:30:07 +0000 (12:30 +0000)]
cgraphunit.c (process_function_and_variable_attributes): Mark dllexport-ed function/variables as needed.
2010-11-25 Kai Tietz <kai.tietz@onevision.com>
* cgraphunit.c (process_function_and_variable_attributes):
Mark dllexport-ed function/variables as needed.
* ipa.c (cgraph_externally_visible_p): Make dllexport-ed
as externally visible.
2010-11-25 Kai Tietz <kai.tietz@onevision.com>
* gcc.dg/dll-8.c: New.
From-SVN: r167144
Eric Botcazou [Thu, 25 Nov 2010 11:53:04 +0000 (11:53 +0000)]
loop_optimization7.adb: Remove dg-require-effective-target.
* gnat.dg/loop_optimization7.adb: Remove dg-require-effective-target.
* gnat.dg/sse_nolib.adb: Likewise.
From-SVN: r167143
Alexander Monakov [Thu, 25 Nov 2010 10:05:00 +0000 (13:05 +0300)]
re PR rtl-optimization/46585 (ICE: SIGSEGV in vinsn_create (sel-sched-ir.c:1189) with -fno-dce -fschedule-insns -fselective-scheduling)
PR rtl-optimization/46585
* sel-sched-ir.c (return_regset_to_pool): Verify that RS is not NULL.
(vinsn_init): Skip initialization of dependencies for local NOPs.
(vinsn_delete): Don't try to free regsets for local NOPs.
(setup_nop_and_exit_insns): Change definition of nop_pattern.
testsuite:
* gcc.dg/pr46585.c: New.
From-SVN: r167141
Alexander Monakov [Thu, 25 Nov 2010 09:59:03 +0000 (12:59 +0300)]
re PR rtl-optimization/46602 (gcc.dg/pr42245-2.c ICE on ia64)
PR rtl-optimization/46602
* sel-sched-ir.c (maybe_tidy_empty_bb): Move checking ...
(tidy_control_flow): Here.
From-SVN: r167140
Joern Rennecke [Thu, 25 Nov 2010 08:02:13 +0000 (08:02 +0000)]
re PR bootstrap/45888 (tm.texi generation is not portable, rule is broken)
2010-11-25 Joern Rennecke <amylaar@spamcop.net>
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
PR bootstrap/45888
* Makefile.in (s-tm-texi): Remove \r occurences from tmp-tm.texi.
Fix target.def pathname in timestamp comparison.
Co-Authored-By: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
From-SVN: r167137
Richard Henderson [Thu, 25 Nov 2010 01:16:20 +0000 (17:16 -0800)]
predicates.md (pmpyshr_operand): New.
* config/ia64/predicates.md (pmpyshr_operand): New.
* config/ia64/ia64.c (ia64_expand_unpack): New.
(ia64_expand_widen_mul_v4hi): New.
(ia64_expand_widen_sum): Update for pattern renames.
(ia64_expand_dot_prod_v8qi): Likewise.
* config/ia64/ia64-protos.h: Update.
* config/ia64/vect.md (vecwider): New mode attribute.
(vec_widen_umult_lo_v8qi, vec_widen_umult_hi_v8qi): New.
(vec_widen_smult_lo_v8qi, vec_widen_smult_hi_v8qi): New.
(pmpyshr2, pmpyshr2_u): New.
(vec_widen_smult_lo_v4hi, vec_widen_smult_hi_v4hi): New.
(vec_widen_umult_lo_v4hi, vec_widen_umult_hi_v4hi): New.
(mulv2si3): New.
(vec_pack_ssat_v4hi): Rename from pack2_sss.
(vec_pack_usat_v4hi): Rename from *pack2_uss.
(vec_pack_ssat_v2si): Rename from pack4_sss.
(vec_interleave_lowv8qi): Rename from unpack1_l, use the correct
vec_select operation.
(vec_interleave_highv8qi): Similarly.
(mux1_alt): Rename from *mux1_alt.
(vec_extract_evenv8qi, vec_extract_oddv8qi): New.
(vec_interleave_lowv4hi): Rename from unpack2_l.
(vec_interleave_highv4hi): Rename from unpack2_h.
(mix2_r): Rename from *mix2_r.
(mix2_l): Similarly.
(vec_extract_evenodd_helper): New.
(vec_extract_evenv4hi, vec_extract_oddv4hi): New.
(vec_interleave_lowv2si): Rename from *unpack4_l.
(vec_interleave_highv2si): Rename from *unpack4_h.
(vec_extract_evenv2si, vec_extract_oddv2si): New.
(vec_interleave_lowv2sf): Rename from fmix_r.
(vec_interleave_highv2sf): Rename from *fmix_l.
(vec_extract_evenv2sf, vec_extract_oddv2sf): New.
(vec_unpacku_lo_<VECINT12>, vec_unpacku_hi_<VECINT12>): New.
(vec_unpacks_lo_<VECINT12>, vec_unpacks_hi_<VECINT12>): New.
(vec_pack_trunc_v4hi, vec_pack_trunc_v2si): New.
testsuite:
* lib/target-supports.exp (vect_widen_sum_hi_to_si_pattern,
vect_widen_mult_hi_to_si, vect_sdot_qi, vect_udot_qi, vect_sdot_hi,
vect_unpack, vect_int_mult, vect_extract_even_odd,
vect_extract_even_odd_wide, vect_interleave): Enable for ia64.
From-SVN: r167136
GCC Administrator [Thu, 25 Nov 2010 00:18:39 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r167135
Nathan Froyd [Wed, 24 Nov 2010 23:37:33 +0000 (23:37 +0000)]
targhooks.c (default_except_unwind_info): Remove MUST_USE_SJLJ_EXCEPTIONS case.
* targhooks.c (default_except_unwind_info): Remove
MUST_USE_SJLJ_EXCEPTIONS case.
* config/h8300/h8300.h (MUST_USE_SJLJ_EXCEPTIONS): Delete.
* config/h8300/h8300.c (TARGET_EXCEPT_UNWIND_INFO): Define.
* doc/tm.texi.in (MUST_USE_SJLJ_EXCEPTIONS): Delete.
* doc/tm.texi: Regenerate.
* system.h (MUST_USE_SJLJ_EXCEPTIONS): Poison.
From-SVN: r167131
Nathan Froyd [Wed, 24 Nov 2010 23:32:29 +0000 (23:32 +0000)]
revert accidentally committed changes
From-SVN: r167130
Nathan Froyd [Wed, 24 Nov 2010 23:29:41 +0000 (23:29 +0000)]
cppbuiltin.c (define_builtin_macros_for_type_sizes): Define __FLOAT_WORD_ORDER__ according to FLOAT_WORDS_BIG_ENDIAN.
gcc/
* cppbuiltin.c (define_builtin_macros_for_type_sizes): Define
__FLOAT_WORD_ORDER__ according to FLOAT_WORDS_BIG_ENDIAN.
* config/dfp-bit.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete.
* doc/cpp.texi (__FLOAT_WORD_ORDER__): Document.
* system.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Poison.
libgcc/
* config/libbid/bid_conf.h (BID_BIG_ENDIAN): Define in terms of
__FLOAT_WORD_ORDER__.
* config/libbid/bid_gcc_intrinsics.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN):
Delete.
libdecnumber/
* dconfig.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete.
(WORDS_BIG_ENDIAN): Define based on value of __FLOAT_WORD_ORDER__.
From-SVN: r167129
Iain Sandoe [Wed, 24 Nov 2010 19:26:27 +0000 (19:26 +0000)]
fortran.exp: Add paths for libquadmath.
libgomp:
* testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
From-SVN: r167127
H.J. Lu [Wed, 24 Nov 2010 19:16:40 +0000 (19:16 +0000)]
Don't check TREE_THIS_VOLATILE in ix86_expand_call.
gcc/
2010-11-24 H.J. Lu <hongjiu.lu@intel.com>
PR target/46519
* config/i386/i386.c (ix86_expand_call): Don't check
TREE_THIS_VOLATILE.
gcc/testsuite/
2010-11-24 H.J. Lu <hongjiu.lu@intel.com>
PR target/46519
* gfortran.dg/pr46519-1.f: New.
From-SVN: r167126
H.J. Lu [Wed, 24 Nov 2010 18:24:39 +0000 (18:24 +0000)]
Improve vzeroupper optimization.
gcc/
2010-11-24 H.J. Lu <hongjiu.lu@intel.com>
PR target/46519
* config/i386/i386.c (upper_128bits_state): New.
(block_info_def): Remove upper_128bits_set and done. Add state,
referenced, count, processed and rescanned.
(check_avx256_stores): Updated.
(move_or_delete_vzeroupper_2): Updated. Handle deleted BB_END.
Call note_stores only if needed. Set referenced and count.
(move_or_delete_vzeroupper_1): Updated. Set rescan_vzeroupper_p.
(rescan_move_or_delete_vzeroupper): New.
(move_or_delete_vzeroupper): Process and rescan all all basic
blocks instead of predecessor blocks of all exit points.
(ix86_option_override_internal): Enable vzeroupper optimization
only for -fexpensive-optimizations and not optimizing for size.
(use_avx256_p): Removed.
(init_cumulative_args): Don't set use_avx256_p.
(ix86_function_arg): Likewise.
(ix86_expand_move): Likewise.
(ix86_expand_vector_move_misalign): Likewise.
(ix86_local_alignment): Likewise.
(ix86_minimum_alignment): Likewise.
(ix86_expand_epilogue): Don't check use_avx256_p when generating
vzeroupper.
(ix86_expand_call): Likewise.
* config/i386/i386.h (machine_function): Remove use_vzeroupper_p
and use_avx256_p. Add rescan_vzeroupper_p.
gcc/testsuite/
2010-11-24 H.J. Lu <hongjiu.lu@intel.com>
PR target/46519
* gcc.target/i386/avx-vzeroupper-10.c: Expect no avx_vzeroupper.
* gcc.target/i386/avx-vzeroupper-11.c: Likewise.
* gcc.target/i386/avx-vzeroupper-14.c: Replace -O0 with -O2.
* gcc.target/i386/avx-vzeroupper-15.c: Likewise.
* gcc.target/i386/avx-vzeroupper-16.c: Likewise.
* gcc.target/i386/avx-vzeroupper-17.c: Likewise.
* gcc.target/i386/avx-vzeroupper-20.c: New.
* gcc.target/i386/avx-vzeroupper-21.c: Likewise.
* gcc.target/i386/avx-vzeroupper-22.c: Likewise.
* gcc.target/i386/avx-vzeroupper-23.c: Likewise.
* gcc.target/i386/avx-vzeroupper-24.c: Likewise.
* gcc.target/i386/avx-vzeroupper-25.c: Likewise.
* gcc.target/i386/avx-vzeroupper-26.c: Likewise.
From-SVN: r167124
Joseph Myers [Wed, 24 Nov 2010 17:46:21 +0000 (17:46 +0000)]
* toplev.c: Include <signal.h>.
From-SVN: r167123
Richard Guenther [Wed, 24 Nov 2010 17:06:41 +0000 (17:06 +0000)]
re PR lto/43218 ([LTO] Conflicting function types cause ICE)
2010-11-24 Richard Guenther <rguenther@suse.de>
PR lto/43218
* lto-symtab.c (lto_cgraph_replace_node): Mark edges with
conflicting function signatures as non-inlineable.
* gcc.dg/lto/
20100423-1_0.c: Enable for all LTO modes.
From-SVN: r167122
Jakub Jelinek [Wed, 24 Nov 2010 16:56:44 +0000 (17:56 +0100)]
re PR rtl-optimization/46614 (gcc.dg/vect/vect-strided-u8-i8-gap4.c FAILs with -fno-rename-registers -fsched2-use-superblocks)
PR rtl-optimization/46614
* sched-deps.c (NON_FLUSH_JUMP_KIND, NON_FLUSH_JUMP_P): Define.
(deps_analyze_insn): Mark JUMP_INSNs in
last_pending_memory_flush that weren't added through
flush_pending_lists with NON_FLUSH_JUMP_KIND.
(sched_analyze_2, sched_analyze_insn): Check NON_FLUSH_JUMP_P
on INSN_LIST instead of JUMP_P check on its operand.
* sched-rgn.c (concat_INSN_LIST): Copy over REG_NOTE_KIND.
* gcc.dg/pr46614.c: New test.
From-SVN: r167121
Tobias Burnus [Wed, 24 Nov 2010 16:42:06 +0000 (17:42 +0100)]
re PR fortran/46638 (Wrong result with TRANSFER from string to DT)
2010-11-24 Tobias Burnus <burnus@net-b.de>
PR fortran/46638
* target-memory.c (gfc_interpret_derived): Correctly handle
component offset.
2010-11-24 Tobias Burnus <burnus@net-b.de>
PR fortran/46638
* gfortran.dg/transfer_simplify_10.f90: New.
From-SVN: r167119
Benjamin Kosnik [Wed, 24 Nov 2010 16:33:14 +0000 (16:33 +0000)]
tuple: Mark more constructors constexpr.
2010-11-24 Benjamin Kosnik <bkoz@redhat.com>
* include/std/tuple: Mark more constructors constexpr.
* include/bits/stl_pair.h: Same.
* testsuite/20_util/tuple/requirements/dr801.cc: New.
* testsuite/20_util/pair/requirements/dr801.cc: New.
* testsuite/20_util/tuple/cons/constexpr.cc: Add cases for new
constexpr constructors.
* testsuite/20_util/pair/cons/constexpr.cc: Same.
* testsuite/20_util/pair/comparison_operators/constexpr.cc: New.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust line number.
From-SVN: r167118
Richard Guenther [Wed, 24 Nov 2010 15:42:27 +0000 (15:42 +0000)]
lto-streamer-in.c (input_gimple_stmt): Use types_compatible_p.
2010-11-24 Richard Guenther <rguenther@suse.de>
* lto-streamer-in.c (input_gimple_stmt): Use types_compatible_p.
From-SVN: r167116
Richard Guenther [Wed, 24 Nov 2010 14:00:43 +0000 (14:00 +0000)]
re PR lto/46606 (ICE in input_gimple_stmt in lto1)
2010-11-24 Richard Guenther <rguenther@suse.de>
PR lto/46606
* lto-streamer-in.c (input_gimple_stmt): When we cannot find
a FIELD_DECL that is type correct issue a warning and fixup
with a VIEW_CONVERT_EXPR.
From-SVN: r167115
Basile Starynkevitch [Wed, 24 Nov 2010 13:45:10 +0000 (13:45 +0000)]
invoke.texi (Options for Debugging Your Program or GCC): Explain static numbering of dump files.
2010-11-24 Basile Starynkevitch <basile@starynkevitch.net>
* doc/invoke.texi (Options for Debugging Your Program or GCC):
Explain static numbering of dump files.
From-SVN: r167114
Joseph Myers [Wed, 24 Nov 2010 13:28:38 +0000 (13:28 +0000)]
common.opt (user_vect_verbosity_level): New Variable entry.
* common.opt (user_vect_verbosity_level): New Variable entry.
(ftree-vectorizer-verbose=): Mark as UInteger.
* flag-types.h (enum vect_verbosity_levels): Move from enum
verbosity_levels in tree-vectorizer.h.
* opts.c: Don't include tree.h.
(vect_set_verbosity_level): Move from tree-vectorizer.c. Use
gcc_options parameter; take integer option argument.
(common_handle_option): Update call to vect_set_verbosity_level.
* tree-vectorizer.c (user_vect_verbosity_level): Remove.
(vect_set_verbosity_level): Move to opts.c.
(vect_verbosity_level, vect_print_dump_info): Update for change of
enum name.
* tree-vectorizer.h (enum verbosity_levels): Move to flag-types.h.
(vect_print_dump_info): Update for change of enum name.
* tree.h (vect_set_verbosity_level): Remove.
* Makefile.in (opts.o): Update dependencies.
From-SVN: r167113
H.J. Lu [Wed, 24 Nov 2010 13:15:55 +0000 (05:15 -0800)]
Correct PR #.
From-SVN: r167112
Jakub Jelinek [Wed, 24 Nov 2010 10:18:15 +0000 (11:18 +0100)]
re PR middle-end/46629 (Failed to build 200.sixtrack in SPEC CPU 2000)
PR middle-end/46629
* gfortran.dg/lto/pr46629_0.f90: New test.
From-SVN: r167110
Paolo Carlini [Wed, 24 Nov 2010 10:08:49 +0000 (10:08 +0000)]
constexpr.cc: Add dg-require* directives.
2010-11-24 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/30_threads/future/cons/constexpr.cc: Add dg-require*
directives.
* testsuite/30_threads/shared_future/cons/constexpr.cc: Likewise.
From-SVN: r167109
Jakub Jelinek [Wed, 24 Nov 2010 08:57:37 +0000 (09:57 +0100)]
re PR middle-end/46629 (Failed to build 200.sixtrack in SPEC CPU 2000)
PR middle-end/46629
* cfgexpand.c (maybe_cleanup_end_of_block): Test NEXT_INSN (insn)
instead of insn with any_condjump_p.
From-SVN: r167108
Mingjie Xing [Wed, 24 Nov 2010 01:44:24 +0000 (01:44 +0000)]
Add loongson3a integer mul/div patterns
From-SVN: r167107
Joseph Myers [Wed, 24 Nov 2010 00:54:26 +0000 (00:54 +0000)]
common.opt (initial_max_fld_align, [...]): New Variable entries.
* common.opt (initial_max_fld_align, flag_debug_asm,
flag_dump_rtl_in_asm, flag_dump_all_passed, rtl_dump_and_exit,
flag_print_asm_name, graph_dump_format, help_printed,
help_columns, flag_opts_finished): New Variable entries.
(fdbg-cnt-list, fdbg-cnt=, fdebug-prefix-map=, frandom-seed,
frandom-seed=): Mark deferred.
(fsched-verbose=): Use UInteger and Var.
* flags.h (set_struct_debug_option, flag_print_asm_name,
rtl_dump_and_exit, flag_debug_asm, flag_dump_rtl_in_asm,
graph_dump_format): Don't declare here.
* haifa-sched.c (sched_verbose_param, fix_sched_param): Remove.
* opts-global.c: Include dbgcnt.h and debug.h.
(decode_options): Pass location to finish_options.
(handle_common_deferred_options): Check flag_dump_all_passed.
Handle OPT_fdbg_cnt_, OPT_fdbg_cnt_list, OPT_fdebug_prefix_map_,
OPT_frandom_seed and OPT_frandom_seed_. Don't assert on
OPT_fstack_limit.
* opts.c: Don't include toplev.h, dbgcnt.h or debug.h.
(set_struct_debug_option): Add location_t parameter. Update
recursive call. Use error_at.
(default_options_optimization): Use error_at.
(finish_options): Add location_t parameter. Use
opts->x_flag_opts_finished instead of first_time_p. Use
opts->x_optimize instead of optimize. Use error_at. Pass
location to inform.
(print_filtered_help): Use opts->x_help_printed to track what
options have been printed.
(print_specific_help): Use opts->x_help_columns to track number of
columns.
(common_handle_option): Pass locations and gcc_options pointers to
more functions. Use warning_at instead of fnotice and warning.
Don't handle OPT_fdbg_cnt_, OPT_fdbg_cnt_list or
OPT_fdebug_prefix_map_. Use error_at. Set
opts->x_initial_max_fld_align; don't set maximum_field_alignment.
Don't handle OPT_frandom_seed or OPT_frandom_seed_. Don't handle
OPT_fsched_verbose_.
(handle_param): Add location_r parameter. Use error_at.
(set_debug_level): Add location_r parameter. Use error_at and
warning_at.
(setup_core_dumping): Add diagnostic_context parameter.
(decode_d_option): Add gcc_options, location_t and
diagnostic_context parameters and use them instead of global
state. Use warning_at.
(enable_warning_as_error): Use error_at.
* opts.h (finish_options): Update prototype.
(set_struct_debug_option): Declare here.
* rtl.h (fix_sched_param): Remove.
* stor-layout.c (initial_max_fld_align): Remove.
* toplev.c (rtl_dump_and_exit, flag_print_asm_name,
graph_dump_format, flag_debug_asm, flag_dump_rtl_in_asm): Remove.
(process_options): Set maximum_field_alignment.
* tree.h (initial_max_fld_align) Don't declare here.
* Makefile.in (opts.o, opts-global.o): Update dependencies.
c-family:
* c-opts.c (c_common_handle_option): Pass location to
set_struct_debug_option.
testsuite:
* gcc.dg/opts-5.c: New test.
From-SVN: r167106
Joseph Myers [Wed, 24 Nov 2010 00:51:48 +0000 (00:51 +0000)]
flag-types.h (struct visibility_flags): Don't declare here.
* flag-types.h (struct visibility_flags): Don't declare here.
* flags.h (strip_off_ending, fast_math_flags_set_p,
fast_math_flags_struct_set_p): Declare here.
(visibility_options): Don't declare here.
* opts-common.c (option_enabled, get_option_state): Move from
opts.c.
* opts-global.c: Include diagnostic.h instead of
diagnostic-core.h. Include tree.h, langhooks.h, lto-streamer.h
and toplev.h.
(const_char_p, ignored_options, in_fnames, num_in_fnames,
write_langs, complain_wrong_lang, postpone_unknown_option_warning,
print_ignored_options, unknown_option_callback,
post_handling_callback, lang_handle_option, add_input_filename,
read_cmdline_options, initial_lang_mask, init_options_once,
decode_cmdline_options_to_array_default_mask,
set_default_handlers, decode_options): Move from opts.c.
(print_ignored_options): Use warning_at instead of saving and
restoring input_location.
* opts.c: Include <signal.h> and <sys/resource.h>. Include rtl.h
instead of expr.h. Don't include langhooks.h, except.h or
lto-streamer.h. Add more comments on includes.
(strip_off_ending, setup_core_dumping, decode_d_option): Move from
toplev.c.
(visibility_options): Move to c-family/c-common.c.
(const_char_p, ignored_options, in_fnames, num_in_fnames,
write_langs, complain_wrong_lang, postpone_unknown_option_warning,
print_ignored_options, unknown_option_callback,
post_handling_callback, lang_handle_option, add_input_filename,
read_cmdline_options, initial_lang_mask, init_options_once,
decode_cmdline_options_to_array_default_mask,
set_default_handlers, decode_options): Move to opts-global.c.
(target_handle_option, default_options_optimization,
finish_options, common_handle_option): Remove static.
(option_enabled, get_option_state): Move to opts-common.c.
* opts.h (common_handle_option, target_handle_option,
finish_options, default_options_optimization): Declare.
* toplev.c: Don't include <signal.h> or <sys/resource.h>.
(setup_core_dumping, strip_off_ending, decode_d_option): Move to
opts.c.
* toplev.h (strip_off_ending, decode_d_option,
fast_math_flags_set_p, fast_math_flags_struct_set_p): Don't
declare here.
* Makefile.in (opts.o, opts-global.o): Update dependencies.
c-family:
* c-common.c (visibility_options): Move from ../opts.c.
* c-common.h (struct visibility_flags, visibility_options):
Declare here.
* c-opts.c (finish_options): Rename to c_finish_options.
(c_common_init): Update call to finish_options.
From-SVN: r167105
Jeffrey Yasskin [Wed, 24 Nov 2010 00:24:54 +0000 (00:24 +0000)]
Propagate the source location from a template function's definition to
any already-instantiated declarations.
PR c++/46527
* gcc/cp/pt.c (instantiate_decl): Propagate the template's
location to its instance.
* gcc/testsuite/g++.dg/debug/dwarf2/pr46527.C: New test.
From-SVN: r167104
GCC Administrator [Wed, 24 Nov 2010 00:21:24 +0000 (00:21 +0000)]
Daily bump.
From-SVN: r167103
Benjamin Kosnik [Tue, 23 Nov 2010 23:47:44 +0000 (23:47 +0000)]
chrono: Constexpr markup for is_monotonic.
2010-11-23 Benjamin Kosnik <bkoz@redhat.com>
* include/std/chrono: Constexpr markup for is_monotonic.
* src/chrono.cc: Same.
* testsuite/20_util/clocks/1.cc: Move...
* testsuite/20_util/system_clock/1.cc: ...here.
* testsuite/20_util/system_clock/constexpr_data.cc
* testsuite/20_util/monotonic_clock/constexpr_data.cc
* include/std/complex: Mark primary template constexpr.
* testsuite/26_numerics/complex/cons/constexpr_primary.cc: Add.
* testsuite/26_numerics/complex/complex_value.cc: Move...
* testsuite/26_numerics/complex/dr387.cc: Move...
* testsuite/26_numerics/complex/value_operations/1.cc: ... here.
* testsuite/26_numerics/complex/value_operations/dr387.cc: ...here.
* testsuite/26_numerics/complex/value_operations/constexpr.cc: New.
2010-11-23 Benjamin Kosnik <bkoz@redhat.com>
Jason Merrill <jason@redhat.com>
* testsuite/lib/libstdc++.exp: Use scanasm.
* testsuite/util/testsuite_common_types.h
(constexpr_default_constructible): Add support for non-literal types.
(constexpr_single_value_constructible): Same.
* testsuite/20_util/enable_shared_from_this/cons/constexpr.cc:
Remove xfail.
* testsuite/20_util/shared_ptr/cons/constexpr.cc: Add.
* testsuite/20_util/unique_ptr/cons/constexpr.cc: Add.
* testsuite/20_util/weak_ptr/cons/constexpr.cc: Add.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust line number.
2010-11-23 Benjamin Kosnik <bkoz@redhat.com>
Jonathan Wakely <jwakely.gcc@gmail.com>
* include/std/future (shared_future): Default ctor constexpr.
(future): Same.
* testsuite/30_threads/shared_future/cons/constexpr.cc: New.
* testsuite/30_threads/future/cons/constexpr.cc: New.
Co-Authored-By: Jason Merrill <jason@redhat.com>
Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
From-SVN: r167099
Joseph Myers [Tue, 23 Nov 2010 23:26:07 +0000 (23:26 +0000)]
* es.po: Update.
From-SVN: r167098
Tobias Burnus [Tue, 23 Nov 2010 20:54:49 +0000 (21:54 +0100)]
re PR fortran/46545 (libquadmath: Update gfortran.texi)
2010-11-23 Tobias Burnus <burnus@net-b.de>
PR fortran/46545
* gfortran.texi (KIND Type Parameters): Quadmath and F2008
changes.
From-SVN: r167096
Richard Frith-Macdonald [Tue, 23 Nov 2010 19:20:54 +0000 (19:20 +0000)]
In libobjc/: 2010-11-23 Richard Frith-Macdonald <rfm@gnu.org>
In libobjc/:
2010-11-23 Richard Frith-Macdonald <rfm@gnu.org>
* sendmsg.c (get_imp): Fixed call to __objc_get_forward_imp to
pass nil as the receiver since we don't know the receiver at this
point.
From-SVN: r167092
Dave Korn [Tue, 23 Nov 2010 19:18:39 +0000 (19:18 +0000)]
re PR driver/42690 (Undefined reference errors with -flto -fuse-linker-plugin)
PR driver/42690
* gcc.c (LINK_COMMAND_SPEC): Remove hard-coded pass-through plugin
options, replace by call of pass-through-libs spec function to process
link_gcc_c_sequence spec.
(lto_libgcc_spec): Delete variable.
(static_specs[]): Remove related entry.
(static_spec_functions[]): Add new entry for pass-through-libs.
(main): Don't generate deleted lto_libgcc_spec.
(pass_through_libs_spec_func): New function to implement the new
pass-through-libs spec function.
* doc/invoke.texi (pass-through-libs): Document new spec function.
From-SVN: r167091
H.J. Lu [Tue, 23 Nov 2010 18:09:34 +0000 (18:09 +0000)]
Properly check default linker.
2010-11-23 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/12258
* configure.ac: Correct comments for --enable-gold/--enable-ld.
Properly check default linker.
* configure: Regnerated.
From-SVN: r167090
Joseph Myers [Tue, 23 Nov 2010 18:00:23 +0000 (18:00 +0000)]
* doc/options.texi (Warning, Optimization): Document.
From-SVN: r167089