1. 09 Jan, 2015 13 commits
  2. 08 Jan, 2015 27 commits
    • tsan_barrier.h: New. · 75d1c391
      2015-01-08  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * c-c++-common/tsan/tsan_barrier.h: New.
              * c-c++-common/tsan/atomic_stack.c: Reworked to not depend on sleep.
              * c-c++-common/tsan/bitfield_race.c: Likewise.
              * c-c++-common/tsan/fd_pipe_race.c: Likewise.
              * c-c++-common/tsan/mutexset1.c: Likewise.
              * c-c++-common/tsan/race_on_barrier.c: Likewise.
              * c-c++-common/tsan/race_on_mutex.c: Likewise.
              * c-c++-common/tsan/race_on_mutex2.c: Likewise.
              * c-c++-common/tsan/simple_race.c: Likewise.
              * c-c++-common/tsan/simple_stack.c: Likewise.
              * c-c++-common/tsan/sleep_sync.c: Likewise.
              * c-c++-common/tsan/tiny_race.c: Likewise.
              * c-c++-common/tsan/tls_race.c: Likewise.
              * c-c++-common/tsan/write_in_reader_lock.c: Likewise.
              * g++.dg/tsan/aligned_vs_unaligned_race.C: Likewise.
              * g++.dg/tsan/atomic_free.C: Likewise.
              * g++.dg/tsan/atomic_free2.C: Likewise.
              * g++.dg/tsan/cond_race.C: Likewise.
              * g++.dg/tsan/tsan_barrier.h: Copied from c-c++-common/tsan.
      
      From-SVN: r219367
      Bernd Edlinger committed
    • libgccjit.h: Fix description of struct gcc_jit_context · 7c8db13e
      gcc/jit/ChangeLog:
      	* libgccjit.h (struct gcc_jit_context): Rewrite the descriptive
      	comment.
      
      From-SVN: r219366
      David Malcolm committed
    • re PR testsuite/62250 (FAIL: gfortran.dg/coarray/alloc_comp_1.f90 -fcoarray=lib -O2 -lcaf_single) · 52a98b30
      	PR testsuite/62250
      	* lib/target-supports.exp (check_effective_target_libatomic_available):
      	New.
      	* gfortran.dg/coarray/caf.exp: Only add -latomic for
      	targets that match effective-target libatomic_available.
      	* gfortran.dg/coarray_lib_comm_1.f90: Similar.
      
      From-SVN: r219365
      Hans-Peter Nilsson committed
    • re PR testsuite/62250 (FAIL: gfortran.dg/coarray/alloc_comp_1.f90 -fcoarray=lib -O2 -lcaf_single) · b85449ad
      	PR testsuite/62250
      	* lib/target-supports.exp (check_effective_target_libatomic_available):
      	New.
      	* gfortran.dg/coarray/caf.exp: Only add -latomic for
      	targets that match effective-target libatomic_available.
      	* gfortran.dg/coarray_lib_comm_1.f90: Similar.
      
      From-SVN: r219364
      Hans-Peter Nilsson committed
    • jit: New API entrypoint: gcc_jit_context_get_last_error · 303e1d56
      gcc/jit/ChangeLog:
      	* docs/topics/contexts.rst (Error-handling): Document new
      	entrypoint gcc_jit_context_get_last_error.
      	* docs/_build/texinfo/libgccjit.texi: Regenerate.
      	* jit-recording.c (gcc::jit::recording::context::context):
      	Initialize new fields "m_last_error_str" and
      	"m_owns_last_error_str".
      	(gcc::jit::recording::context::~context): Clean up
      	m_last_error_str, if needed.
      	(gcc::jit::recording::context::add_error_va): Update
      	m_last_error_str and m_owns_last_error_str, freeing the old
      	value if appropriate.
      	(gcc::jit::recording::context::get_last_error): New function.
      	* jit-recording.h (gcc::jit::recording::context::get_last_error):
      	New function.
      	(gcc::jit::recording::context): New fields m_last_error_str and
      	m_owns_last_error_str.
      	* libgccjit.c (gcc_jit_context_get_last_error): New function.
      	* libgccjit.h (gcc_jit_context_get_last_error): New declaration.
      	* libgccjit.map (gcc_jit_context_get_last_error): New function.
      
      gcc/testsuite/ChangeLog:
      	* jit.dg/test-error-block-in-wrong-function.c (verify_code):
      	Verify the result of gcc_jit_context_get_last_error.
      	* jit.dg/test-error-null-passed-to-api.c (verify_code): Likewise.
      
      From-SVN: r219363
      David Malcolm committed
    • re PR tree-optimization/63989 (tree-ssa-strlen.c doesn't handle constant pointer… · 204a913b
      re PR tree-optimization/63989 (tree-ssa-strlen.c doesn't handle constant pointer plus and array refs if constant offset is smaller than known constant string length)
      
      	PR tree-optimization/63989
      	* params.def (PARAM_MAX_TRACKED_STRLENS): Increment default
      	from 1000 to 10000.
      	* tree-ssa-strlen.c (get_strinfo): Moved earlier.
      	(get_stridx): If we don't have a record for certain SSA_NAME,
      	but it is POINTER_PLUS_EXPR of some SSA_NAME we do with
      	constant offset, call get_stridx_plus_constant.
      	(get_stridx_plus_constant): New function.
      	(zero_length_string): Don't use get_stridx here.
      
      	* gcc.dg/strlenopt-27.c: New test.
      
      From-SVN: r219362
      Jakub Jelinek committed
    • re PR target/55023 (hppa: wrong code generated with tail call optimisation) · 57534689
      	PR target/55023
      	PR middle-end/64388
      	* dse.c (struct insn_info): Mention frame_read set also
      	before reload for tail calls on some targets.
      	(scan_insn): Revert 2014-12-22 change.  Set frame_read
      	also before reload for tail calls if
      	HARD_FRAME_POINTER_IS_ARG_POINTER.  Call add_wild_read
      	instead of add_non_frame_wild_read for non-const/memset
      	tail calls after reload.
      
      From-SVN: r219361
      Jakub Jelinek committed
    • ubsan.c (do_ubsan_in_current_function): New. · f5481fc4
      gcc/
      	* ubsan.c (do_ubsan_in_current_function): New.
      	(pass_ubsan::gate): Use it.
      	* ubsan.h: Declare it.
      	* convert.c (convert_to_integer): Use it.
      gcc/c-family/
      	* c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
      	do_ubsan_in_current_function.
      	(ubsan_maybe_instrument_reference_or_call): Likewise.
      	* c-ubsan.h: Declare it.
      gcc/cp/
      	* cp-gimplify.c (cp_genericize): Use do_ubsan_in_current_function.
      	* decl.c (compute_array_index_type): Likewise.
      	* init.c (build_vec_init): Likewise.
      	* typeck.c (cp_build_binary_op): Likewise.
      
      From-SVN: r219360
      Jason Merrill committed
    • init.c (build_vec_init): Call ubsan_instrument_bounds to check whether an… · 46621807
      init.c (build_vec_init): Call ubsan_instrument_bounds to check whether an initializer-list is too big...
      
      	* init.c (build_vec_init): Call ubsan_instrument_bounds to check
      	whether an initializer-list is too big for a VLA.
      	(throw_bad_array_length): Remove.
      	* cp-tree.h: Remove prototype.
      
      From-SVN: r219359
      Jason Merrill committed
    • cmd/go: Use builtin constant to set default gccgo compiler. · d9ebff44
      Don't look it up on PATH.  This lets a go tool built as part
      of a GCC build use the gccgo from the same build.
      
      Also pass -c when assembling a .s file with gccgo.
      
      From-SVN: r219358
      Ian Lance Taylor committed
    • New jit API entrypoint: gcc_jit_context_set_logfile · eb4c16eb
      gcc/jit/ChangeLog:
      	* Make-lang.in (jit_OBJS): Add jit/jit-logging.o.
      	* docs/internals/index.rst (Overview of code structure): Mention
      	gcc_jit_context_set_logfile, and embed the example logfile.
      	* docs/internals/test-hello-world.exe.log.txt: New file: example
      	of a logfile.
      	* docs/topics/contexts.rst (Debugging): Add documentation
      	for gcc_jit_context_set_logfile.
      	* docs/_build/texinfo/libgccjit.texi: Regenerate.
      	* dummy-frontend.c: Include "jit-logging.h".
      	(jit_langhook_init): Assert that there is an active playback
      	context.  If it has a logger, log entry/exit to this function.
      	(jit_langhook_write_globals): Likewise.
      	* jit-common.h (gcc::jit::logger): New forward declaration.
      	* jit-logging.c: New file.
      	* jit-logging.h: New file.
      	* jit-playback.c: Include "jit-logging.h".
      	(gcc::jit::playback::context::context): Initialize the log_user
      	base class from the recording context's logger (if any).  Use
      	JIT_LOG_SCOPE to log entry/exit from the function body.
      	(gcc::jit::playback::context::~context): Use JIT_LOG_SCOPE to
      	log entry/exit from the function body.
      	(gcc::jit::playback::build_stmt_list): Likewise.
      	(gcc::jit::playback::function::postprocess): Likewise.
      	(gcc::jit::playback::context::compile): Likewise.  Log the
      	entry/exit to toplev::main and toplev::finalize.  Log the
      	fake argv passed to toplev::main.
      	(gcc::jit::playback::context::acquire_mutex): Use JIT_LOG_SCOPE to
      	log entry/exit from the function body.
      	(gcc::jit::playback::context::release_mutex): Likewise.
      	(gcc::jit::playback::context::make_fake_args): Likewise.
      	(gcc::jit::playback::context::extract_any_requested_dumps):
      	Likewise.
      	(gcc::jit::playback::context::convert_to_dso): Likewise. Also,
      	log the arguments that the driver is invoked with.
      	(gcc::jit::playback::context::dlopen_built_dso): Likewise.  Pass
      	the logger to the result object.
      	(gcc::jit::playback::context::replay): Use JIT_LOG_SCOPE to
      	log entry/exit from the function body.
      	(gcc::jit::playback::context::dump_generated_code): Likewise.
      	(gcc::jit::playback::context::handle_locations): Likewise.
      	* jit-playback.h (gcc::jit::playback::context): Make this be
      	a subclass of gcc::jit::log_user.
      	* jit-recording.c: Include "jit-logging.h".
      	(gcc::jit::recording::context::context: Initialize the logger to
      	NULL for root contexts, or to the parent's logger for child
      	contexts.
      	(gcc::jit::recording::context::~context): Use JIT_LOG_SCOPE to
      	log entry/exit from the function body.
      	(gcc::jit::recording::context::replay_into): Likewise.
      	(gcc::jit::recording::context::disassociate_from_playback):
      	Likewise.
      	(gcc::jit::recording::context::compile): Likewise.
      	(recording::context::add_error_va): Likewise.  Also, log the
      	error.
      	(gcc::jit::recording::context::validate): Use JIT_LOG_SCOPE to
      	log entry/exit from the function body.
      	* jit-recording.h: Include "jit-logging.h".
      	(gcc::jit::recording::context): Make this be a subclass of
      	gcc::jit::log_user.
      	* jit-result.c: Include "jit-common.h" and "jit-logging.h".
      	(gcc::jit::result::result): Add logger param, recording it.
      	Use JIT_LOG_SCOPE to log entry/exit from the function body.
      	(gcc::jit::result::~result(): Use JIT_LOG_SCOPE to
      	log entry/exit from the function body.
      	(gcc::jit::result::get_code): Likewise.
      	* jit-result.h (gcc::jit::result): Make this be a subclass of
      	gcc::jit::log_user.
      	(gcc::jit::result::result): Add logger parameter.
      	* libgccjit++.h (gccjit::context::set_logfile): New function.
      	* libgccjit.c: Include "jit-logging.h".
      	(gcc_jit_context_acquire): Log the context.
      	(gcc_jit_context_release): Use JIT_LOG_FUNC to
      	log entry/exit from the function body, and log the context.
      	(gcc_jit_context_new_child_context): Likewise, logging both
      	contexts.
      	(gcc_jit_context_new_location): Use JIT_LOG_FUNC to
      	log entry/exit from the function body.
      	(gcc_jit_context_get_type): Likewise.
      	(gcc_jit_context_get_int_type): Likewise.
      	(gcc_jit_context_new_array_type): Likewise.
      	(gcc_jit_context_new_field): Likewise.
      	(gcc_jit_context_new_struct_type): Likewise.
      	(gcc_jit_context_new_opaque_struct): Likewise.
      	(gcc_jit_struct_set_fields): Likewise.
      	(gcc_jit_context_new_union_type): Likewise.
      	(gcc_jit_context_new_function_ptr_type): Likewise.
      	(gcc_jit_context_new_param): Likewise.
      	(gcc_jit_context_new_function): Likewise.
      	(gcc_jit_context_get_builtin_function): Likewise.
      	(gcc_jit_function_get_param): Likewise.
      	(gcc_jit_function_dump_to_dot): Likewise.
      	(gcc_jit_function_new_block): Likewise.
      	(gcc_jit_context_new_global): Likewise.
      	(gcc_jit_context_new_rvalue_from_int): Likewise.
      	(gcc_jit_context_zero): Likewise.
      	(gcc_jit_context_one): Likewise.
      	(gcc_jit_context_new_rvalue_from_double): Likewise.
      	(gcc_jit_context_new_rvalue_from_ptr): Likewise.
      	(gcc_jit_context_null): Likewise.
      	(gcc_jit_context_new_string_literal): Likewise.
      	(gcc_jit_context_new_unary_op): Likewise.
      	(gcc_jit_context_new_binary_op): Likewise.
      	(gcc_jit_context_new_comparison): Likewise.
      	(gcc_jit_context_new_call): Likewise.
      	(gcc_jit_context_new_call_through_ptr): Likewise.
      	(gcc_jit_context_new_cast): Likewise.
      	(gcc_jit_context_new_array_access): Likewise.
      	(gcc_jit_lvalue_access_field): Likewise.
      	(gcc_jit_rvalue_access_field): Likewise.
      	(gcc_jit_rvalue_dereference_field): Likewise.
      	(gcc_jit_rvalue_dereference): Likewise.
      	(gcc_jit_lvalue_get_address): Likewise.
      	(gcc_jit_function_new_local): Likewise.
      	(gcc_jit_block_add_eval): Likewise.
      	(gcc_jit_block_add_assignment): Likewise.
      	(gcc_jit_block_add_assignment_op): Likewise.
      	(gcc_jit_block_end_with_conditional): Likewise.
      	(gcc_jit_block_add_comment): Likewise.
      	(gcc_jit_block_end_with_jump): Likewise.
      	(gcc_jit_block_end_with_return): Likewise.
      	(gcc_jit_block_end_with_void_return): Likewise.
      	(gcc_jit_context_set_str_option): Likewise.
      	(gcc_jit_context_set_int_option): Likewise.
      	(gcc_jit_context_set_bool_option): Likewise.
      	(gcc_jit_context_enable_dump): Likewise.
      	(gcc_jit_context_compile): Likewise.  Also log the context,
      	and the result.
      	(gcc_jit_context_dump_to_file): Likewise.
      	(gcc_jit_context_set_logfile): New function.
      	(gcc_jit_context_get_first_error): Use JIT_LOG_FUNC to
      	log entry/exit from the function body.
      	(gcc_jit_result_get_code): Likewise.  Also log the fnname)
      	and the ptr to be returned.
      	(gcc_jit_result_release): Likewise.  Also log the result.
      	* libgccjit.h: Include <stdio.h>, since we need FILE *.
      	(gcc_jit_context_set_logfile): New declaration.
      	* libgccjit.map (gcc_jit_context_set_logfile): New.
      
      gcc/testsuite/ChangeLog:
      	* jit.dg/harness.h (set_up_logging): New function.
      	(test_jit): Fail if gcc_jit_context_acquire fails.  Call
      	set_up_logging on the context, so that every testcase is
      	logged to a particular file.
      	* jit.dg/test-nested-contexts.c (main): Open a logfile,
      	and call gcc_jit_context_set_logfile on the top-level context.
      
      From-SVN: r219357
      David Malcolm committed
    • re PR target/64338 (ICE in swap_condition, at jump.c:628) · efa7df3c
      	PR target/64338
      	* config/i386/i386.c (ix86_expand_int_movcc): Don't reverse
      	compare_code when it is unconditionally overwritten afterwards.
      	Use ix86_reverse_condition instead of reverse_condition.  Don't
      	change code if *reverse_condition* returned UNKNOWN and don't
      	swap ct/cf and negate diff in that case.
      
      	* g++.dg/opt/pr64338.C: New test.
      
      From-SVN: r219356
      Jakub Jelinek committed
    • tsan.c (pass_tsan::gate): Add no_sanitize_thread support. · de35aa66
      	* tsan.c (pass_tsan::gate): Add no_sanitize_thread support.
      	  (pass_tsan_O0::gate): Likewise.
      	* extend.texi (Function Attributes): Add no_sanitize_thread
      	  documentation.
      
      	* c-common.c (c_common_attribute_table): Add no_sanitize_thread.
      
      From-SVN: r219355
      Mike Stump committed
    • trans-decl.c (gfc_build_qualified_array): Fix coarray tokens for module coarrays… · de1184c0
      trans-decl.c (gfc_build_qualified_array): Fix coarray tokens for module coarrays with -fcoarray=lib.
      
      2015-01-08  Tobias Burnus  <burnus@net-b.de>
      
              * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
              for module coarrays with -fcoarray=lib.
              (get_proc_pointer_decl): As module variable, make only public
              when not marked as private.
      
              * gfortran.dg/coarray/codimension_2b.f90: New file.
              * gfortran.dg/coarray/codimension_2.f90: Add it to
              * dg-extra-sources.
              * gfortran.dg/coarray/codimension_2.f90: Call its subroutine.
      
      From-SVN: r219354
      Tobias Burnus committed
    • re PR c++/59004 (ICE generated by __func__) · ec124043
      2015-01-08  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/59004
      	* g++.dg/ext/fnname4.C: New.
      
      From-SVN: r219353
      Paolo Carlini committed
    • re PR c++/64462 (ICE while compiling lambda using local constexpr reference variable) · 8b93f829
      2015-01-08  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/64462
      	* g++.dg/cpp0x/constexpr-64462.C: New.
      
      From-SVN: r219352
      Paolo Carlini committed
    • re PR libstdc++/60132 (C++11: lack of is_trivially_copy_constructible) · c66b93fe
      	PR libstdc++/60132
      	* include/std/type_traits (has_trivial_default_constructor,
      	has_trivial_copy_constructor, has_trivial_copy_assign): Add deprecated
      	attribute.
      	* testsuite/20_util/has_trivial_copy_assign/requirements/
      	explicit_instantiation.cc: Use -Wno-deprecated.
      	* testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
      	Likewise.
      	* testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
      	* testsuite/20_util/has_trivial_copy_constructor/requirements/
      	explicit_instantiation.cc: Likewise.
      	* testsuite/20_util/has_trivial_copy_constructor/requirements/
      	typedefs.cc: Likewise.
      	* testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
      	* testsuite/20_util/has_trivial_default_constructor/requirements/
      	explicit_instantiation.c: Likewise.
      	* testsuite/20_util/has_trivial_default_constructor/requirements/
      	typedefs.cc: Likewise.
      	* testsuite/20_util/has_trivial_default_constructor/value.cc:
      	Likewise.
      	* testsuite/20_util/pair/requirements/dr801.cc: Replace deprecated
      	trait.
      	* testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
      	* testsuite/util/testsuite_common_types.h: Likewise.
      
      From-SVN: r219350
      Jonathan Wakely committed
    • libgomp: Fix 32-bit x86 Intel MIC offloading testing. · b335ef4e
          [...]
          spawn [...]/build-gcc/gcc/xgcc -B[...]/build-gcc/gcc/ [...]/source-gcc/libgomp/testsuite/libgomp.c/examples-4/e.50.1.c -B[...]/build-gcc/x86_64-unknown-linux-gnu/32/libgomp/ -B[...]/build-gcc/x86_64-unknown-linux-gnu/32/libgomp/.libs -I[...]/build-gcc/x86_64-unknown-linux-gnu/32/libgomp -I[...]/source-gcc/libgomp/testsuite/.. -march=i486 -fmessage-length=0 -fno-diagnostics-show-caret -fdiagnostics-color=never -B[...]/install/offload-x86_64-intelmicemul-linux-gnu/libexec/gcc/x86_64-unknown-linux-gnu/5.0.0 -B[...]/install/offload-x86_64-intelmicemul-linux-gnu/bin -fopenmp -O2 -L[...]/build-gcc/x86_64-unknown-linux-gnu/32/libgomp/.libs -lm -m32 -o ./e.50.1.exe
          PASS: libgomp.c/examples-4/e.50.1.c (test for excess errors)
          Setting LD_LIBRARY_PATH to .:[...]/build-gcc/x86_64-unknown-linux-gnu/32/libgomp/.libs:[...]/build-gcc/x86_64-unknown-linux-gnu/32/libgomp/../liboffloadmic/.libs:[...]/build-gcc/x86_64-unknown-linux-gnu/32/libgomp/../liboffloadmic/plugin/.libs:[...]/build-gcc/x86_64-unknown-linux-gnu/32/libgomp/../libstdc++-v3/src/.libs:[...]/install/offload-x86_64-intelmicemul-linux-gnu/lib64:[...]/install/offload-x86_64-intelmicemul-linux-gnu/lib:[...]/build-gcc/gcc:[...]/build-gcc/gcc/32:.:[...]/build-gcc/x86_64-unknown-linux-gnu/32/libgomp/.libs:[...]/build-gcc/x86_64-unknown-linux-gnu/32/libgomp/../liboffloadmic/.libs:[...]/build-gcc/x86_64-unknown-linux-gnu/32/libgomp/../liboffloadmic/plugin/.libs:[...]/build-gcc/x86_64-unknown-linux-gnu/32/libgomp/../libstdc++-v3/src/.libs:[...]/install/offload-x86_64-intelmicemul-linux-gnu/lib64:[...]/install/offload-x86_64-intelmicemul-linux-gnu/lib:[...]/build-gcc/gcc:[...]/build-gcc/gcc/32:[...]/build-gcc/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs:[...]/build-gcc/x86_64-unknown-linux-gnu/libsanitizer/.libs:[...]/build-gcc/x86_64-unknown-linux-gnu/libvtv/.libs:[...]/build-gcc/x86_64-unknown-linux-gnu/libcilkrts/.libs:[...]/build-gcc/x86_64-unknown-linux-gnu/liboffloadmic/.libs:[...]/build-gcc/x86_64-unknown-linux-gnu/libssp/.libs:[...]/build-gcc/x86_64-unknown-linux-gnu/libgomp/.libs:[...]/build-gcc/x86_64-unknown-linux-gnu/libitm/.libs:[...]/build-gcc/x86_64-unknown-linux-gnu/libatomic/.libs:[...]/build-gcc/./gcc:[...]/build-gcc/./prev-gcc
          spawn [open ...]
          /tmp/offload_WCXKRZ/offload_target_main: error while loading shared libraries: liboffloadmic_target.so.5: wrong ELF class: ELFCLASS64
          WARNING: program timed out.
          FAIL: libgomp.c/examples-4/e.50.1.c execution test
          [...]
      
          $ find -name liboffloadmic_target.so.5
          ./install/offload-x86_64-intelmicemul-linux-gnu/lib64/liboffloadmic_target.so.5
          ./install/offload-x86_64-intelmicemul-linux-gnu/lib32/liboffloadmic_target.so.5
          ./build-gcc-offload-x86_64-intelmicemul-linux-gnu/x86_64-intelmicemul-linux-gnu/32/liboffloadmic/.libs/liboffloadmic_target.so.5
          ./build-gcc-offload-x86_64-intelmicemul-linux-gnu/x86_64-intelmicemul-linux-gnu/liboffloadmic/.libs/liboffloadmic_target.so.5
      
      This is a "standard" GCC configuration: x86_64-intelmicemul-linux-gnu with
      (default) multilibs enabled.
      
      	libgomp/
      	* configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
      	"$tgt_dir/lib32".
      	* configure: Regenerate.
      
      From-SVN: r219349
      Thomas Schwinge committed
    • libgomp: Fix "intelmic" offloading in build-tree testing. · f9a0eca4
      	libgomp/
      	* testsuite/lib/libgomp.exp (libgomp_init): Correctly match
      	"intelmic" in $offload_targets.
      
      From-SVN: r219348
      Thomas Schwinge committed
    • re PR c++/60753 (Deleted definition of an explicit function template… · 247ecdf3
      re PR c++/60753 (Deleted definition of an explicit function template specialization, following a declaration, incorrectly accepted)
      
      /cp
      2015-01-08  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/60753
      	* decl.c (grokfndecl): Add bool parameter.
      	(grokdeclarator): Adjust calls.
      	(start_decl): Don't set DECL_DELETED_FN here.
      
      /testsuite
      2015-01-08  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/60753
      	* g++.dg/cpp0x/deleted10.C: New.
      
      From-SVN: r219347
      Paolo Carlini committed
    • Make sure that OMP builtins are available in offloading compilers. · 45f46750
      	gcc/
      	* builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi
      	for registering builtins.
      	* config/i386/intelmic-mkoffload.c (prepare_target_image): Don't
      	add -fopenmp to the argv_obstack used when invoking
      	compile_for_target.
      
      From-SVN: r219346
      Thomas Schwinge committed
    • intelmic-mkoffload: Deal with linker defaulting to 32-bit x86 mode. · 4f929d9d
      ... which explicitly has to be switched into 64-bit x86_64 mode.
      
      	gcc/
      	* config/i386/intelmic-mkoffload.c (compile_for_target): Always
      	add "-m32" or "-m64" to argv_obstack.
      	(generate_host_descr_file): Likewise, when invoking host_compiler.
      	(main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking
      	ld.
      
      From-SVN: r219345
      Thomas Schwinge committed
    • liboffloadmic/plugin: Depend on libgomp being built. · 53dd59bf
          [...]
          Making all in plugin
          make[6]: Entering directory `[...]/build-gcc-offload-x86_64-intelmicemul-linux-gnu/x86_64-intelmicemul-linux-gnu/32/liboffloadmic/plugin'
          [...]
          [...]/build-gcc-offload-x86_64-intelmicemul-linux-gnu/./gcc/xg++ -B[...]/build-gcc-offload-x86_64-intelmicemul-linux-gnu/./gcc/ -nostdinc++ -nostdinc++ -I[...]/build-gcc-offload-x86_64-intelmicemul-linux-gnu/x86_64-intelmicemul-linux-gnu/32/libstdc++-v3/include/x86_64-intelmicemul-linux-gnu -I[...]/build-gcc-offload-x86_64-intelmicemul-linux-gnu/x86_64-intelmicemul-linux-gnu/32/libstdc++-v3/include -I[...]/source-gcc/libstdc++-v3/libsupc++ -I[...]/source-gcc/libstdc++-v3/include/backward -I[...]/source-gcc/libstdc++-v3/testsuite/util -L[...]/build-gcc-offload-x86_64-intelmicemul-linux-gnu/x86_64-intelmicemul-linux-gnu/32/libstdc++-v3/src -L[...]/build-gcc-offload-x86_64-intelmicemul-linux-gnu/x86_64-intelmicemul-linux-gnu/32/libstdc++-v3/src/.libs -L[...]/build-gcc-offload-x86_64-intelmicemul-linux-gnu/x86_64-intelmicemul-linux-gnu/32/libstdc++-v3/libsupc++/.libs -B/x86_64-intelmicemul-linux-gnu/bin/ -B/x86_64-intelmicemul-linux-gnu/lib/ -isystem /x86_64-intelmicemul-linux-gnu/include -isystem /x86_64-intelmicemul-linux-gnu/sys-include  -m32 -L./../.libs -L./../../libgomp/.libs -loffloadmic_target -lcoi_device -lmyo-service -lgomp -rdynamic ../ofldbegin.o offload_target_main.o ../ofldend.o -o offload_target_main
          /usr/bin/ld: cannot find -lgomp
          collect2: error: ld returned 1 exit status
      
      	* Makefile.def (dependencies) <all-target-liboffloadmic>: Depend on
      	all-target-libgomp.
      	* Makefile.in: Regenerate.
      
      From-SVN: r219344
      Thomas Schwinge committed
    • * include/bits/hashtable_policy.h: Use __bool_constant. · ea0b599a
      From-SVN: r219343
      Jonathan Wakely committed
    • sh-mem.cc: Use constant as second operand when emitting tstsi_t insns. · 3b140613
      gcc/
      	* config/sh/sh-mem.cc: Use constant as second operand when emitting
      	tstsi_t insns.
      
      From-SVN: r219342
      Oleg Endo committed
    • re PR target/55212 ([SH] Switch to LRA) · 3aa8dfe3
      gcc/
      	PR target/55212
      	* config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of
      	constant load if constant operand fits into I08.
      
      From-SVN: r219341
      Oleg Endo committed
    • re PR sanitizer/64336 (Template functions are not instrumented at -O0 and -Og) · bd84df18
      	PR sanitizer/64336
      	* tree.c (build2_stat): Fix up initialization of TREE_READONLY
      	and TREE_THIS_VOLATILE for MEM_REFs.
      	(build5_stat): Fix up initialization of TREE_READONLY and
      	TREE_THIS_VOLATILE for TARGET_MEM_REFs.
      
      From-SVN: r219339
      Jakub Jelinek committed