ian [Fri, 8 Nov 2013 05:46:22 +0000 (05:46 +0000)]
compiler: Correct types when type conversion makes backend call.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204559
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Fri, 8 Nov 2013 00:38:08 +0000 (00:38 +0000)]
Remove duplicate contents in gcc/config/rs6000/t-xilinx
2013-11-08 Tom de Vries <tom@codesourcery.com>
* config/rs6000/t-xilinx: Remove duplicate contents.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204555
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 8 Nov 2013 00:16:23 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204554
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Thu, 7 Nov 2013 23:38:47 +0000 (23:38 +0000)]
runtime: Fixes for Alpha.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204551
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Thu, 7 Nov 2013 22:39:15 +0000 (22:39 +0000)]
2013-11-07 Janus Weil <janus@gcc.gnu.org>
PR fortran/58471
* primary.c (gfc_expr_attr): Check for result symbol.
2013-11-07 Janus Weil <janus@gcc.gnu.org>
PR fortran/58471
* gfortran.dg/constructor_9.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204547
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Thu, 7 Nov 2013 21:53:54 +0000 (21:53 +0000)]
* config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Rewrite
FP_EX_INEXACT handling.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204546
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Thu, 7 Nov 2013 21:20:18 +0000 (21:20 +0000)]
* gcc.dg/atomic-compare-exchange-1.c,
gcc.dg/atomic-compare-exchange-2.c,
gcc.dg/atomic-compare-exchange-3.c,
gcc.dg/atomic-compare-exchange-4.c,
gcc.dg/atomic-compare-exchange-5.c, gcc.dg/atomic-exchange-1.c,
gcc.dg/atomic-exchange-2.c, gcc.dg/atomic-exchange-3.c,
gcc.dg/atomic-exchange-4.c, gcc.dg/atomic-exchange-5.c,
gcc.dg/atomic-fence.c, gcc.dg/atomic-flag.c,
gcc.dg/atomic-generic.c, gcc.dg/atomic-invalid.c,
gcc.dg/atomic-load-1.c, gcc.dg/atomic-load-2.c,
gcc.dg/atomic-load-3.c, gcc.dg/atomic-load-4.c,
gcc.dg/atomic-load-5.c, gcc.dg/atomic-lockfree.c,
gcc.dg/atomic-noinline.c, gcc.dg/atomic-op-1.c,
gcc.dg/atomic-op-2.c, gcc.dg/atomic-op-3.c, gcc.dg/atomic-op-4.c,
gcc.dg/atomic-op-5.c, gcc.dg/atomic-param.c,
gcc.dg/atomic-store-1.c, gcc.dg/atomic-store-2.c,
gcc.dg/atomic-store-3.c, gcc.dg/atomic-store-4.c,
gcc.dg/atomic-store-5.c: Declare main as returning int.
* gcc.dg/atomic-exchange-1.c, gcc.dg/atomic-exchange-2.c,
gcc.dg/atomic-exchange-3.c, gcc.dg/atomic-exchange-4.c,
gcc.dg/atomic-exchange-5.c: Separate increments of count from
expression using value of count.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204545
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Thu, 7 Nov 2013 21:15:25 +0000 (21:15 +0000)]
gcc:
2013-11-05 Andrew MacLeod <amacleod@redhat.com>
Joseph Myers <joseph@codesourcery.com>
* tree-core.h (enum cv_qualifier): Add TYPE_QUAL_ATOMIC.
(enum tree_index): Add TI_ATOMICQI_TYPE, TI_ATOMICHI_TYPE,
TI_ATOMICSI_TYPE, TI_ATOMICDI_TYPE and TI_ATOMICTI_TYPE.
(struct tree_base): Add atomic_flag field.
* tree.h (TYPE_ATOMIC): New accessor macro.
(TYPE_QUALS, TYPE_QUALS_NO_ADDR_SPACE): Add TYPE_QUAL_ATOMIC.
(TYPE_QUALS_NO_ADDR_SPACE_NO_ATOMIC): New macro.
(atomicQI_type_node, atomicHI_type_node, atomicSI_type_node)
(atomicDI_type_node, atomicTI_type_node): New macros for type
nodes.
* tree.c (set_type_quals): Set TYPE_ATOMIC.
(find_atomic_core_type): New function.
(build_qualified_type): Adjust alignment for qualified types.
(build_atomic_base): New function
(build_common_tree_nodes): Build atomicQI_type_node,
atomicHI_type_node, atomicSI_type_node, atomicDI_type_node and
atomicTI_type_node.
* print-tree.c (print_node): Print atomic qualifier.
* tree-pretty-print.c (dump_generic_node): Print atomic type
attribute.
* target.def (atomic_assign_expand_fenv): New hook.
* doc/tm.texi.in (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New @hook.
* doc/tm.texi: Regenerate.
* targhooks.c (default_atomic_assign_expand_fenv): New function.
* targhooks.h (default_atomic_assign_expand_fenv): Declare.
* sync-builtins.def (__atomic_feraiseexcept): New built-in
function.
* config/i386/i386-builtin-types.def (VOID_FTYPE_PUSHORT): New
function type.
* config/i386/i386.c (enum ix86_builtins): Add
IX86_BUILTIN_FNSTENV, IX86_BUILTIN_FLDENV, IX86_BUILTIN_FNSTSW and
IX86_BUILTIN_FNCLEX.
(bdesc_special_args): Add __builtin_ia32_fnstenv,
__builtin_ia32_fldenv, __builtin_ia32_fnstsw and
__builtin_ia32_fnclex.
(ix86_expand_builtin): Handle the new built-in functions.
(ix86_atomic_assign_expand_fenv): New function.
(TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New macro.
* config/i386/i386.md (UNSPECV_FNSTENV, UNSPECV_FLDENV)
(UNSPECV_FNSTSW, UNSPECV_FNCLEX): New unspecs.
(fnstenv, fldenv, fnstsw, fnclex): New insns.
gcc/c-family:
2013-11-05 Andrew MacLeod <amacleod@redhat.com>
Joseph Myers <joseph@codesourcery.com>
* c-common.h (enum rid): Add RID_ATOMIC.
* c-common.c (c_common_reswords): Add _Atomic.
(sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
(keyword_is_type_qualifier): Accept RID_ATOMIC.
* c-format.c (check_format_types): Check for extra _Atomic
qualifiers in format argument.
* c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
(pp_c_type_qualifier_list): Mention _Atomic in comment.
gcc/c:
2013-11-05 Joseph Myers <joseph@codesourcery.com>
Andrew MacLeod <amacleod@redhat.com>
* c-aux-info.c (gen_type): Handle atomic qualifier.
* c-decl.c (validate_proto_after_old_defn): Do not remove atomic
qualifiers when compating types.
(shadow_tag_warned): Handle atomic_p in declspecs.
(quals_from_declspecs): Likewise.
(start_decl): Use c_type_promotes_to when promoting argument
types.
(grokdeclarator): Handle _Atomic.
(get_parm_info): Diagnose any qualifier on "void" as only
parameter.
(store_parm_decls_oldstyle): Do not remove atomic qualifiers when
comparing types. Use c_type_promotes_to when promoting argument
types.
(finish_function): Use c_type_promotes_to when promoting argument
types.
(build_null_declspecs): Handle atomic_p in declspecs.
(declspecs_add_qual): Handle RID_ATOMIC.
* c-parser.c (c_token_starts_typename, c_token_is_qualifier)
(c_token_starts_declspecs): Handle RID_ATOMIC.
(c_parser_declspecs): Handle atomic type specifiers and
qualifiers.
(c_parser_typeof_specifier): Remove const and _Atomic qualifiers
from types of expressions with atomic type.
(c_parser_direct_declarator_inner): Use convert_lvalue_to_rvalue.
(c_parser_attribute_any_word): Handle RID_ATOMIC.
(c_parser_initializer, c_parser_initelt, c_parser_initval)
(c_parser_statement_after_labels, c_parser_switch_statement)
(c_parser_for_statement, c_parser_expr_no_commas)
(c_parser_conditional_expression, c_parser_binary_expression)
(c_parser_cast_expression, c_parser_unary_expression)
(c_parser_postfix_expression)
(c_parser_postfix_expression_after_primary, c_parser_expression):
Use convert_lvalue_to_rvalue.
(c_parser_expression_conv, c_parser_expr_list): Document
conversion of lvalues to rvalues. Use convert_lvalue_to_rvalue.
(c_parser_objc_synchronized_statement): Use
convert_lvalue_to_rvalue.
(c_parser_objc_selector): Handle RID_ATOMIC.
(c_parser_objc_receiver, c_parser_array_notation): Use
convert_lvalue_to_rvalue.
* c-tree.h (ctsk_typeof): Adjust comment to mention use for
_Atomic (type-name).
(struct c_declspecs): Add atomic_p field.
(convert_lvalue_to_rvalue): Declare.
* c-typeck.c (c_type_promotes_to): Promote atomic types to
corresponding atomic types.
(qualify_type): Don't add _Atomic qualifiers from second argument.
(comp_target_types): Do not allow _Atomic mismatches.
(type_lists_compatible_p): Do not remove atomic qualifiers when
comparing types.
(really_atomic_lvalue, convert_lvalue_to_rvalue)
(build_atomic_assign): New functions.
(build_unary_op): Use build_atomic_assign for atomic increment and
decrement.
(build_conditional_expr): Do not treat _Atomic void as a qualified
version of void.
(build_modify_expr): Use build_atomic_assign for atomic LHS.
(find_anonymous_field_with_type, convert_to_anonymous_field)
(convert_for_assignment): Do not remove atomic qualifiers when
comparing types.
(digest_init): Do not accept initialization of arrays of atomic
elements by string constants.
(build_asm_expr): Use convert_lvalue_to_rvalue.
(build_binary_op): Do not treat _Atomic void as a qualified
version of void.
gcc/objc:
2013-11-05 Andrew MacLeod <amacleod@redhat.com>
* objc-act.c (objc_push_parm): Handle atomic qualifier.
gcc/testsuite:
2013-11-05 Joseph Myers <joseph@codesourcery.com>
* lib/target-supports.exp
(check_effective_target_fenv_exceptions): New function.
* lib/atomic-dg.exp, gcc.dg/atomic/atomic.exp: New files.
* gcc.dg/atomic/c11-atomic-exec-1.c,
gcc.dg/atomic/c11-atomic-exec-2.c,
gcc.dg/atomic/c11-atomic-exec-3.c,
gcc.dg/atomic/c11-atomic-exec-4.c,
gcc.dg/atomic/c11-atomic-exec-5.c, gcc.dg/c11-atomic-1.c,
gcc.dg/c11-atomic-2.c, gcc.dg/c11-atomic-3.c,
gcc.dg/c90-atomic-1.c, gcc.dg/c99-atomic-1.c: New tests.
libatomic:
2013-11-05 Joseph Myers <joseph@codesourcery.com>
* fenv.c: New file.
* libatomic.map (LIBATOMIC_1.1): New symbol version. Include
__atomic_feraiseexcept.
* configure.ac (libtool_VERSION): Change to 2:0:1.
(fenv.h): Test for header.
* Makefile.am (libatomic_la_SOURCES): Add fenv.c.
* Makefile.in, auto-config.h.in, configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204544
138bc75d-0d04-0410-961f-
82ee72b054a4
sje [Thu, 7 Nov 2013 20:42:51 +0000 (20:42 +0000)]
2013-11-07 Steve Ellcey <sellcey@mips.com>
* config/mips/mti-linux.h (SYSROOT_SUFFIX_SPEC): Add fp64 directory.
* config/mips/t-mti-linux (MULTILIB_OPTIONS): Add -mfp64 flag.
(MULTILIB_DIRNAMES): Add fp64 directory.
(MULTILIB_EXCEPTIONS): Add new exclusions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204542
138bc75d-0d04-0410-961f-
82ee72b054a4
aldyh [Thu, 7 Nov 2013 20:20:48 +0000 (20:20 +0000)]
* gimplify.c (gimple_regimplify_operands): Do not set
SSA_NAME_DEF_STMT.
* graphite-sese-to-poly.c (remove_simple_copy_phi): Same.
(rewrite_close_phi_out_of_ssa): Same.
(rewrite_phi_out_of_ssa): Same.
(rewrite_degenerate_phi): Same.
(handle_scalar_deps_crossing_scop_limits): Same.
* tree-if-conv.c (predicate_scalar_phi): Same.
* tree-parloops.c (create_loads_for_reductions): Same.
(create_final_loads_for_reduction): Same.
(create_loads_and_stores_for_name): Same.
(transform_to_exit_first_loop): Same.
(create_parallel_loop): Same.
* tree-ssa-loop-im.c
(move_computations_dom_walker::before_dom_children): Same.
* tree-ssa-loop-manip.c (rewrite_phi_with_iv): Same.
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
Same.
* tree-ssa-propagate.c (substitute_and_fold): Same.
* tree-vect-loop.c (vect_finalize_reduction): Same.
* tree-vect-stmts.c (vectorizable_call): Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204541
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Thu, 7 Nov 2013 19:45:28 +0000 (19:45 +0000)]
* config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Handle
FP_EX_DENORM. Store result to volatile location after SSE division
to close interrupt window. Remove unneeded fwait after x87
division since interrupt window will be closed by emitted fstp.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204540
138bc75d-0d04-0410-961f-
82ee72b054a4
mrs [Thu, 7 Nov 2013 19:35:03 +0000 (19:35 +0000)]
* config/pdp11/pdp11.c: Include dbxout.h.
* config/picochip/picochip.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204539
138bc75d-0d04-0410-961f-
82ee72b054a4
congh [Thu, 7 Nov 2013 19:29:45 +0000 (19:29 +0000)]
2013-11-07 Cong Hou <congh@google.com>
PR tree-optimization/56764
* tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
Combine alias checks if it is possible to amortize the runtime
overhead. Return the number of alias checks after merging.
* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
Use the function vect_create_cond_for_alias_checks () to check
the number of alias checks.
2013-11-07 Cong Hou <congh@google.com>
* gcc.dg/vect/vect-alias-check.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204538
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Thu, 7 Nov 2013 19:26:25 +0000 (19:26 +0000)]
* varpool.c (ctor_for_folding): Fix typo in comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204537
138bc75d-0d04-0410-961f-
82ee72b054a4
tschwinge [Thu, 7 Nov 2013 18:09:31 +0000 (18:09 +0000)]
* Makefile.in: Regenerate.
Follow-up to r204173.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204536
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Thu, 7 Nov 2013 17:37:11 +0000 (17:37 +0000)]
* config/arc/arc.c (arc_ifcvt): Use commutativity, e.g.:
reg_a := reg_b + reg_a ==> reg_a := reg_a + reg_b
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204534
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Thu, 7 Nov 2013 17:05:18 +0000 (17:05 +0000)]
* doc/invoke.texi (-fisolate-erroneous-paths): Document.
* gimple-ssa-isolate-paths.c (gate_isolate_erroneous_paths):
No longer check if we have __builtin_trap, assume it's
available.
java/
* builtins.c (initialize_builtins): Provide __builtin_trap.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204533
138bc75d-0d04-0410-961f-
82ee72b054a4
tschwinge [Thu, 7 Nov 2013 15:08:22 +0000 (15:08 +0000)]
gcc/
* doc/sourcebuild.texi (Top Level) <lto-plugin>: GNU ld can use
linker plugins, too.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204521
138bc75d-0d04-0410-961f-
82ee72b054a4
tschwinge [Thu, 7 Nov 2013 15:08:10 +0000 (15:08 +0000)]
* Makefile.tpl: Fix typo.
* Makefile.in: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204520
138bc75d-0d04-0410-961f-
82ee72b054a4
tschwinge [Thu, 7 Nov 2013 15:07:58 +0000 (15:07 +0000)]
libgomp: Prepare for testcases without -fopenmp.
libgomp/
* testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
ALWAYS_CFLAGS.
* testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
* testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
* testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
* testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204519
138bc75d-0d04-0410-961f-
82ee72b054a4
tschwinge [Thu, 7 Nov 2013 15:07:46 +0000 (15:07 +0000)]
Add missing include.
libgomp/
* libgomp_g.h: Include <stddef.h> for size_t.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204518
138bc75d-0d04-0410-961f-
82ee72b054a4
tschwinge [Thu, 7 Nov 2013 15:07:34 +0000 (15:07 +0000)]
Generally link to libgomp for -ftree-parallelize-loops=*.
gcc/
* config/arc/arc.h (LINK_COMMAND_SPEC): For
-ftree-parallelize-loops=*, link to libgomp and its dependencies.
* config/ia64/hpux.h (LIB_SPEC): Likewise.
* config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
* config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
* gcc.c (GOMP_SELF_SPECS): Update comment about libgomp's
dependencies.
libgomp/
* libgomp.spec.in: Update comment about libgomp's dependencies.
* configure.ac: Likewise.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204517
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 7 Nov 2013 14:31:00 +0000 (14:31 +0000)]
* tree-ssa-loop-niter.c: Include tree-ssanames.h.
(determine_value_range): Add loop argument. Use get_range_info to
improve range.
(bound_difference): Adjust caller.
* gcc.dg/tree-ssa/loop-39.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204516
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 7 Nov 2013 14:28:57 +0000 (14:28 +0000)]
* tree-vrp.c (find_assert_locations): Pre-seed live bitmaps for loop
latches from header PHI arguments from the latch edge.
* gcc.dg/unroll_1.c: Add -fno-tree-vrp to dg-options.
* gcc.dg/unroll_2.c: Likewise.
* gcc.dg/unroll_3.c: Likewise.
* gcc.dg/unroll_4.c: Likewise.
* gcc.dg/vrp90.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204515
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Thu, 7 Nov 2013 14:26:17 +0000 (14:26 +0000)]
2013-11-07 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58176
* varasm.c (output_constant): Handle NULLPTR_TYPE.
/testsuite
2013-11-07 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58176
* g++.dg/cpp0x/nullptr30.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204514
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Thu, 7 Nov 2013 13:59:22 +0000 (13:59 +0000)]
Don't set misaligned_prologue_used twice
* config/i386/i386.c (ix86_expand_set_or_movmem): Don't set
misaligned_prologue_used when it has been set.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204512
138bc75d-0d04-0410-961f-
82ee72b054a4
ygribov [Thu, 7 Nov 2013 12:55:42 +0000 (12:55 +0000)]
Fixed typo in ChangeLog.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204509
138bc75d-0d04-0410-961f-
82ee72b054a4
ygribov [Thu, 7 Nov 2013 12:04:45 +0000 (12:04 +0000)]
Allow integer literals as addresses in instrumented builtins.
gcc/
PR sanitizer/59029
* gcc/asan.c (get_mem_refs_of_builtin_call): Allow
integer literals as addresses in instrumented builtins.
gcc-testsuite/
PR sanitizer/59029
* c-c++-common/asan/pr59029.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204508
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Thu, 7 Nov 2013 11:44:04 +0000 (11:44 +0000)]
* config/aarch64/aarch64.c (aarch64_legitimize_reload_address):
Explain why plus_constant is not used.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204507
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 7 Nov 2013 11:33:03 +0000 (11:33 +0000)]
2013-11-07 Richard Biener <rguenther@suse.de>
* tree-ssa-ccp.c (canonicalize_float_value): Rename to ...
(canonicalize_value): ... this. Also handle stripping of
TREE_OVERFLOW.
(get_value, set_lattice_value, get_value_for_expr): Adjust.
* gimple-fold.c (canonicalize_constructor_val): Strip
TREE_OVERFLOW.
* tree-ssa-threadedge.c (set_ssa_name_value): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204506
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 7 Nov 2013 11:28:42 +0000 (11:28 +0000)]
2013-11-07 Richard Biener <rguenther@suse.de>
* tree-dfa.c (get_ref_base_and_extent): Fix casting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204505
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Thu, 7 Nov 2013 09:58:05 +0000 (09:58 +0000)]
Use Pmode with stack_pointer_rtx
gcc/
PR target/59034
* config/i386/i386.md (push peepholer/splitter): Use Pmode
with stack_pointer_rtx.
gcc/testsuite/
PR target/59034
* gcc.target/i386/pr59034-1.c: New test.
* gcc.target/i386/pr59034-2.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204501
138bc75d-0d04-0410-961f-
82ee72b054a4
amker [Thu, 7 Nov 2013 08:34:02 +0000 (08:34 +0000)]
* tree-ssa-loop-ivopts.c (get_shiftadd_cost): Check equality
using operand_equal_p.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204498
138bc75d-0d04-0410-961f-
82ee72b054a4
amker [Thu, 7 Nov 2013 08:12:34 +0000 (08:12 +0000)]
* tree-ssa-loop-ivopts.c (alloc_iv): Lower address expressions.
* tree-affine.c (get_inner_reference_aff): Return base.
* tree-affine.h (get_inner_reference_aff): Change prototype.
* gcc.dg/tree-ssa/loop-2.c: Refine check condition.
* gcc.dg/tree-ssa/ivopt_infer_2.c: Ditto.
* gcc.dg/tree-ssa/ivopt_mult_3.c: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204497
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 7 Nov 2013 00:17:04 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204496
138bc75d-0d04-0410-961f-
82ee72b054a4
dj [Wed, 6 Nov 2013 23:33:33 +0000 (23:33 +0000)]
* c-decl.c (locate_old_decl): If a previous conflicting decl is
both explicit and builtin, print the location of the explicit one.
* gcc.dg/mismatch-decl-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204491
138bc75d-0d04-0410-961f-
82ee72b054a4
dodji [Wed, 6 Nov 2013 22:51:36 +0000 (22:51 +0000)]
Revert "preprocessor/58580 - preprocessor goes OOM with warning for zero literals"
This reverts commit
fc3eff8854861fcd70d33d26095b17fe456fae31.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204490
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Wed, 6 Nov 2013 22:46:39 +0000 (22:46 +0000)]
gcc/testsuite:
* gcc.dg/torture/float128-cmp-invalid.c,
gcc.dg/torture/float128-div-underflow.c,
gcc.dg/torture/float128-extend-nan.c,
gcc.dg/torture/fp-int-convert-float128-timode-3.c: New tests.
libgcc:
* soft-fp/README: Update.
* soft-fp/adddf3.c: Update from glibc.
* soft-fp/addsf3.c: Likewise.
* soft-fp/addtf3.c: Likewise.
* soft-fp/divdf3.c: Likewise.
* soft-fp/divsf3.c: Likewise.
* soft-fp/divtf3.c: Likewise.
* soft-fp/double.h: Likewise.
* soft-fp/eqdf2.c: Likewise.
* soft-fp/eqsf2.c: Likewise.
* soft-fp/eqtf2.c: Likewise.
* soft-fp/extenddftf2.c: Likewise.
* soft-fp/extended.h: Likewise.
* soft-fp/extendsfdf2.c: Likewise.
* soft-fp/extendsftf2.c: Likewise.
* soft-fp/extendxftf2.c: Likewise.
* soft-fp/fixdfdi.c: Likewise.
* soft-fp/fixdfsi.c: Likewise.
* soft-fp/fixdfti.c: Likewise.
* soft-fp/fixsfdi.c: Likewise.
* soft-fp/fixsfsi.c: Likewise.
* soft-fp/fixsfti.c: Likewise.
* soft-fp/fixtfdi.c: Likewise.
* soft-fp/fixtfsi.c: Likewise.
* soft-fp/fixtfti.c: Likewise.
* soft-fp/fixunsdfdi.c: Likewise.
* soft-fp/fixunsdfsi.c: Likewise.
* soft-fp/fixunsdfti.c: Likewise.
* soft-fp/fixunssfdi.c: Likewise.
* soft-fp/fixunssfsi.c: Likewise.
* soft-fp/fixunssfti.c: Likewise.
* soft-fp/fixunstfdi.c: Likewise.
* soft-fp/fixunstfsi.c: Likewise.
* soft-fp/fixunstfti.c: Likewise.
* soft-fp/floatdidf.c: Likewise.
* soft-fp/floatdisf.c: Likewise.
* soft-fp/floatditf.c: Likewise.
* soft-fp/floatsidf.c: Likewise.
* soft-fp/floatsisf.c: Likewise.
* soft-fp/floatsitf.c: Likewise.
* soft-fp/floattidf.c: Likewise.
* soft-fp/floattisf.c: Likewise.
* soft-fp/floattitf.c: Likewise.
* soft-fp/floatundidf.c: Likewise.
* soft-fp/floatundisf.c: Likewise.
* soft-fp/floatunditf.c: Likewise.
* soft-fp/floatunsidf.c: Likewise.
* soft-fp/floatunsisf.c: Likewise.
* soft-fp/floatunsitf.c: Likewise.
* soft-fp/floatuntidf.c: Likewise.
* soft-fp/floatuntisf.c: Likewise.
* soft-fp/floatuntitf.c: Likewise.
* soft-fp/gedf2.c: Likewise.
* soft-fp/gesf2.c: Likewise.
* soft-fp/getf2.c: Likewise.
* soft-fp/ledf2.c: Likewise.
* soft-fp/lesf2.c: Likewise.
* soft-fp/letf2.c: Likewise.
* soft-fp/muldf3.c: Likewise.
* soft-fp/mulsf3.c: Likewise.
* soft-fp/multf3.c: Likewise.
* soft-fp/negdf2.c: Likewise.
* soft-fp/negsf2.c: Likewise.
* soft-fp/negtf2.c: Likewise.
* soft-fp/op-1.h: Likewise.
* soft-fp/op-2.h: Likewise.
* soft-fp/op-4.h: Likewise.
* soft-fp/op-8.h: Likewise.
* soft-fp/op-common.h: Likewise.
* soft-fp/quad.h: Likewise.
* soft-fp/single.h: Likewise.
* soft-fp/soft-fp.h: Likewise.
* soft-fp/subdf3.c: Likewise.
* soft-fp/subsf3.c: Likewise.
* soft-fp/subtf3.c: Likewise.
* soft-fp/truncdfsf2.c: Likewise.
* soft-fp/trunctfdf2.c: Likewise.
* soft-fp/trunctfsf2.c: Likewise.
* soft-fp/trunctfxf2.c: Likewise.
* soft-fp/unorddf2.c: Likewise.
* soft-fp/unordsf2.c: Likewise.
* soft-fp/unordtf2.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204489
138bc75d-0d04-0410-961f-
82ee72b054a4
olegendo [Wed, 6 Nov 2013 22:33:01 +0000 (22:33 +0000)]
* gcc.target/sh/pr51244-11.c: Remove target line.
* gcc.target/sh/sh4a-sincosf.c: Likewise.
* gcc.target/sh/attr-isr-trap_exit.c: Likewise.
* gcc.target/sh/pr51244-15.c: Likewise.
* gcc.target/sh/pr51244-19.c: Likewise.
* gcc.target/sh/cmpstr.c: Likewise.
* gcc.target/sh/pr33135-3.c: Likewise.
* gcc.target/sh/pr53512-2.c: Likewise.
* gcc.target/sh/pr54602-2.c: Likewise.
* gcc.target/sh/pr52483-1.c: Likewise.
* gcc.target/sh/pr21255-2-ml.c: Likewise.
* gcc.target/sh/pr54760-4.c: Likewise.
* gcc.target/sh/pr52483-5.c: Likewise.
* gcc.target/sh/pr54089-2.c: Likewise.
* gcc.target/sh/pr56547-2.c: Likewise.
* gcc.target/sh/pr54089-6.c: Likewise.
* gcc.target/sh/pr51244-20.c: Likewise.
* gcc.target/sh/pr50749-sf-predec-4.c: Likewise.
* gcc.target/sh/sh4a-fsrra.c: Likewise.
* gcc.target/sh/pr50749-qihisi-predec-1.c: Likewise.
* gcc.target/sh/pr50749-sf-postinc-2.c: Likewise.
* gcc.target/sh/pr55303-2.c: Likewise.
* gcc.target/sh/sh2a-resbank.c: Likewise.
* gcc.target/sh/sp-switch.c: Likewise.
* gcc.target/sh/pr51244-3.c: Likewise.
* gcc.target/sh/pr50751-3.c: Likewise.
* gcc.target/sh/pr51244-7.c: Likewise.
* gcc.target/sh/struct-arg-dw2.c: Likewise.
* gcc.target/sh/pr50751-7.c: Likewise.
* gcc.target/sh/pr49468-di.c: Likewise.
* gcc.target/sh/pr50749-qihisi-postinc-4.c: Likewise.
* gcc.target/sh/pr49880-3.c: Likewise.
* gcc.target/sh/pr51244-12.c: Likewise.
* gcc.target/sh/pr53988.c: Likewise.
* gcc.target/sh/pr6526.c: Likewise.
* gcc.target/sh/sh2a-bxor.c: Likewise.
* gcc.target/sh/pr51244-16.c: Likewise.
* gcc.target/sh/sh2a-bclrmem.c: Likewise.
* gcc.target/sh/sh2a-bor.c: Likewise.
* gcc.target/sh/pr53511-1.c: Likewise.
* gcc.target/sh/pr21255-3.c: Likewise.
* gcc.target/sh/pr53512-3.c: Likewise.
* gcc.target/sh/pr33135-4.c: Likewise.
* gcc.target/sh/pr54602-3.c: Likewise.
* gcc.target/sh/pr54760-1.c: Likewise.
* gcc.target/sh/pr52483-2.c: Likewise.
* gcc.target/sh/sh2a-bsetmem.c: Likewise.
* gcc.target/sh/pr54680.c: Likewise.
* gcc.target/sh/pr54386.c: Likewise.
* gcc.target/sh/pr51244-20-sh2a.c: Likewise.
* gcc.target/sh/pr54089-3.c: Likewise.
* gcc.target/sh/pr50749-sf-predec-1.c: Likewise.
* gcc.target/sh/pr54089-7.c: Likewise.
* gcc.target/sh/strlen.c: Likewise.
* gcc.target/sh/pr50749-sf-postinc-3.c: Likewise.
* gcc.target/sh/pr50749-qihisi-predec-2.c: Likewise.
* gcc.target/sh/pr55303-3.c: Likewise.
* gcc.target/sh/pr51244-4.c: Likewise.
* gcc.target/sh/pr50751-4.c: Likewise.
* gcc.target/sh/pr39423-1.c: Likewise.
* gcc.target/sh/pr51244-8.c: Likewise.
* gcc.target/sh/pr55146.c: Likewise.
* gcc.target/sh/pr50751-8.c: Likewise.
* gcc.target/sh/sh2a-bset.c: Likewise.
* gcc.target/sh/pr50749-qihisi-postinc-1.c: Likewise.
* gcc.target/sh/sh2a-movi20s.c: Likewise.
* gcc.target/sh/
20080410-1.c: Likewise.
* gcc.target/sh/pr49880-4.c: Likewise.
* gcc.target/sh/pr51244-13.c: Likewise.
* gcc.target/sh/sh2a-movrt.c: Likewise.
* gcc.target/sh/pr51244-17.c: Likewise.
* gcc.target/sh/pr21255-2-mb.c: Likewise.
* gcc.target/sh/sh2a-bclr.c: Likewise.
* gcc.target/sh/pr33135-1.c: Likewise.
* gcc.target/sh/pr53512-4.c: Likewise.
* gcc.target/sh/pr54602-4.c: Likewise.
* gcc.target/sh/sh4a-bitmovua.c: Likewise.
* gcc.target/sh/pr54760-2.c: Likewise.
* gcc.target/sh/pr52483-3.c: Likewise.
* gcc.target/sh/sh2a-bld.c: Likewise.
* gcc.target/sh/pr54089-4.c: Likewise.
* gcc.target/sh/pr54685.c: Likewise.
* gcc.target/sh/pr50749-sf-predec-2.c: Likewise.
* gcc.target/sh/pr54089-8.c: Likewise.
* gcc.target/sh/pragma-isr-trap-exit.c: Likewise.
* gcc.target/sh/pr50749-qihisi-predec-3.c: Likewise.
* gcc.target/sh/pr50749-sf-postinc-4.c: Likewise.
* gcc.target/sh/pr51244-1.c: Likewise.
* gcc.target/sh/pr50751-1.c: Likewise.
* gcc.target/sh/pr55160.c: Likewise.
* gcc.target/sh/pr51244-5.c: Likewise.
* gcc.target/sh/pr54236-1.c: Likewise.
* gcc.target/sh/pr50751-5.c: Likewise.
* gcc.target/sh/pr52933-1.c: Likewise.
* gcc.target/sh/pr39423-2.c: Likewise.
* gcc.target/sh/pr51244-9.c: Likewise.
* gcc.target/sh/pr49263.c: Likewise.
* gcc.target/sh/pr50749-qihisi-postinc-2.c: Likewise.
* gcc.target/sh/pr49880-1.c: Likewise.
* gcc.target/sh/sh2a-band.c: Likewise.
* gcc.target/sh/pr51244-10.c: Likewise.
* gcc.target/sh/pr49880-5.c: Likewise.
* gcc.target/sh/prefetch.c: Likewise.
* gcc.target/sh/pr51244-14.c: Likewise.
* gcc.target/sh/rte-delay-slot.c: Likewise.
* gcc.target/sh/fpul-usage-1.c: Likewise.
* gcc.target/sh/pr51244-18.c: Likewise.
* gcc.target/sh/pr21255-1.c: Likewise.
* gcc.target/sh/pr33135-2.c: Likewise.
* gcc.target/sh/pr53512-1.c: Likewise.
* gcc.target/sh/pr54602-1.c: Likewise.
* gcc.target/sh/sh2a-rtsn.c: Likewise.
* gcc.target/sh/torture/pragma-isr.c: Likewise.
* gcc.target/sh/torture/pragma-isr2.c: Likewise.
* gcc.target/sh/torture/pr58314.c: Likewise.
* gcc.target/sh/torture/pr34777.c: Likewise.
* gcc.target/sh/torture/pr58475.c: Likewise.
* gcc.target/sh/pr54760-3.c: Likewise.
* gcc.target/sh/sh4a-cosf.c: Likewise.
* gcc.target/sh/pr52483-4.c: Likewise.
* gcc.target/sh/mfmovd.c: Likewise.
* gcc.target/sh/pr54089-1.c: Likewise.
* gcc.target/sh/pr56547-1.c: Likewise.
* gcc.target/sh/pr54089-5.c: Likewise.
* gcc.target/sh/pr50749-sf-predec-3.c: Likewise.
* gcc.target/sh/pr54089-9.c: Likewise.
* gcc.target/sh/sh2a-jsrn.c: Likewise.
* gcc.target/sh/pr49468-si.c: Likewise.
* gcc.target/sh/pr50749-sf-postinc-1.c: Likewise.
* gcc.target/sh/pr50749-qihisi-predec-4.c: Likewise.
* gcc.target/sh/pr55303-1.c: Likewise.
* gcc.target/sh/pr51244-2.c: Likewise.
* gcc.target/sh/pr50751-2.c: Likewise.
* gcc.target/sh/pr54236-2.c: Likewise.
* gcc.target/sh/pr51244-6.c: Likewise.
* gcc.target/sh/cmpstrn.c: Likewise.
* gcc.target/sh/pr50751-6.c: Likewise.
* gcc.target/sh/pr52933-2.c: Likewise.
* gcc.target/sh/pr53568-1.c: Likewise.
* gcc.target/sh/pr50749-qihisi-postinc-3.c: Likewise.
* gcc.target/sh/sh2a-tbr-jump.c: Likewise.
* gcc.target/sh/sh4a-sinf.c: Likewise.
* gcc.target/sh/pr49880-2.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204487
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Wed, 6 Nov 2013 22:28:08 +0000 (22:28 +0000)]
libcpp/
2013-11-06 Tobias Burnus <burnus@net-b.de>
* macro.c (_cpp_builtin_macro_text): Correct
wording of two warnings.
gcc/c-family/
2013-11-06 Tobias Burnus <burnus@net-b.de>
* c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
gcc/
2013-11-06 Tobias Burnus <burnus@net-b.de>
* doc/invoke.texi (Wdate-time): Fix typo.
gcc/testsuite/
2013-11-06 Tobias Burnus <burnus@net-b.de>
* g++.dg/warn/wdate-time.C: Update dg-error pattern.
* gcc.dg/wdate-time.c: Ditto.
* gfortran.dg/wdate-time.F90: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204486
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Wed, 6 Nov 2013 21:52:29 +0000 (21:52 +0000)]
Check __x86_64__ for FPU state
PR sanitizer/59018
* sanitizer_common/sanitizer_platform_limits_posix.cc
(struct_user_fpxregs_struct_sz): Initialize to 0 if __x86_64__ is
defined.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204483
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Wed, 6 Nov 2013 21:51:41 +0000 (21:51 +0000)]
Use 64-bit system types for x86-64
PR sanitizer/59018
* sanitizer_common/sanitizer_platform_limits_linux.cc
(struct_kernel_stat64_sz): Initialize to 0 if __x86_64__ is
defined.
* sanitizer_common/sanitizer_platform_limits_posix.h
(__sanitizer_dirent): Use 64-bit d_ino/d_off if __x86_64__ is
defined.
(__sanitizer___kernel_uid_t): Typedef as unsigned if __x86_64__
is defined.
(__sanitizer___kernel_gid_t): Likewise.
(__sanitizer___kernel_off_t): Typedef as long long if __x86_64__
is defined.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204482
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Wed, 6 Nov 2013 21:50:42 +0000 (21:50 +0000)]
Fix internal_clone for x32
PR sanitizer/59018
* sanitizer_common/sanitizer_linux.cc (internal_clone): Allocate
2 64-bit integers to save and restore fn and arg. Properly load
newtls/child_tidptr into r8/r10.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204481
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Wed, 6 Nov 2013 21:49:36 +0000 (21:49 +0000)]
Cast pointers to uptr for 64-bit syscalls
PR sanitizer/59018
* sanitizer_common/sanitizer_linux.cc (internal_mmap,
internal_munmap, internal_open, internal_read, internal_write,
internal_stat, internal_lstat, internal_fstat, internal_readlink,
internal_unlink, internal_execve, NanoTime, BlockingMutex::Lock,
BlockingMutex::Unlock, internal_ptrace, internal_getdents,
internal_sigaltstack): Cast pointers to uptr for 64-bit syscalls.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204480
138bc75d-0d04-0410-961f-
82ee72b054a4
mrs [Wed, 6 Nov 2013 21:03:19 +0000 (21:03 +0000)]
Fix spacing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204479
138bc75d-0d04-0410-961f-
82ee72b054a4
olegendo [Wed, 6 Nov 2013 20:37:45 +0000 (20:37 +0000)]
* config/sh/sh.md (addsf3, divsf3, divsf3_i, rsqrtsf2, cmpgtdf_t,
cmpeqdf_t, *ieee_ccmpeqdf_t, negdf2, sqrtdf2, absdf2): Use
fp_arith_reg_operand instead of arith_reg_operand.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204478
138bc75d-0d04-0410-961f-
82ee72b054a4
olegendo [Wed, 6 Nov 2013 20:35:55 +0000 (20:35 +0000)]
* config/sh/sh.md (adddi3): Remove empty constraints.
Remove can_create_pseudo_p and arith_reg_operand check.
(adddi3_compact, subdi3_compact, *negdi2): Remove constraints.
Split before reload.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204477
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 6 Nov 2013 20:28:03 +0000 (20:28 +0000)]
* gdbinit.in: Disable strict type checking.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204474
138bc75d-0d04-0410-961f-
82ee72b054a4
olegendo [Wed, 6 Nov 2013 20:26:35 +0000 (20:26 +0000)]
PR target/30807
* gcc.target/sh/torture/pr30807.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204473
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Wed, 6 Nov 2013 20:19:10 +0000 (20:19 +0000)]
/cp
2013-11-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/11006
* init.c (build_new_1): Don't call build_java_class_ref on non-class
types.
/testsuite
2013-11-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/11006
* g++.dg/other/java3.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204469
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Wed, 6 Nov 2013 19:49:01 +0000 (19:49 +0000)]
libgo: Update to October 24 version of master library.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204466
138bc75d-0d04-0410-961f-
82ee72b054a4
vmakarov [Wed, 6 Nov 2013 19:46:39 +0000 (19:46 +0000)]
2013-11-06 Vladimir Makarov <vmakarov@redhat.com>
* tree-pass.h (make_pass_live_range_shrinkage): New external.
* timevar.def (TV_LIVE_RANGE_SHRINKAGE): New.
* sched-rgn.c (gate_handle_live_range_shrinkage): New.
(rest_of_handle_live_range_shrinkage): Ditto
(class pass_live_range_shrinkage): Ditto.
(pass_data_live_range_shrinkage): Ditto.
(make_pass_live_range_shrinkage): Ditto.
* sched-int.h (initialize_live_range_shrinkage): New prototype.
(finish_live_range_shrinkage): Ditto.
* sched-deps.c (create_insn_reg_set): Make void return value.
* passes.def: Add pass_live_range_shrinkage.
* ira.c (update_equiv_regs): Don't move if
flag_live_range_shrinkage.
* haifa-sched.c (live_range_shrinkage_p): New.
(initialize_live_range_shrinkage, finish_live_range_shrinkage):
New functions.
(rank_for_schedule): Add code for pressure relief through live
range shrinkage.
(schedule_insn): Print more debug info.
(sched_init): Setup SCHED_PRESSURE_WEIGHTED for pressure relief
through live range shrinkage.
* doc/invoke.texi (-flive-range-shrinkage): New.
* common.opt (flive-range-shrinkage): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204465
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 6 Nov 2013 19:37:12 +0000 (19:37 +0000)]
PR target/59021
* config/i386/i386.c (ix86_avx_u128_mode_needed): Require
AVX_U128_DIRTY mode for call_insn RTXes that use AVX256 registers.
(ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY mode for call_insn
RTXes that return in AVX256 register.
testsuite/ChangeLog:
PR target/59021
* gcc.target/i386/pr59021.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204464
138bc75d-0d04-0410-961f-
82ee72b054a4
jwlemke [Wed, 6 Nov 2013 18:10:34 +0000 (18:10 +0000)]
2013-11-06 James Lemke <jwlemke@codesourcery.com>
* lib/gcc-defs.exp (dg-additional-files-options): Extend regsub for
dg-additional-files to also match BOL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204462
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Wed, 6 Nov 2013 16:52:47 +0000 (16:52 +0000)]
c-family:
* c-opts.c (c_common_post_options): Set -ffp-contract=off in C
standards modes.
* c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
to mean lack of IEEE 754 support.
testsuite:
* gcc.dg/torture/c99-contract-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204460
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Wed, 6 Nov 2013 15:14:28 +0000 (15:14 +0000)]
* go-lang.c (go_langhook_post_options): If
-fisolate-erroneous-paths was turned on by an optimization option,
turn it off.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204459
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 6 Nov 2013 15:00:16 +0000 (15:00 +0000)]
2013-11-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/58653
* tree-predcom.c (ref_at_iteration): Rewrite to generate
a MEM_REF.
(prepare_initializers_chain): Adjust.
* gcc.dg/tree-ssa/predcom-6.c: New testcase.
* gcc.dg/tree-ssa/predcom-7.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204458
138bc75d-0d04-0410-961f-
82ee72b054a4
bviyer [Wed, 6 Nov 2013 14:55:46 +0000 (14:55 +0000)]
2013-11-05 Balaji V. Iyer <balaji.v.iyer@intel.com>
* c-c++-common/cilk-plus/CK/fib.c: Reduced the iteration from
40 to 30. Replaced iteration variable with a #define. Instead of
returning non-zero value for error, called __builtin_abort (). Fixed
a bug of calling fib_serial in serial case instead of fib.
* c-c++-common/cilk-plus/CK/fib_init_expr_xy.c: Likewise.
* c-c++-common/cilk-plus/CK/fib_no_return.c: Likewise.
* c-c++-common/cilk-plus/CK/fib_no_sync.c: Likewise.
* gcc.dg/cilk-plus/cilk-plus.exp: Removed duplicate/un-necessary
compiler flag testing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204457
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 6 Nov 2013 14:37:46 +0000 (14:37 +0000)]
typo
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204456
138bc75d-0d04-0410-961f-
82ee72b054a4
amacleod [Wed, 6 Nov 2013 13:11:14 +0000 (13:11 +0000)]
* gimple.h (block_in_transaction): Move to basic-block.h and rename.
(gimple_in_transaction): Use bb_in_transaction.
* basic-block.h (bb_in_transaction): Relocate here and rename.
* tree-ssa-loop-im.c (execute_sm): Use bb_in_transaction.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204455
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 6 Nov 2013 13:08:06 +0000 (13:08 +0000)]
2013-11-06 Richard Biener <rguenther@suse.de>
* tree.c (drop_tree_overflow): New function.
* tree.h (drop_tree_overflow): Declare.
* gimplify.c (gimplify_expr): Drop TREE_OVERFLOW.
* tree-vrp.c (range_int_cst_singleton_p): Use
is_overflow_infinity instead of testing TREE_OVERFLOW.
(extract_range_from_assert): Likewise.
(zero_nonzero_bits_from_vr): Likewise.
(extract_range_basic): Likewise.
(register_new_assert_for): Use drop_tree_overflow.
(vrp_visit_phi_node): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204454
138bc75d-0d04-0410-961f-
82ee72b054a4
dodji [Wed, 6 Nov 2013 11:33:52 +0000 (11:33 +0000)]
preprocessor/58580 - preprocessor goes OOM with warning for zero literals
In this problem report, the compiler is fed a (bogus) translation unit
in which some literals contain bytes whose value is zero. The
preprocessor detects that and proceeds to emit diagnostics for that
king of bogus literals. But then when the diagnostics machinery
re-reads the input file again to display the bogus literals with a
caret, it attempts to calculate the length of each of the lines it got
using fgets. The line length calculation is done using strlen. But
that doesn't work well when the content of the line can have several
zero bytes. The result is that the read_line never sees the end of
the line because strlen repeatedly reports that the line ends before
the end-of-line character; so read_line thinks its buffer for reading
the line is too small; it thus increases the buffer, leading to a huge
memory consumption, pain and disaster.
The patch below introduces a new get_line function that returns the
next line of a file and return the length of that line even if the
line contains zero bytes. That get_line function has been adapted
from the getline function from the GNU C Library because getline being
a GNU extension it is not necessarily supported on all platforms.
read_line is then modified to return the length of the line along with
the line itself, as the line can now contain zero bytes. Callers of
read_line are adjusted consequently.
diagnostic_show_locus() is modified to consider that a line can have
characters of value zero, and so just shows a white space when
instructed to display one of these characters.
gcc/ChangeLog:
* input.h (location_get_source_line): Take an additional line_size
parameter.
* input.c (get_line): New static function definition.
(read_line): Take an additional line_length output parameter to be
set to the size of the line. Use the new get_line function do the
actual line reading.
(location_get_source_line): Take an additional output line_len
parameter. Update the use of read_line to pass it the line_len
parameter.
* diagnostic.c (adjust_line): Take an additional input parameter
for the length of the line, rather than calculating it with
strlen.
(diagnostic_show_locus): Adjust the use of
location_get_source_line and adjust_line with respect to their new
signature. While displaying a line now, do not stop at the first
null byte. Rather, display the zero byte as a space and keep
going until we reach the size of the line.
gcc/testsuite/ChangeLog:
* c-c++-common/cpp/warning-zero-in-literals-1.c: New test file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204453
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 6 Nov 2013 11:22:59 +0000 (11:22 +0000)]
Fix formatting
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204452
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 6 Nov 2013 10:55:13 +0000 (10:55 +0000)]
* config/i386/i386.c (ix86_expand_prologue): Optimize stack checking for
leaf functions without dynamic stack allocation.
* config/ia64/ia64.c (ia64_emit_probe_stack_range): Adjust.
(ia64_expand_prologue): Likewise.
* config/mips/mips.c (mips_expand_prologue): Likewise.
* config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
* config/sparc/sparc.c (sparc_expand_prologue): Likewise.
(sparc_flat_expand_prologue): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204450
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Wed, 6 Nov 2013 09:47:51 +0000 (09:47 +0000)]
* include/bits/regex_automaton.h (_S_opcode_word_boundry): Rename to
_S_opcode_word_boundary.
* include/bits/regex_automaton.tcc: Likewise.
* include/bits/regex_executor.h (__detail::_Executor::_M_word_boundry):
Rename to _M_word_boundary.
* include/bits/regex_executor.tcc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204449
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Wed, 6 Nov 2013 09:23:30 +0000 (09:23 +0000)]
[AArch64] Fix size of memory store for the vst<n>_lane intrinsics
gcc/
* config/aarch64/arm_neon.h
(__ST2_LANE_FUNC): Better model data size.
(__ST3_LANE_FUNC): Likewise.
(__ST4_LANE_FUNC): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204448
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Wed, 6 Nov 2013 09:03:35 +0000 (09:03 +0000)]
* config/msp430/msp430.h (TARGET_CPU_CPP_BUILTINS): Define the
name returned by msp430_mcu_name.
(LIB_SPEC): If a -T option has not been specified then set a
default, mcu-specific, linker script.
* config/msp430/t-msp430 (MULTILIB_MATCHES): Add more mcu names.
* config/msp430/msp430.c (msp430x_names): Likewise.
Alpha sort the names for ease of comparison.
(msp430_mcu_name): New function: Returns a string suitable for
use as a C preprocessor symbol based upon the name of the MCU
being targeted.
(msp430_option_override): Accept msp430x and msp430xv2 as generic
mcu names.
* config/msp430/msp430-protos.h (msp430_mcu_name): Prototype.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204447
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Wed, 6 Nov 2013 08:52:57 +0000 (08:52 +0000)]
* gcc.c (do_spec_1): Do not insert a space after a %* substitution
unless it is the last part of a spec substring.
* doc/invoke.texi (Spec Files): Document space insertion
behaviour of %*.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204446
138bc75d-0d04-0410-961f-
82ee72b054a4
chrbr [Wed, 6 Nov 2013 08:49:15 +0000 (08:49 +0000)]
2013-11-06 Christian Bruel <christian.bruel@st.com>
* gcc/config/sh/sh-mem.cc (sh_expand_cmpnstr, sh_expand_cmpstr):
Factorize probabilities, Use adjust_address instead of
adjust_automodify_address when possible. Enable for optimize.
(sh_expand_strlen): New function.
* gcc/config/sh/sh-protos.h (sh_expand_strlen): Declare.
* gcc/config/sh/sh.md (strlensi): New pattern.
(UNSPEC_BUILTIN_STRLEN): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204445
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 6 Nov 2013 07:48:50 +0000 (07:48 +0000)]
PR middle-end/58970
* expr.c (get_bit_range): Handle *offset == NULL_TREE.
(expand_assignment): If *bitpos is negative, set *offset
and adjust *bitpos, so that it is not negative.
* gcc.c-torture/compile/pr58970.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204444
138bc75d-0d04-0410-961f-
82ee72b054a4
fxcoudert [Wed, 6 Nov 2013 07:04:12 +0000 (07:04 +0000)]
* gfortran.texi: Fix typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204443
138bc75d-0d04-0410-961f-
82ee72b054a4
gganesh [Wed, 6 Nov 2013 05:38:09 +0000 (05:38 +0000)]
scheduler improvements for BD architectures
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204442
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Wed, 6 Nov 2013 03:32:01 +0000 (03:32 +0000)]
2013-11-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (rs6000_option_override_internal):
Remove restriction against use of VSX instructions when generating
code for little endian mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204441
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Wed, 6 Nov 2013 03:29:44 +0000 (03:29 +0000)]
2013-11-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/altivec.md (mulv4si3): Ensure we generate vmulouh
for both big and little endian.
(mulv8hi3): Swap input operands for merge high and merge low
instructions for little endian.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204440
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Wed, 6 Nov 2013 03:27:20 +0000 (03:27 +0000)]
2013-11-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/altivec.md (vec_widen_umult_even_v16qi): Change
define_insn to define_expand that uses even patterns for big
endian and odd patterns for little endian.
(vec_widen_smult_even_v16qi): Likewise.
(vec_widen_umult_even_v8hi): Likewise.
(vec_widen_smult_even_v8hi): Likewise.
(vec_widen_umult_odd_v16qi): Likewise.
(vec_widen_smult_odd_v16qi): Likewise.
(vec_widen_umult_odd_v8hi): Likewise.
(vec_widen_smult_odd_v8hi): Likewise.
(altivec_vmuleub): New define_insn.
(altivec_vmuloub): Likewise.
(altivec_vmulesb): Likewise.
(altivec_vmulosb): Likewise.
(altivec_vmuleuh): Likewise.
(altivec_vmulouh): Likewise.
(altivec_vmulesh): Likewise.
(altivec_vmulosh): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204439
138bc75d-0d04-0410-961f-
82ee72b054a4
wmi [Wed, 6 Nov 2013 02:46:17 +0000 (02:46 +0000)]
2013-11-05 Wei Mi <wmi@google.com>
PR regression/58985
* testsuite/gcc.dg/pr57518.c: Add subreg in regexp pattern.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204438
138bc75d-0d04-0410-961f-
82ee72b054a4
mrs [Wed, 6 Nov 2013 02:34:02 +0000 (02:34 +0000)]
* Makefile.in (mostlyclean): Remove c-family objects.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204437
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Wed, 6 Nov 2013 01:03:57 +0000 (01:03 +0000)]
* config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword):
If possible, add .cfi directives to record change to bx.
* config/i386/i386.c (ix86_emit_cfi): New function.
* config/i386/i386-protos.h (ix86_emit_cfi): Declare.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204433
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 6 Nov 2013 00:17:05 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204430
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Tue, 5 Nov 2013 22:57:36 +0000 (22:57 +0000)]
N3655 C++1y TransformationTraits Redux
* include/std/type_traits (remove_const_t, remove_volatile_t,
remove_cv_t, add_const_t, add_volatile_t, add_cv_t, remove_reference_t,
add_lvalue_reference_t, add_rvalue_reference_t, make_signed_t,
make_unsigned_t, remove_extent_t, remove_all_extents_t,
remove_pointer_t, add_pointer_t, aligned_storage_t, decay_t,
enable_if_t, conditional_t, common_type_t, underlying_type_t,
result_of_t): Define.
* doc/xml/manual/status_cxx2014.xml: Update.
* testsuite/20_util/add_lvalue_reference/requirements/typedefs-3.cc:
New.
* testsuite/20_util/add_rvalue_reference/requirements/typedefs-3.cc:
New.
* testsuite/20_util/common_type/requirements/typedefs-3.cc: New.
* testsuite/20_util/conditional/requirements/typedefs-2.cc: New.
* testsuite/20_util/decay/requirements/typedefs-2.cc: New.
* testsuite/20_util/enable_if/requirements/typedefs-2.cc: New.
* testsuite/20_util/make_signed/requirements/typedefs-3.cc: New.
* testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New.
* testsuite/20_util/remove_reference/requirements/typedefs.cc: New.
* testsuite/20_util/result_of/requirements/typedefs.cc: New.
* testsuite/20_util/underlying_type/requirements/typedefs-3.cc: New.
* testsuite/20_util/common_type/requirements/typedefs-2.cc: Change to
compile-only test.
* testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line number.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204426
138bc75d-0d04-0410-961f-
82ee72b054a4
steven [Tue, 5 Nov 2013 21:57:45 +0000 (21:57 +0000)]
* rtlanal.c (tablejump_p): Expect a JUMP_TABLE_DATA to always follow
immediately after a label for a tablejump pattern.
* config/arm/arm.c (is_jump_table): Remove.
(create_fix_barrier): Use tablejump_p instead.
(arm_reorg): Likewise.
(thumb1_output_casesi): Expect JUMP_TABLE_DATA to always be NEXT_INSN.
(thumb2_output_casesi): Likewise.
* config/aarch64/aarch64.c (aarch64_output_casesi): Likewise.
* config/sh/sh.md (casesi_worker_1, casesi_worker_2,
casesi_shift_media, casesi_load_media): Likewise.
* config/iq2000/iq2000.md: Likewise (in anonymous define_insn).
* config/microblaze/microblaze.md: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204424
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Tue, 5 Nov 2013 20:27:22 +0000 (20:27 +0000)]
2013-11-05 Tobias Burnus <burnus@net-b.de>
gcc/c-family/
* c.opt (-Wdate-time): New option
* c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
gcc/
* doc/invoke.texi (-Wdate-time): Document.
gcc/fortran
* lang.opt (-Wdate-time): New option
* cpp.c (gfc_cpp_option_data): Add warn_date_time.
(gfc_cpp_init_options, gfc_cpp_handle_option,
gfc_cpp_post_options): Handle it and pass on to libcpp.
gcc/testsuite/
* g++.dg/warn/wdate-time.C: New.
* gcc.dg/wdate-time.c: New.
* gfortran.dg/wdate-time.F90: New.
libcpp/
* include/cpplib.h (CPP_W_DATE_TIME): Added.
(cpp_options): Add warn_date_time.
* init.c (cpp_create_reader): Init it.
* macro.c (_cpp_builtin_macro_text): Warn when
__DATE__/__TIME__/__TIMESTAMP__ is used.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204420
138bc75d-0d04-0410-961f-
82ee72b054a4
kargl [Tue, 5 Nov 2013 20:02:43 +0000 (20:02 +0000)]
2013-11-05 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/58989
* check.c (gfc_check_reshape): ensure that shape is a constant
expression.
2013-11-05 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/58989
* gfortran.dg/reshape_6.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204419
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Tue, 5 Nov 2013 19:59:21 +0000 (19:59 +0000)]
* doc/xml/manual/status_cxx2011.xml: Document aligned_union as
missing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204416
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 5 Nov 2013 19:58:12 +0000 (19:58 +0000)]
gcc/
* double-int.c (lshift_double, rshift_double): Remove
SHIFT_COUNT_TRUNCATED handling.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204415
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 5 Nov 2013 19:47:44 +0000 (19:47 +0000)]
* Makefile.in (OBJS): Add gimple-ssa-isolate-paths.o
* common.opt (-fisolate-erroneous-paths): Add option and
documentation.
* gimple-ssa-isolate-paths.c: New file.
* gimple.c (check_loadstore): New function.
(infer_nonnull_range): Moved into gimple.c from tree-vrp.c
Verify OP is in the argument list and the argument corresponding
to OP is a pointer type. Use operand_equal_p rather than
pointer equality when testing if OP is on the nonnull list.
Use check_loadstore rather than count_ptr_derefs. Handle
GIMPLE_RETURN statements.
* tree-vrp.c (infer_nonnull_range): Remove.
* gimple.h (infer_nonnull_range): Declare.
* opts.c (default_options_table): Add
* OPT_fisolate_erroneous_paths.
* passes.def: Add pass_isolate_erroneous_paths.
* timevar.def (TV_ISOLATE_ERRONEOUS_PATHS): New timevar.
* tree-pass.h (make_pass_isolate_erroneous_paths): Declare.
* tree-ssa.c (struct count_ptr_d): Remove.
(count_ptr_derefs, count_uses_and_derefs): Remove.
* tree-ssa.h (count_uses_and_derefs): Remove.
* gcc.dg/pr38984.c: Add -fno-isolate-erroneous-paths.
* gcc.dg/tree-ssa/isolate-1.c: New test.
* gcc.dg/tree-ssa/isolate-2.c: New test.
* gcc.dg/tree-ssa/isolate-3.c: New test.
* gcc.dg/tree-ssa/isolate-4.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204414
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 5 Nov 2013 19:37:51 +0000 (19:37 +0000)]
PR rtl-optimization/58997
* loop-iv.c (iv_subreg): For IV_UNKNOWN_EXTEND, expect
get_iv_value to be in iv->mode rather than iv->extend_mode.
(iv_extend): Likewise. Otherwise, if iv->extend != extend,
use lowpart_subreg on get_iv_value before calling simplify_gen_unary.
* loop-unswitch.c (may_unswitch_on): Make sure op[i] is in the right
mode.
* gcc.c-torture/compile/pr58997.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204413
138bc75d-0d04-0410-961f-
82ee72b054a4
amacleod [Tue, 5 Nov 2013 19:26:07 +0000 (19:26 +0000)]
* gimple.h: Move some prototypes to gimple-expr.h and add to include
list.
(extract_ops_from_tree, gimple_call_addr_fndecl, is_gimple_reg_type):
Move to gimple-expr.h.
* gimple-expr.h: New file. Relocate some prototypes from gimple.h.
(types_compatible_p, is_gimple_reg_type, is_gimple_variable,
is_gimple_id, virtual_operand_p, is_gimple_addressable,
is_gimple_constant, extract_ops_from_tree, gimple_call_addr_fndecl):
Relocate here.
* gimple.c (extract_ops_from_tree_1, gimple_cond_get_ops_from_tree,
gimple_set_body, gimple_body, gimple_has_body_p, is_gimple_lvalue,
is_gimple_condexpr, is_gimple_addressable, is_gimple_constant,
is_gimple_address, is_gimple_invariant_address,
is_gimple_ip_invariant_address, is_gimple_min_invariant,
is_gimple_ip_invariant, is_gimple_variable, is_gimple_id,
virtual_operand_p, is_gimple_reg, is_gimple_val, is_gimple_asm_val,
is_gimple_min_lval, is_gimple_call_addr, is_gimple_mem_ref_addr,
gimple_decl_printable_name, useless_type_conversion_p,
types_compatible_p, gimple_can_coalesce_p, copy_var_decl): Move to
gimple-expr.[ch].
* gimple-expr.c: New File.
(useless_type_conversion_p, gimple_set_body, gimple_body,
gimple_has_body_p, gimple_decl_printable_name, copy_var_decl,
gimple_can_coalesce_p, extract_ops_from_tree_1,
gimple_cond_get_ops_from_tree, is_gimple_lvalue, is_gimple_condexpr,
is_gimple_address, is_gimple_invariant_address,
is_gimple_ip_invariant_address, is_gimple_min_invariant,
is_gimple_ip_invariant, is_gimple_reg, is_gimple_val,
is_gimple_asm_val, is_gimple_min_lval, is_gimple_call_addr,
is_gimple_mem_ref_addr): Relocate here.
* Makefile.in (OBJS): Add gimple-expr.o.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204412
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [Tue, 5 Nov 2013 18:55:22 +0000 (18:55 +0000)]
Support empty structs in gengtype
gcc/
* gengtype-parse.c (struct_field_seq): Support empty structs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204411
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Tue, 5 Nov 2013 18:22:12 +0000 (18:22 +0000)]
* config/i386/t-rtems (MULTILIB_MATCHES): Fix option typos.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204407
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 5 Nov 2013 18:03:03 +0000 (18:03 +0000)]
PR c++/58868
* decl.c (check_initializer): Don't use build_vec_init for arrays
of trivial type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204406
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Tue, 5 Nov 2013 16:08:30 +0000 (16:08 +0000)]
gcc/
* config/i386/i386-c.c (ix86_target_macros): Define _SOFT_FLOAT
for !TARGET_80387.
* config/i386/rtemself.h (TARGET_OS_CPP_BUILTINS): Do not define
_SOFT_FLOAT here.
(LONG_DOUBLE_TYPE_SIZE): New define.
(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Ditto.
libgcc/
* config/i386/32/sfp-machine.h (_FP_MUL_MEAT_S): Define.
(_FP_MUL_MEAT_D): Ditto.
(_FP_DIV_MEAT_S): Ditto.
(_FP_DIV_MEAT_D): Ditto.
* config.host (i[34567]86-*-rtems*): Remove i386/t-softfp, add
t-softfp-sfdf and t-softfp to tmake_file.
M gcc/config/i386/i386-c.c
M gcc/config/i386/rtemself.h
M gcc/ChangeLog
M libgcc/ChangeLog
M libgcc/config.host
M libgcc/config/i386/32/sfp-machine.h
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204404
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Tue, 5 Nov 2013 15:24:08 +0000 (15:24 +0000)]
2013-11-05 Jonathan Wakely <jwakely.gcc@gmail.com>
Paolo Carlini <paolo.carlini@oracle.com>
* include/experimental/optional: Use __and_<> and __not_<> in
conditions. Style fixes.
(__constexpr_addressof, swap): Make inline.
* testsuite/experimental/optional/cons/copy.cc: Adjust constants for
32-bit targets.
* testsuite/experimental/optional/cons/move.cc: Likewise.
* testsuite/experimental/optional/cons/value.cc: Likewise.
* testsuite/experimental/optional/constexpr/cons/value.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204402
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 5 Nov 2013 15:22:36 +0000 (15:22 +0000)]
2013-11-05 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58724
* doc/extend.texi [visibility ("visibility_type")]: Add example
about visibility attribute on namespace declaration.
/cp
2013-11-05 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58724
* name-lookup.c (handle_namespace_attrs): Use get_attribute_name.
/testsuite
2013-11-05 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58724
* g++.dg/cpp0x/gen-attrs-56.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204401
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 5 Nov 2013 15:09:40 +0000 (15:09 +0000)]
2013-11-05 Richard Biener <rguenther@suse.de>
PR ipa/58492
* passes.def (all_passes): Start with pass_fixup_cfg again.
* gcc.dg/ipa/pr58492.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204399
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 5 Nov 2013 15:08:43 +0000 (15:08 +0000)]
2013-11-05 Richard Biener <rguenther@suse.de>
PR tree-optimization/58955
* tree-loop-distribution.c (pg_add_dependence_edges): Fix
edge direction.
* gcc.dg/torture/pr58955-1.c: New testcase.
* gcc.dg/torture/pr58955-2.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204398
138bc75d-0d04-0410-961f-
82ee72b054a4
bviyer [Tue, 5 Nov 2013 14:43:37 +0000 (14:43 +0000)]
Disable libcilkrts when C++ is not used.
2013-11-04 Balaji V. Iyer <balaji.v.iyer@intel.com>
* configure.ac: Added libcilkrts to noconfig list when C++ is not
supported.
* configure: Regenerated.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204396
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Tue, 5 Nov 2013 14:27:17 +0000 (14:27 +0000)]
2013-11-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/vector.md (vec_pack_sfix_trunc_v2df): Adjust for
little endian.
(vec_pack_ufix_trunc_v2df): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204395
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Tue, 5 Nov 2013 14:17:33 +0000 (14:17 +0000)]
Don't use mode wider than Pmode for size in movmem/setmem
gcc/
PR middle-end/58981
* doc/md.texi (@code{movmem@var{m}}): Specify Pmode as mode of
pattern, instead of word_mode.
* expr.c (emit_block_move_via_movmem): Don't use mode wider than
Pmode for size.
(set_storage_via_setmem): Likewise.
gcc/testsuite/
PR middle-end/58981
* gcc.dg/pr58981.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204394
138bc75d-0d04-0410-961f-
82ee72b054a4
amacleod [Tue, 5 Nov 2013 14:13:56 +0000 (14:13 +0000)]
2013-11-05 Andrew MacLeod <amacleod@redhat.com>
* tree-outof-ssa.c (queue_phi_copy_p): Combine phi_ssa_name_p from
gimple.h and the rest of the condition in eliminate_build.
(eliminate_build): Call new routine.
* gimple.h (phi_ssa_name_p): Delete.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204393
138bc75d-0d04-0410-961f-
82ee72b054a4