Joseph Myers [Tue, 27 Jul 2010 21:23:53 +0000 (22:23 +0100)]
coretypes.h (struct cl_option_handlers): Declare.
* coretypes.h (struct cl_option_handlers): Declare.
* hooks.c (hook_int_size_t_constcharptr_int_0): Remove.
* hooks.h (hook_int_size_t_constcharptr_int_0): Remove.
* langhooks-def.h (lhd_handle_option): Declare.
(LANG_HOOKS_HANDLE_OPTION): Use lhd_handle_option.
* langhooks.c (lhd_handle_option): New.
* langhooks.h (struct lang_hooks): Update prototype and return
value type of handle_option hook.
* optc-gen.awk: Generate target_flags_explicit definition for the
driver.
* opts-common.c: Include diagnostic.h.
(handle_option): Move from opts.c. Update prototype and return
value type. Use handlers structure.
(read_cmdline_option): Move from opts.c. Update prototype. Use
handlers structure.
(set_option): Move from opts.c.
* opts.c (common_handle_option): Update prototype and return value
type. Update calls to handle_option and enable_warning_as_error.
(unknown_option_callback, post_handling_callback,
lang_handle_option, target_handle_option): New.
(handle_option, read_cmdline_option): Move to opts-common.c.
(read_cmdline_options): Update prototype. Update call to
read_cmdline_option.
(decode_options): Initialize and use handlers structure.
(set_option): Move to opts-common.c.
(enable_warning_as_error): Update prototype. Update call to
handle_option.
* opts.h (struct cl_option_handler_func, struct
cl_option_handlers): New.
(handle_option, enable_warning_as_error): Update prototypes.
(read_cmdline_option): Declare.
* Makefile.in (opts-common.o): Update dependencies.
ada:
* gcc-interface/misc.c (gnat_handle_option): Update prototype and
return value type. Don't check for missing arguments here.
c-family:
* c-common.h (c_common_handle_option): Update prototype and return
value type.
* c-opts.c (c_common_handle_option): Update prototype and return
value type. Update calls to handle_option and
enable_warning_as_error.
fortran:
* gfortran.h (gfc_handle_option): Update prototype and return
value type.
* options.c (gfc_handle_option): Update prototype and return value
type.
java:
* lang.c (java_handle_option): Update prototype and return value
type.
lto:
* lto-lang.c (lto_handle_option): Update prototype and return
value type. Remove duplicate assignment to result.
From-SVN: r162601
Maxim Kuvyrkov [Tue, 27 Jul 2010 21:06:31 +0000 (21:06 +0000)]
re PR rtl-optimization/40956 (Constants are never candidates for hoisting)
PR rtl-optimization/40956
PR target/42495
PR middle-end/42574
* gcc.target/arm/pr40956.c, gcc.target/arm/pr42495.c,
* gcc.target/arm/pr42574.c: Add tests.
From-SVN: r162600
Maxim Kuvyrkov [Tue, 27 Jul 2010 19:50:08 +0000 (19:50 +0000)]
arm.c (params.h): Include.
* config/arm/arm.c (params.h): Include.
(arm_override_options): Tune gcse-unrestricted-cost.
* config/arm/t-arm (arm.o): Define dependencies.
From-SVN: r162598
Maxim Kuvyrkov [Tue, 27 Jul 2010 19:48:15 +0000 (19:48 +0000)]
re PR target/42495 (redundant memory load)
PR target/42495
PR middle-end/42574
* basic-block.h (get_dominated_to_depth): Declare.
* dominance.c (get_dominated_to_depth): New function, use
get_all_dominated_blocks as a base.
(get_all_dominated_blocks): Use get_dominated_to_depth.
* gcse.c (occr_t, VEC (occr_t, heap)): Define.
(hoist_exprs): Remove.
(alloc_code_hoist_mem, free_code_hoist_mem): Update.
(compute_code_hoist_vbeinout): Add debug print outs.
(hoist_code): Partially rewrite, simplify. Use get_dominated_to_depth.
* params.def (PARAM_MAX_HOIST_DEPTH): New parameter to avoid
quadratic behavior.
* params.h (MAX_HOIST_DEPTH): New macro.
* doc/invoke.texi (max-hoist-depth): Document.
From-SVN: r162597
Maxim Kuvyrkov [Tue, 27 Jul 2010 19:46:26 +0000 (19:46 +0000)]
re PR rtl-optimization/40956 (Constants are never candidates for hoisting)
PR rtl-optimization/40956
* config/arm/arm.c (thumb1_size_rtx_costs): Fix cost of simple
constants.
From-SVN: r162596
Maxim Kuvyrkov [Tue, 27 Jul 2010 19:44:51 +0000 (19:44 +0000)]
re PR target/42495 (redundant memory load)
PR target/42495
PR middle-end/42574
* config/arm/arm.c (legitimize_pic_address): Use
gen_calculate_pic_address pattern to emit calculation of PIC address.
(will_be_in_index_register): New function.
(arm_legitimate_address_outer_p, thumb2_legitimate_address_p,)
(thumb1_legitimate_address_p): Use it provided !strict_p.
* config/arm/arm.md (calculate_pic_address): New expand and split.
From-SVN: r162595
Maxim Kuvyrkov [Tue, 27 Jul 2010 19:42:15 +0000 (19:42 +0000)]
re PR target/42495 (redundant memory load)
PR target/42495
PR middle-end/42574
* config/arm/arm.c (thumb1_size_rtx_costs): Add cost for "J" constants.
* config/arm/arm.md (define_split "J", define_split "K"): Make
IRA/reload friendly.
From-SVN: r162594
Maxim Kuvyrkov [Tue, 27 Jul 2010 19:39:15 +0000 (19:39 +0000)]
gcse.c (insert_insn_end_basic_block): Update signature, remove unused checks.
* gcse.c (insert_insn_end_basic_block): Update signature, remove
unused checks.
(pre_edge_insert, hoist_code): Update.
From-SVN: r162593
Maxim Kuvyrkov [Tue, 27 Jul 2010 19:38:10 +0000 (19:38 +0000)]
re PR target/42495 (redundant memory load)
PR target/42495
PR middle-end/42574
* gcse.c (hoist_expr_reaches_here_p): Remove excessive check.
From-SVN: r162592
Maxim Kuvyrkov [Tue, 27 Jul 2010 19:36:31 +0000 (19:36 +0000)]
* gcse.c (hoist_code): Generate new pseudo for every new set insn.
From-SVN: r162591
Maxim Kuvyrkov [Tue, 27 Jul 2010 19:34:55 +0000 (19:34 +0000)]
re PR rtl-optimization/40956 (Constants are never candidates for hoisting)
PR rtl-optimization/40956
PR target/42495
PR middle-end/42574
* gcse.c (compute_code_hoist_vbeinout): Consider more expressions
for hoisting.
(hoist_code): Count occurences in current block too.
From-SVN: r162590
Maxim Kuvyrkov [Tue, 27 Jul 2010 19:29:48 +0000 (19:29 +0000)]
gcse.c (struct expr:max_distance): New field.
* gcse.c (struct expr:max_distance): New field.
(doing_code_hoisting_p): New static variable.
(want_to_gcse_p): Change signature. Allow constrained hoisting of
simple expressions, don't change behavior for PRE. Set max_distance.
(insert_expr_in_table): Set new max_distance field.
(hash_scan_set): Update.
(hoist_expr_reaches_here_p): Stop search after max_distance
instructions.
(find_occr_in_bb): New static function. Use it in ...
(hoist_code): Calculate sizes of basic block before any changes are
done. Pass max_distance to hoist_expr_reaches_here_p.
(one_code_hoisting_pass): Set doing_code_hoisting_p.
* params.def (PARAM_GCSE_COST_DISTANCE_RATIO,)
(PARAM_GCSE_UNRESTRICTED_COST): New parameters.
* params.h (GCSE_COST_DISTANCE_RATIO, GCSE_UNRESTRICTED_COST): New
macros.
* doc/invoke.texi (gcse-cost-distance-ratio, gcse-unrestricted-cost):
Document.
From-SVN: r162589
Jeff Law [Tue, 27 Jul 2010 19:27:31 +0000 (13:27 -0600)]
gcse.c (compute_transpout, transpout): Remove, move logic to prune_expressions.
* gcse.c (compute_transpout, transpout): Remove, move logic
to prune_expressions.
(compute_pre_data): Move pruning of trapping expressions ...
(prune_expressions): ... here. New static function.
(compute_code_hoist_data): Use it.
(alloc_code_hoist_mem, free_code_hoist_mem, hoist_code): Update.
Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com>
From-SVN: r162588
Xinliang David Li [Tue, 27 Jul 2010 19:23:39 +0000 (19:23 +0000)]
adjusting iv update stmt position to enable inst combining. Regression tested on x86-64/linux
From-SVN: r162587
Maxim Kuvyrkov [Tue, 27 Jul 2010 19:12:21 +0000 (19:12 +0000)]
dbgcnt.def (hoist_insn): New debug counter.
* dbgcnt.def (hoist_insn): New debug counter.
* gcse.c (hoist_code): Use it.
From-SVN: r162586
Xinliang David Li [Tue, 27 Jul 2010 18:18:25 +0000 (18:18 +0000)]
Multiple exit loop handling in ivopts. Regression tested on x86-64/linux
From-SVN: r162585
Uros Bizjak [Tue, 27 Jul 2010 18:10:34 +0000 (20:10 +0200)]
* Fix extra brackets in my previous commit.
From-SVN: r162584
Uros Bizjak [Tue, 27 Jul 2010 17:55:00 +0000 (19:55 +0200)]
gcc-dg.exp (cleanup-coverage-files): Remove options from test name.
* lib/gcc-dg.exp (cleanup-coverage-files): Remove options from
test name.
(cleanup-repo-files): Ditto.
(cleanup-saved-temps): Ditto.
From-SVN: r162583
Jakub Jelinek [Tue, 27 Jul 2010 17:54:32 +0000 (19:54 +0200)]
re PR target/44542 (expand_one_stack_var_at may set DECL_ALIGN to a too high value)
PR target/44542
* cfgexpand.c (expand_one_stack_var_at): Limit align to maximum
of max_used_stack_slot_alignment and PREFERRED_STACK_BOUNDARY
instead of MAX_SUPPORTED_STACK_ALIGNMENT.
(expand_one_var): Don't consider DECL_ALIGN for variables for
which expand_one_stack_var_at has been already called.
From-SVN: r162582
Jakub Jelinek [Tue, 27 Jul 2010 17:52:35 +0000 (19:52 +0200)]
re PR testsuite/44701 (PR44492 fix broke gcc.target/powerpc/asm-es-2.c)
PR testsuite/44701
* doc/md.texi: Clarify m and es constraints on PowerPC and m and S
constraints on IA-64.
* gcc.target/powerpc/asm-es-2.c (f2): Add <> constraints.
From-SVN: r162581
Paolo Carlini [Tue, 27 Jul 2010 17:41:47 +0000 (17:41 +0000)]
acinclude.m4 ([GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS]): Fix messages.
2010-07-27 Paolo Carlini <paolo.carlini@oracle.com>
* acinclude.m4 ([GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS]): Fix
messages.
* configure: Regenerate.
From-SVN: r162580
Jie Zhang [Tue, 27 Jul 2010 17:33:30 +0000 (17:33 +0000)]
re PR target/44290 (__naked attribute is broken)
PR target/44290
Revert
2010-07-23 Jie Zhang <jie@codesourcery.com>
* tree-sra.c (ipa_sra_preliminary_function_checks): Return
false if ! tree_versionable_function_p.
From-SVN: r162579
Paolo Carlini [Tue, 27 Jul 2010 17:27:06 +0000 (17:27 +0000)]
[multiple changes]
2010-07-27 Paolo Carlini <paolo.carlini@oracle.com>
* include/ext/vstring_util.h: Include bits/range_access.h.
* testsuite/ext/vstring/range_access.cc: New test.
2010-07-27 Ed Smith-Rowland <3dw4rd@verizon.net>
* include/bits/range_access.h: New.
* include/Makefile.in: Add bits/range_access.h.
* include/Makefile.am: Regenerate.
* include/std/array: Include bits/range_access.h.
* include/std/deque: Ditto.
* include/std/forward_list: Ditto.
* include/std/iterator: Ditto.
* include/std/list: Ditto.
* include/std/map: Ditto.
* include/std/regex: Ditto.
* include/std/set: Ditto.
* include/std/string: Ditto.
* include/std/unordered_map: Ditto.
* include/std/unordered_set: Ditto.
* include/std/vector: Ditto.
* include/std/valarray: Add begin() and end().
* libsupc++/initializer_list: Ditto.
* include/tr1_impl/utility: Add begin() and end().
* include/std/tuple: Ditto.
* testsuite/24_iterators/headers/iterator/range_access.cc: New test.
* testsuite/24_iterators/range_access.cc: Ditto.
* testsuite/28_regex/range_access.cc: Ditto.
* testsuite/18_support/initializer_list/range_access.cc: Ditto.
* testsuite/21_strings/basic_string/range_access.cc: Ditto.
* testsuite/26_numerics/valarray/range_access.cc: Ditto.
* testsuite/23_containers/unordered_map/range_access.cc: Ditto.
* testsuite/23_containers/multimap/range_access.cc: Ditto.
* testsuite/23_containers/set/range_access.cc: Ditto.
* testsuite/23_containers/unordered_multimap/range_access.cc: Ditto.
* testsuite/23_containers/forward_list/range_access.cc: Ditto.
* testsuite/23_containers/unordered_set/range_access.cc: Ditto.
* testsuite/23_containers/vector/range_access.cc: Ditto.
* testsuite/23_containers/deque/range_access.cc: Ditto.
* testsuite/23_containers/multiset/range_access.cc: Ditto.
* testsuite/23_containers/list/range_access.cc: Ditto.
* testsuite/23_containers/unordered_multiset/range_access.cc: Ditto.
* testsuite/23_containers/map/range_access.cc: Ditto.
* testsuite/23_containers/array/range_access.cc: Ditto.
* testsuite/20_util/tuple/range_access.cc: Ditto.
* testsuite/20_util/pair/range_access.cc: Ditto.
From-SVN: r162578
Jakub Jelinek [Tue, 27 Jul 2010 15:47:43 +0000 (17:47 +0200)]
dwarf2out.c (add_data_member_location_attribute): Use add_AT_unsigned instead of add_AT_int if offset is non-negative.
* dwarf2out.c (add_data_member_location_attribute): Use
add_AT_unsigned instead of add_AT_int if offset is non-negative.
From-SVN: r162576
Jakub Jelinek [Tue, 27 Jul 2010 15:46:25 +0000 (17:46 +0200)]
re PR c/45079 (function names in error message (�c_maybe_const_expr� not supported by 'pp_c_expression'))
PR c/45079
* c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
* gcc.dg/pr45079.c: New test.
From-SVN: r162575
Bernd Schmidt [Tue, 27 Jul 2010 15:20:14 +0000 (15:20 +0000)]
postreload.c (try_replace_in_use): New static function.
* postreload.c (try_replace_in_use): New static function.
(reload_combine_recognize_const_pattern): Use it here. Allow
substituting into a final add insn, and substituting into a memory
reference in an insn that sets the reg.
From-SVN: r162573
Joseph Myers [Tue, 27 Jul 2010 14:43:31 +0000 (15:43 +0100)]
common.opt (o): Add MissingArgError.
* common.opt (o): Add MissingArgError.
* doc/options.texi (MissingArgError): Document.
* hooks.c (hook_bool_constcharptr_size_t_false): Remove.
* hooks.h (hook_bool_constcharptr_size_t_false): Remove.
* langhooks-def.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
(LANG_HOOKS_INITIALIZER): Remove missing_argument hook
initializer.
* langhooks.h (struct lang_hooks): Remove missing_argument.
* optc-gen.awk: Handle MissingArgError and output new structure
field initializers.
* opts.c (read_cmdline_option): Use missing_argument_error field
instead of missing_argument langhook.
* opts.h (struct cl_option): Add missing_argument_error field.
* system.h (LANG_HOOKS_MISSING_ARGUMENT): Poison.
c-family:
* c-common.h (c_common_missing_argument): Remove.
* c-opts.c (c_common_missing_argument): Remove.
* c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
idirafter, imacros, include, isysroot, isystem, iquote): Add
MissingArgError.
* c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
cp:
* cp-objcp-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
po:
* exgettext: Also extract MissingArgError texts from .opt files.
From-SVN: r162571
Iain Sandoe [Tue, 27 Jul 2010 13:31:14 +0000 (13:31 +0000)]
add missing changelog
From-SVN: r162569
Iain Sandoe [Tue, 27 Jul 2010 13:26:34 +0000 (13:26 +0000)]
re PR target/29090 (gcc.dg-struct-layout-1 failures on Darwin PPC at -m64)
PR target/29090
* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Special-case the
Darwin64 ABI, for zero-sized objects.
From-SVN: r162568
Iain Sandoe [Tue, 27 Jul 2010 13:24:08 +0000 (13:24 +0000)]
re PR target/35491 (wrong ABI for some struct passing with vector code)
PR target/35491
PR target/29090
Merge from Apple local 4.2.1.
2005-05-11 Stan Shebs <shebs@apple.com>
Fix 64-bit varargs for Darwin (Radar
4028089).
* config/rs6000/rs6000.h (rs6000_args): New field floats_in_gpr.
* config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_flush):
Add argument, add case for 8-byte register half-filled with a float.
(rs6000_darwin64_record_arg_advance_recurse): Detect and handle
single-precision floats specially.
From-SVN: r162567
Ira Rosen [Tue, 27 Jul 2010 12:26:31 +0000 (12:26 +0000)]
re PR tree-optimization/44152 (ICE on compiling xshow.f of xplor-nih with -O3 -ffast-math -fwhopr)
PR tree-optimization/44152
* tree-vect-slp.c (vect_build_slp_tree): Collect nodes with
complex numbers for further check.
(vect_supported_load_permutation_p): Check nodes with
complex numbers.
From-SVN: r162564
Iain Sandoe [Tue, 27 Jul 2010 12:02:50 +0000 (12:02 +0000)]
re-enable tls and lto tests for ObjC/C++
PR ObjC/44140
* obj-c++.dg/torture/tls/thr-init-1.mm: Re-enable test.
* obj-c++.dg/torture/tls/thr-init-2.mm: Ditto.
* obj-c++.dg/torture/tls/thr-init-3.mm: Ditto.
* obj-c++.dg/torture/trivial.mm: Ditto.
* objc.dg/torture/tls/thr-init-2.m: Ditto.
* objc.dg/torture/tls/thr-init-3.m: Ditto.
* objc.dg/torture/tls/thr-init.m: Ditto.
* objc.dg/torture/trivial.m: Ditto.
From-SVN: r162563
Paolo Carlini [Tue, 27 Jul 2010 10:36:50 +0000 (10:36 +0000)]
acinclude.m4 ([GLIBCXX_CHECK_STDIO_MACROS]): Remove.
2010-07-27 Paolo Carlini <paolo.carlini@oracle.com>
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* acinclude.m4 ([GLIBCXX_CHECK_STDIO_MACROS]): Remove.
([GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS]): Add, actually
compute the constants via AC_COMPUTE_INT.
* configure.ac: Call the latter.
* include/bits/ios_base.h: Adjust.
* include/bits/char_traits.h: Likewise.
* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust dg-error
line number.
* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
* config.h.in: Regenerate.
* configure: Likewise.
2010-07-27 Paolo Carlini <paolo.carlini@oracle.com>
* config/io/c_io_stdio.h: Do not include <cstddef>.
Co-Authored-By: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
From-SVN: r162562
Uros Bizjak [Tue, 27 Jul 2010 10:29:02 +0000 (12:29 +0200)]
char4_iunit_1.f03: Add ieee options.
* gfortran.dg/char4_iunit_1.f03: Add ieee options.
Skip on spu-*-* targets.
From-SVN: r162561
Joseph Myers [Tue, 27 Jul 2010 09:59:51 +0000 (10:59 +0100)]
langhooks-def.h (lhd_init_options, [...]): New.
* langhooks-def.h (lhd_init_options, LANG_HOOKS_OPTION_LANG_MASK,
LANG_HOOKS_COMPLAIN_WRONG_LANG_P): New.
(LANG_HOOKS_INIT_OPTIONS): Update default definition.
(LANG_HOOKS_INITIALIZER): Add new hooks.
* langhooks.c (lhd_init_options, lhd_complain_wrong_lang_p): New.
* langhooks.h (struct lang_hooks): Add new hooks option_lang_mask
and complain_wrong_lang_p. Update init_options prototype.
* c-objc-common.c (c_initialize_diagnostics): First call
c_common_initialize_diagnostics.
* c-objc-common.h (LANG_HOOKS_OPTION_LANG_MASK,
LANG_HOOKS_COMPLAIN_WRONG_LANG_P): Define.
* coretypes.h (struct cl_option, struct cl_decoded_option):
Declare.
* hooks.c (hook_uint_uint_constcharptrptr_0): Remove.
(hook_uint_void_0): New.
* hooks.h (hook_uint_uint_constcharptrptr_0): Remove.
(hook_uint_void_0): New.
* opts-common.c (decode_cmdline_option,
decode_cmdline_options_to_array): Also fill in canonical_option
field.
* opts.c (complain_wrong_lang): Use langhook to determine whether
to complain instead of special-casing LTO.
(decode_options): Separate lang_mask determination with
option_lang_mask hook from call of init_options hook.
* opts.h (struct cl_decoded_option): Add canonical_option.
ada:
* gcc-interface/misc.c (gnat_option_lang_mask): New.
(gnat_init_options): Update prototype. Reconstruct argv array
from decoded options.
c-family:
* c-common.h (c_common_option_lang_mask,
c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
New.
(c_common_init_options): Update prototype.
* c-opts.c (c_common_option_lang_mask): New.
(c_common_initialize_diagnostics): Split out of
c_common_init_options.
(accept_all_c_family_options, c_common_complain_wrong_lang_p):
New.
(c_common_init_options): Update prototype. Use decoded options in
search for -lang-asm.
cp:
* cp-objcp-common.c (cxx_initialize_diagnostics): First call
c_common_initialize_diagnostics.
* cp-objcp-common.h (LANG_HOOKS_OPTION_LANG_MASK,
LANG_HOOKS_COMPLAIN_WRONG_LANG_P): Define.
fortran:
* cpp.c (gfc_cpp_init_options): Update prototype. Use number of
decoded options in allocating deferred_opt.
* cpp.h (gfc_cpp_init_options): Update prototype.
* f95-lang.c (LANG_HOOKS_OPTION_LANG_MASK): Define.
* gfortran.h (gfc_option_lang_mask): New.
(gfc_init_options): Update prototype.
* options.c (gfc_option_lang_mask): New.
(gfc_init_options): Update prototype. Pass new arguments to
gfc_cpp_init_options.
java:
* lang.c (java_option_lang_mask): New.
(java_init_options): Update prototype.
(LANG_HOOKS_OPTION_LANG_MASK): Define.
lto:
* lto-lang.c (lto_option_lang_mask, lto_complain_wrong_lang_p):
New.
(lto_init_options): Update prototype.
(LANG_HOOKS_OPTION_LANG_MASK, LANG_HOOKS_COMPLAIN_WRONG_LANG_P):
Define.
From-SVN: r162560
Jakub Jelinek [Tue, 27 Jul 2010 09:43:59 +0000 (11:43 +0200)]
re PR tree-optimization/45083 (strange warning text from gcc)
PR tree-optimization/45083
* tree-inline.c (add_local_variables): Also remap DECL_DEBUG_EXPR.
* gcc.dg/pr45083.c: New test.
From-SVN: r162559
Bernd Schmidt [Tue, 27 Jul 2010 09:34:51 +0000 (09:34 +0000)]
re PR rtl-optimization/45051 (gcc.c-torture/execute/builtins/abs-2.c and abs-3.c due to "track subwords of DImode allocnos")
PR rtl-optimization/45051
* reload1.c (delete_output_reload): Use refers_to_regno_p rather
than reg_mentioned_p.
From-SVN: r162558
Tobias Burnus [Tue, 27 Jul 2010 08:44:22 +0000 (10:44 +0200)]
re PR fortran/40873 (-fwhole-file -fwhole-program: Wrong decls cause too much to be optimized away)
2010-07-26 Tobias Burnus <burnus@net-b.de>
PR fortran/40873
* trans-decl.c (gfc_get_extern_function_decl): Fix generation
for functions which are later in the same file.
(gfc_create_function_decl, build_function_decl,
build_entry_thunks): Add global argument.
* trans.c (gfc_generate_module_code): Update
gfc_create_function_decl call.
* trans.h (gfc_create_function_decl): Update prototype.
* resolve.c (resolve_global_procedure): Also resolve for
IFSRC_IFBODY.
2010-07-26 Tobias Burnus <burnus@net-b.de>
PR fortran/40873
* gfortran.dg/whole_file_22.f90: New test.
* gfortran.dg/whole_file_23.f90: New test.
From-SVN: r162557
GCC Administrator [Tue, 27 Jul 2010 00:17:23 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r162554
Bernd Schmidt [Tue, 27 Jul 2010 00:14:26 +0000 (00:14 +0000)]
postreload.c (reload_combine_recognize_const_pattern): Move test for limiting the insn movement to the right scope.
* postreload.c (reload_combine_recognize_const_pattern): Move test
for limiting the insn movement to the right scope.
From-SVN: r162550
Richard Henderson [Mon, 26 Jul 2010 22:53:50 +0000 (15:53 -0700)]
re PR target/44132 (emutls is broken under a range of circumstances.)
PR target/44132
Emulated TLS rewrite.
From-SVN: r162549
Rainer Orth [Mon, 26 Jul 2010 20:54:57 +0000 (20:54 +0000)]
14220.cc: XFAIL on Solaris 9/x86, 32-bit Solaris 10/x86 and 64-bit Solaris 10/SPARC.
* testsuite/22_locale/num_put/put/char/14220.cc: XFAIL on Solaris
9/x86, 32-bit Solaris 10/x86 and 64-bit Solaris 10/SPARC.
* testsuite/22_locale/num_put/put/wchar_t/14220.cc: XFAIL on
Solaris 9/x86 and 32-bit Solaris 10/x86.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
Only XFAIL on Solaris 8 and 9.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
Likewise.
* testsuite/ext/enc_filebuf/char/13598.cc: XFAIL before Solaris 11.
From-SVN: r162545
Jan Hubicka [Mon, 26 Jul 2010 20:51:29 +0000 (22:51 +0200)]
lto-streamer.h (struct lto_file_decl_data): Mark resolutions with GTY((skip)).
* lto-streamer.h (struct lto_file_decl_data): Mark resolutions with
GTY((skip)).
From-SVN: r162544
Anatoly Sokolov [Mon, 26 Jul 2010 18:00:17 +0000 (22:00 +0400)]
target.def (output_source_filename): New hook.
* target.def (output_source_filename): New hook.
* doc/tm.texi.in (TARGET_ASM_OUTPUT_SOURCE_FILENAME): Document.
* doc/tm.texi: Regenerate.
* toplev.c (output_file_directive) Remove function.
* toplev.h (output_file_directive) Remove.
* output.h (default_asm_output_source_filename,
output_file_directive): Declare.
* varasm.h (default_asm_output_source_filename,
output_file_directive): New functions.
* config/mips/mips.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.
* config/mips/mips-protos.h (mips_output_filename): Remove.
* config/mips/mips.c (mips_output_filename): Make Static.
(TARGET_ASM_OUTPUT_SOURCE_FILENAME): Define.
From-SVN: r162542
Rainer Orth [Mon, 26 Jul 2010 16:23:01 +0000 (16:23 +0000)]
pr44900.C: Use dg-require-effective-target sse_runtime.
* g++.dg/torture/pr44900.C: Use dg-require-effective-target
sse_runtime.
* gcc.dg/attr-weak-hidden-1a.c: Use dg-require-weak,
dg-require-visibility.
From-SVN: r162541
Jakub Jelinek [Mon, 26 Jul 2010 16:22:18 +0000 (18:22 +0200)]
libgomp.texi: Add function keyword to a couple of Fortran interfaces...
* libgomp.texi: Add function keyword to a couple of Fortran
interfaces, use integer instead of int for Fortran.
From-SVN: r162540
Richard Guenther [Mon, 26 Jul 2010 16:01:55 +0000 (16:01 +0000)]
re PR tree-optimization/43784 (-Os -fkeep-inline-functions causes FAIL: gcc.c-torture/execute/builtins/pr22237.c execution)
2010-07-26 Richard Guenther <rguenther@suse.de>
PR tree-optimization/43784
* tree-nrv.c (dest_safe_for_nrv_p): It's not safe to NRV
if the destination is used by the call.
* gcc.c-torture/execute/pr43784.c: New testcase.
* g++.dg/torture/pr43784.C: Likewise.
From-SVN: r162539
Aldy Hernandez [Mon, 26 Jul 2010 15:26:17 +0000 (15:26 +0000)]
libgomp.texi: Fix spelling and pasto problems throughout.
* libgomp.texi: Fix spelling and pasto problems throughout.
Adjust prototypes to match code.
From-SVN: r162538
Richard Guenther [Mon, 26 Jul 2010 14:48:43 +0000 (14:48 +0000)]
re PR tree-optimization/45073 (gfortran.dg/assumed_charlen_function_3.f90 ICEs with -fprofile-generate)
2010-07-26 Richard Guenther <rguenther@suse.de>
PR middle-end/45073
* gimple-fold.c (gimplify_and_update_call_from_tree): Conditionalize
SSA updating on being in SSA form.
From-SVN: r162537
Richard Guenther [Mon, 26 Jul 2010 13:29:14 +0000 (13:29 +0000)]
re PR tree-optimization/45056 (ICE: in refs_may_alias_p_1, at tree-ssa-alias.c:1023)
2010-07-26 Richard Guenther <rguenther@suse.de>
PR middle-end/45056
* gimple-fold.c (fold_stmt_1): Also fold references in
debug stmts.
* g++.dg/pr45056.C: New testcase.
From-SVN: r162536
Richard Guenther [Mon, 26 Jul 2010 12:48:37 +0000 (12:48 +0000)]
re PR tree-optimization/45071 (ICE: tree check: expected ssa_name, have integer_cst in inhibit_phi_insertion, at tree-ssa-pre.c:3278 with -ftree-pre -ftree-vectorize)
2010-07-26 Richard Guenther <rguenther@suse.de>
PR tree-optimization/45071
* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Always
adjust op->opcode.
* gcc.dg/pr45071.c: New testcase.
From-SVN: r162534
Tobias Burnus [Mon, 26 Jul 2010 10:30:45 +0000 (12:30 +0200)]
re PR fortran/45066 (ICE in namelist read in snapshot of 7/24/2010)
2010-07-26 Tobias Burnus <burnus@net-b.de>
PR fortran/45066
* trans-io.c (build_dt): Use NULL_TREE rather than NULL
for call to transfer_namelist_element.
* trans-decl.c (gfc_get_symbol_decl): Also set sym->backend_decl
for -fwhole-file.
2010-07-26 Tobias Burnus <burnus@net-b.de>
PR fortran/45066
* gfortran.dg/namelist_62.f90: New.
From-SVN: r162532
Tobias Burnus [Mon, 26 Jul 2010 09:53:19 +0000 (11:53 +0200)]
Add file forgotten in commit Rev. 162500
2010-07-24 Tobias Burnus <burnus@net-b.de>
PR fortran/40011
* gfortran.dg/whole_file_21.f90: New.
From-SVN: r162531
Naveen.H.S [Mon, 26 Jul 2010 09:39:04 +0000 (09:39 +0000)]
configure.ac: Support all v850 targets.
* configure.ac: Support all v850 targets.
* configure: Regenerate.
* config/v850/lib1funcs.asm (save_r2_r31, return_r2_r31,
save_r20_r31, return_r20_r31, save_r21_r31, return_r21_r31,
save_r22_r31, return_r22_r31, save_r23_r31, return_r23_r31,
save_r24_r31, return_r24_r31, save_r25_r31, return_r25_r31,
save_r26_r31, return_r26_r31, save_r27_r31, return_r27_r31,
save_r28_r31, return_r28_r31, save_r29_r31, return_r29_r31,
save_r31, return_r31, save_interrupt, return_interrupt,
save_all_interrupt, return_all_interrupt, L_save_r2_r31,
L_return_interrupt, callt_return_interrupt, L_restore_all_interrupt,
L_save_##START##_r31c, L_callt_save_r31c: Updated as per the
new ABI requirements.
save_r6_r9, L_callt_save_r6_r9: Remove.
* config/v850/predicates.md (even_reg_operand, disp23_operand,
const_float_1_operand const_float_0_operand): New Predicates.
(pattern_is_ok_for_prepare, pattern_is_ok_for_prologue,
pattern_is_ok_for_epilogue): Update as per the ABI requirements.
* config/v850/t-v850: Update multilibs for new target variants.
(save_varargs, callt_save_varargs, callt_save_r6_r9): Remove.
* config/v850/t-v850e: Likewise.
* config/v850/v850.c (v850_issue_rate): New.
(v850_strict_argument_naming): New.
(function_arg): Modify to generate a different ABI.
(print_operand): Update case 'z' to support float modes.
(output_move_single): Modify to generate appropriate and better
assembly.
(v850_float_z_comparison_operator, v850_select_cc_mode,
v850_float_nz_comparison_operator, v850_gen_float_compare,
v850_gen_compare): New functions to support comparison of
float values.
(ep_memory_offset): Add support for V850E2 targets.
(INTERRUPT_FIXED_NUM, INTERRUPT_ALL_SAVE_NUM): Update.
(INTERRUPT_REGPARM_NUM): Remove.
(compute_register_save_size): Add extra case to save/restore
long call.
(use_prolog_function): New function to support prologue.
(expand_prologue): Add support for V850E2 targets and modified
as per the current ABI requirements.
(expand_epilogue): Likewise.
(construct_restore_jr): Modify based on TARGET_LONG_CALLS.
(construct_save_jarl): Likewise.
(construct_dispose_instruction): Update as per the current ABI
requirements.
(construct_prepare_instruction): Likewise.
* config/v850/v850.h(TARGET_CPU_DEFAULT): Add target predefines.
(TARGET_CPU_v850e2, TARGET_CPU_v850e2v3): Define
(CPP_SPEC): Updated to support v850e2 targets.
(STRICT_ALIGNMENT): Modified.
(FIRST_PSEUDO_REGISTER): Updated to add even registers.
(FIXED_REGISTERS): Likewise.
(CALL_USED_REGISTERS): Likewise.
(CONDITIONAL_REGISTER_USAGE): Updated.
(HARD_REGNO_MODE_OK): Updated.
(reg_class): Updated to add even registers.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
(REGNO_REG_CLASS): Updated for CC registers.
(REG_CLASS_FROM_LETTER): Added support for even registers.
(REGNO_OK_FOR_BASE_P): Updated for CC registers.
(STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM, LINK_POINTER_REGNUM,
ARG_POINTER_REGNUM): Updated.
(FUNCTION_ARG_ADVANCE): Define.
(REG_PARM_STACK_SPACE): Update as per the current ABI requirements.
(OUTGOING_REG_PARM_STACK_SPACE): Remove.
(EXTRA_CONSTRAINT): Add new constraint 'W' for 23-bit displacement.
(GO_IF_LEGITIMATE_ADDRESS): Updated.
(SELECT_CC_MODE): Define.
(REGISTER_NAMES): Updated to add psw and fcc registers.
(ADDITIONAL_REGISTER_NAMES): Updated.
(ASM_OUTPUT_ADDR_DIFF_ELT): Updated to support new targets.
(JUMP_TABLES_IN_TEXT_SECTION): Updated.
* config/v850/v850.md (define_constants): Define new constants.
(type): Update store,bit1,macc,div,fpu and single attributes.
(cpu): New attribute.
(cc): Add set_z attribute.
(unsign23byte_load, sign23byte_load, unsign23hword_load,
sign23hword_load, 23word_load, 23byte_store, 23hword_store,
23word_store): New instructions for 23-bit displacement load and
store.
(movqi_internal, movhi_internal): Update the attributes.
(movsi, movsi_internal_v850e): Updated to support v850e2 targets.
(movsi_internal_v850e, movsi_internal, movsf_internal): Update
the attributes.
(v850_tst1): Modified using CC_REGNUM.
(tstsi): Remove.
(cmpsi): Modified as define_expand from define_insn.
(cmpsi_insn, cmpsf, cmpdf): New instructions.
(addsi3, subsi3, negsi2, divmodsi4, udivmodsi4, divmodhi4,
udivmodhi4, v850_clr1_1, v850_clr1_2, v850_clr1_3, andsi3,
v850_set1_1, v850_set1_3, iorsi3, v850_not1_1, v850_not1_3, xorsi3,
one_cmplsi2): Clobber the CC_REGNUM register.
(v850_clr1_1, v850_clr1_2, v850_clr1_3, andsi3, v850_set1_1,
v850_set1_2, v850_set1_3, iorsi3, v850_not1_1, v850_not1_2,
v850_not1_3, xorsi3, one_cmplsi2): Update the attributes
accordingly.
(setf_insn, set_z_insn, set_nz_insn): New instructions for
v850e2v3 target.
(movsicc_normal_cc, movsicc_reversed_cc): New instructions.
(movsicc, movsicc_normal, movsicc_reversed): Add support for V850E2
targets.
(sasf_1, sasf_2): Remove.
(sasf): New instruction.
(rotlhi3, rotlhi3_8, rotlsi3, rotlsi3_16): Update to support V850E2
targets. CC_REGNUM register is clobbered and attributes are
updated.
(branch_z_normal, branch_z_invert, branch_nz_normal,
branch_nz_invert): New branch related instructions.
(jump): Updated the attributes.
(switch): Update to support new targets. CC_REGNUM register is
clobbered and attributes are updated.
(call_internal_short, call_internal_long, call_value_internal_short,
call_value_internal_long): Updated the attributes.
(zero_extendhisi2, zero_extendqisi2): CC_REGNUM register is
clobbered and attributes are updated.
(extendhisi_insn, extendhisi2, extendqisi_insn, extendqisi2):
Update to support new targets. CC_REGNUM register is clobbered.
(ashlsi3_v850e2, lshrsi3_v850e2, ashrsi3_v850e2): New shift
instructions.
(lshrsi3, ashrsi3): CC_REGNUM register is clobbered and attributes
are updated.
(ffssi2, addsf3, adddf3, subsf3, subdf3, mulsf3, muldf3, divsf3,
divdf3, minsf3, mindf3, maxsf3, maxdf3, abssf2, absdf2, negsf2,
negdf2, sqrtsf2, sqrtdf2, truncsfsi2, truncdfsi2, floatsisf2,
floatsidf2, extendsfdf2, extenddfsf2, recipsf2, recipdf2,
rsqrtsf2, rsqrtdf2, maddsf4, msubsf4, nmaddsf4, nmsubsf4,
cmpsf_le_insn, cmpsf_lt_insn, cmpsf_ge_insn, cmpsf_gt_insn,
cmpsf_eq_insn, cmpsf_ne_insn, cmpdf_le_insn, cmpdf_lt_insn,
cmpdf_ge_insn, cmpdf_gt_insn, cmpdf_eq_insn, cmpdf_ne_insn, trfsr,
movsfcc, movdfcc, movsfcc_z_insn, movsfcc_nz_insn, movdfcc_z_insn,
movdfcc_nz_insn, movedfcc_z_zero, movedfcc_nz_zero): New floating
point instructions defined for V850e2v3 target.
(callt_save_interrupt, callt_return_interrupt, return_interrupt):
Add support for V850E2 targets and CC_REGNUM register is clobbered.
(callt_save_all_interrupt, callt_restore_all_interrupt): Add
support for new targets.
* config/v850/v850-modes.def: New file.
* config/v850/v850.opt(mstrict-align): Remove.
(mno-strict-align, mjump-tables-in-data-section, mv850e2,
mv850e2v3): New command line options for V850.
* config.gcc: Update the newly added files.
* doc/invoke.texi: Update the newly added command line options for
V850 target.
From-SVN: r162530
Richard Guenther [Mon, 26 Jul 2010 09:26:43 +0000 (09:26 +0000)]
re PR tree-optimization/45052 (volatile ignored)
2010-07-26 Richard Guenther <rguenther@suse.de>
PR tree-optimization/45052
* ipa-pure-const.c (check_stmt): Check volatileness.
From-SVN: r162528
Richard Guenther [Mon, 26 Jul 2010 09:16:01 +0000 (09:16 +0000)]
pr45017.c: Move ...
2010-07-26 Richard Guenther <rguenther@suse.de>
* gcc.c-torture/execute/pr45017.c: Move ...
* gcc.dg/torture/pr45017.c: ... here. Restrict to i?86 and x86_64.
From-SVN: r162527
GCC Administrator [Mon, 26 Jul 2010 00:17:07 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r162525
Eric Botcazou [Sun, 25 Jul 2010 21:46:32 +0000 (21:46 +0000)]
re PR target/44707 (operand requires impossible reload)
PR target/44707
* config/sparc/sparc-protos.h (sparc_legitimize_reload_address): New.
* config/sparc/sparc.c: Include reload.h.
(legitimize_tls_address): Rename into...
(sparc_legitimize_tls_address): ...this.
(legitimize_pic_address): Rename into...
(sparc_legitimize_pic_address): ...this.
(sparc_expand_move): Adjust to above renaming.
(sparc_tls_referenced_p): Likewise.
(sparc_legitimize_tls_address): Likewise.
(sparc_legitimize_pic_address): Likewise.
(sparc_legitimize_address): Likewise.
(sparc_output_mi_thunk): Likewise.
(sparc_legitimize_reload_address): New global function. Recognize
(lo_sum (high ...) ...) patterns generated by earlier passes.
* config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Use above function.
From-SVN: r162521
Eric Botcazou [Sun, 25 Jul 2010 21:32:16 +0000 (21:32 +0000)]
re PR target/44484 (revision 160260 caused sparc64 testsuite failures)
PR target/44484
* config/sparc/predicates.md (memory_reg_operand): Delete.
* config/sparc/sync.md (sync_compare_and_swap): Minor tweaks.
(*sync_compare_and_swap): Encode the address form in the pattern.
(*sync_compare_and_swapdi_v8plus): Likewise.
From-SVN: r162520
Thomas Koenig [Sun, 25 Jul 2010 19:31:37 +0000 (19:31 +0000)]
re PR fortran/40628 (Assignment using "= trim(string)": Optimize "trim" away)
2010-07-25 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/40628
* Make-lang.in: Add fortran/frontend-passes.o.
* gfortran.h: Add prototype for gfc_run_passes.
* resolve.c (gfc_resolve): Call gfc_run_passes.
* frontend-passes.c: New file.
2010-07-25 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/40628
* trim_optimize_1.f90: New test.
* character_comparision_1.f90: New test.
From-SVN: r162519
Jerry DeLisle [Sun, 25 Jul 2010 19:10:09 +0000 (19:10 +0000)]
re PR fortran/42852 (gfortran -Wall warns about truncated lines when only a continuation character is truncated)
2010-07-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/42852
* scanner.c (gfc_next_char_literal): Enable truncation warning for
free-form '&'.
From-SVN: r162518
Jerry DeLisle [Sun, 25 Jul 2010 19:07:58 +0000 (19:07 +0000)]
Fix out of order log entry from 162516 commit.
From-SVN: r162517
Mikael Morin [Sun, 25 Jul 2010 17:01:15 +0000 (17:01 +0000)]
re PR fortran/44660 (ICE in resolve_equivalence())
2010-07-25 Mikael Morin <mikael@gcc.gnu.org>
PR fortran/44660
* gfortran.h (gfc_namespace): New field old_equiv.
(gfc_free_equiv_until): New prototype.
* match.c (gfc_free_equiv_until): New, renamed from gfc_free_equiv with
a parameterized stop condition.
(gfc_free_equiv): Use gfc_free_equiv_until.
* parse.c (next_statement): Save equivalence list.
(reject_statement): Restore equivalence list.
From-SVN: r162516
Jonathan Wakely [Sun, 25 Jul 2010 16:44:38 +0000 (16:44 +0000)]
re PR libstdc++/45060 (Wreorder warning in bits/hashtable.h)
2010-07-25 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/45060
* include/bits/hashtable.h (_Hashtable::_Hashtable(_Hashtable&&)):
Reorder mem-initializers.
From-SVN: r162515
Jerry DeLisle [Sun, 25 Jul 2010 15:35:04 +0000 (15:35 +0000)]
re PR fortran/42852 (gfortran -Wall warns about truncated lines when only a continuation character is truncated)
2010-07-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/42852
* gfortran.dg/wtruncate_fix.f: New test.
From-SVN: r162514
Jerry DeLisle [Sun, 25 Jul 2010 15:07:45 +0000 (15:07 +0000)]
re PR fortran/42852 (gfortran -Wall warns about truncated lines when only a continuation character is truncated)
2010-07-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/42852
* scanner.c (gfc_next_char_literal): Move check for truncation earlier
in the function so that it does not get missed by early exits.
(load_line): Add checks for quoted strings and free form comments to
disable warnings on comments. Add check for ampersand as first
character after truncation and don't warn for this case, but warn if
there are subsequent non-whitespace characters.
From-SVN: r162512
H.J. Lu [Sun, 25 Jul 2010 14:54:03 +0000 (14:54 +0000)]
Support "//" as assembler comments.
2010-07-25 H.J. Lu <hongjiu.lu@intel.com>
PR testsuite/45068
* g++.dg/debug/dwarf2/nested-2.C: Support "//" as comments.
From-SVN: r162511
GCC Administrator [Sun, 25 Jul 2010 00:17:57 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r162507
Gerald Pfeifer [Sat, 24 Jul 2010 20:00:49 +0000 (20:00 +0000)]
install.texi (Specific, [...]): Adjust to recent changes.
* doc/install.texi (Specific, *-*-freebsd*): Adjust to recent
changes. Streamline paragraph on compatibility with the system
compiler.
From-SVN: r162503
Richard Guenther [Sat, 24 Jul 2010 16:58:19 +0000 (16:58 +0000)]
re PR lto/43788 (ICE: verify_stmts failed: statement marked for throw, but doesn't)
2010-07-24 Richard Guenther <rguenther@suse.de>
PR lto/43788
* g++.dg/lto/
20100724-1_0.C: New testcase.
From-SVN: r162502
Richard Guenther [Sat, 24 Jul 2010 16:49:38 +0000 (16:49 +0000)]
re PR lto/43212 ([LTO] error: control flow in the middle of basic block)
2010-07-24 Richard Guenther <rguenther@suse.de>
PR lto/43212
* gcc.dg/lto/
20100724-1_0.c: New testcase.
* gcc.dg/lto/
20100724-1_1.c: Likewise.
From-SVN: r162501
Tobias Burnus [Sat, 24 Jul 2010 16:32:11 +0000 (18:32 +0200)]
re PR fortran/40011 (Problems with -fwhole-file)
2010-07-24 Tobias Burnus <burnus@net-b.de>
PR fortran/40011
* parse.c (gfc_parse_file): Do not override
gfc_global_ns_list items.
2010-07-24 Tobias Burnus <burnus@net-b.de>
PR fortran/40011
* gfortran.dg/whole_file_21.f90: New.
* gfortran.dg/integer_exponentiation_3.F90: Use
-ffloat-store only for i?86/x86-64 -m32.
From-SVN: r162500
Steven Bosscher [Sat, 24 Jul 2010 12:37:51 +0000 (12:37 +0000)]
re PR middle-end/45035 (FAIL: gcc.dg/guality/pr36728-2.c)
PR middle-end/45035
* alias.c (true_dependence_1): Fix thinko in merge of old
true_dependence and canon_true_dependence.
From-SVN: r162499
Tobias Burnus [Sat, 24 Jul 2010 07:47:43 +0000 (09:47 +0200)]
entry_13.f90: Use abs() > eps instead of "/=".
2010-07-24 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/entry_13.f90: Use abs() > eps instead of "/=".
* gfortran.dg/integer_exponentiation_3.F90: Use -ffloat-store.
Missed files from previous commit:
* gfortran.dg/func_decl_5.f90: New.
* gfortran.dg/intrinsic_std_6.f90: New.
From-SVN: r162498
Jan Hubicka [Sat, 24 Jul 2010 01:04:29 +0000 (03:04 +0200)]
lto-streamer-out.c (write_symbol): Fix visibilities of external references.
* lto-streamer-out.c (write_symbol): Fix visibilities of external
references.
From-SVN: r162497
GCC Administrator [Sat, 24 Jul 2010 00:17:11 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r162496
Le-Chun Wu [Fri, 23 Jul 2010 22:20:45 +0000 (22:20 +0000)]
Fix violations of self-assignment check in GCC source.
From-SVN: r162492
Tobias Burnus [Fri, 23 Jul 2010 22:15:51 +0000 (00:15 +0200)]
re PR fortran/45045 (Named COMMON with different size: No warning with -fwhole-file)
gcc/fortran/
2010-07-24 Tobias Burnus <burnus@net-b.de>
* options.c (gfc_init_options): Enable -fwhole-file by default.
* interface.c (compare_parameter): Assume a Hollerith constant is
compatible with all other argument types.
libgomp/
2010-07-24 Tobias Burnus <burnus@net-b.de>
* testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
silence -fwhole-file warning.
gcc/testsuite/
2010-07-24 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/func_decl_4.f90: Split test into two ...
* gfortran.dg/func_decl_5.f90: ... parts.
* gfortran.dg/common_resize_1.f: xfail two warnings (cf. PR 45045).
* gfortran.dg/bounds_temporaries_1.f90: Add new dg-warning.
* gfortran.dg/global_references_1.f90: Add new dg-warning.
* gfortran.dg/generic_actual_arg.f90: Add new dg-warning.
* gfortran.dg/entry_17.f90: Remove no-longer needed dg-warning.
* gfortran.dg/used_before_typed_4.f90: Add new dg-warning.
* gfortran.dg/bounds_check_strlen_1.f90: Add new dg-warning.
* gfortran.dg/intrinsic_std_1.f90: Split by remove tree dump ...
* gfortran.dg/intrinsic_std_6.f90: ... and create a dump test.
* gfortran.dg/sizeof.f90: Make test valid.
* gfortran.dg/pr20865.f90: Add new dg-error.
* gfortran.dg/integer_exponentiation_2.f90: Add new dg-warnings.
* gfortran.dg/g77/
19990218-0.f: Ditto.
* gfortran.dg/g77/
19990218-1.f: Ditto.
* gfortran.dg/g77/970625-2.f: Ditto.
* gfortran.dg/pr37243.f: Fix function declaration.
* gfortran.dg/use_only_1.f90: Fix implicit typing.
* gfortran.dg/loc_1.f90: Fix pointer datatype.
From-SVN: r162491
Eric Botcazou [Fri, 23 Jul 2010 20:19:55 +0000 (20:19 +0000)]
utils.c (update_pointer_to): In the unconstrained array case, merge the alias set of the old pointer type.
* gcc-interfaces/utils.c (update_pointer_to): In the unconstrained
array case, merge the alias set of the old pointer type.
From-SVN: r162488
Tobias Burnus [Fri, 23 Jul 2010 20:13:07 +0000 (22:13 +0200)]
re PR fortran/44945 (Wrong decl for module vars / FAIL: gfortran.dg/char_array_structure_constructor.f90)
2010-07-23 Tobias Burnus <burnus@net-b.de>
PR fortran/44945
* trans-decl.c (gfc_get_symbol_decl): Use module decl with
-fwhole-file also for derived types.
* trans-types.c (copy_dt_decls_ifequal): Remove static and
rename to gfc_copy_dt_decls_ifequal.
(gfc_get_derived_type): Update call.
* trans-types.h (gfc_copy_dt_decls_ifequal): Add prototype.
2010-07-23 Tobias Burnus <burnus@net-b.de>
PR fortran/44945
* gfortran.dg/char_array_structure_constructor.f90: Add
-fwhole-file as dg-option as it otherwise fails on some
systems.
From-SVN: r162487
Tobias Burnus [Fri, 23 Jul 2010 20:07:30 +0000 (22:07 +0200)]
re PR fortran/45030 (-fwhole-file: Bogus error message with ENTRY and different result types)
2010-07-23 Tobias Burnus <burnus@net-b.de>
PR fortran/45030
* resolve.c (resolve_global_procedure): Properly handle ENTRY.
From-SVN: r162486
Eric Botcazou [Fri, 23 Jul 2010 19:53:29 +0000 (19:53 +0000)]
utils.c (gnat_types_compatible_p): Revert latest change and recurse only for multidimensional array types instead.
* gcc-interface/utils.c (gnat_types_compatible_p): Revert latest change
and recurse only for multidimensional array types instead.
From-SVN: r162485
Marc Glisse [Fri, 23 Jul 2010 19:35:24 +0000 (19:35 +0000)]
re PR bootstrap/44455 (GCC fails to build if MPFR 3.0.0 (Release Candidate) is used)
2010-07-23 Marc Glisse <marc.glisse@normalesup.org>
PR bootstrap/44455
* configure.ac (extra_mpfr_configure_flags): Copy from
extra_mpc_gmp_configure_flags.
* configure: Re-generated.
From-SVN: r162482
Richard Guenther [Fri, 23 Jul 2010 19:30:37 +0000 (19:30 +0000)]
re PR lto/43071 (ICE: SIGSEGV with -fwhopr -fcompare-debug)
2010-07-23 Richard Guenther <rguenther@suse.de>
PR lto/43071
* gcc.c (LINK_COMMAND_SPEC): Filter out -fcompare-debug
for -flto and -fwhopr.
* g++.dg/lto/
20100723-1_0.C: New testcase.
From-SVN: r162481
H.J. Lu [Fri, 23 Jul 2010 18:44:16 +0000 (18:44 +0000)]
Require OSXSAVE for AVX support.
2010-07-23 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/aes-avx-check.h (main): Require OSXSAVE for
AVX support.
* gcc.target/i386/pclmul-avx-check.h (main): Likewise.
* gcc.target/x86_64/abi/avx/avx-check.h (main): Likewise.
From-SVN: r162480
Kai Tietz [Fri, 23 Jul 2010 18:32:25 +0000 (18:32 +0000)]
re PR preprocessor/41943 (include search path composition is bogus)
2010-07-23 Kai Tietz <kai.tietz@onevision.com>
PR target/41943
* Makefile.in (USER_H_INC_NEXT_PRE,
USER_H_INC_NEXT_POST): New.
(stmp-int-hdrs): Prefix/postfix headers by include_next.
* config.gcc (user_headers_inc_next_pre): New.
(user_headers_inc_next_post): Likewise.
(*-w64-mingw*): Use for float.h post-fixing, and for
stddef.h/stdarg.h pre-fixing by include_next.
* configure.ac (user_headers_inc_next_post): New.
(user_headers_inc_next_pre): New.
* configure: Regenerated.
From-SVN: r162479
Rainer Orth [Fri, 23 Jul 2010 17:58:57 +0000 (17:58 +0000)]
re PR target/18788 ("-pthreads" option with "-shared" does not cause libpthread.so to be linked in.)
libjava:
* configure.ac (*-*-solaris2.8): Use alternate thread library.
Add libthread.
(*-*-solaris2.9): Use libthread.
* configure: Regenerate.
libgomp:
* configure.tgt (*-*-solaris2.[56]*): Removed.
gcc:
* configure.ac: Don't disable TLS on Solaris 8/9 by default
Set tga_func for Solaris 2/x86 resp. SPARC.
Remove duplicate parts of sparc*-sun-solaris2.* TLS check.
(LIB_THREAD_LDFLAGS_SPEC): Define.
(LIB_TLS_SPEC): Define.
Check for required Sun ld version.
* configure: Regenerate.
* config.in: Regenerate.
* config/sol2.h (LIB_SPEC): Use LIB_THREAD_LDFLAGS_SPEC with
-pthread, -threads, LIB_TLS_SPEC with -pthread.
* doc/install.texi (Specific, *-*-solaris2*): Document use of
alternate thread libraries on Solaris 8.
Document TLS patch requirements.
* doc/sourcebuild.texi (Add Options): Sort alphabetically.
Document tls.
PR target/18788
* config/sol2.h (LIB_SPEC): Link with thread libraries even with
-shared.
gcc/testsuite:
* lib/target-supports.exp (add_options_for_tls): New proc.
* g++.dg/tls/static-1.C: Use dg-add-options tls.
* g++.dg/tls/static-1a.cc: Likewise.
* gcc.dg/tls/emutls-1.c: Likewise.
* gcc.dg/tls/opt-11.c: Likewise.
* gcc.dg/tls/opt-12.c: Likewise.
* gcc.dg/tls/pr24428-2.c: Likewise.
* gcc.dg/tls/pr24428.c: Likewise.
* obj-c++.dg/tls/static-1.mm: Likewise.
* obj-c++.dg/torture/tls/thr-init-1.mm: Likewise.
* obj-c++.dg/torture/tls/thr-init-2.mm: Likewise.
* obj-c++.dg/torture/tls/thr-init-3.mm: Likewise.
* objc.dg/torture/tls/thr-init-2.m: Likewise.
* objc.dg/torture/tls/thr-init-3.m: Likewise.
* objc.dg/torture/tls/thr-init.m: Likewise.
* gcc.dg/lto/20090210_0.c: Add -pthread for *-*-solaris2.[89].
From-SVN: r162478
Uros Bizjak [Fri, 23 Jul 2010 17:15:21 +0000 (19:15 +0200)]
loadpre6.c: Cleanup fre dump file.
* gcc.dg/tree-ssa/loadpre6.c: Cleanup fre dump file.
* gcc.dg/ipa/ipa-sra-6.c: Cleanup eipa_sra dump file.
* gcc.dg/ipa/pure-const-2.c: Cleanup local-pure-const1 and
optimized dump files.
From-SVN: r162477
Jakub Jelinek [Fri, 23 Jul 2010 17:04:35 +0000 (19:04 +0200)]
tree.h (struct tree_base): Add nameless_flag bitfield.
* tree.h (struct tree_base): Add nameless_flag bitfield.
(TYPE_NAMELESS, DECL_NAMELESS): Define.
* omp-low.c (create_omp_child_function, scan_omp_parallel,
scan_omp_task, lower_omp_taskreg): Set DECL_NAMELESS and/or
DECL_ARTIFICIAL where needed.
* dwarf2out.c (dwarf2_name): Return NULL if DECL_NAMELESS.
(type_tag): Return NULL if TYPE_NAMELESS or if TYPE_DECL
has DECL_NAMELESS set.
* trans-types.c (gfc_get_array_descriptor_base,
gfc_get_array_type_bounds): Set TYPE_NAMELESS.
* trans-decl.c (gfc_build_qualified_array): Set DECL_NAMELESS
instead of clearing DECL_NAME.
(gfc_build_dummy_array_decl): Set DECL_NAMELESS.
From-SVN: r162476
Jakub Jelinek [Fri, 23 Jul 2010 17:03:16 +0000 (19:03 +0200)]
re PR tree-optimization/45047 (ICE in vectorizable_store)
PR tree-optimization/45047
* gcc.c-torture/compile/pr45047.c: New test.
From-SVN: r162475
Nathan Froyd [Fri, 23 Jul 2010 16:53:48 +0000 (16:53 +0000)]
config.host (powerpc*-eabispe*): Set tmake_file.
* config.host (powerpc*-eabispe*): Set tmake_file.
(powerpc*-eabi*): Likewise.
* config/rs6000/t-ppccomm (EXTRA_PARTS): Add crtbegin, crtend,
crtbeginS, crtendS, crtbeginT.
From-SVN: r162474
Uros Bizjak [Fri, 23 Jul 2010 16:41:39 +0000 (18:41 +0200)]
float-range-3.c: Use "dg-do compile" dejagnu directive instead of dg-compile.
* gcc.dg/float-range-3.c: Use "dg-do compile" dejagnu directive
instead of dg-compile.
* gcc.dg/float-range-4.c: Ditto.
* gcc.dg/float-range-5.c: Ditto.
* gcc.dg/fold-overflow-1.c: Ditto.
* gcc.dg/gomp/sections-4.c: Ditto.
* gcc.dg/transparent-union-1.c: Ditto.
* gcc.dg/transparent-union-2.c: Ditto.
* gcc.target/i386/pr39315-check.c: Ditto.
* g++.dg/gomp/sections-4.C: Ditto.
* g++.dg/template/dtor7.C: Ditto.
* g++.dg/tree-ssa/pr19952.C: Ditto.
* gfortran.dg/derived_constructor_comps_3.f90: Ditto.
* gfortran.dg/graphite/pr42185.f90: Ditto.
* gfortran.dg/namelist_36.f90: Ditto.
* gnat.dg/noreturn1.adb: Ditto.
* gnat.dg/specs/small_alignment.ads: Ditto.
From-SVN: r162470
Martin Jambor [Fri, 23 Jul 2010 16:35:52 +0000 (18:35 +0200)]
re PR tree-optimization/44915 (ICE: SIGSEGV in walk_aliased_vdefs_1.constprop.42 (tree-ssa-alias.c:1707) with -findirect-inlining)
2010-07-23 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/44915
* ipa-cp.c (cgraph_gate_cp): Also check that optimize is true.
* ipa-inline.c (cgraph_mark_inline_edge): Likewise.
(analyze_function): Likewise.
* testsuite/g++.dg/torture/pr44915.C: New test.
From-SVN: r162469
Martin Jambor [Fri, 23 Jul 2010 16:31:48 +0000 (18:31 +0200)]
re PR tree-optimization/44914 (ICE: in calc_dfs_tree, at dominance.c:395 with -fipa-sra -fnon-call-exceptions)
2010-07-23 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/44914
* tree-sra.c (sra_modify_function_body): Return true if CFG was
changed, add purging dead eh edges.
(ipa_sra_modify_function_body): Return true if CFG was changed,
simplify purging dead eh edges.
(modify_function): Return true if CFG was changed.
(perform_intra_sra): Add TODO_cleanup_cfg to the return value if CFG
was changed.
(ipa_early_sra): Likewise.
* testsuite/g++.dg/tree-ssa/pr44914.C: New test.
From-SVN: r162468
Uros Bizjak [Fri, 23 Jul 2010 15:25:15 +0000 (17:25 +0200)]
* gcc.dg/pr36997.c: Adjust dg-message line number.
From-SVN: r162467
Jie Zhang [Fri, 23 Jul 2010 14:47:46 +0000 (14:47 +0000)]
re PR target/44290 (__naked attribute is broken)
PR target/44290
* attribs.c (decl_attributes): Insert "noinline" and "noclone"
if "naked".
* tree-sra.c (ipa_sra_preliminary_function_checks): Return
false if ! tree_versionable_function_p.
testsuite/
PR target/44290
* gcc.dg/pr44290-1.c: New test.
* gcc.dg/pr44290-2.c: New test.
From-SVN: r162466
H.J. Lu [Fri, 23 Jul 2010 14:37:21 +0000 (07:37 -0700)]
Cast to unsigned long.
2010-07-23 H.J. Lu <hongjiu.lu@intel.com>
PR bootstrap/45042
* lto-plugin.c (translate): Cast to unsigned long.
From-SVN: r162465
Nathan Froyd [Fri, 23 Jul 2010 14:31:20 +0000 (14:31 +0000)]
builtins.def (BUILT_IN_ARGS_INFO): Remove.
* builtins.def (BUILT_IN_ARGS_INFO): Remove.
* ipa-pure-const.c (special_builtlin_state): Remove
BUILT_IN_ARGS_INFO case.
* tree-stdarg.c (execute_optimize_stdarg): Likewise.
* builtins.c (expand_builtin): Likewise.
(expand_builtin_args_info): Remove.
* doc/tm.texi (__builtin_args_info): Remove.
(__builtin_next_arg): Adjust to not refer to __builtin_args_info.
* doc/tm.text.in: Likewise.
From-SVN: r162463
Paul Thomas [Fri, 23 Jul 2010 14:25:55 +0000 (14:25 +0000)]
re PR fortran/24524 (Fortran dependency checking should reverse loops)
2009-07-23 Paul Thomas <pault@gcc.gnu.org>
PR fortran/24524
* trans-array.c (gfc_init_loopinfo): Initialize the reverse
field.
gfc_trans_scalarized_loop_end: If reverse set in dimension n,
reverse the scalarization loop.
gfc_conv_resolve_dependencies: Pass the reverse field of the
loopinfo to gfc_dep_resolver.
trans-expr.c (gfc_trans_assignment_1): Enable loop reversal for
assignment by resetting loop.reverse.
gfortran.h : Add the gfc_reverse enum.
trans.h : Add the reverse field to gfc_loopinfo.
dependency.c (gfc_check_dependency): Pass null to the new arg
of gfc_dep_resolver.
(gfc_check_section_vs_section): Check for reverse dependencies.
(gfc_dep_resolver): Add reverse argument and deal with the loop
reversal logic.
dependency.h : Modify prototype for gfc_dep_resolver to include
gfc_reverse *.
From-SVN: r162462
Richard Guenther [Fri, 23 Jul 2010 14:01:49 +0000 (14:01 +0000)]
lto-symtab.c (lto_symtab_merge): Use gtc_mode enum values.
2010-07-23 Richard Guenther <rguenther@suse.de>
* lto-symtab.c (lto_symtab_merge): Use gtc_mode enum
values.
(lto_symtab_merge_decls_2): Likewise.
* tree-ssa.c (useless_type_conversion_p): Likewise.
* lto-streamer-in.c (input_gimple_stmt): Likewise.
* gimple.c (gtc_visited2, gtc_ob2): Remove.
(struct type_pair_d): Make same_p an array indexed by mode.
Update comment.
(lookup_type_pair): Update initialization.
(struct sccs): Adjust same_p type.
(gimple_types_compatible_p_1, gtc_visit, gimple_types_compatible_p):
Adjust.
(print_gimple_types_stats): Likewise.
* gimple.h (enum gtc_mode): New.
(gimple_types_compatible_p): Adjust prototype.
From-SVN: r162461