Commit Graph

121363 Commits

Author SHA1 Message Date
Richard Henderson
e314051839 s390: Use risbgz for AND
* config/s390/s390.md (*anddi3_cc): Add risbg alternative.
        (*anddi3_cconly, *anddi3): Likewise.
        (*andsi3, *andsi3_cconly, *andsi3_zarch): Likewise.

Co-Authored-By: Andreas Krebbel <Andreas.Krebbel@de.ibm.com>

From-SVN: r194642
2012-12-20 10:04:56 -08:00
Richard Henderson
d378b98328 s390: Only use lhs zero_extract in word_mode
* config/s390/s390.md (*insv_l_di_reg_extimm): Un-macroize from :P.

Co-Authored-By: Andreas Krebbel <Andreas.Krebbel@de.ibm.com>

From-SVN: r194641
2012-12-20 10:04:49 -08:00
Richard Henderson
75ca1b39e5 s390: Constraints, predicates, and op letters for contiguous bitmasks
* config/s390/constraints.md (NxxDq, NxxSq): New.
        * config/s390/predicates.md (contiguous_bitmask_operand): New.
        * config/s390/s390.c (print_operand) ['e', 'f', 's', 't']: New
        operand letters.
        * config/s390/s390.md (bfstart, bfend): New mode attrs.
        (*insv<GPR>_zEC12_noshift): Use them.
        (*insv<GPR>_z10_noshift): Likewise.
        (*insv<GPR>_or_z10_noshift): Likewise.

Co-Authored-By: Andreas Krebbel <Andreas.Krebbel@de.ibm.com>

From-SVN: r194640
2012-12-20 10:04:41 -08:00
Paul Thomas
0015504377 same_type_as_1.f03: Correct for improved message.
2012-12-20  Paul Thomas  <pault@gcc.gnu.org>

	* gfortran.dg/same_type_as_1.f03: Correct for improved message.

From-SVN: r194639
2012-12-20 18:03:37 +00:00
Thomas Schwinge
3cecbdfa22 re PR driver/55202 (Building a combined tree is broken for LTO)
PR bootstrap/55202
	* configure.ac <PLUGIN_LD_SUFFIX>: Use POSIX shell syntax.
	* configure: Regenerate.

From-SVN: r194637
2012-12-20 16:57:18 +01:00
Andreas Krebbel
5ff3c4f398 re PR regression/55754 (FAIL: gcc.target/arm/unsigned-extend-2.c scan-assembler ands)
2012-12-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	PR target/55754
	* config/arm/arm.c (arm_canonicalize_comparison): Remove
	op0_preserve_value check for zero_extend to and transformation.

From-SVN: r194636
2012-12-20 15:20:06 +00:00
Jonathan Wakely
8ed812cc4b re PR libstdc++/55741 (bootstrap fails in libstdc++-v3/src/c++11/thread.cc)
PR libstdc++/55741
	* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Check for Sleep.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* src/c++11/thread.cc (__sleep_for): Use Sleep if available.

From-SVN: r194635
2012-12-20 14:36:56 +00:00
Teresa Johnson
d5ae0ba663 Fix PR gcov-profile/55734 by using methods from hwint.c instead of builtins...
Fix PR gcov-profile/55734 by using methods from hwint.c instead of
builtins, to handle non-GCC and older versions of GCC. When building
libgcov.a, however, hwint.c is not available, but we are always using
the bootstrapped compiler and can therefore use the builtins.

Use __builtin_popcount instead of __builtin_popcountll, since we
are operating on an int.

Use floor_log2 directly, instead of clz_hwi for the non-libgcov case,
and handle situations where the size of the gcov_type is bigger than
HOST_WIDE_INT. Verified that the various cases compiled by forcing
different HOST_BITS_PER_WIDE_INT values.

2012-12-20  Teresa Johnson  <tejohnson@google.com>
            Jakub Jelinek  <jakub@redhat.com>

        PR gcov-profile/55734
	* gcov-io.c (gcov_read_summary): Use __builtin_popcount instead
        of __builtin_popcountll when building libgcov.a, otherwise use
        popcount_hwi.
	(gcov_histo_index): When not building libgcov.a, use floor_log2
        instead of __builtin_clzll.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r194634
2012-12-20 14:31:09 +00:00
Richard Biener
63f2ff0f23 re PR rtl-optimization/55740 (ICE in verify_loop_structure, at cfgloop.c:1582, error: loop 2's header does not belong directly to it)
2012-12-20  Richard Biener  <rguenther@suse.de>

	PR middle-end/55740
	* cfghooks.c (merge_blocks): Properly handle merging of
	two loop headers.

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

From-SVN: r194633
2012-12-20 12:45:48 +00:00
Jakub Jelinek
eadd3d0d54 re PR c++/55619 (Chromium build fails with: error: memory input is not directly addressable)
PR c++/55619
	* c-parser.c (c_parser_asm_operands): Remove CONVERT_P
	argument, don't call default_function_array_conversion
	nor c_fully_fold here.
	(c_parser_asm_statement): Adjust callers.
	* c-typeck.c (build_asm_expr): Call c_fully_fold on inputs
	and outputs here, and call default_function_array_conversion
	on inputs that don't need to be addressable.

	* c-c++-common/pr55619.c: New test.

From-SVN: r194631
2012-12-20 11:41:47 +01:00
Jakub Jelinek
1ac13b9c05 re PR c/39464 (Attribute may_alias causes invalid warning)
PR c/39464
	* c-typeck.c (convert_for_assignment): For -Wpointer-sign
	warning require that both c_common_unsigned_type as well as
	c_common_signed_type is the same for both mvl and mvr types.

	* gcc.dg/pr39464.c: New test.

From-SVN: r194630
2012-12-20 11:40:26 +01:00
Roland Stigge
7b8c7831a2 t-spe (MULTIARCH_DIRNAME): Remove.
2012-12-20  Roland Stigge  <stigge@debian.org>
            Matthias Klose  <doko@ubuntu.com>

        * config/rs6000/t-spe (MULTIARCH_DIRNAME): Remove.
        * config/rs6000/t-linux (MULTIARCH_DIRNAME): Define name for
        powerpc-linux-gnuspe.

Co-Authored-By: Matthias Klose <doko@ubuntu.com>

From-SVN: r194629
2012-12-20 09:57:34 +00:00
Tobias Burnus
64ff24b33e re PR fortran/54818 (error: type mismatch in binary expression)
2012-12-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54818
        * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Ensure that
        the string length is of type gfc_charlen_type_node.

2012-12-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54818
        * gfortran.dg/transfer_intrinsic_4.f: New.

From-SVN: r194628
2012-12-20 09:13:21 +01:00
Paul Thomas
d19a6672c9 unlimited_polymorphic_2.f03: Remove bad test.
2012-12-19  Paul Thomas  <pault@gcc.gnu.org>

	* gfortran.dg/unlimited_polymorphic_2.f03: Remove bad test.

From-SVN: r194626
2012-12-20 00:23:40 +00:00
GCC Administrator
1a5ba68e96 Daily bump.
From-SVN: r194625
2012-12-20 00:18:51 +00:00
Paul Thomas
8b7043164f array.c (resolve_array_list): Apply C4106.
2012-12-19  Paul Thomas  <pault@gcc.gnu.org>

	* array.c (resolve_array_list): Apply C4106.
	* check.c (gfc_check_same_type_as): Exclude polymorphic
	entities from check for extensible types. Improved error
	for disallowed argument types to name the offending type.
	* class.c : Update copyright date.
	(gfc_class_null_initializer): Add argument for initialization
	expression and deal with unlimited polymorphic typespecs.
	(get_unique_type_string): Give unlimited polymorphic
	entities a type string.
	(gfc_intrinsic_hash_value): New function.
	(gfc_build_class_symbol): Incorporate unlimited polymorphic
	entities.
	(gfc_find_derived_vtab): Deal with unlimited polymorphic
	entities.
	(gfc_find_intrinsic_vtab): New function.
	* decl.c (gfc_match_decl_type_spec): Match typespec for
	unlimited polymorphic type.
	(gfc_match_data_decl): Skip to 'ok' if unlimited polymorphic.
	expr.c (gfc_check_pointer_assign): Apply C717.  If unlimited
	polymorphic lvalue, find rvalue vtable for all typespecs,
	except unlimited polymorphic expressions.
	(gfc_check_vardef_context): Handle unlimited polymorphic
	entities.
	* gfortran.h : Add unlimited polymorphic attribute. Add
	second arg to gfc_class_null_initializer primitive and
	primitive for gfc_find_intrinsic_vtab.  Add UNLIMITED_POLY
	to detect unlimited polymorphic expressions.
	* interface.c (gfc_compare_types): If expr1 is unlimited
	polymorphic, always return 1. If expr2 is unlimited polymorphic
	enforce C717.
	(gfc_compare_interfaces): Skip past conditions that do not
	apply for unlimited polymorphic entities.
	(compare_parameter): Make sure that an unlimited polymorphic,
	allocatable or pointer, formal argument is matched by an
	unlimited polymorphic actual argument.
	(compare_actual_formal): Ensure that an intrinsic vtable exists
	to match an unlimited polymorphic formal argument.
	* match.c (gfc_match_allocate): Type kind parameter does not
	need to match an unlimited polymorphic allocate-object.
	(alloc_opt_list): An unlimited polymorphic allocate-object
	requires a typespec or a SOURCE tag.
	(select_intrinsic_set_tmp): New function.
	(select_type_set_tmp): Call new function.  If it returns NULL,
	build a derived type or class temporary instead.
	(gfc_match_type_is): Remove restriction to derived types only.
	Bind(C) or sequence derived types not permitted.
	* misc (gfc_typename):  Printed CLASS(*) for unlimited
	polymorphism.
	* module.c : Add AB_UNLIMITED_POLY to pass unlimited
	polymorphic attribute to and from modules.
	* resolve.c (resolve_common_vars): Unlimited polymorphic
	entities cannot appear in common blocks.
	(resolve_deallocate_expr): Deallocate unlimited polymorphic
	enities.
	(resolve_allocate_expr): Likewise for allocation.  Make sure
	vtable exists.
	(gfc_type_is_extensible): Unlimited polymorphic entities are
	not extensible.
	(resolve_select_type): Handle unlimited polymorphic selectors.
	Ensure that length type parameters are assumed and that names
	for intrinsic types are generated.
	(resolve_fl_var_and_proc): Exclude select type temporaries
	from test of extensibility of type.
	(resolve_fl_variable): Likewise for test that assumed character
	length must be a dummy or a parameter.
	(resolve_fl_derived0): Return SUCCESS unconditionally for
	unlimited polymorphic entities. Also, allow unlimited
	polymorphic components.
	(resolve_fl_derived): Return SUCCESS unconditionally for
	unlimited polymorphic entities.
	(resolve_symbol): Return early with unlimited polymorphic
	entities.
	* simplifiy.c : Update copyright year.
	(gfc_simplify_extends_type_of): No simplification possible
	for unlimited polymorphic arguments.
	* symbol.c (gfc_use_derived): Nothing to do for unlimited
	polymorphic "derived type".
	(gfc_type_compatible): Return unity if ts1 is unlimited
	polymorphic.
	* trans-decl.c (create_function_arglist) Formal arguments
	without a character length should be treated in the same way
	as passed lengths.
	(gfc_trans_deferred_vars): Nullify the vptr of unlimited
	polymorphic pointers. Avoid unlimited polymorphic entities
	triggering gcc_unreachable.
	* trans-expr.c (gfc_conv_intrinsic_to_class): New function.
	(gfc_trans_class_init_assign): Make indirect reference of
	src.expr.
	(gfc_trans_class_assign): Expression NULL of unknown type
	should set NULL vptr on lhs. Treat C717 cases where lhs is
	a derived type and the rhs is unlimited polymorphic.
	(gfc_conv_procedure_call): Handle the conversion of a non-class
	actual argument to match an unlimited polymorphic formal
	argument.  Suppress the passing of a character string length
	in this case.  Make sure that calls to the character __copy
	function have two character string length arguments.
	(gfc_conv_initializer): Pass the initialization expression to
	gfc_class_null_initializer.
	(gfc_trans_subcomponent_assign): Ditto.
	(gfc_conv_structure): Move handling of _size component.
	trans-intrinsic.c: (gfc_conv_same_type_as): Handle conditions
	where unlimited polymorphic arguments have null vptr.
	* trans-stmt.c (trans_associate_var): Correctly treat array
	temporaries associated with unlimited polymorphic selectors.
	Recover the overwritten dtype for the descriptor. Use the _size
	field of the vptr for character string lengths.
	(gfc_trans_allocate): Cope with unlimited polymorphic allocate
	objects; especially with character source tags.
	(reset_vptr): New function.
	(gfc_trans_deallocate): Call it.
	* trans-types.c (gfc_get_derived_type): Detect unlimited
	polymorphic types and deal with cases where the derived type of
	components is null.
	* trans.c : Update copyright year.
	(trans_code): Call gfc_trans_class_assign for C717 cases where
	the lhs is not unlimited polymorphic.

2012-12-19  Paul Thomas  <pault@gcc.gnu.org>

	* intrinsics/extends_type_of.c : Return correct results for
	null vptrs.

2012-12-19  Paul Thomas  <pault@gcc.gnu.org>

	* gfortran.dg/unlimited_polymorphic_1.f03: New test.
	* gfortran.dg/unlimited_polymorphic_2.f03: New test.
	* gfortran.dg/unlimited_polymorphic_3.f03: New test.
	* gfortran.dg/same_type_as.f03: Correct for improved message.

From-SVN: r194622
2012-12-20 00:15:00 +00:00
Tobias Burnus
26c08c0323 re PR fortran/55733 (-fno-automatic: Fails for scalar allocatables)
2012-12-19  Tobias Burnus  <burnus@net-b.de>

        PR fortran/55733
        * trans-decl.c (gfc_create_string_length): Avoid setting
        TREE_STATIC for automatic variables with -fno-automatic.

From-SVN: r194621
2012-12-20 00:05:49 +01:00
Jason Merrill
502bfcbc80 re PR c++/55724 ([C++11] Default type of a template value is not working)
PR c++/55724
	* pt.c (type_unification_real): Re-combine post-deduction loops.

From-SVN: r194620
2012-12-19 17:22:36 -05:00
Matthias Klose
a1906e8bbf Import GNU Classpath (20121202).
2012-12-19  Matthias Klose  <doko@ubuntu.com>

        Import GNU Classpath (20121202).

        * Regenerate class and header files.
        * Regenerate auto* files.
        * sources.am, gcj/javaprims.h: Regenerate.
        * gnu/java/nio/FileLockImpl.java (close): New override.

From-SVN: r194618
2012-12-19 17:03:15 +00:00
Matthias Klose
baeb2e1647 t-kfreebsd (MULTIARCH_DIRNAME): Add comma to separate arguments in make function.
2012-12-19  Matthias Klose  <doko@ubuntu.com>

        * config/i386/t-kfreebsd (MULTIARCH_DIRNAME): Add comma to
        separate arguments in make function.

From-SVN: r194617
2012-12-19 16:39:23 +00:00
Matthias Klose
6ce8fd9d2b Makefile.def (install-target-libgo): Depend on install-target-libatomic.
2012-12-19  Matthias Klose  <doko@ubuntu.com>

        * Makefile.def (install-target-libgo): Depend on 
        install-target-libatomic.
        * Makefile.in: Regenerate.

From-SVN: r194616
2012-12-19 16:18:37 +00:00
Uros Bizjak
6c72ea127c i386.h (enum ix86_tune_indices): Add X86_TUNE_AVOID_MEM_OPND_FOR_CMOVE.
* config/i386/i386.h (enum ix86_tune_indices): Add
	X86_TUNE_AVOID_MEM_OPND_FOR_CMOVE.
	(TARGET_AVOID_MEM_OPND_FOR_CMOVE): New define.
	* config/i386/i386.c (initial_ix86_tune_features)
	<X86TUNE_AVOID_MEM_OPND_FOR_CMOVE>: Initialize.
	* config/i386/i386.md (splitters to avoid cmove memory operands): New.
	(peephole2s to avoid cmove memory operands): New.

From-SVN: r194614
2012-12-19 17:04:11 +01:00
Tobias Burnus
aa86bf1e9c fortran.exp: Set -fintrinsic-modules-path.
2012-12-19  Tobias Burnus  <burnus@net-b.de>

        * testsuite/libgomp.fortran/fortran.exp: Set
        -fintrinsic-modules-path.

From-SVN: r194613
2012-12-19 16:53:01 +01:00
Kyrylo Tkachov
372020711f arm.md (f_minmaxs, f_minmaxd): New types.
gcc/

2012-12-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm.md (f_minmaxs, f_minmaxd): New types.
	* config/arm/vfp.md (smax<mode>3): New pattern.
	(smin<mode>3): Likewise.


gcc/testsuite/

2012-12-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* gcc.target/arm/vmaxnmdf.c: New test.
	* gcc.target/arm/vmaxnmsf.c: Likewise.
	* gcc.target/arm/vminnmsf.c: Likewise.
	* gcc.target/arm/vminnmdf.c: Likewise.

From-SVN: r194612
2012-12-19 15:51:24 +00:00
Tobias Burnus
2865ea6615 use_intrinsic_1.f90: New; moved from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
libgomp/
2012-12-19  Tobias Burnus  <burnus@net-b.de>

        * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
        from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.

gcc/testsuite/
2012-12-19  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/gomp/use_intrinsic_1.f90: Moved
        to libgomp/testsuite/libgomp.fortran/use_intrinsic_1.f90.

From-SVN: r194611
2012-12-19 16:02:50 +01:00
Richard Biener
f236ac951e targhooks.h (default_canonicalize_comparison): Fix prototype.
2012-12-19  Richard Biener  <rguenther@suse.de>

	* targhooks.h (default_canonicalize_comparison): Fix prototype.
	* targhooks.c (default_canonicalize_comparison): Define.

From-SVN: r194610
2012-12-19 14:38:10 +00:00
Richard Biener
d1f985421f re PR lto/55736 (lto ICE: tree code ''junl is not supported in LTO streams)
2012-12-19  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/55736
	PR tree-optimization/55703
	* gimplify.c (prune_expr_location): New function.
	(unshare_expr_without_location): Likewise.
	* tree.h (unshare_expr_without_location): Declare.
	* ipa-prop.c (prune_expression_for_jf): Remove.
	(prune_expression_for_jf_1): Likewise.
	(ipa_set_jf_constant): Use unshare_expr_without_location.
	(ipa_set_jf_arith_pass_through): Likewise.
	(determine_known_aggregate_parts): Likewise.
	* tree-switch-conversion.c (build_constructors): Use
	unshare_expr_without_location on all constructor elements.

	* gcc.dg/lto/pr55703_0.c: New testcase.

From-SVN: r194609
2012-12-19 13:53:18 +00:00
Andreas Krebbel
c354951b7e target.def: Define canonicalize_comparison hook.
2012-12-19  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* target.def: Define canonicalize_comparison hook.
	* targhooks.h (default_canonicalize_comparison): New prototype.
	* targhooks.c (default_canonicalize_comparison): New function.
	* doc/tm.texi: Add documentation for the new target hook.
	* doc/tm.texi.in: Likewise.
	* combine.c (try_combine): Adjust to use the target hook.
	* config/alpha/alpha.h (CANONICALIZE_COMPARISON): Remove macro
	definition.
	* config/alpha/alpha.c (alpha_canonicalize_comparison): New
	function.
	(TARGET_CANONICALIZE_COMPARISON): New macro definition.
	* config/arm/arm-protos.h (arm_canonicalize_comparison): Remove
	prototype.
	* config/arm/arm.c (arm_canonicalize_comparison): Add new
	parameter.
	(TARGET_CANONICALIZE_COMPARISON): New macro definition.
	* config/arm/arm.h (CANONICALIZE_COMPARISON): Remove macro
	definition.
	* config/s390/s390-protos.h (s390_canonicalize_comparison): Remove
	prototype.
	* config/s390/s390.c (s390_canonicalize_comparison): Add new
	parameter.
	(TARGET_CANONICALIZE_COMPARISON): New macro definition.
	* config/s390/s390.h (CANONICALIZE_COMPARISON): Remove macro
	definition.
	* config/sh/sh-protos.h (sh_canonicalize_comparison): Remove
	prototype.
	* config/sh/sh.c (sh_canonicalize_comparison): Add new prototype.  New
	function overloading the old one.
	(TARGET_CANONICALIZE_COMPARISON): New macro definition.
	* config/sh/sh.h (CANONICALIZE_COMPARISON): Remove macro
	definition.
	* config/spu/spu.c (spu_canonicalize_comparison): New function.
	(TARGET_CANONICALIZE_COMPARISON): New macro definition.
	* config/spu/spu.h (CANONICALIZE_COMPARISON): Remove macro
	definition.

From-SVN: r194608
2012-12-19 12:39:17 +00:00
Jakub Jelinek
e90c56c6b2 re PR debug/55730 (ICE in mem_loc_descriptor, at dwarf2out.c:12725)
PR debug/55730
	* dwarf2out.c (mem_loc_descriptor): Ignore CLOBBER.
	* valtrack.c (gen_lowpart_for_debug): New function.
	(propagate_for_debug): Temporarily set rtl_hooks.gen_lowpart_no_emit
	to gen_lowpart_for_debug.

	* gcc.dg/debug/pr55730.c: New test.

From-SVN: r194607
2012-12-19 13:16:56 +01:00
Jan Hubicka
da942ca0e2 re PR tree-optimization/55683 (ICE in inline_call, at ipa-inline-transform.c:270)
PR tree-optimization/55683
	* g++.dg/ipa/devirt-9.C: New testcase.

	* ipa-prop.c (try_make_edge_direct_virtual_call): Look into constants for binfo.

From-SVN: r194606
2012-12-19 11:42:30 +00:00
Terry Guo
47b33e4c65 arm.c (thumb_find_work_register): Check argument register number based on current PCS.
gcc/ChangeLog:

2012-12-19  Terry Guo  <terry.guo@arm.com>

        * config/arm/arm.c (thumb_find_work_register): Check argument
        register number based on current PCS.

gcc/testsuite/ChangeLog:

2012-12-19  Terry Guo  <terry.guo@arm.com>

        * gcc.target/arm/thumb-find-work-register.c: New.

From-SVN: r194605
2012-12-19 11:40:52 +00:00
Tobias Burnus
36085529ca re PR fortran/55636 (Fortran name mangling collides with user namespace)
2012-12-19  Tobias Burnus  <burnus@net-b.de>
            Jakub Jelinek  <jakub@redhat.com>
            Janus Weil  <janus@gcc.gnu.org>

        PR fortran/55636
        PR fortran/55733
        * gfortran.h (GFC_PREFIX): Define.
        * trans-decl.c (gfc_create_string_length): For VAR_DECLs that
        will be TREE_STATIC, use GFC_PREFIX to mangle the names. Handle
        -fno-automatic
        (gfc_trans_deferred_vars): Don't free variables SAVEd via
        -fno-automatic.

2012-12-19  Tobias Burnus  <burnus@net-b.de>

        PR fortran/55733
        * gfortran.dg/save_5.f90: New.


Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
Co-Authored-By: Janus Weil <janus@gcc.gnu.org>

From-SVN: r194604
2012-12-19 10:21:17 +01:00
GCC Administrator
168c15bedc Daily bump.
From-SVN: r194597
2012-12-19 00:18:34 +00:00
Jakub Jelinek
f8a93a2e91 re PR c/39464 (Attribute may_alias causes invalid warning)
PR c/39464
	* c-typeck.c (convert_for_assignment): For -Wpointer-sign
	warning require that both c_common_unsigned_type as well as
	c_common_signed_type is the same for both mvl and mvr types.

	* gcc.dg/pr39464.c: New test.

From-SVN: r194594
2012-12-18 23:48:04 +01:00
Ian Lance Taylor
69fffc1f0e libgo: Link against libatomic_convenience.la.
gcc/go:
	PR go/55201
	* gospec.c: Revert last patch.

gcc/testsuite:
	PR go/55201
	* lib/go.exp: Revert last patch.

From-SVN: r194593
2012-12-18 22:07:38 +00:00
Ian Lance Taylor
36749a1fe6 re PR go/55201 (libgo.so: undefined reference to `__atomic_compare_exchange_8')
PR go/55201
	* Makefile.am (noinst_LTLIBRARIES): Define new make variable.
	(libatomic_convenience_la_SOURCES): Likewise.
	(libatomic_convenience_la_LIBADD): Likewise.
	* Makefile.in: Rebuild.
	* testsuite/Makefile.in: Rebuild.

From-SVN: r194592
2012-12-18 22:04:08 +00:00
Jakub Jelinek
fcf7ca2a9e re PR target/55562 (FAIL: gcc.dg/sms-* on powerpc*-*-*)
PR target/55562
	* sbitmap.c (bitmap_and, bitmap_xor, bitmap_ior): Return whether
	dst sbitmap changed even if it doesn't have popcount.

From-SVN: r194591
2012-12-18 22:40:29 +01:00
James Greenhalgh
0b81f26c30 [AArch64] Fix warning in aarch64.md
gcc/
	* config/aarch64/aarch64.md (insv_imm<mode>): Add modes
	for source operands.

From-SVN: r194589
2012-12-18 17:46:48 +00:00
James Greenhalgh
7b48660547 [AArch64] Fix some warnings about unused variables.
gcc/
	* config/aarch64/aarch64.c (aarch64_simd_attr_length_move):
	Remove unused variables.
	(aarch64_split_compare_and_swap): Likewise.

From-SVN: r194588
2012-12-18 17:43:25 +00:00
Kyrylo Tkachov
c0363bf0d0 driver-arm.c (arm_cpu_table): Add Cortex-A7.
2012-12-18  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/driver-arm.c (arm_cpu_table):
	Add Cortex-A7.

From-SVN: r194587
2012-12-18 16:43:22 +00:00
Aldy Hernandez
2b4212d5b9 re PR other/54324 (GCC install document does not list minimum required g++ version)
PR other/54324
	* doc/install.texi (Tools/packages necessary for building GCC):
	Suggest --disable-stage1-checking for older GCC's.

From-SVN: r194586
2012-12-18 16:21:57 +00:00
Aldy Hernandez
e492fb921d re PR other/54324 (GCC install document does not list minimum required g++ version)
PR other/54324
	* tree-ssa-coalesce.c (struct ssa_name_var_hash): Remove "union"
	from template parameter.

From-SVN: r194584
2012-12-18 15:26:27 +00:00
Aldy Hernandez
9654e9c299 re PR other/54324 (GCC install document does not list minimum required g++ version)
PR other/54324
	* ansidecl.h (ATTRIBUTE_UNUSED): Do not set __attribute__ for GCC
	< 3.4.

From-SVN: r194583
2012-12-18 15:19:43 +00:00
Richard Biener
867fdd05e4 re PR middle-end/54838 (ICE: in merge_latch_edges, at cfgloop.c:678 with -ftracer)
2012-12-18  Richard Biener  <rguenther@suse.de>

	PR middle-end/54838
	* cfgloopmanip.c (fix_loop_structure): Re-discover latch
	edges first and mark loops for removal if no latch edges remain.
	Properly re-create LOOPS_HAVE_FALLTHRU_PREHEADERS.
	* loop-init.c (loop_optimizer_finalize): Set
	LOOPS_MAY_HAVE_MULTIPLE_LATCHES.

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

From-SVN: r194582
2012-12-18 14:39:49 +00:00
Andreas Schwab
0b8ca8fefe libgo: Link against libatomic.
./:
	PR go/55201
	* Makefile.def (all-target-libgo): Depend on all-target-libatomic.
	* Makefile.in: Regenerate.
gcc/go:
	PR go/55201
	* gospec.c (LIBATOMIC): Define.
	(LIBATOMIC_PROFILE): Define.
	(lang_specific_driver): Add LIBATOMIC[_PROFILE] option.
gcc/testsuite:
	* lib/go.exp (go_link_flags): Add libatomic location to flags and
	ld_library_path.

From-SVN: r194581
2012-12-18 14:28:24 +00:00
Richard Biener
00f643091d reassoc-19.c: Adjust.
2012-12-18  Richard Biener  <rguenther@suse.de>

	* gcc.dg/tree-ssa/reassoc-19.c: Adjust.

From-SVN: r194579
2012-12-18 13:26:59 +00:00
Richard Biener
8b679c9b24 re PR middle-end/55555 (miscompilation at -O2 (number_of_iterations))
2012-12-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/55555
	* tree-ssa-loop-niter.c (idx_infer_loop_bounds): Properly
	analyze evolution of the index for the loop it is used in.
	* tree-scalar-evolution.c (instantiate_scev_name): Take
	inner loop we will be creating a chrec for.  Generalize
	fix for PR40281 and prune invalid SCEVs.
	(instantiate_scev_poly): Likewise - pass down inner loop
	we will be creating a chrec for.
	(instantiate_scev_binary): Take and pass through inner loop.
	(instantiate_array_ref): Likewise.
	(instantiate_scev_convert): Likewise.
	(instantiate_scev_not): Likewise.
	(instantiate_scev_3): Likewise.
	(instantiate_scev_2): Likewise.
	(instantiate_scev_1): Likewise.
	(instantiate_scev_r): Likewise.
	(resolve_mixers): Adjust.
	(instantiate_scev): Likewise.

	* gcc.dg/torture/pr55555.c: New testcase.
	* gcc.dg/vect/vect-iv-11.c: Adjust.

From-SVN: r194578
2012-12-18 13:12:34 +00:00
Jonathan Wakely
898be2f38d abi.xml: Update URLs for C++ ABI.
* doc/xml/manual/abi.xml: Update URLs for C++ ABI.
	* doc/xml/manual/policy_data_structures_biblio.xml: Add xmlns
	attribute.
	* doc/xml/manual/debug_mode.xml: Give filenames to chunks.
	* doc/xml/manual/diagnostics.xml: Likewise.
	* doc/xml/manual/extensions.xml: Likewise.
	* doc/xml/manual/bitmap_allocator.xml: Likewise.
	* doc/xml/manual/mt_allocator.xml: Likewise.
	* doc/xml/manual/policy_data_structures.xml: Likewise.
	* doc/xml/manual/parallel_mode.xml: Likewise.
	* doc/xml/manual/profile_mode.xml: Likewise.
	* doc/xml/manual/spine.xml: Likewise. Update copyright years.
	* doc/html/*: Regenerate.

From-SVN: r194576
2012-12-18 11:08:33 +00:00
Jakub Jelinek
76bd29f63c re PR rtl-optimization/55717 (ICE in form_sum, at reload.c:5400)
PR debug/55717
	* rtlhooks-def.h (RTL_HOOKS_GEN_LOWPART_NO_EMIT): Define to
	gen_lowpart_if_possible.
	(gen_lowpart_no_emit_general): Remove prototype.
	* rtlhooks.c (gen_lowpart_no_emit_general): Removed.
	* simplify-rtx.c (simplify_unary_operation_1, 
	simplify_binary_operation_1): Continue simplifying if
	rtl_hooks.gen_lowpart_no_emit returns NULL_RTX.
	* dwarf2out.c (mem_loc_descriptor) <case TRUNCATE>: Handle
	truncation like lowpart SUBREG.

	* testsuite/g++.dg/opt/pr55717.C: New test.

From-SVN: r194575
2012-12-18 11:50:47 +01:00
Andrew Haley
07146f23bc PR gcc/55716 [4.8 Regression] gjavah throws an exception
From-SVN: r194574
2012-12-18 10:00:18 +00:00