* cp-tree.h (NAMESPACE_ABI_TAG): New.
	* name-lookup.c (handle_namespace_attrs): Set it.
	* class.c (check_tag): Split out from find_abi_tags_r.
	(find_abi_tags_r): Also check namespace tags.
	(mark_type_abi_tags): Also mark namespace tags.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218684 138bc75d-0d04-0410-961f-82ee72b054a4
	N3922
	* pt.c (do_auto_deduction): In direct-init context, { x } deduces
	from x.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218685 138bc75d-0d04-0410-961f-82ee72b054a4
A bit of walk_gimple_op maintenance.

	* gimple-walk.c (walk_gimple_op) <GIMPLE_OMP_FOR>: Also check
	intermediate walk_tree results for for_incr.
	<GIMPLE_OMP_TARGET>: Walk child_fn and data_arg, too.
	<GIMPLE_OMP_CRITICAL, GIMPLE_OMP_ATOMIC_STORE>: Pretty printing.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218686 138bc75d-0d04-0410-961f-82ee72b054a4
OpenMP target nesting tests.

	gcc/testsuite/
	* c-c++-common/gomp/nesting-1.c: New file.
	* c-c++-common/gomp/nesting-warn-1.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218687 138bc75d-0d04-0410-961f-82ee72b054a4
2014-12-12  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/64110
	* lra-constraints.c (process_alt_operands): Refuse alternative
	when reload pseudo of given class can not hold value of given
	mode.

2014-12-12  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/64110
	* gcc.target/i386/pr64110.c: New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218688 138bc75d-0d04-0410-961f-82ee72b054a4
nvptx: Define valid ASM_OUTPUT_ALIGN.

	gcc/
	* config/nvptx/nvptx.h (ASM_OUTPUT_ALIGN): Define as a C statment.

    gcc/doc/tm.texi:@defmac ASM_OUTPUT_ALIGN (@var{stream}, @var{power})
    gcc/doc/tm.texi-A C statement to output to the stdio stream @var{stream} an assembler
    gcc/doc/tm.texi-command to advance the location counter to a multiple of 2 to the
    gcc/doc/tm.texi-@var{power} bytes.  @var{power} will be a C expression of type @code{int}.
    gcc/doc/tm.texi-@end defmac

    gcc/config/nvptx/nvptx.h:#define ASM_OUTPUT_ALIGN(FILE, POWER)

"Empty" is not a C statement, and so in code such as:

    gcc/dwarf2out.c-              if (lsda_encoding == DW_EH_PE_aligned)
    gcc/dwarf2out.c:                ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (PTR_SIZE));
    gcc/dwarf2out.c-              dw2_asm_output_data (size_of_encoded_value (lsda_encoding), 0,
    gcc/dwarf2out.c-                                   "Language Specific Data Area (none)");

    gcc/varasm.c-      if (align > BITS_PER_UNIT)
    gcc/varasm.c:        ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (align / BITS_PER_UNIT));
    gcc/varasm.c-      assemble_variable_contents (decl, name, dont_output_data);

    gcc/varasm.c-  if (align > 0)
    gcc/varasm.c:    ASM_OUTPUT_ALIGN (asm_out_file, align);
    gcc/varasm.c-
    gcc/varasm.c-  targetm.asm_out.internal_label (asm_out_file, "LTRAMP", 0);

    gcc/varasm.c-      if (align > BITS_PER_UNIT)
    gcc/varasm.c:        ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (align / BITS_PER_UNIT));
    gcc/varasm.c-      assemble_constant_contents (exp, XSTR (symbol, 0), align);

..., GCC warns:

    [...]/source-gcc/gcc/dwarf2out.c: In function 'void output_fde(dw_fde_ref, bool, bool, char*, int, char*, bool, int)':
    [...]/source-gcc/gcc/dwarf2out.c:665:3: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
       ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (PTR_SIZE));
       ^

    [...]/source-gcc/gcc/varasm.c: In function 'void assemble_variable(tree, int, int, int)':
    [...]/source-gcc/gcc/varasm.c:2217:2: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
      ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (align / BITS_PER_UNIT));
      ^
    [...]/source-gcc/gcc/varasm.c: In function 'rtx_def* assemble_trampoline_template()':
    [...]/source-gcc/gcc/varasm.c:2603:5: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
         ASM_OUTPUT_ALIGN (asm_out_file, align);
         ^
    [...]/source-gcc/gcc/varasm.c: In function 'void output_constant_def_contents(rtx)':
    [...]/source-gcc/gcc/varasm.c:3413:2: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
      ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (align / BITS_PER_UNIT));
      ^

Also, "use" the values, to get rid of that one:

    [...]/source-gcc/gcc/final.c: In function 'rtx_insn* final_scan_insn(rtx_insn*, FILE*, int, int, int*)':
    [...]/source-gcc/gcc/final.c:2450:12: warning: variable 'log_align' set but not used [-Wunused-but-set-variable]
            int log_align;
                ^

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218689 138bc75d-0d04-0410-961f-82ee72b054a4
2014-12-12  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/61924
	* g++.dg/cpp0x/pr61924.C: New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218690 138bc75d-0d04-0410-961f-82ee72b054a4
	PR libstdc++/58594
	* include/bits/shared_ptr_base.h: Cast away cv-quals.
	* testsuite/20_util/shared_ptr/creation/58594-no-rtti.cc: New.
	* testsuite/20_util/shared_ptr/creation/private.cc: Make allocator
	rebindable so test passes with -fno-rtti.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218691 138bc75d-0d04-0410-961f-82ee72b054a4
/cp
2014-12-12  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59628
	* semantics.c (finish_omp_reduction_clause): Early return true
	if DECL_SAVED_TREE (id) is NULL_TREE.

/testsuite
2014-12-12  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59628
	* g++.dg/gomp/pr59628.C: New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218692 138bc75d-0d04-0410-961f-82ee72b054a4
2014-12-12  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59240
	* g++.dg/torture/pr59240.C: New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218693 138bc75d-0d04-0410-961f-82ee72b054a4
2014-12-13  Tobias Burnus  <burnus@net-b.de>
            Manuel López-Ibáñez  <manu@gcc.gnu.org>

fortran/
        * error.c (gfc_error): Add variant which takes a va_list.
        (gfc_notify_std): Convert to common diagnostic.
        * array.c: Use %qs, %<...%> in more gfc_error calls and
        for gfc_notify_std.
        * check.c: Ditto.
        * data.c: Ditto.
        * decl.c: Ditto.
        * expr.c: Ditto.
        * interface.c: Ditto.
        * intrinsic.c: Ditto.
        * io.c: Ditto.
        * match.c: Ditto.
        * matchexp.c: Ditto.
        * module.c: Ditto.
        * openmp.c: Ditto.
        * parse.c: Ditto.
        * primary.c: Ditto.
        * resolve.c: Ditto.
        * simplify.c: Ditto.
        * symbol.c: Ditto.
        * trans-common.c: Ditto.
        * trans-intrinsic.c: Ditto.

gcc/testsuite/
        * gfortran.dg/realloc_on_assign_21.f90: Update dg-error.
        * gfortran.dg/warnings_are_errors_1.f: Ditto.
        * gfortran.dg/warnings_are_errors_1.f90: Ditto.



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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218697 138bc75d-0d04-0410-961f-82ee72b054a4
	PR libstdc++/58594
	* include/bits/shared_ptr_base.h: Real fix for cv-qualified types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218698 138bc75d-0d04-0410-961f-82ee72b054a4
runtime: Clear stack pointers for extra G's.

Fix an unusual C to Go callback case.  Newly created C threads
call into Go code, forcing the Go code to allocate new M and G
structures.  While executing Go code, the stack is split.  The
Go code then returns.  Returning from a Go callback is treated
as entering a system call, so the G gcstack field is set to
point to the Go stack.  In this case, though, we were called
from a newly created C thread, so we drop the extra M and G
structures.  The C thread then exits.

Then a new C thread calls into Go code, reusing the previously
created M and G.  The Go code requires a larger stack frame,
causing the old stack segment to be unmapped and a new stack
segment allocated.  At this point the gcstack field is
pointing to the old stack segment.

Then a garbage collection occurs.  The garbage collector sees
that the gcstack field is not nil, so it scans it as the first
stack segment.  Unfortunately it points to memory that was
unmapped.  So the program crashes.

The fix is simple: when handling extra G structures created
for callbacks from new C threads, clear the gcstack field.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218699 138bc75d-0d04-0410-961f-82ee72b054a4
testing: Add testing.MainStart function.

This patches in the Go 1.4 function, for convenience for
people using the Go 1.4 go tool with mainline gccgo.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218700 138bc75d-0d04-0410-961f-82ee72b054a4
	PR go/61254
compiler: Don't move nil subexpressions into temporaries.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218701 138bc75d-0d04-0410-961f-82ee72b054a4
	PR go/61258
runtime: Don't crash when deleting zero-sized key.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218702 138bc75d-0d04-0410-961f-82ee72b054a4
	PR bootstrap/64023
	* Makefile.tpl (EXTRA_TARGET_FLAGS): Set STAGE1_LDFLAGS
	to POSTSTAGE1_LDFLAGS and STAGE1_LIBS to POSTSTAGE1_LIBS.
	Add -B to libstdc++-v3/src/.libs and libstdc++-v3/libsupc++/.libs
	to CXX.
	* Makefile.in: Regenerated.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218705 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/testsuite/
	* gcc.target/sh/sp-switch.c: Match zero or more underscores in
	alt_stack symbol.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218706 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/testsuite/
	PR target/53513
	* gcc.target/sh/attr-isr-nosave_low_regs.c: Fix matching of expected
	register push/pop sequences.
	* gcc.target/sh/attr-isr.c: Likewise.
	* gcc.target/sh/attr-isr-trapa.c: Likewise.
	* gcc.target/sh/pragma-isr-nosave_low_regs.c: Likewise.
	* gcc.target/sh/pragma-isr-trapa.c: Likewise.
	* gcc.target/sh/pragma-isr-trapa2.c: Likewise.


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