1. 27 Aug, 2015 18 commits
  2. 26 Aug, 2015 22 commits
    • Ensure std::generate_canonical doesn't return 1. · 33df19a7
      2015-08-26  Edward Smith-Rowland  <3dw4rd@verizon.net>
      	    Jonathan Wakely  <jwakely@redhat.com>
      
      	PR libstdc++/64351
      	PR libstdc++/63176
      	* include/bits/random.tcc (generate_canonical): Loop until we get a
      	result less than one.
      	* testsuite/26_numerics/random/uniform_real_distribution/operators/
      	64351.cc: New.
      
      Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
      
      From-SVN: r227233
      Edward Smith-Rowland committed
    • Only set std::enable_shared_from_this member once. · 6bc41b26
      	* include/bits/shared_ptr.h (__enable_shared_from_this_helper): Use
      	nullptr.
      	* include/bits/shared_ptr_base.h (weak_ptr::_M_assign): Don't assign
      	if ownership is already shared with a shared_ptr object.
      	(__enable_shared_from_this_helper): Use nullptr.
      	* testsuite/20_util/enable_shared_from_this/members/const.cc: New.
      	* testsuite/20_util/enable_shared_from_this/members/reinit.cc: New.
      	* testsuite/20_util/enable_shared_from_this/requirements/
      	explicit_instantiation.cc: Instantiate with const and incomplete types.
      
      From-SVN: r227232
      Jonathan Wakely committed
    • Delete extra blank line · 2d1a0c68
      From-SVN: r227231
      Michael Meissner committed
    • rs6000-protos.h (rs6000_expand_float128_convert): Add declaration. · 526303ec
      2015-08-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000-protos.h (rs6000_expand_float128_convert):
      	Add declaration.
      
      	* config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Fix a
      	comment.
      	(rs6000_cannot_change_mode_class): Add support for IEEE 128-bit
      	floating point in VSX registers.
      	(rs6000_output_move_128bit): Always print out the set insn if we
      	can't generate an appropriate 128-bit move.
      	(rs6000_generate_compare): Add support for IEEE 128-bit floating
      	point in VSX registers comparisons.
      	(rs6000_expand_float128_convert): Likewise.
      
      	* config/rs6000/predicates.md (int_reg_operand_not_pseudo): New
      	predicate for only GPR hard registers.
      
      	* config/rs6000/rs6000.md (FP): Add IEEE 128-bit floating point
      	modes to iterators. Add new iterators for moving 128-bit values in
      	scalar FPR registers and VSX registers.
      	(FMOVE128): Likewise.
      	(FMOVE128_FPR): Likewise.
      	(FMOVE128_GPR): Likewise.
      	(FMOVE128_VSX): Likewise.
      	(FLOAT128_SFDFTF): New iterators for IEEE 128-bit floating point
      	in VSX registers.
      	(IFKF): Likewise.
      	(IBM128): Likewise.
      	(TFIFKF): Likewise.
      	(RELOAD): Add IEEE 128-bit floating point modes.
      	(signbittf2): Convert TF insns to add support for new IEEE 128-bit
      	floating point in VSX registers modes.
      	(signbit<mode>2, IBM128 iterator): Likewise.
      	(mov<mode>_64bit_dm, FMOVE128_FPR iterator): Likewise.
      	(mov<mode>_32bit, FMOVE128_FPR iterator): Likewise.
      	(negtf2): Likewise.
      	(neg<mode>2, TFIFKF iterator): Likewise.
      	(negtf2_internal): Likewise.
      	(abstf2): Likewise.
      	(abs<mode>2, TFIFKF iterator): Likewise.
      	(ieee_128bit_negative_zero): New IEEE 128-bit floating point in
      	VSX insn support for negate, absolute value, and negative absolute
      	value.
      	(ieee_128bit_vsx_neg<mode>2): Likewise.
      	(ieee_128bit_vsx_neg<mode>2_internal): Likewise.
      	(ieee_128bit_vsx_abs<mode>2): Likewise.
      	(ieee_128bit_vsx_abs<mode>2_internal): Likewise.
      	(ieee_128bit_vsx_nabs<mode>2): Likewise.
      	(ieee_128bit_vsx_nabs<mode>2_internal): Likewise.
      	(FP128_64): Update pack/unpack 128-bit insns for IEEE 128-bit
      	floating point in VSX registers.
      	(unpack<mode>_dm): Likewise.
      	(unpack<mode>_nodm): Likewise.
      	(pack<mode>): Likewise.
      	(unpackv1ti): Likewise.
      	(unpack<mode>, FMOVE128_VSX iterator): Likewise.
      	(packv1ti): Likewise.
      	(pack<mode>, FMOVE128_VSX iterator): Likewise.
      	(extenddftf2): Add support for IEEE 128-bit floating point in VSX
      	registers.
      	(extenddftf2_internal): Likewise.
      	(trunctfdf2): Likewise.
      	(trunctfdf2_internal2): Likewise.
      	(fix_trunc_helper): Likewise.
      	(fix_trunctfdi2"): Likewise.
      	(floatditf2): Likewise.
      	(floatuns<mode>tf2): Likewise.
      	(extend<FLOAT128_SFDFTF:mode><IFKF:mode>2): Likewise.
      	(trunc<IFKF:mode><FLOAT128_SFDFTF:mode>2): Likewise.
      	(fix_trunc<IFKF:mode><SDI:mode>2): Likewise.
      	(fixuns_trunc<IFKF:mode><SDI:mode>2): Likewise.
      	(float<SDI:mode><IFKF:mode>2): Likewise.
      	(floatuns<SDI:mode><IFKF:mode>2): Likewise.
      
      From-SVN: r227230
      Michael Meissner committed
    • try_emplace and insert_or_assign for Debug Mode. · 66c182be
      	* include/debug/map.h (map::try_emplace, map::insert_or_assign):
      	Define.
      	* include/debug/unordered_map (unordered_map::try_emplace,
      	unordered_map::insert_or_assign): Define.
      
      From-SVN: r227229
      Jonathan Wakely committed
    • libstdc++/66902 Make _S_debug_messages static. · e41fd1f0
      	PR libstdc++/66902
      	* src/c++11/debug.cc (_S_debug_messages): Give internal linkage.
      
      From-SVN: r227228
      Jonathan Wakely committed
    • compiler: Don't crash on invalid arithmetic ops. · 8a256400
          
          The gofrontend would crash after hitting an unreachable state while
          trying to determine the type of an arithmetic expression involving
          non-numeric values.  Instead of crashing, it should fail gracefully
          if the relevant error is already reported.
          
          Fixes golang/go#11537.
          
          Reviewed-on: https://go-review.googlesource.com/13793
      
      From-SVN: r227227
      Ian Lance Taylor committed
    • [PATCH][AARCH64]Add backend aarch64_bfi pattern. · e4f019d3
      2015-08-26  Renlin Li  <renlin.li@arm.com>
      
      gcc/
      	* config/aarch64/aarch64.md (aarch64_bfi): New pattern.
      
      gcc/testsuite/
      	* gcc.target/aarch64/combine_bfi_1.c: New.
      
      From-SVN: r227226
      Renlin Li committed
    • [AArch64][TLSIE][2/2] Implement TLS IE for tiny model · 5ae7caad
      2015-08-26  Marcus Shawcroft  <marcus.shawcroft@arm.com>
      	    Jiong Wang  <jiong.wang@arm.com>
      gcc/
      	* config/aarch64/aarch64.md (UNSPEC_GOTTINYTLS): New UNSPEC.
      	(tlsie_tiny_<mode>): New define_insn.
      	(tlsie_tiny_sidi): Likewise.
      	* config/aarch64/aarch64-protos.h (aarch64_symbol_type): Define
      	SYMBOL_TINY_TLSIE.
      	(aarch64_symbol_context): New comment for SYMBOL_TINY_TLSIE.
      	* config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support
      	SYMBOL_TINY_TLSIE.
      	(aarch64_expand_mov_immediate): Likewise.
      	(aarch64_print_operand): Likewise.
      	(arch64_classify_tls_symbol): Likewise.
      
      gcc/testsuite/
      	* gcc.target/aarch64/tlsie_tiny_1.c: New testcase.
      
      From-SVN: r227220
      Jiong Wang committed
    • arm-arches.def: Replace single value flags with an initializer built from ARM_FSET_MAKE_CPU1. · e656fbc8
      2015-08-26  Matthew Wahab  <matthew.wahab@arm.com>
      
      	* config/arm/arm-arches.def: Replace single value flags with
      	an initializer built from ARM_FSET_MAKE_CPU1.
      	* config/arm/arm-cores.def: Likewise.
      	* config/arm/arm.c: (all_cores): Remove ARM_FSET_MAKE_CPU1
      	derivation from the ARM_CORE macro definition, use the given value
      	instead.
      	(all_architectures): Remove ARM_FSET_MAKE_CPU1 derivation from the
      	ARM_ARCH macro definition, use the given value instead.
      
      From-SVN: r227219
      Matthew Wahab committed
    • arm-builtins.c (def_mbuiltin): Test all flags in a feature set. · 23b9ccbe
      2015-08-26  Matthew Wahab  <matthew.wahab@arm.com>
      
      	* config/arm/arm-builtins.c (def_mbuiltin): Test all flags in a
      	feature set.
      	(struct builtin_description): Replace field mask with field
      	features.
      	(IWMMXT_BUILTIN): Use ARM_FSET macros for feature flags.
      	(IWMMXT2_BUILTIN): Likewise.
      	(IWMMXT2_BUILTIN2): Likewise.
      	(FP_BUILTIN): Likewise.
      	(CRC32_BUILTIN): Likewise.
      	(CRYPTO_BUILTIN): Likewise.
      	(iwmmx_mbuiltin): Likewise.
      	(iwmmx2_mbuiltin): Likewise.
      	(arm_init_iwmmxt_builtins): Likewise. Also, update for change to
      	struct builtin_description.
      
      From-SVN: r227218
      Matthew Wahab committed
    • arm-builtins.c (def_mbuiltin): Use ARM_FSET macro. · a1c54ebf
      2015-08-26  Matthew Wahab  <matthew.wahab@arm.com>
      
      	* config/arm/arm-builtins.c (def_mbuiltin): Use ARM_FSET macro.
      	(struct builtin_description): Change type of mask to unsigned
      	long.
      	* config/arm/arm-protos.h (insn_flags): Declare as type
      	arm_feature_set.
      	(tune_flags): Likewise.
      	* config/arm/arm.c (feature_count): New.
      	(insn_flags): Define as type arm_feature_set.
      	(tune_flags): Likewise.
      	(struct processors): Define field flags as type arm_feature_set.
      	(all_cores): Update for change to struct processors.
      	(all_architectures): Likewise.
      	(arm_option_check_internal): Use arm_feature_set and ARM_FSET
      	macros.
      	(arm_option_override_internal): Likewise.
      	(arm_option_override): Likewise.
      
      From-SVN: r227217
      Matthew Wahab committed
    • [AArch64][TLSIE][1/2] Rename test source file for reuse · 4ecade43
      2015-08-26  Jiong Wang  <jiong.wang@arm.com>
      
      gcc/testsuite/
      	* gcc.target/aarch64/tlsle_1.x: Rename to tls_1.x
      	* gcc.target/aarch64/aarch64/tlsle12_1.c: Update source file name.
      	* gcc.target/aarch64/aarch64/tlsle24_1.c: Likewise.
      	* gcc.target/aarch64/aarch64/tlsle32_1.c: Likewise.
      
      From-SVN: r227216
      Jiong Wang committed
    • [AArch64][TLSLE][3/3] Implement local executable mode for all memory model · cbf5629e
      2015-08-26  Marcus Shawcroft  <marcus.shawcroft@arm.com>
      	    Jiong Wang  <jiong.wang@arm.com>
      gcc/
      	* config/aarch64/aarch64.c (initialize_aarch64_tls_size): Set default
      	tls size for tiny, small, large memory model.
      	(aarch64_load_symref_appropriately): Support new symbol types.
      	(aarch64_expand_mov_immediate): Likewise.
      	(aarch64_print_operand): Likewise.
      	(aarch64_classify_tls_symbol): Likewise.
      	* config/aarch64/aarch64-protos.h (aarch64_symbol_context): Likewise.
      	(aarch64_symbol_type): Likewise.
      	* config/aarch64/aarch64.md (tlsle): Deleted.
      	(tlsle12_<mode>): New define_insn.
      	(tlsle24_<mode>): Likewise.
      	(tlsle32_<mode>): Likewise.
      	(tlsle48_<mode>): Likewise.
      	* doc/sourcebuild.texi (AArch64-specific attributes): Document
      	"aarch64_tlsle32".
      
      gcc/testsuite/
      	* lib/target-supports.exp (check_effective_target_aarch64_tlsle32):
      	New test directive.
      	* gcc.target/aarch64/tlsle_1.x: New test source.
      	* gcc.target/aarch64/tlsle12_1.c: New testcase.
      	* gcc.target/aarch64/tlsle24_1.c: Likewise.
      	* gcc.target/aarch64/tlsle32_1.c: Likewise.
      
      From-SVN: r227215
      Jiong Wang committed
    • arm-protos.h (FL_NONE): New. · 427388a4
      2015-08-26  Matthew Wahab  <matthew.wahab@arm.com>
      
      	* config/arm/arm-protos.h (FL_NONE): New.
      	(FL_ANY): New.
      	(arm_feature_set): New.
      	(ARM_FSET_MAKE): New.
      	(ARM_FSET_MAKE_CPU1): New.
      	(ARM_FSET_MAKE_CPU2): New.
      	(ARM_FSET_CPU1): New.
      	(ARM_FSET_CPU2): New.
      	(ARM_FSET_EMPTY): New.
      	(ARM_FSET_ANY): New.
      	(ARM_FSET_HAS_CPU1): New.
      	(ARM_FSET_HAS_CPU2): New.
      	(ARM_FSET_HAS_CPU): New.
      	(ARM_FSET_ADD_CPU1): New.
      	(ARM_FSET_ADD_CPU2): New.
      	(ARM_FSET_DEL_CPU1): New.
      	(ARM_FSET_DEL_CPU2): New.
      	(ARM_FSET_UNION): New.
      	(ARM_FSET_INTER): New.
      	(ARM_FSET_XOR): New.
      	(ARM_FSET_EXCLUDE): New.
      	(AFM_FSET_IS_EMPTY): New.
      	(ARM_FSET_CPU_SUBSET): New.
      
      From-SVN: r227214
      Matthew Wahab committed
    • [AArch64][TLSLE][2/3] Rename SYMBOL_TLSLE to SYMBOL_TLSLE24 · d18ba284
      2015-08-26  Jiong Wang  <jiong.wang@arm.com>
      
      gcc/
      	* config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename
      	SYMBOL_TLSLE to SYMBOL_TLSLE24.
      	* config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
      	Likewise.
      	(aarch64_expand_mov_immediate): Likewise.
      	(aarch64_print_operand): Likewise.
      	(aarch64_classify_symbol): Likewise.
      
      From-SVN: r227213
      Jiong Wang committed
    • [AArch64][TLSLE][1/3] Add the option "-mtls-size" · 5eee3c34
      2015-08-26  Jiong Wang  <jiong.wang@arm.com>
      
      gcc/
        * config/aarch64/aarch64.opt (mtls-size): New entry.
        * config/aarch64/aarch64.c (initialize_aarch64_tls_size): New function.
        (aarch64_override_options_internal): Call initialize_aarch64_tls_size.
        * doc/invoke.texi (AArch64 Options): Document -mtls-size.
      
      From-SVN: r227212
      Jiong Wang committed
    • arm-cores.def: Add FL_FOR_ARCH flag for each ARM_CORE entry. · 5e2d7d0d
      2015-08-26  Matthew Wahab  <matthew.wahab@arm.com>
      
      	* gcc/config/arm/arm-cores.def: Add FL_FOR_ARCH flag for each
      	ARM_CORE entry.  Fix some white-space.
      	* gcc/config/arm/arm.c: Remove FL_FOR_ARCH derivation from
      	ARM_CORE definition.
      
      From-SVN: r227211
      Matthew Wahab committed
    • re PR fortran/29600 ([F03] MINLOC and MAXLOC take an optional KIND argument) · ed019753
      	PR fortran/29600
      
      	* Makefile.am: Add generated/shape_i{1,2}.c
      	* Makefile.in: Regenerate.
      	* generated/shape_i1.c: New generated file.
      	* generated/shape_i2.c: New generated file.
      	* generated/shape_i4.c: Regenerate.
      	* generated/shape_i8.c: Regenerate.
      	* generated/shape_i16.c: Regenerate.
      	* gfortran.map (GFORTRAN_1.7): Add _gfortran_shape_{1,2}.
      	* m4/shape.m4: Fix parameter type.
      
      	* gfortran.dg/shape_8.f90: New test.
      
      From-SVN: r227210
      Francois-Xavier Coudert committed
    • libgfortran.h (show_variables): Remove prototype. · 485adf79
      	* libgfortran.h (show_variables): Remove prototype.
      	* runtime/environ.c (print_spaces, var_source, show_integer,
      	show_boolean, show_sep, show_string): Remove functions.
      	* runtime/main.c (init): Remove dead code.
      
      From-SVN: r227208
      Francois-Xavier Coudert committed
    • fold-const.c (fold_binary_loc): Move Optimize root(x)*root(y) as root(x*y) to match.pd. · 35401640
      2015-08-26  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>
      
      	* fold-const.c (fold_binary_loc) : Move Optimize 
      	root(x)*root(y)	as root(x*y) to match.pd.
      	Move Optimize expN(x)*expN(y) as expN(x+y) to match.pd.
      	Move Optimize pow(x,y)*pow(x,z) as pow(x,y+z) to match.pd.
      	Move Optimize a/root(b/c) into a*root(c/b) to match.pd.
      	Move Optimize x/expN(y) into x*expN(-y) to match.pd.
      
      	* match.pd (mult (root:s @0) (root:s @1)): New simplifier.
      	(mult (POW:s @0 @1) (POW:s @0 @2)) : New simplifier.
      	(mult (exps:s @0) (exps:s @1)) : New simplifier.
      	(rdiv @0 (root:s (rdiv:s @1 @2))) : New simplifier.
      	(rdiv @0 (exps:s @1)) : New simplifier.
      
      From-SVN: r227207
      Naveen H.S committed
    • Daily bump. · 6031a5e3
      From-SVN: r227206
      GCC Administrator committed