aarch64: Improve epilogue unwind info

        * config/aarch64/aarch64.c (aarch64_popwb_single_reg): Remove.
        (aarch64_popwb_pair_reg): Remove.
        (aarch64_set_frame_expr): Remove.
        (aarch64_restore_callee_saves): Add CFI_OPS argument; fill it with
        the restore ops performed by the insns generated.
        (aarch64_expand_epilogue): Attach CFI_OPS to the stack deallocation
        insn.  Perform the calls_eh_return addition later; do not attempt to
        preserve the CFA in that case.  Don't use aarch64_set_frame_expr.
        (aarch64_expand_prologue): Use REG_CFA_ADJUST_CFA directly, or no
        special markup at all.  Load cfun->machine->frame.hard_fp_offset
        into a local variable.
        (aarch64_frame_pointer_required): Don't check calls_alloca.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214886 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* output.h (get_some_local_dynamic_name): Declare.
	* final.c (some_local_dynamic_name): New variable.
	(get_some_local_dynamic_name): New function.
	(final_end_function): Clear some_local_dynamic_name.
	* config/alpha/alpha.c (machine_function): Remove some_ld_name.
	(get_some_local_dynamic_name, get_some_local_dynamic_name_1): Delete.
	(print_operand): Report an error if '%&' is used inappropriately.
	* config/i386/i386.c (get_some_local_dynamic_name): Delete.
	(get_some_local_dynamic_name_1): Delete.
	* config/rs6000/rs6000.c (machine_function): Remove some_ld_name.
	(rs6000_get_some_local_dynamic_name): Delete.
	(rs6000_get_some_local_dynamic_name_1): Delete.
	(print_operand): Report an error if '%&' is used inappropriately.
	* config/s390/s390.c (machine_function): Remove some_ld_name.
	(get_some_local_dynamic_name, get_some_local_dynamic_name_1): Delete.
	(print_operand): Assert that get_some_local_dynamic_name is nonnull.
	* config/sparc/sparc.c: Include rtl-iter.h.
	(machine_function): Remove some_ld_name.
	(sparc_print_operand): Report an error if '%&' is used inappropriately.
	(get_some_local_dynamic_name, get_some_local_dynamic_name_1): Delete.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214889 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* doc/rtl.texi (RTX_AUTOINC): Document that the first operand is
	the automodified register.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214890 138bc75d-0d04-0410-961f-82ee72b054a4
2014-09-03  Fritz Reese  <Reese-Fritz@zai.com>

        PR fortran/62174
        * decl.c (variable_decl): Don't overwrite typespecs of Cray
        * pointees
        when matching a component declaration.

2014-09-02  Fritz Reese  <Reese-Fritz@zai.com>

        PR fortran/62174
        * gfortran.dg/cray_pointers_11.f90: New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214891 138bc75d-0d04-0410-961f-82ee72b054a4
	* doc/invoke.texi: Document that -Wlogical-not-parentheses is enabled
	by -Wall.
c-family/
	* c.opt (Wlogical-not-parentheses): Enable by -Wall.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214893 138bc75d-0d04-0410-961f-82ee72b054a4
compiler: Add precise type information on the heap.

	* go-gcc.cc (Gcc_backend::implicit_variable): Remove init
	parameter.  Add is_hidden parameter.
	(Gcc_backend::implicit_variable_set_init): New method.
	(Gcc_backend::implicit_variable_reference): New method.


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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214897 138bc75d-0d04-0410-961f-82ee72b054a4
Add target hook to override DWARF2 frame register size

gcc/

	* target.def (TARGET_DWARF_FRAME_REG_MODE): New target hook.
	* targhooks.c (default_dwarf_frame_reg_mode): New function.
	* targhooks.h (default_dwarf_frame_reg_mode): New prototype.
	* doc/tm.texi.in (TARGET_DWARF_FRAME_REG_MODE): Document.
	* doc/tm.texi: Regenerate.
	* dwarf2cfi.c (expand_builtin_init_dwarf_reg_sizes): Abstract mode
	selection logic to default_dwarf_frame_reg_mode.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214898 138bc75d-0d04-0410-961f-82ee72b054a4
	PR debug/60655
	* dwarf2out.c (mem_loc_descriptor <PLUS>): Return NULL if addend
	can't be output.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214899 138bc75d-0d04-0410-961f-82ee72b054a4
	PR ipa/61659
	* decl.c (duplicate_decls): Check DECL_DECLARED_INLINE_P on
	newdecl, not olddecl.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214900 138bc75d-0d04-0410-961f-82ee72b054a4
2014-09-04  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* config/rx/rx.h (HARD_REGNO_MODE_OK): Add braces.

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

2014-09-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/vsx.md (*vsx_extract_<mode>_load): Always match
	selection of 0th memory doubleword, regardless of endianness.

[gcc/testsuite]

2014-09-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.target/powerpc/vsx-extract-1.c:  Test 0th doubleword
	regardless of endianness.




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

2014-09-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (special_handling_values): Add
	SH_EXTRACT.
	(rtx_is_swappable_p): Look for patterns with a VEC_SELECT, perhaps
	wrapped in a VEC_DUPLICATE, representing an extract.  Mark these
	as swappable with special handling SH_EXTRACT.  Remove
	UNSPEC_VSX_XXSPLTW from the list of disallowed unspecs for the
	optimization.
	(adjust_extract): New function.
	(handle_special_swappables): Add default to case statement; add
	case for SH_EXTRACT that calls adjust_extract.
	(dump_swap_insn_table): Handle SH_EXTRACT.

[gcc/testsuite]

2014-09-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.target/powerpc/swaps-p8-13.c: New test.
	* gcc.target/powerpc/swaps-p8-14.c: New test.
	* gcc.target/powerpc/swaps-p8-15.c: New test.




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

2014-09-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* doc/options.texi: Document that Var and Init are required if CPP
	is given.
	* optc-gen.awk: Require Var and Init if CPP is given.
	* common.opt (Wpedantic): Use Init.

libcpp/ChangeLog:

2014-09-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* macro.c (replace_args): Use cpp_pedwarning, cpp_warning and
	CPP_W flags.
	* include/cpplib.h: Add CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
	* init.c (cpp_create_reader): Do not init to -1 here.
	* expr.c (num_binary_op): Use cpp_pedwarning.

gcc/c-family/ChangeLog:

2014-09-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
	Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
	(Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
	and Init.
	* c-opts.c (c_common_handle_option): Do not handle here.
	(sanitize_cpp_opts): Likewise.
	* c-common.c (struct reason_option_codes_t): Handle
	CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.

gcc/testsuite/ChangeLog:

2014-09-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* gcc.dg/cpp/endif-pedantic2.c: More general options do not
	override specific ones, but specific ones do.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214904 138bc75d-0d04-0410-961f-82ee72b054a4
	PR target/62040
	* config/aarch64/iterators.md (VQ_NO2E, VQ_2E): New iterators.
	* config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>): Split
	it into two patterns.
	(move_lo_quad_internal_be_<mode>): Likewise.
	
	* gcc.target/aarch64/pr62040.c: New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214905 138bc75d-0d04-0410-961f-82ee72b054a4
dearly: Emit DIEs for decls early in the compilation process.

This is the original patch from Michael Matz, ported to a more recent
mainline.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214906 138bc75d-0d04-0410-961f-82ee72b054a4
Make gen_formal_parameter_die() merge DIEs from a previous execution.

Do not set DW_AT_inline incorrectly on all functions.

Do not remove formal parameters when a previous DIE has been found.
Instead, augment the missing bits later.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214907 138bc75d-0d04-0410-961f-82ee72b054a4
Make output_die() output the parent DIE for each DIE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214908 138bc75d-0d04-0410-961f-82ee72b054a4
	* dwarf2out.c (struct die_struct): Add dumped_early field.
	(reparent_child): New.
	(splice_child_die): Use reparent_child.
	(gen_subprogram_die): Do not regenerate parameters if previously
	dumped.
	(gen_variable_die): Fix parent of decls that have been dumped
	early to reflect correct context.
	Do not regenerate decls if previously dumped.
	(dwarf2out_decl): Add return value.
	(dwarf2out_early_decl): Set dumped_early bit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214909 138bc75d-0d04-0410-961f-82ee72b054a4
Add missing ChangeLog entries for last commit.

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