2014-01-28  Richard Biener  <rguenther@suse.de>

	* tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps):
	Remove.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207181 138bc75d-0d04-0410-961f-82ee72b054a4
2014-01-28  Richard Biener  <rguenther@suse.de>

	Revert
	2014-01-28  Richard Biener  <rguenther@suse.de>

	PR rtl-optimization/45364
	PR rtl-optimization/59890
	* var-tracking.c (local_get_addr_clear_given_value): Handle
	already cleared slot.
	(val_reset): Handle not allocated local_get_addr_cache.
	(vt_find_locations): Use post-order on the inverted CFG.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207182 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/arm/arm.c (arm_new_rtx_costs): Remove useless statement
	at const_int_cost.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207193 138bc75d-0d04-0410-961f-82ee72b054a4
2014-01-28  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/58742
	* tree-ssa-forwprop.c (associate_plusminus): Handle
	pointer subtraction of the form (T)(P + A) - (T)P.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207194 138bc75d-0d04-0410-961f-82ee72b054a4
PR preprocessor/59935 - caret diagnostics crashes on non-file locations

gcc/ChangeLog

	* input.c (location_get_source_line): Bail out on when line number
	is zero, and test the return value of
	lookup_or_add_file_to_cache_tab.

gcc/testsuite/ChangeLog

	* c-c++-common/cpp/warning-zero-location.c: New test.
	* c-c++-common/cpp/warning-zero-location-2.c: Likewise.

Signed-off-by: Dodji Seketeli <dodji@seketeli.org>

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207195 138bc75d-0d04-0410-961f-82ee72b054a4
Add -m16 support for x86

The .code16gcc directive was added to binutils back in 1999:

---
   '.code16gcc' provides experimental support for generating 16-bit code
from gcc, and differs from '.code16' in that 'call', 'ret', 'enter',
'leave', 'push', 'pop', 'pusha', 'popa', 'pushf', and 'popf'
instructions default to 32-bit size.  This is so that the stack pointer
is manipulated in the same way over function calls, allowing access to
function parameters at the same stack offsets as in 32-bit mode.
'.code16gcc' also automatically adds address size prefixes where
necessary to use the 32-bit addressing modes that gcc generates.
---

It encodes 32-bit assembly instructions generated by GCC in 16-bit format
so that GCC can be used to generate 16-bit instructions.  To do that, the
.code16gcc directive must be placed at the very beginning of the assembly
code.  This patch adds -m16 to x86 backend by:

1. Add -m16 and make it mutually exclusive with -m32, -m64 and -mx32.
2. Treat -m16 like -m32 so that --32 is passed to assembler.
3. Output .code16gcc at the very beginning of the assembly code.
4. Turn off 64-bit ISA when -m16 is used.

	PR target/59672
	* config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32".
	(SPEC_X32): Likewise.
	(SPEC_64): Likewise.
	* config/i386/i386.c (ix86_option_override_internal): Turn off
	OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64
	for TARGET_16BIT.
	(x86_file_start): Output .code16gcc for TARGET_16BIT.
	* config/i386/i386.h (TARGET_16BIT): New macro.
	(TARGET_16BIT_P): Likewise.
	* config/i386/i386.opt: Add m16.
	* doc/invoke.texi: Document -m16.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207196 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/53756
gcc/
	* dwarf2out.c (auto_die): New static.
	(gen_type_die_with_usage): Handle C++1y 'auto'.
	(gen_subprogram_die): If in-class DIE had 'auto', emit type again
	on definition.
gcc/cp/
	* mangle.c (write_unqualified_name): Handle operator auto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207197 138bc75d-0d04-0410-961f-82ee72b054a4
	* decl.c (duplicate_decls): Tweak.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207198 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc.target/arm/thumb-cbranchqi.c: Accept bls also.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207199 138bc75d-0d04-0410-961f-82ee72b054a4
Avoid "'dc' may be uninitialized" warning.

	libiberty/
	* cp-demangle.c (d_demangle_callback): Put an abort call in place,
	to help the compiler.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207200 138bc75d-0d04-0410-961f-82ee72b054a4
2014-01-28  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/59414
	* trans-stmt.c (gfc_trans_allocate): Before the pointer
	assignment to transfer the source _vptr to a class allocate
	expression, the final class reference should be exposed. The
	tail that includes the _data and array references is stored.
	This reduced expression is transferred to 'lhs' and the _vptr
	added. Then the tail is restored to the allocate expression.

2014-01-28  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/59414
	* gfortran.dg/allocate_class_3.f90 : New test


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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207205 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/58632
	* decl.c (lookup_and_check_tag): Ignore template parameters if
	scope == ts_current.
	* pt.c (check_template_shadow): Don't complain about the injected
	class name.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207208 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/58701
	* semantics.c (build_anon_member_initialization): Stop walking
	when we run out of COMPONENT_REFs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207209 138bc75d-0d04-0410-961f-82ee72b054a4
compiler: Put nointerface methods in unique sections.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207214 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/59818
	* pt.c (tsubst_function_type): Make sure we keep the same function
	quals.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207223 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/59791
	* pt.c (tsubst_decl) [VAR_DECL]: Allow in unevaluated context.
	(tsubst_copy): Use it if lookup fails.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207224 138bc75d-0d04-0410-961f-82ee72b054a4
	PR tree-optimization/59594
	* tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort
	a copy of the datarefs vector rather than the vector itself.

	* gcc.dg/vect/no-vfa-vect-depend-2.c: New test.
	* gcc.dg/vect/no-vfa-vect-depend-3.c: New test.
	* gcc.dg/vect/pr59594.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207225 138bc75d-0d04-0410-961f-82ee72b054a4
2014-01-29  Bingfeng Mei  <bmei@broadcom.com>

	* doc/md.texi: Mention that a target shouldn't implement 
	vec_widen_(s|u)mul_even/odd pair if it is less efficient
	than hi/lo pair.


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