2012-06-09  Kenneth Zadeck <zadeck@naturalbridge.com>

	* simplify-rtx.c (simplify_const_binary_operation): Fixed shift
	count trucation.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188359 138bc75d-0d04-0410-961f-82ee72b054a4
PR c++/53602
        * cfgcleanup.c (execute_jump): Rename from rest_of_handle_jump2.
        (pass_jump): Rename from pass_jump2.
        (execute_jump2, pass_jump2): New.
        * combine-stack-adj.c (rest_of_handle_stack_adjustments): Don't
        perform cfg cleanup here.  Move the test of PUSH_ROUNDING
        and ACCUMULATE_OUTGOING_ARGS test...
        (gate_handle_stack_adjustments): ... here.
        * passes.c (init_optimization_passes): Update for pass_jump2 rename.
        Place new pass_jump2 after pass_stack_adjustments.
        * tree-pass.h (pass_jump): Declare.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188360 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/i386/32/sfp-machine.h (__gcc_CMPtype, CMPtype,
	_FP_KEEPNANFRACP, _FP_CHOOSENAN, FP_EX_INVALID, FP_EX_DENORM,
	FP_EX_DIVZERO, FP_EX_OVERFLOW, FP_EX_UNDERFLOW, FP_EX_INEXACT,
	FP_HANDLE_EXCEPTIONS, FP_RND_NEAREST, FP_RND_ZERO, FP_RND_PINF,
	FP_RND_MINF, _FP_DEXL_EX, FP_INIT_ROUNDMODE, FP_ROUNDMODE,
	__LITTLE_ENDIAN, __BIG_ENDIAN, strong_alias): Move ...
	* config/i386/64/sfp-machine: ... (delete here) ...
	* config/i386/sfp-machine.h: ... to here.
	(FP_EX_MASK): New.
	(__sfp_handle_exceptions): New function declaration.
	(FP_HANDLE_EXCEPTIONS): Use __sfp_handle_exceptions.
	* config/i386/sfp-exceptions.c: New.
	* config/i386/t-softfp: New.
	* config.host (i[34567]86-*-* and x86_64-*-* soft-fp targets): Add
	i386/t-softfp to tmake_file.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188361 138bc75d-0d04-0410-961f-82ee72b054a4
	Fix CRIS build errors with --enable-build-with-cxx.
	* config/cris/cris.c (cris_emit_trap_for_misalignment): Rename
	variable "and" to "andop".
	* config/cris/sync.md ("atomic_fetch_<atomic_op_name><mode>"): Use
	temporary variable for memory model, passing C++-type-correct
	parameter type to expand_mem_thread_fence.
	("atomic_compare_and_swap<mode>"): Ditto.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188362 138bc75d-0d04-0410-961f-82ee72b054a4
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188370 138bc75d-0d04-0410-961f-82ee72b054a4
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188375 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc-interface/decl.c (gnat_to_gnu_entity): Translate the Esize on
	entry only for elementary types and abort if it is too large.
	<E_Record_Type>: Make sure the Esize is known before using it.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188378 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc-interface/decl.c (gnat_to_gnu_entity): Do not specifically deal
	with external constants wrt force_global here...
	<E_Constant>: ...but here instead.
	* gcc-interface/utils.c (gnat_pushdecl): Do not put external DECLs onto
	the list of global DECLs.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188379 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc-interface/trans.c (Identifier_to_gnu): Test Is_Elementary_Type
	instead of Is_Scalar_Type for a constant with an address clause.
	Do not return the underlying constant for a constant used by reference
	if it holds the address of a constant and an lvalue is required.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188380 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Convert GNU_SIZE
	to units before invoking allocatable_size_p on it.
	Remove orphaned comment.  Do not use ssize_int.
	<E_Record_Subtype>: Traverse list in original order.  Minor tweak.
	(allocatable_size_p): Adjust and simplify.
	(build_subst_list): Use consistent terminology throughout.
	(build_variant_list): Likewise.  Traverse list in original order.
	(create_field_decl_from): Likewise.
	(copy_and_substitute_in_size): Likewise.
	(create_variant_part_from): Add comment about field list order.
	* gcc-interface/utils.c (build_vms_descriptor): Do not use ssize_int.
	* gcc-interface/utils2.c (build_allocator): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188382 138bc75d-0d04-0410-961f-82ee72b054a4
2012-06-11  Richard Guenther  <rguenther@suse.de>

	* alias.c (aliases_everything_p): Remove.
	(DIFFERENT_ALIAS_SETS_P): Likewise.
	(true_dependence_1): Use mems_in_disjoint_alias_sets_p directly.
	Do not use aliases_everything_p or special-case ANDs.  Do not
	special-case BLKmode moves.
	(may_alias_p): Likewise.  Handle BLKmode similar like everywhere
	- for SCATCH only.  


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188384 138bc75d-0d04-0410-961f-82ee72b054a4
2012-06-11  Richard Guenther  <rguenther@suse.de>

	PR c++/53616
	* mangle.c (write_array_type): Use double-ints for array domain
	arithmetic.

	* g++.dg/ext/pr53605.C: New testcase.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188386 138bc75d-0d04-0410-961f-82ee72b054a4
2012-06-11  Richard Guenther  <rguenther@suse.de>

	PR middle-end/53470
	* tree.c (free_lang_data_in_type): Do not clear TYPE_CONTEXT but
	replace it with the first non-BLOCK context.

	* g++.dg/lto/pr53470_0.C: New testcase.
	* gcc.dg/lto/pr53470_0.c: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188387 138bc75d-0d04-0410-961f-82ee72b054a4
Fixup ChangeLog


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188388 138bc75d-0d04-0410-961f-82ee72b054a4
       * Makefile.in (GNATLIBCFLAGS_FOR_C): Remove $(PIC_FLAG_FOR_TARGET).
       (gnatlib-shared-default): Add $(PIC_FLAG_FOR_TARGET) to
       GNATLIBCFLAGS_FOR_C passed to gnatlib.
       (gnatlib-shared-win32): Likewise.
       (gnatlib-shared-darwin): Likewise.
       (gnatlib-shared-dual-win32): Pass PIC_FLAG_FOR_TARGET to 
       gnatlib-shared-win32.

       libada/
       * Makefile.in (GNATLIBCFLAGS_FOR_C): Remove $(PICFLAG).



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188390 138bc75d-0d04-0410-961f-82ee72b054a4
* dwarf2cfi.c (scan_trace): Handle annulled branch-taken delay slots.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188391 138bc75d-0d04-0410-961f-82ee72b054a4
	PR target/53511
	* config/sh/sh.md (fmasf4): New expander.
	(*macsf3): Rename to fmasf4_i.  Adapt to fma pattern.
	(mac_media): Rename to fmasf4_media.  Adapt to fma pattern.
	* config/sh/sh.opt (mfused-madd): Remove.
	* config/sh/sh.c (sh_option_override): Remove mfused-madd handling.
	(builtin_description bdesc): Remove __builtin_sh_media_FMAC_S.
	* config.gcc (sh[123456789lbe]*-*-* | sh-*-*): Add fused-madd.opt
	as extra options.
	* doc/invoke.texi (SH Options): Update mfused-madd and mno-fused-madd
	descriptions.

	PR target/53511
	* gcc.target/sh/pr53511-1.c: New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188396 138bc75d-0d04-0410-961f-82ee72b054a4
	Fix ChangeLog formatting.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188397 138bc75d-0d04-0410-961f-82ee72b054a4
Roland McGrath  <mcgrathr@google.com>

	* dwarf2out.c (const_ok_for_output_1): Detect a TLS UNSPEC using
	SYMBOL_REF_TLS_MODEL rather than DECL_THREAD_LOCAL_P, in case it's
	not a VAR_DECL.  Also don't limit it to UNSPECs with exactly one
	operand.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188398 138bc75d-0d04-0410-961f-82ee72b054a4
        * lib/target-supports.exp
        (check_effective_target_sync_long_long_runtime): Use
        check_effective_target_lp64 instead of
        check_effective_target_powerpc64 for powerpc targets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188399 138bc75d-0d04-0410-961f-82ee72b054a4