135045 Commits

Author SHA1 Message Date
Segher Boessenkool
5c8b1abd08 * gcc/config/rs6000/rs6000.md (*add>mode>3_imm_dot,
*add<mode>3_imm_dot2): Change the constraint for the second
	alternative for operand 1 from "r" to "b".

From-SVN: r218750
2014-12-15 15:39:26 +01:00
Richard Biener
27a7de71c7 vec.h (vec::safe_grow): Guard against a grow to zero size.
2014-12-15  Richard Biener  <rguenther@suse.de>

	* vec.h (vec::safe_grow): Guard against a grow to zero size.

From-SVN: r218749
2014-12-15 14:24:06 +00:00
Richard Biener
249700b5f1 re PR tree-optimization/64295 (ICE: SIGSEGV (infinite recursion) with -frounding-math -funsafe-math-optimizations)
2014-12-15  Richard Biener  <rguenther@suse.de>

	PR middle-end/64295
	* match.pd (X / CST -> X * (1 / CST): Use const_binop instead of
	fold_binary to compute the constant to multiply with.

	* gcc.dg/pr64295.c: New testcase.

From-SVN: r218748
2014-12-15 13:01:47 +00:00
Richard Biener
024660c594 re PR middle-end/64246 (ICE building libada for Windows due to NULL loop header)
2014-12-15  Richard Biener  <rguenther@suse.de>

	PR middle-end/64246
	* cfgloop.c (mark_loop_for_removal): Make safe against multiple
	invocations on the same loop.

	* gnat.dg/opt46.adb: New testcase.
	* gnat.dg/opt46.ads: Likewise.
	* gnat.dg/opt46_pkg.adb: Likewise.
	* gnat.dg/opt46_pkg.ads: Likewise.

From-SVN: r218746
2014-12-15 12:20:10 +00:00
Marek Polacek
f52e1d24fd re PR middle-end/64292 (FAIL: g++.dg/torture/pr60474.C -O1 (internal compiler error))
PR middle-end/64292
	* fold-const.c (negate_expr_p): Add INTEGRAL_TYPE_P check.

From-SVN: r218745
2014-12-15 12:15:14 +00:00
Thomas Schwinge
4b4f2e35d0 Build machinery cleanup.
* configure.ac (--enable-as-accelerator-for): Don't set
	ENABLE_AS_ACCELERATOR_FOR.  Update all users.
	* configure: Regenerate.

From-SVN: r218744
2014-12-15 11:54:43 +01:00
Jakub Jelinek
f84e7f45f7 re PR target/64210 (FAIL: gcc.target/i386/avx512vl-(vmovdqa64|vpbroadcastd)-1.c ... with -fpic)
PR target/64210
	* gcc.target/i386/avx512f-broadcast-gpr-1.c: Use %(?:e|r\[0-9\]+d)
	instead of %e in regexps trying to match 32-bit GPR.
	* gcc.target/i386/avx512f-vpbroadcastd-1.c: Likewise.
	* gcc.target/i386/avx512vl-vpbroadcastd-1.c: Likewise.
	* gcc.target/i386/avx512vl-vmovdqa64-1.c: Restrict some scan-assembler-times
	lines to nonpic targets only.  Fix up \[^\n^x^y\] to \[^\nxy\].

From-SVN: r218743
2014-12-15 11:50:52 +01:00
Paolo Carlini
2327deb73b pr63996.C: Fix.
2014-12-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/cpp1y/pr63996.C: Fix.

From-SVN: r218742
2014-12-15 10:47:53 +00:00
Jakub Jelinek
06ac83a9e0 re PR tree-optimization/63551 (wrong code (segfaults) at -Os on x86_64-linux-gnu)
PR tree-optimization/63551
	* gcc.dg/ipa/pr63551.c (fn2): Use 4294967286U instead of
	4294967286 to avoid warnings.

From-SVN: r218740
2014-12-15 11:44:53 +01:00
Janus Weil
41cc1dd00e re PR fortran/63674 ([F03] procedure pointer and non/pure procedure)
2014-12-15  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/63674
	* resolve.c (check_pure_function): Rewording in error message.


2014-12-15  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/63674
	* gfortran.dg/forall_5.f90: Modified error message.
	* gfortran.dg/proc_ptr_comp_39.f90: Ditto.
	* gfortran.dg/pure_dummy_length_1.f90: Ditto.
	* gfortran.dg/stfunc_6.f90: Ditto.
	* gfortran.dg/typebound_operator_4.f90: Ditto.

From-SVN: r218738
2014-12-15 11:34:46 +01:00
Renlin Li
952e78198d [AARCH64]Fix CLZ_DEFINED_AT_ZERO and CTZ_DEFINED_AT_ZERO definition.
gcc/

2014-12-15  Renlin Li  <renlin.li@arm.com>

	* config/aarch64/aarch64.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
	(CTZ_DEFINED_VALUE_AT_ZERO): Update to support more modes.

From-SVN: r218737
2014-12-15 09:56:29 +00:00
Jakub Jelinek
9ab3864f62 re PR sanitizer/64265 (r217669 broke tsan)
PR sanitizer/64265
	* tsan.c (instrument_func_entry): Insert __tsan_func_entry
	call on edge from entry block to single succ instead
	of after labels of single succ of entry block.

From-SVN: r218734
2014-12-15 10:37:47 +01:00
Richard Biener
0675001e98 re PR tree-optimization/64284 (ICE: Segmentation fault)
2014-12-15  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/64284
	* tree-ssa-threadupdate.c (duplicate_seme_region): Mark
	the loop for removal if we copied the loop header.

	* gcc.dg/torture/pr64284.c: New testcase.

From-SVN: r218733
2014-12-15 08:19:55 +00:00
Uros Bizjak
451f119935 server.c (server_setup): Check return value of getcwd and in case of error set buff[0] to 0.
* server.c (server_setup): Check return value of
	getcwd and in case of error set buff[0] to 0.

From-SVN: r218732
2014-12-15 09:10:41 +01:00
Jan Hubicka
dea91a66ff re PR ipa/61602 (ICE in lto1 on x86_64-linux-gnu in ipa_single_use, at ipa.c:1257)
PR ipa/61602
	* gcc.dg/torture/pr61602.c: New testcase.

	* cgraph.h (ipa_discover_readonly_nonaddressable_vars): Return bool.
	* ipa.c (set_writeonly_bit): Track if reference was removed.
	(ipa_discover_readonly_nonaddressable_vars): Return true if any
	references was removed.
	* ipa-reference.c (propagate): Return TODO_remove_functions if
	reference was removed.

From-SVN: r218731
2014-12-15 06:19:51 +00:00
Jan Hubicka
f1ced6f5e7 * ipa.c (process_references): Fix conditoinal on flag_optimize
From-SVN: r218730
2014-12-15 03:47:18 +00:00
Jan Hubicka
59b5b46686 re PR middle-end/61558 (ICE: Segmentation fault)
PR ipa/61558
	* symtab.c (symbol_table::insert_to_assembler_name_hash
	symbol_table::unlink_from_assembler_name_hash): Do not ICE when	
	DECL_ASSEMBLER_NAME is NULL.

From-SVN: r218729
2014-12-15 03:44:58 +00:00
Jan Hubicka
38c1b72fcb * cgraphunit.c (analyze_functions): Always analyze targets of aliases.
From-SVN: r218728
2014-12-15 03:42:14 +00:00
Jan Hubicka
bebecd51b6 re PR lto/64043 (ICE (segfault) with LTO: in tree_check/tree.h:2758 get_binfo_at_offset/tree.c:11914)
PR lto/64043
	* tree.c (virtual_method_call_p): Return false when OTR type has
	no BINFO.
	* g++.dg/lto/pr64043_0.C: New testcase.

From-SVN: r218727
2014-12-15 03:41:41 +00:00
Jan Hubicka
1bf7c32414 cgraphunit.c (analyze_functions): Do not analyze extern inline funtions when not optimizing; skip comdat locals.
* cgraphunit.c (analyze_functions): Do not analyze extern inline
	funtions when not optimizing; skip comdat locals.

From-SVN: r218726
2014-12-15 00:21:21 +00:00
GCC Administrator
001a28839c Daily bump.
From-SVN: r218725
2014-12-15 00:16:29 +00:00
Ian Lance Taylor
c5bef33ff9 compiler: Fix crash when tracked field used in global initializer.
From-SVN: r218722
2014-12-14 19:39:15 +00:00
H.J. Lu
4cbdb69905 Pass unpromoted argument to promote_function_mode
This patch updates setup_incoming_promotions in combine.c to match what
is actually passed in assign_parm_setup_reg in function.c.

gcc/

	PR rtl-optimization/64037
	* combine.c (setup_incoming_promotions): Pass the argument
	before any promotions happen to promote_function_mode.

gcc/testsuite/

	PR rtl-optimization/64037
	* g++.dg/pr64037.C: New test.

From-SVN: r218720
2014-12-14 08:04:11 -08:00
Janus Weil
5930876d68 re PR fortran/63674 ([F03] procedure pointer and non/pure procedure)
2014-12-14  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/63674
	* resolve.c (pure_function): Treat procedure-pointer components.
	(check_pure_function): New function.
	(resolve_function): Use it.
	(pure_subroutine): Return a bool to indicate success and modify
	arguments.
	(resolve_generic_s0,resolve_specific_s0,resolve_unknown_s): Use return
	value of 'pure_subroutine'.
	(resolve_ppc_call): Call 'pure_subroutine'.
	(resolve_expr_ppc): Call 'check_pure_function'.


2014-12-14  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/63674
	* gfortran.dg/proc_ptr_comp_39.f90: New.
	* gfortran.dg/pure_dummy_length_1.f90: Modified error message.
	* gfortran.dg/stfunc_6.f90: Ditto.
	* gfortran.dg/typebound_operator_4.f90: Ditto.

From-SVN: r218717
2014-12-14 13:04:49 +01:00
Ian Lance Taylor
761bd33348 re PR go/61244 (gccgo: ICE in write_specific_type_functions [GoSmith])
PR go/61244
compiler: Traverse type descriptor expressions.

From-SVN: r218715
2014-12-14 00:55:01 +00:00
GCC Administrator
7b814b1aa5 Daily bump.
From-SVN: r218714
2014-12-14 00:16:33 +00:00
Tim Shen
bc2738455b re PR libstdc++/64239 (regex_iterator::operator= should copy match_results::position)
PR libstdc++/64239
	* include/bits/regex.h (match_results<>::match_results,
	match_results<>::operator=, match_results<>::position,
	match_results<>::swap): Remove match_results::_M_in_iterator.
	Fix ctor/assign/swap.
	* include/bits/regex.tcc: (__regex_algo_impl<>,
	regex_iterator<>::operator++): Set match_results::_M_begin as
	"start position".
	* testsuite/28_regex/iterators/regex_iterator/char/
	string_position_01.cc: Test cases.

From-SVN: r218710
2014-12-13 22:19:18 +00:00
Jonathan Wakely
6554581713 Post-Urbana updates to Library Fundamentals v1.
* include/experimental/any (any): Remove allocator support and update
	feature-testing macro.
	* include/experimental/functional: Update feature-testing macro.
	* include/experimental/optional (optional::_M_get()): Add constexpr.
	(optional::operator*(), optional::value()): Overload and add
	ref-qualifiers. Update feature-testing macro.
	* include/experimental/string_view (basic_string_view::clear): Remove
	and update feature-testing macro.
	* testsuite/experimental/any/cons/3.cc: Remove.
	* testsuite/experimental/any/cons/4.cc: Remove.
	* testsuite/experimental/any/misc/any_cast.cc: Remove allocator tests.
	* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
	* testsuite/experimental/string_view/capacity/1.cc: Don't test clear().

From-SVN: r218709
2014-12-13 20:44:06 +00:00
Oleg Endo
d64474d27f re PR target/53513 ([SH] Add support for fpchg insn and improve fenv support)
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.

From-SVN: r218707
2014-12-13 13:17:55 +00:00
Oleg Endo
42948a4343 sp-switch.c: Match zero or more underscores in alt_stack symbol.
gcc/testsuite/
	* gcc.target/sh/sp-switch.c: Match zero or more underscores in
	alt_stack symbol.

From-SVN: r218706
2014-12-13 13:02:23 +00:00
Jakub Jelinek
b6a65eb6fa re PR bootstrap/64023 (r216964 breaks bootstrap on darwin when using gcc as the bootstrap compiler.)
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.

From-SVN: r218705
2014-12-13 12:24:37 +01:00
Ian Lance Taylor
9ac18f8c2a re PR go/61258 (gccgo: assertion failure go-map-delete.c:37 [GoSmith])
PR go/61258
runtime: Don't crash when deleting zero-sized key.

From-SVN: r218702
2014-12-13 01:58:46 +00:00
Ian Lance Taylor
967b254be1 re PR go/61254 (gccgo: spurious "error: slice end must be integer" [GoSmith])
PR go/61254
compiler: Don't move nil subexpressions into temporaries.

From-SVN: r218701
2014-12-13 01:41:49 +00:00
Ian Lance Taylor
e846322c86 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.

From-SVN: r218700
2014-12-13 01:00:49 +00:00
Ian Lance Taylor
c31fc2f424 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.

From-SVN: r218699
2014-12-13 00:52:20 +00:00
Jonathan Wakely
93889749df re PR libstdc++/58594 (std::make_shared does not accept const types as parameters)
PR libstdc++/58594
	* include/bits/shared_ptr_base.h: Real fix for cv-qualified types.

From-SVN: r218698
2014-12-13 00:44:17 +00:00
GCC Administrator
80d8f3796d Daily bump.
From-SVN: r218697
2014-12-13 00:16:40 +00:00
Tobias Burnus
a4d9b2212c error.c (gfc_error): Add variant which takes a va_list.
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.


Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>

From-SVN: r218694
2014-12-13 00:12:06 +01:00
Paolo Carlini
33948765f1 re PR c++/59240 (ICE in varpool_get_node)
2014-12-12  Paolo Carlini  <paolo.carlini@oracle.com>

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

From-SVN: r218693
2014-12-12 22:40:29 +00:00
Paolo Carlini
88957d5e14 re PR c++/59628 (ICE with invalid OpenMP "declare reduction" clause)
/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.

From-SVN: r218692
2014-12-12 21:50:12 +00:00
Jonathan Wakely
d95521b411 re PR libstdc++/58594 (std::make_shared does not accept const types as parameters)
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.

From-SVN: r218691
2014-12-12 21:05:35 +00:00
Paolo Carlini
4573e50a83 re PR c++/61924 ([C++11] ICE in instantiate_template_1, at cp/pt.c:15618)
2014-12-12  Paolo Carlini  <paolo.carlini@oracle.com>

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

From-SVN: r218690
2014-12-12 20:30:11 +00:00
Thomas Schwinge
e0dd6391cd 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;
                ^

From-SVN: r218689
2014-12-12 21:14:10 +01:00
Vladimir Makarov
f66af4aa7f re PR rtl-optimization/64110 (ICE: Max. number of generated reload insns per insn is achieved (90))
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.

From-SVN: r218688
2014-12-12 20:11:10 +00:00
Thomas Schwinge
88c7eae209 OpenMP target nesting tests.
gcc/testsuite/
	* c-c++-common/gomp/nesting-1.c: New file.
	* c-c++-common/gomp/nesting-warn-1.c: Likewise.

From-SVN: r218687
2014-12-12 21:01:29 +01:00
Thomas Schwinge
8e25a61aca 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.

From-SVN: r218686
2014-12-12 21:01:18 +01:00
Jason Merrill
c0b6f54bd3 pt.c (do_auto_deduction): In direct-init context, { x } deduces from x.
N3922
	* pt.c (do_auto_deduction): In direct-init context, { x } deduces
	from x.

From-SVN: r218685
2014-12-12 12:52:28 -05:00
Jason Merrill
e3501bab81 cp-tree.h (NAMESPACE_ABI_TAG): New.
* 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.

From-SVN: r218684
2014-12-12 12:52:21 -05:00
Kai Tietz
9c89d52a8d re PR c++/63996 (Infinite loop in invalid C++14 constexpr fn)
PR c++/63996
	* g++.dg/cpp1y/pr63996.C: New file.

From-SVN: r218683
2014-12-12 18:17:58 +01:00
Kai Tietz
5a5e54cdf8 re PR c++/63996 (Infinite loop in invalid C++14 constexpr fn)
PR c++/63996
	* constexpr.c (cxx_eval_loop_expr): Don't loop
	endless on none-constant expression.

From-SVN: r218682
2014-12-12 18:14:54 +01:00