1. 26 Aug, 2015 21 commits
    • 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
  2. 25 Aug, 2015 19 commits
    • configure.ac: Only compile with -fPIC if the target supports it. · 7ce9cf39
      	* configure.ac: Only compile with -fPIC if the target
      	supports it.
      	* configure: Regenerate.
      
      From-SVN: r227203
      Hans-Peter Nilsson committed
    • compiler: Disallow use of unary ^ on booleans. · fd1b4939
          
          Fixes golang/go#11529.
          
          Reviewed-on: https://go-review.googlesource.com/13790
      
      From-SVN: r227201
      Ian Lance Taylor committed
    • Fix build for targets not defining EXTRA_SPECS. · de26e239
      	* gcc.c (driver::finalize): Only assign to extra_specs if
      	[EXTRA_SPECS].
      
      From-SVN: r227194
      Joseph Myers committed
    • compiler: Accept numeric literals with leading zeroes. · 387b37c1
          
          When a numeric literal with leading zeroes was seen in the parser, it
          would only be accepted if it were a valid hex or octal literal.  Any
          invalid numeric literal would be split up into multiple tokens: the
          valid hex/octal literal followed by the rest of the characters.
          Instead, when scanning a numeric literal with leading zeroes, always
          accept the number and give an appropriate error if the accepted number
          does not fit in the expected base.
          
          Fixes golang/go#11532, golang/go#11533.
          
          Reviewed-on: https://go-review.googlesource.com/13791
      
      From-SVN: r227193
      Ian Lance Taylor committed
    • compiler: Allow string slices with start index == length. · 60c47c00
          
          Avoid an off-by-one error when checking the start index of a string
          slice by allowing the start index to be the string length instead
          of the string length - 1.
          
          Fixes golang/go#11522.
          
          Reviewed-on: https://go-review.googlesource.com/13030
      
      From-SVN: r227191
      Ian Lance Taylor committed
    • re PR middle-end/67330 (ICE handling weak attributes) · c316b5e4
      	PR middle-end/67330
      	* varasm.c (declare_weak): Return after giving an error.
      
      	* c-common.c (handle_weak_attribute): Don't check whether the
      	visibility can be changed here.
      
      	* gcc.dg/weak/weak-18.c: New test.
      
      From-SVN: r227190
      Marek Polacek committed
    • re PR libstdc++/60519 (Debug mode should check comparators for irreflexivity) · 630a286a
      2015-08-24  François Dumont  <fdumont@gcc.gnu.org>
      
      	PR libstdc++/60519
      	* include/debug/formatter.h (_Debug_msg_id::__msg_irreflexive_ordering):
      	New enum entry.
      	* include/debug/functions.h (_Irreflexive_checker): New.
      	(__is_irreflexive, __is_irreflexive_pred): New.
      	* include/debug/macros.h
      	(__glibcxx_check_irreflexive, __glibcxx_check_irreflexive_pred): New
      	macros.
      	(__glibcxx_check_irreflexive2, __glibcxx_check_irreflexive_pred2): New
      	macros limited to post-C++11 mode.
      	* include/debug/debug.h
      	(__glibcxx_requires_irreflexive, __glibcxx_requires_irreflexive_pred):
      	New macros, use latter.
      	(__glibcxx_requires_irreflexive2, __glibcxx_requires_irreflexive_pred2):
      	Likewise.
      	* include/bits/stl_algo.h
      	(partial_sort_copy): Add irreflexive debug check.
      	(partial_sort_copy): Likewise.
      	(lower_bound): Likewise.
      	(upper_bound): Likewise.
      	(equal_range): Likewise.
      	(binary_search): Likewise.
      	(inplace_merge): Likewise.
      	(includes): Likewise.
      	(next_permutation): Likewise.
      	(prev_permutation): Likewise.
      	(is_sorted_until): Likewise.
      	(minmax_element): Likewise.
      	(partial_sort): Likewise.
      	(nth_element): Likewise.
      	(sort): Likewise.
      	(merge): Likewise.
      	(stable_sort): Likewise.
      	(set_union): Likewise.
      	(set_intersection): Likewise.
      	(set_difference): Likewise.
      	(set_symmetric_difference): Likewise.
      	(min_element): Likewise.
      	(max_element): Likewise.
      	* include/bits/stl_algobase.h
      	(lower_bound): Likewise.
      	(lexicographical_compare): Likewise.
      	* include/bits/stl_heap.h
      	(push_heap): Likewise.
      	(pop_heap): Likewise.
      	(make_heap): Likewise.
      	(sort_heap): Likewise.
      	(is_heap_until): Likewise.
      	* testsuite/25_algorithms/lexicographical_compare/debug/
      	irreflexive_neg.cc: New.
      	* testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: New.
      	* testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
      	New.
      
      From-SVN: r227189
      François Dumont committed
    • Support embedding the driver in-process within libgccjit · 9376dd63
      gcc/ChangeLog:
      	* gcc-main.c (main): Add params to driver ctor.
      	* gcc.c (class env_manager): New.
      	(env): New global.
      	(env_manager::init): New.
      	(env_manager::get): New.
      	(env_manager::xput): New.
      	(env_manager::restore): New.
      	Poison getenv and putenv.
      	(DEFAULT_TARGET_SYSTEM_ROOT): New.
      	(target_system_root): Update initialization to use
      	DEFAULT_TARGET_SYSTEM_ROOT.
      	(struct spec_list): Add field "default_ptr".
      	(INIT_STATIC_SPEC): Initialize new field "default_ptr".
      	(init_spec): Likewise.
      	(set_spec): Clear field "default_ptr".
      	(read_specs): Free "spec" and "buffer".
      	(xputenv): Reimplement in terms of env_manager.
      	(process_command): Replace ::getenv calls with calls to the
      	env_manager singleton.
      	(process_brace_body): Free string in three places.
      	(driver::driver): New.
      	(driver::~driver): New.
      	(used_arg): Convert from a function to...
      	(class used_arg_t): ...this class, and...
      	(used_arg): ...this new global instance.
      	(used_arg_t::finalize): New function.
      	(getenv_spec_function): Add "const" to local "value".  Replace
      	::getenv call with call to the env_manager singleton.
      	(path_prefix_reset): New function.
      	(driver::finalize): New function.
      	* gcc.h (driver::driver): New.
      	(driver::~driver): New.
      	(driver::finalize): New.
      
      gcc/jit/ChangeLog:
      	* docs/cp/topics/contexts.rst
      	(gccjit::context::set_bool_use_external_driver): New.
      	* docs/internals/test-hello-world.exe.log.txt: Update.
      	* docs/topics/compatibility.rst (LIBGCCJIT_ABI_5): New.
      	* docs/topics/contexts.rst
      	(gcc_jit_context_set_bool_use_external_driver): New.
      	* jit-common.h (enum inner_bool_option): Add
      	INNER_BOOL_OPTION_USE_EXTERNAL_DRIVER.
      	* jit-playback.c (gcc_driver_name): New global.
      	(gcc:jit::playback::context::invoke_driver): Split out second
      	half into...
      	(gcc::jit::playback::context::invoke_embedded_driver): ...this new
      	function, and...
      	(gcc::jit::playback::context::invoke_external_driver): ...this new
      	function.
      	* jit-playback.h
      	(gcc::jit::playback::context::get_inner_bool_option): New.
      	(gcc::jit::playback::context::invoke_embedded_driver): New.
      	(gcc::jit::playback::context::invoke_external_driver): New.
      	* jit-recording.c (inner_bool_option_reproducer_strings):
      	Add entry for INNER_BOOL_OPTION_USE_EXTERNAL_DRIVER.
      	* libgccjit++.h
      	(gccjit::context::set_bool_use_external_driver): New.
      	* libgccjit.c (gcc_jit_context_set_bool_use_external_driver): New.
      	* libgccjit.h (gcc_jit_context_set_bool_use_external_driver): New.
      	(LIBGCCJIT_HAVE_gcc_jit_context_set_bool_use_external_driver):
      	New.
      	* libgccjit.map (LIBGCCJIT_ABI_5): New.
      	* notes.txt: Show invocation of embedded copy of driver.
      	* docs/internals/test-hello-world.exe.log.txt: Update
      
      gcc/testsuite/ChangeLog:
      	* jit.dg/test-error-pr63969-missing-driver.c: Add call to
      	gcc_jit_context_set_bool_use_external_driver.
      
      From-SVN: r227188
      David Malcolm committed
    • Revert my change to commit with PR reference again. · 25c65938
      From-SVN: r227187
      François Dumont committed
    • * gcc.c-torture/execute/builtins/20010124-1.x: New. · 2f40eaca
      From-SVN: r227186
      Nathan Sidwell committed
    • optabs.c (emit_indirect_jump): Don't try an emit a jump if the target doesn't have one. · 5a08165c
      	* optabs.c (emit_indirect_jump): Don't try an emit a jump if the
      	target doesn't have one.
      
      From-SVN: r227185
      Nathan Sidwell committed
    • compiler: Don't crash on erroneous array types. · 25486c28
          
          Fixes golang/go#11546.
          
          Reviewed-on: https://go-review.googlesource.com/13795
      
      From-SVN: r227184
      Ian Lance Taylor committed
    • rs6000: Fix PR67346 · f14e0109
      "*ior<mode>_mask" is a define_insn_and_split, so it shouldn't use
      can_create_pseudo in its instruction condition, because IRA can then
      create such an instruction, and the condition becomes false before
      the insn is split.  Use a scratch instead.
      
      
      2015-08-25  Segher Boessenkool  <segher@kernel.crashing.org>
      
      	PR target/67346
      	* config/rs6000/rs6000.md (*ior<mode>_mask): Use a match_scratch.
      
      From-SVN: r227183
      Segher Boessenkool committed
    • rs6000: Fix PR67344 · b733687e
      The "*and<mode>3_imm_dot_shifted" pattern is a define_insn_and_split,
      like most "dot" patterns: if its output is not assigned cr0 but some
      other cr reg, it splits to a non-dot insn and a compare.
      
      Unfortunately that non-dot insn will clobber cr0 as well.  We could
      add another clobber (with "=X,x"), but then that second alternative
      is never useful; instead, just remove that second alternative.
      
      
      2015-08-25  Segher Boessenkool  <segher@kernel.crashing.org>
      
      	PR target/67344
      	* config/rs6000/rs6000.md (*and<mode>3_imm_dot_shifted): Change to
      	a define_insn, remove second alternative.
      
      From-SVN: r227182
      Segher Boessenkool committed
    • unit.c (get_internal_unit): Make default sign mode unspecified. · 693ac2ab
      	* io/unit.c (get_internal_unit): Make default sign mode unspecified.
      	(init_units): Make default sign mode unspecified.
      
      From-SVN: r227178
      Francois-Xavier Coudert committed
    • 20001117-1.c: Needs return_address. · 0c308f59
      	* gcc.dg/20001117-1.c: Needs return_address.
      	* gcc.dg/20020415-1.c: Needs alloca.
      	* gcc.dg/graphite/id-pr44676.c: Needs profiling.
      	* gcc.dg/graphite/pr60979.c: Needs nonlocal_goto
      	* gcc.dg/pr63186.c: Needs label_values.
      	* gcc.dg/torture/pr33848.c: Likwise.
      
      	* lib/target-supports.exp (check_effective_target_fopenacc,
      	check_effective_target_fopenmp): Disable for nvptx.
      	* gcc.dg/graphite/run-id-pr47653.c: Disable for nvptx.
      	* gcc.dg/stack-usage-1.c: Likewise.
      	* gcc.dg/stack-usage-2.c: Likewise.
      	* gcc.dg/unused-5.c: Likewise.
      	* gcc.dg/unwind-1.c: Likewise.
      
      From-SVN: r227177
      Nathan Sidwell committed
    • Expand comment on struct switchstr. · db8d0919
      This patch, extracted from a larger change on gomp-4_0-branch, expands
      a comment documenting struct switchstr in gcc.c.
      
      2015-08-25  Thomas Schwinge  <thomas@codesourcery.com>
      	    Joseph Myers  <joseph@codesourcery.com>
      
      	* gcc.c (struct switchstr): Expand comment.
      
      Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
      
      From-SVN: r227173
      Thomas Schwinge committed
    • nvptx.c (nvptx_write_function_decl): Reformat. · 1fe6befc
      	* config/nvptx/nvptx.c (nvptx_write_function_decl): Reformat.
      	(nvptx_reorg_subreg): Pass insn pattern to asm_operands.
      
      From-SVN: r227169
      Nathan Sidwell committed