1. 20 Dec, 2014 7 commits
    • re PR target/64358 (Wrong code for __int128 operations in powerpc64le) · 2f40404f
      	PR target/64358
      	* config/rs6000/rs6000.c (rs6000_split_logical_inner): Swap the
      	input operands if only the second is inverted.
      	* config/rs6000/rs6000.md (*boolc<mode>3_internal1 for BOOL_128):
      	Swap BOOL_REGS_OP1 and BOOL_REGS_OP2.  Correct arguments to
      	rs6000_split_logical.
      	(*boolc<mode>3_internal2 for TI2): Swap operands[1] and operands[2].
      
      From-SVN: r218989
      Segher Boessenkool committed
    • c++config: inline __cxx11 namespace within namespace __cxx1998. · 9836f82e
      2014-12-20  François Dumont  <fdumont@gcc.gnu.org>
      
      	* include/bits/c++config: inline __cxx11 namespace within namespace
      	__cxx1998.
      
      From-SVN: r218988
      François Dumont committed
    • * g++.dg/cpp1y/lambda-generic-variadic2.C: Fix. · 42e99e70
      From-SVN: r218987
      Jason Merrill committed
    • c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro. · a7fa8d18
      c-family/
      
      2014-12-20  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
      	* c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
      	Control macro with flag_sized_deallocation.
      
      
      testsuite/
      
      2014-12-20  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
      	* g++.dg/cpp1y/feat-cxx98-neg.C: Enable __cpp_sized_deallocation test.
      	* g++.dg/cpp1y/feat-cxx14.C: Ditto.
      	* g++.dg/cpp1y/feat-cxx11-neg.C: Ditto and move tests for consistent
      	order.
      	* g++.dg/cpp1y/feat-sized-dealloc-neg.C: New.
      	* g++.dg/cpp1y/feat-sized-dealloc.C: New.
      
      From-SVN: r218986
      Edward Smith-Rowland committed
    • invoke.texi: Document -Wdiscarded-array-qualifiers. · 768952be
      2014-12-20  Martin Uecker <uecker@eecs.berkeley.edu>
      
      	* doc/invoke.texi: Document -Wdiscarded-array-qualifiers.
      	* doc/extend.texi: Document new behavior for pointers to arrays
      	with qualifiers.
      
      c/
      	* c-typeck.c: New behavious for pointers to arrays with qualifiers
              (common-pointer-type): For pointers to arrays take qualifiers from
      	element type.
              (build_conditional_expr): Add warnings for lost qualifiers.
      	(comp-target-types): Allow pointers to arrays with different qualifiers.
              (convert-for-assignment): Adapt warnings for discarded qualifiers. Add
      	WARNING_FOR_QUALIFIERS macro and rename WARN_FOR_QUALIFIERS
              to PEDWARN_FOR_QUALIFIERS.
      
      c-family/
      	* c.opt (Wdiscarded-array-qualifiers): New option.
      
      testsuite/
      	* gcc.dg/Wwrite-strings-1.c: Change dg-warning.
      	* gcc.dg/array-quals-1.c: Use -Wno-discarded-array-qualifiers.
      	* gcc.dg/array-quals-2.c: Change dg-options, dg-warning.
      	* gcc.dg/pointer-array-atomic.c: New test.
      	* gcc.dg/pointer-array-quals-1.c: New test.
      	* gcc.dg/pointer-array-quals-2.c: New test (-pedantic-errors).
      	* gcc.dg/qual-component-1.c: Change dg-options, dg-warnings.
      
      From-SVN: r218985
      Martin Uecker committed
    • Fix duplicate symbol errors in Darwin bootstrap. · 189486b8
      	* src/c++98/locale-inst.cc (__add_grouping, __pad, __int_to_char):
      	Only compile for old ABI.
      
      From-SVN: r218984
      Jonathan Wakely committed
    • Daily bump. · 47356ebc
      From-SVN: r218983
      GCC Administrator committed
  2. 19 Dec, 2014 33 commits
    • Fix casting non-"int" to bool. · e8af59bc
      gcc/jit/ChangeLog:
      	* jit-playback.c (gcc::jit::playback::context::build_cast): In
      	case BOOLEAN_TYPE, don't assume that the source expression is
      	of type "int".
      
      gcc/testsuite/ChangeLog:
      	* jit.dg/test-expressions.c (make_tests_of_casts): Add tests of
      	casting between "long" and "bool".
      	(verify_casts): Verify these new test cases.
      
      From-SVN: r218977
      David Malcolm committed
    • hash-table.h (struct pointer_hash): Fix formating. · 6db4bc6e
      	* hash-table.h (struct pointer_hash): Fix formating.
      	(hash_table_higher_prime_index): Declare pure.
      	(hash_table_mod2, hash_table_mod1, mul_mod): Move inline;
      	assume that uint64_t always exists.
      	(hash_table<Descriptor, Allocator, false>): Use gcc_checking_assert.
      	(hash_table<Descriptor, Allocator, false>::expand ()): Fix formating.
      	(hash_table<Descriptor, Allocator, false>::clear_slot (value_type **slot)):
      	Use checking assert.
      	* hash-table.c: Remove #if 0 code.
      	(hash_table_higher_prime_index): Use gcc_assert.
      	(mul_mod, hash-table_mod1, hash_table_mod2): move to hash-table.h
      
      From-SVN: r218976
      Jan Hubicka committed
    • MIPSR6: mips-img-elf mips-img-linux-gnu triplets and vendor updates · 58c9330b
      gcc/
      
      	* config.gcc: Support mips*-img-linux* and mips*-img-elf*.
      	* config/mips/mti-linux.h: Support mips32r6 as being the default arch.
      	* config/mips/t-img-elf: New.
      	* config/mips/t-img-linux: New.
      
      gcc/testsuite/
      
      	* gcc.target/mips/pr37362.c: Skip for mips-img-elf.
      
      From-SVN: r218975
      Matthew Fortune committed
    • go-gcc.cc (array_constructor_expression): Don't construct arrays of zero-sized values. · 943cf9cf
      	* go-gcc.cc (array_constructor_expression): Don't construct arrays
      	of zero-sized values.
      
      From-SVN: r218974
      Chris Manghane committed
    • MIPS32R6 and MIPS64R6 support · 82f84ecb
      gcc/
      
      	* config.gcc: Add mipsisa64r6 and mipsisa32r6 cpu support.
      	* config/mips/constraints.md (ZD): Add r6 restrictions.
      	* config/mips/gnu-user.h (DRIVER_SELF_SPECS): Add MIPS_ISA_LEVEL_SPEC.
      	* config/mips/loongson.md
      	(<u>div<mode>3, <u>mod<mode>3): Move to mips.md.
      	* config/mips/mips-cpus.def (mips32r6, mips64r6): Define.
      	* config/mips/mips-modes.def (CCF): New mode.
      	* config/mips/mips-protos.h
      	(mips_9bit_offset_address_p): New prototype.
      	* config/mips/mips-tables.opt: Regenerate.
      	* config/mips/mips.c (MIPS_JR): Use JALR $, <reg> for R6.
      	(mips_rtx_cost_data): Add pseudo-processors W32 and W64.
      	(mips_9bit_offset_address_p): New function.
      	(mips_rtx_costs): Account for R6 multiply and FMA instructions.
      	(mips_emit_compare): Implement R6 FPU comparisons.
      	(mips_expand_conditional_move): Implement R6 selects.
      	(mips_expand_conditional_trap): Account for removed trap immediate.
      	(mips_expand_block_move): Disable inline move when LWL/LWR are removed.
      	(mips_print_float_branch_condition): Update for R6 FPU branches.
      	(mips_print_operand): Handle CCF mode compares.
      	(mips_interrupt_extra_call_saved_reg_p): Do not attempt to callee-save
      	MD_REGS for R6.
      	(mips_hard_regno_mode_ok_p): Support CCF mode.
      	(mips_mode_ok_for_mov_fmt_p): Likewise.
      	(mips_secondary_reload_class): CCFmode can be loaded directly.
      	(mips_set_fast_mult_zero_zero_p): Account for R6 multiply instructions.
      	(mips_option_override): Ensure R6 is used with fp64.  Set default
      	mips_nan modes.  Check for mips_nan support.  Prevent DSP with R6.
      	(mips_conditional_register_usage): Disable MD_REGS for R6. Disable
      	FPSW for R6.
      	(mips_mulsidi3_gen_fn): Support R6 multiply instructions.
      	* config/mips/mips.h (ISA_MIPS32R6, ISA_MIPS64R6): Define.
      	(TARGET_CPU_CPP_BUILTINS): Rework for mips32/mips64.
      	(ISA_HAS_JR): New macro.
      	(ISA_HAS_HILO): New macro.
      	(ISA_HAS_R6MUL): Likewise.
      	(ISA_HAS_R6DMUL): Likewise.
      	(ISA_HAS_R6DIV): Likewise.
      	(ISA_HAS_R6DDIV): Likewise.
      	(ISA_HAS_CCF): Likewise.
      	(ISA_HAS_SEL): Likewise.
      	(ISA_HAS_COND_TRAPI): Likewise.
      	(ISA_HAS_FP_MADDF_MSUBF): Likewise.
      	(ISA_HAS_LWL_LWR): Likewise.
      	(ISA_HAS_IEEE_754_LEGACY): Likewise.
      	(ISA_HAS_IEEE_754_2008): Likewise.
      	(ISA_HAS_PREFETCH_9BIT): Likewise.
      	(MIPSR6_9BIT_OFFSET_P): New macro.
      	(BASE_DRIVER_SELF_SPECS): Use MIPS_ISA_DRIVER_SELF_SPECS.
      	(DRIVER_SELF_SPECS): Use MIPS_ISA_LEVEL_SPEC.
      	(MULTILIB_ISA_DEFAULT): Handle mips32r6 and mips64r6.
      	(MIPS_ISA_LEVEL_SPEC): Likewise.
      	(MIPS_ISA_SYNCI_SPEC): Likewise.
      	(ISA_HAS_64BIT_REGS): Likewise.
      	(ISA_HAS_BRANCHLIKELY): Likewise.
      	(ISA_HAS_MUL3): Likewise.
      	(ISA_HAS_DMULT): Likewise.
      	(ISA_HAS_DDIV): Likewise.
      	(ISA_HAS_DIV): Likewise.
      	(ISA_HAS_MULT): Likewise.
      	(ISA_HAS_FP_CONDMOVE): Likewise.
      	(ISA_HAS_8CC): Likewise.
      	(ISA_HAS_FP4): Likewise.
      	(ISA_HAS_PAIRED_SINGLE): Likewise.
      	(ISA_HAS_MADD_MSUB): Likewise.
      	(ISA_HAS_FP_RECIP_RSQRT): Likewise.
      	* config/mips/mips.md (processor): Add w32 and w64.
      	(FPCC): New mode iterator.
      	(reg): Add CCF mode.
      	(fpcmp): New mode attribute.
      	(fcond): Add ordered, ltgt and ne codes.
      	(fcond): Update code attribute.
      	(sel): New code attribute.
      	(selinv): Likewise.
      	(ctrap<mode>4): Update condition.
      	(*conditional_trap_reg<mode>): New define_insn.
      	(*conditional_trap<mode>): Update condition.
      	(mul<mode>3): Expand R6 multiply instructions.
      	(<su>mulsi3_highpart): Likewise.
      	(<su>muldi3_highpart): Likewise.
      	(mul<mode>3_mul3_loongson): Rename...
      	(mul<mode>3_mul3_hilo): To this.  Add R6 mul instruction.
      	(<u>mulsidi3_32bit_r6): New expander.
      	(<u>mulsidi3_32bit): Restrict to pre-r6 multiplies.
      	(<u>mulsidi3_32bit_r4000): Likewise.
      	(<u>mulsidi3_64bit): Likewise.
      	(<su>mulsi3_highpart_internal): Likewise.
      	(mulsidi3_64bit_r6dmul): New instruction.
      	(<su>mulsi3_highpart_r6): Likewise.
      	(<su>muldi3_highpart_r6): Likewise.
      	(fma<mode>4): Likewise.
      	(movccf): Likewise.
      	(*sel<code><GPR:mode>_using_<GPR2:mode>): Likewise.
      	(*sel<mode>): Likewise.
      	(<u>div<mode>3): Moved from loongson.md.  Add R6 instructions.
      	(<u>mod<mode>3): Likewise.
      	(extvmisalign<mode>): Require ISA_HAS_LWL_LWR.
      	(extzvmisalign<mode>): Likewise.
      	(insvmisalign<mode>): Likewise.
      	(mips_cache): Account for R6 displacement field sizes.
      	(*branch_fp): Rename...
      	(*branch_fp_<mode>): To this.  Add CCFmode support.
      	(*branch_fp_inverted): Rename...
      	(*branch_fp_inverted_<mode>): To this.  Add CCFmode support.
      	(s<code>_<mode>): Rename...
      	(s<code>_<SCALARF:mode>_using_<FPCC:mode>): To this.  Add FCCmode
      	condition support.
      	(s<code>_<mode> swapped): Rename...
      	(s<code>_<SCALARF:mode>_using_<FPCC:mode> swapped): To this. Add
      	CCFmode condition support.
      	(mov<mode>cc GPR): Expand R6 selects.
      	(mov<mode>cc FPR): Expand R6 selects.
      	(*tls_get_tp_<mode>_split): Do not .set push for >= mips32r2.
      	* config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Update similarly to
      	mips.h.
      	(ASM_SPEC): Add mips32r6, mips64r6.
      	* config/mips/t-isa3264 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Update
      	for mips32r6/mips64r6.
      	* doc/invoke.texi: Document -mips32r6,-mips64r6.
      	* doc/md.texi: Update comment for ZD constraint.
      
      libgcc/
      
      	* config.host: Support mipsisa32r6 and mipsisa64r6.
      	* config/mips/mips16.S: Do not build for R6.
      
      gcc/testsuite/
      
      	* gcc.dg/torture/mips-hilo-2.c: Unconditionally pass for R6 onwards.
      	* gcc.dg/torture/pr19683-1.c: Likewise.
      	* gcc.target/mips/branch-cost-2.c: Require MOVN.
      	* gcc.target/mips/movcc-1.c: Likewise.
      	* gcc.target/mips/movcc-2.c: Likewise.
      	* gcc.target/mips/movcc-3.c: Likewise.
      	* gcc.target/mips/call-saved-4.c: Require LDC.
      	* gcc.target/mips/dmult-1.c: Require R5 or earlier.
      	* gcc.target/mips/fpcmp-1.c: Likewise.
      	* gcc.target/mips/fpcmp-2.c: Likewise.
      	* gcc.target/mips/neg-abs-2.c: Likewise.
      	* gcc.target/mips/timode-1.c: Likewise.
      	* gcc.target/mips/unaligned-1.c: Likewise.
      	* gcc.target/mips/madd-3.c: Require MADD.
      	* gcc.target/mips/madd-9.c: Likewise.
      	* gcc.target/mips/maddu-3.c: Likewise.
      	* gcc.target/mips/msub-3.c: Likewise.
      	* gcc.target/mips/msubu-3.c: Likewise.
      	* gcc.target/mips/mult-1.c: Require INS and not DMUL.
      	* gcc.target/mips/mips-ps-type-2.c: Require MADD.PS.
      	* gcc.target/mips/mips.exp (mips_option_groups): Add ins, dmul, ldc,
      	movn, madd, maddps.
      	(mips-dg-options): INS available from R2.  LDC available from MIPS II,
      	DMUL is present in octeon.  Describe all features removed from R6.
      
      Co-Authored-By: Steve Ellcey <sellcey@imgtec.com>
      
      From-SVN: r218973
      Matthew Fortune committed
    • Fix issue with string options and nested gcc_jit_contexts · 5afd44e3
      gcc/jit/ChangeLog:
      	* jit-recording.c (gcc::jit::recording::context::context): When
      	copying string options from a parent context, take a copy of the
      	underlying buffers, rather than simply copying the pointer.
      
      From-SVN: r218972
      David Malcolm committed
    • re PR target/64268 (bootstrap failure (ICE in wide_int_to_tree, at tree.c:1438)… · 3eb239f4
      re PR target/64268 (bootstrap failure (ICE in wide_int_to_tree, at tree.c:1438) on powerpc in libgcc, stage2)
      
      	PR target/64268
      	* combine.c (try_combine): Immediately return if any of I0,I1,I2
      	are the same insn.
      
      From-SVN: r218971
      Segher Boessenkool committed
    • Handle NULL in gcc_jit_context_set_str_option · 1f0858d7
      gcc/jit/ChangeLog:
      	* jit-recording.c (gcc::jit::recording::context::set_str_option):
      	Handle NULL.
      
      From-SVN: r218969
      David Malcolm committed
    • re PR fortran/64209 ([OOP] runtime segfault with CLASS(*), INTENT(OUT) dummy argument) · 375550c6
      2014-12-19  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/64209
      	* trans-expr.c (gfc_trans_class_array_init_assign): Check if _def_init
      	component is non-NULL.
      	(gfc_trans_class_init_assign): Ditto.
      
      2014-12-19  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/64209
      	* gfortran.dg/unlimited_polymorphic_19.f90: New.
      
      From-SVN: r218968
      Janus Weil committed
    • New std::string implementation. · 34a2b755
      	* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_CXX11_ABI): Remove.
      	(GLIBCXX_ENABLE_LIBSTDCXX_DUAL_ABI, GLIBCXX_DEFAULT_ABI): Add.
      	* configure.ac: Use new macros.
      	* configure: Regenerate.
      	* Makefile.in: Regenerate.
      	* doc/Makefile.in: Regenerate.
      	* libsupc++/Makefile.in: Regenerate.
      	* po/Makefile.in: Regenerate.
      	* src/Makefile.in: Regenerate.
      	* testsuite/Makefile.in: Regenerate.
      	* include/Makefile.am: Set _GLIBCXX_USE_DUAL_ABI.
      	* include/Makefile.in: Regenerate.
      	* config/abi/pre/gnu.ver: Export symbols related to new std::string.
      	Tighten old patterns to not match new symbols.
      	* config/locale/generic/monetary_members.cc: Guard some definitions
      	to not compile with new ABI.
      	* config/locale/gnu/monetary_members.cc: Likewise.
      	* config/locale/gnu/numeric_members.cc: Prevent double-free.
      	* config/os/gnu-linux/ldbl-extra.ver: Add new __gnu_cxx_ldbl128
      	exports. Tighten old patterns.
      	* doc/xml/manual/configure.xml: Document new configure options.
      	* doc/html/*: Regenerate.
      	* include/bits/basic_string.h (__cxx11::basic_string): Define new
      	non-reference-counted implementation in inline namespace __cxx11.
      	(stoi, stol, stoll, stof, stod, stold, to_string): Conditionally use
      	inline namespace.
      	(literals::string_literals::operator"): Conditionally use abi-tag.
      	* include/bits/basic_string.tcc (__cxx11::basic_string): Define.
      	* include/bits/c++config: Define _GLIBCXX_USE_DUAL_ABI and
      	LDBL_CXX11_ABI namespace macros.
      	* include/bits/locale_classes.h (locale::name()): Use abi_tag when
      	new ABI is in use.
      	(locale::_S_twinned_facets): New static member.
      	(locale::facet::__shim): Declare new type.
      	(locale::_facet::_M_sso_shim, locale::_facet::_M_cow_shim): New
      	functions for creating shims.
      	(locale::_Impl::_M_facet_unchecked): New member function for use
      	during construction.
      	(locale::_Impl::_M_init_extra): New member functions to create second
      	version of some facets.
      	(collate, collate_byname): Use abi_tag when new ABI is in use.
      	* include/bits/locale_facets.h: Add _GLIBCXX_NUM_CXX11_FACETS macro.
      	(numpunct, numpunct_byname): Use __cxx11 namespace.
      	(num_get::_M_extract_float, num_get::_M_extract_int): Use abi_tag
      	when new ABI is in use.
      	(num_get::__do_get, num_put::__do_put): Do not declare long double
      	compat functions for new ABI.
      	* include/bits/locale_facets.tcc (num_get, num_put): Use abi_tag on
      	definitions.
      	(numpunct, numpunct_byname): Qualify explicit instantiations.
      	* include/bits/locale_facets_nonio.h (time_get, time_get_byname,
      	moneypunct, moneypunct_byname, money_get, money_put, messages,
      	messages_byname): Use new inline namespace macros.
      	(money_get::__do_get, money_put::__do_put): Do not declare long
      	double compat functions for new ABI.
      	* include/bits/locale_facets_nonio.tcc (money_get, money_put): Use
      	new namespace macros.
      	(money_get::__do_get, money_put::__do_put): Do not define for new ABI.
      	* include/bits/localefwd.h (numpunct, numpunct_byname, collate,
      	collate_byname, time_get, time_get_byname, moneypunct,
      	moneypunct_byname, money_get, money_put, messages, messages_byname):
      	Use new namespace macros.
      	* include/bits/regex.h: Use inline namespace macros.
      	* include/bits/stl_list.h (_List_base, list): Use inline namespace
      	instead of abi-tag.
      	* include/bits/stringfwd.h (basic_string): Use namespace macros.
      	* include/std/iosfwd (basic_stringbuf, basic_istringstream,
      	basic_ostringstream, basic_stringstream): Likewise.
      	* include/std/sstream: Likewise.
      	(basic_stringbuf::__xfer_bufptrs): Update streambuf pointers on move.
      	* include/std/stdexcept (__cow_string, __sso_string): New types for
      	indirectly using std::string with either ABI.
      	(logic_error, runtime_error): Replace std::string member with
      	__cow_string when new ABI is in use. Declare non-inline copy
      	constructor and assignment operator. Declare const char* constructors.
      	(domain_error, invalid_argument, length_error, out_of_range,
      	range_error, overflow_error, underflow_error): Declare const char*
      	constructors.
      	* include/std/system_error (error_category): Replace with new
      	definition in inline namespace _V2.
      	(error_code::message, error_condition::message): Use abi_tag on
      	functions returning std::string.
      	* python/libstdcxx/v6/printers.py (StdStringPrinter): Handle new ABI.
      	* src/c++11/Makefile.am: Add new files.
      	* src/c++11/Makefile.in: Regenerate.
      	* src/c++11/compatibility-c++0x.cc: Compile with old std::string ABI.
      	Define old error_category symbols.
      	* src/c++11/cow-fstream-inst.cc: New. Instantiate fstream members
      	using old std::string ABI.
      	* src/c++11/cow-locale_init.cc (locale::_Impl::_M_init_extra): Define.
      	* src/c++11/cow-shim_facets.cc: Define shim facets using old ABI.
      	* src/c++11/cow-sstream-inst.cc: Instantiate stringstreams using old
      	std::string ABI.
      	* src/c++11/cow-stdexcept.cc: Define new constructors and assignment
      	operators.
      	(__cow_string, error_category::_M_message): Define.
      	* src/c++11/cow-string-inst.cc: Explicit instantiations using old
      	std::string. Include src/c++98/istream-string.cc.
      	* src/c++11/cow-wstring-inst.cc: Explicit instantiations using old
      	std::wstring.
      	* src/c++11/cxx11-hash_tr1.cc: Explicit instantiations using new
      	string.
      	* src/c++11/cxx11-ios_failure.cc: Add sanity check.
      	* src/c++11/cxx11-locale-inst.cc: Instantiate facets using new
      	std::string.
      	* src/c++11/cxx11-shim_facets.cc: Define shim facets using new ABI.
      	* src/c++11/cxx11-stdexcept.cc: Define constructors taking new
      	std::string.
      	* src/c++11/cxx11-wlocale-inst.cc: Instantiate facets using
      	new std::wstring.
      	* src/c++11/fstream-inst.cc: Compile with new ABI.
      	* src/c++11/functexcept.cc: Compile with old ABI.
      	* src/c++11/random.cc: Compile with new ABI.
      	* src/c++11/sstream-inst.cc: Compile with new ABI.
      	* src/c++11/string-inst.cc: Explicit instantiations for new string.
      	* src/c++11/system_error.cc (__sso_string, error_category::_M_message):
      	Define.
      	* src/c++11/wstring-inst.cc: Compile with new ABI.
      	* src/c++98/Makefile.am: Compile some host files twice for old and
      	new std::string. Add new files.
      	* src/c++98/Makefile.in: Regenerate.
      	* src/c++98/compatibility-ldbl.cc: Compile with old ABI.
      	* src/c++98/compatibility.cc: Likewise.
      	* src/c++98/concept-inst.cc: Likewise.
      	* src/c++98/hash_tr1.cc: Likewise.
      	* src/c++98/istream-string.cc: New file defining functions that
      	work with istream and std::string moved from ...
      	* src/c++98/istream.cc: ... here.
      	* src/c++98/cow-istream-string.cc: Recompile istream-string.cc with
      	old ABI.
      	* src/c++98/locale-inst.cc: Adjust facet instantiations to work for
      	either ABI.
      	* src/c++98/locale.cc (locale::_M_install_facet,
      	locale::_M_install_cache): Handle twinned facets.
      	* src/c++98/locale-facets.cc: Compile with old std::string ABI.
      	(__verify_grouping): Define new overload and old std::string version.
      	* src/c++98/locale_init.cc: Initialize twinned facets.
      	* src/c++98/localename.cc: Likewise.
      	* src/c++98/misc-inst.cc: Instantiate C++98-only std::string members.
      	(__verify_grouping): Define new std::string version.
      	* src/c++98/stdexcept.cc: Compile with old std::string ABI.
      	* src/c++98/wlocale-inst.cc: Likewise.
      	* testsuite/18_support/50594.cc: Adjust to work with SSO strings.
      	* testsuite/21_strings/basic_string/capacity/1.cc: Likewise.
      	* testsuite/21_strings/basic_string/capacity/char/1.cc: Likewise.
      	* testsuite/21_strings/basic_string/capacity/char/18654.cc: Likewise.
      	* testsuite/21_strings/basic_string/capacity/char/2.cc: Likewise.
      	* testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Likewise.
      	* testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
      	Likewise.
      	* testsuite/21_strings/headers/string/synopsis.cc: Use inline
      	namespace macros.
      	* testsuite/23_containers/headers/list/synopsis.cc: Likewise.
      	* testsuite/27_io/basic_ios/copyfmt/char/1.cc: Set dg-options so
      	correct exception type can be caught.
      	* testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
      	* testsuite/27_io/basic_istream/extractors_arithmetic/char/
      	exceptions_failbit.cc: Likewise.
      	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
      	exceptions_failbit.cc: Likewise.
      	* testsuite/27_io/basic_istream/extractors_other/char/
      	exceptions_null.cc: Likewise.
      	* testsuite/27_io/basic_istream/extractors_other/wchar_t/
      	exceptions_null.cc: Likewise.
      	* testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
      	* testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
      	* testsuite/27_io/basic_ostream/inserters_other/char/
      	exceptions_null.cc: Likewise.
      	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
      	exceptions_null.cc: Likewise.
      	* testsuite/27_io/ios_base/storage/2.cc: Likewise.
      	* testsuite/27_io/ios_base/failure/cxx11.cc: Disable for old ABI.
      	* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error.
      	* testsuite/libstdc++-prettyprinters/libfundts.cc: Use old ABI.
      	* testsuite/libstdc++-prettyprinters/simple.cc: Likewise.
      	* testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
      	* testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
      	* testsuite/util/exception/safety.h: Adjust member function types
      	for new std::string.
      	* testsuite/util/testsuite_abi.cc: Add new version and ignore
      	__float128 symbols in __cxx11 namespace.
      
      From-SVN: r218964
      Jonathan Wakely committed
    • 2014-12-19 Paolo Carlini <paolo.carlini@oracle.com> · 5dcfa0b6
      	* Tweak ChangeLog.
      
      From-SVN: r218963
      Paolo Carlini committed
    • using30.C: Move ... · 3aae939d
              * g++.dg/template/using30.C: Move ...
              * g++.dg/cpp0x/alias-decl-45.C: ... here.
      
      From-SVN: r218962
      Kai Tietz committed
    • [AArch64 3/3] Fix XOR_one_cmpl pattern; add SIMD-reg variants for BIC,ORN,EON · 84be6032
      gcc/:
      
      	* config/aarch64/aarch64.c (<LOGICAL:optab>_one_cmpl<mode>3):
      	Reparameterize to...
      	(<NLOGICAL:optab>_one_cmpl<mode>3): with extra SIMD-register variant.
      	(xor_one_cmpl<mode>3): New define_insn_and_split.
      
      	* config/aarch64/iterators.md (NLOGICAL): New define_code_iterator.
      
      gcc/testsuite/:
      
      	* gcc.target/aarch64/eon_1.c: New test.
      
      From-SVN: r218961
      Alan Lawrence committed
    • [AArch64 2/3] Add SIMD-reg variants of logical operators and/ior/xor/not · fe82d1f2
      	* config/aarch64/aarch64.md (<optab><mode>3, one_cmpl<mode>2):
      	Add SIMD-register variant.
      	* config/aarch64/iterators.md (Vbtype): Add value for SI.
      
      From-SVN: r218960
      Alan Lawrence committed
    • using30.C: Move... · f1f1391c
      2014-12-19  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/template/using30.C: Move...
      	* g++.dg/cpp0x/alias-decl-45.C: ... here.
      
      From-SVN: r218959
      Paolo Carlini committed
    • [AArch64 1/3] Don't disparage add/sub in SIMD registers · 4f2962fd
              * config/aarch64/aarch64.md (subdi3, adddi3_aarch64): Don't penalize 
              SIMD reg variant.
      
      From-SVN: r218958
      Alan Lawrence committed
    • re PR c++/60493 (g++ throws segmentation fault on simple code) · fc2770b9
      2014-12-19  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/60493
      	* g++.dg/template/crash120.C: New.
      
      From-SVN: r218957
      Paolo Carlini committed
    • re PR c++/61198 (Crash when selecting specializations through aliases.) · d427aa2e
      	PR c++/61198
      	* g++.dg/template/using30.C: New file.
      
      From-SVN: r218956
      Kai Tietz committed
    • re PR c++/61198 (Crash when selecting specializations through aliases.) · b00f4f15
      	PR c++/61198
      	* pt.c (most_general_template): Don't break for template-alias.
      
      From-SVN: r218955
      Kai Tietz committed
    • re PR ipa/63569 (Wrong code with volatile and ICF) · 6b0e0695
      Fix for PR ipa/63569.
      
      	PR ipa/63569
      	* gcc.dg/ipa/pr63569.c: New test.
      	PR ipa/63569
      	* ipa-icf-gimple.c (func_checker::compare_operand): Add missing
      	comparison for volatile flag.
      
      From-SVN: r218949
      Martin Liska committed
    • re PR preprocessor/63831 (r217292 causes segfaults with -MM) · 1f8d3e84
      	PR preprocessor/63831
      	* c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
      	and __has_cpp_attribute here.
      	* c-ppoutput.c (init_pp_output): Set cb->has_attribute to
      	c_common_has_attribute.
      	* c-common.h (c_common_has_attribute): New prototype.
      	* c-lex.c (init_c_lex): Set cb->has_attribute to
      	c_common_has_attribute instead of cb_has_attribute.
      	(get_token_no_padding): New function.
      	(cb_has_attribute): Renamed to ...
      	(c_common_has_attribute): ... this.  No longer static.  Use
      	get_token_no_padding, require ()s, don't build TREE_LIST
      	unnecessarily, fix up formatting, adjust diagnostics, call
      	init_attributes.
      
      	* directives.c (lex_macro_node): Remove __has_attribute__ handling.
      	* internal.h (struct spec_node): Remove n__has_attribute__ field.
      	(struct lexer_state): Remove in__has_attribute__ field.
      	* macro.c (_cpp_builtin_macro_text): Handle BT_HAS_ATTRIBUTE.
      	* identifiers.c (_cpp_init_hashtable): Remove __has_attribute__
      	handling.
      	* init.c (builtin_array): Add __has_attribute and __has_cpp_attribute.
      	(cpp_init_special_builtins): Don't initialize __has_attribute
      	or __has_cpp_attribute if CLK_ASM or pfile->cb.has_attribute is NULL.
      	* traditional.c (enum ls): Remove ls_has_attribute,
      	ls_has_attribute_close.
      	(_cpp_scan_out_logical_line): Remove __has_attribute__ handling.
      	* include/cpplib.h (enum cpp_builtin_type): Add BT_HAS_ATTRIBUTE.
      	* pch.c (cpp_read_state): Remove __has_attribute__ handling.
      	* expr.c (eval_token): Likewise.
      	(parse_has_attribute): Removed.
      
      	* c-c++-common/cpp/pr63831-1.c: New test.
      	* c-c++-common/cpp/pr63831-2.c: New test.
      
      From-SVN: r218948
      Jakub Jelinek committed
    • [ARM][doc] Remove mention of Advanced RISC Machines · 8a386c91
      	* doc/invoke.texi (ARM options): Remove mention of Advanced RISC
      	Machines.
      
      From-SVN: r218897
      Kyrylo Tkachov committed
    • Fix ChangeLog typo in 218895 · 827785dd
      From-SVN: r218896
      James Greenhalgh committed
    • [PATCH][ARM] Fix reservation pattern in cortex-a9-neon.md · 85e18759
      gcc/
      
      	* config/arm/cortex-a9-neon.md (cortex_a9_neon_vmov): Change
      	reservation to cortex_a9_neon_dp.
      
      From-SVN: r218895
      Xingxing Pan committed
    • * [SH] Split QI/HImode load/store via r0 when LRA is enabled. · 1e3e92b5
      From-SVN: r218892
      Kaz Kojima committed
    • * [SH] Add splitter to addsi3_compact. · 74bd0da1
      From-SVN: r218891
      Kaz Kojima committed
    • * [SH] Modify movsi_ie and movsf_ie patterns for LRA. · 6efc6b7f
      From-SVN: r218890
      Kaz Kojima committed
    • * [SH] Miscellaneous changes for LRA. · fc1fcfa0
      From-SVN: r218889
      Kaz Kojima committed
    • * [SH] Add -mlra option. · 106a52b7
      From-SVN: r218888
      Kaz Kojima committed
    • * Add TARGET_LEGITIMIZE_ADDRESS_DISPLACEMENT target macro. · 14133a4d
      From-SVN: r218887
      Kaz Kojima committed
    • * Add TARGET_CANNOT_SUBSTITUTE_MEM_EQUIV target macro. · d6220b11
      From-SVN: r218886
      Kaz Kojima committed