1. 09 Jan, 2015 18 commits
    • PR jit/64206: delay cleanup of tempdir if the user has requested debuginfo · d2286af3
      gcc/jit/ChangeLog:
      	PR jit/64206
      	* docs/internals/test-hello-world.exe.log.txt: Update, the log now
      	shows tempdir creation/cleanup.
      	* docs/_build/texinfo/libgccjit.texi: Regenerate.
      	* jit-logging.h (class gcc::jit::log_user): Add gcc::jit::tempdir
      	to the list of subclasses in the comment.
      	* jit-playback.c (gcc::jit::playback::context::context): Add a
      	comment clarifying when the tempdir gets cleaned up.
      	(gcc::jit::playback::context::compile): Pass the context's logger,
      	if any, to the tempdir.
      	(gcc::jit::playback::context::dlopen_built_dso): When creating the
      	gcc::jit::result, if GCC_JIT_BOOL_OPTION_DEBUGINFO is set, hand
      	over ownership of the tempdir to it.
      	* jit-result.c: Include "jit-tempdir.h".
      	(gcc::jit::result::result): Add tempdir param, saving it as
      	m_tempdir.
      	(gcc::jit::result::~result): Delete m_tempdir.
      	* jit-result.h (gcc::jit::result::result): Add tempdir param.
      	(gcc::jit::result::m_tempdir): New field.
      	* jit-tempdir.c (gcc::jit::tempdir::tempdir): Add logger param;
      	add JIT_LOG_SCOPE.
      	(gcc::jit::tempdir::create): Add JIT_LOG_SCOPE to log entry/exit,
      	and log m_path_template and m_path_tempdir.
      	(gcc::jit::tempdir::~tempdir): Add JIT_LOG_SCOPE to log
      	entry/exit, and log the unlink and rmdir calls.
      	* jit-tempdir.h: Include "jit-logging.h".
      	(class gcc::jit::tempdir): Make this be a subclass of log_user.
      	(gcc::jit::tempdir::tempdir): Add logger param.
      	* notes.txt: Update to show the two possible places where the
      	tempdir can be cleaned up.
      
      From-SVN: r219395
      David Malcolm committed
    • unwind-arm-common.h: Revert previous commit. · 4c470097
      gcc:
          * ginclude/unwind-arm-common.h: Revert previous commit.
      
      libstdc++-v3:
          * libsupc++/unwind-cxx.h: Revert previous commit.
      
      From-SVN: r219392
      Andreas Tobler committed
    • configure.ac: Don't add ${libgcj} for arm*-*-freebsd*. · 82a19768
      toplevel:
      
          * configure.ac: Don't add ${libgcj} for arm*-*-freebsd*.
          * configure: Regenerate.
      gcc:
          * config.gcc (arm*-*-freebsd*): New configuration.
          * config/arm/freebsd.h: New file.
          * config.host: Add extra components for arm*-*-freebsd*.
          * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE.
          * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE.
      
      libgcc:
      
          * config.host (arm*-*-freebsd*): Add new configuration for
          arm*-*-freebsd*.
          * config/arm/freebsd-atomic.c: New file.
          * config/arm/t-freebsd: Likewise.
          * config/arm/unwind-arm.h: Add __FreeBSD__ to the list of
          'PC-relative indirect' OS's.
      
      libatomic:
      
          * configure.tgt: Exclude arm*-*-freebsd* from try_ifunc.
      
      libstdc++-v3:
      
          * configure.host: Add arm*-*-freebsd* port_specific_symbol_files.
      
      From-SVN: r219388
      Andreas Tobler committed
    • RTEMS: Add e6500 multilibs for PowerPC · 887974fd
      Use 32-bit instructions only since currently there is no demand for a
      larger address space.  Provide one multilib with FPU and AltiVec support
      and one without.
      
      gcc/ChangeLog
      
      	* config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
      	for -mcpu=e6500.
      	* config/rs6000/t-rtems: Add e6500 multilibs.
      
      From-SVN: r219387
      Sebastian Huber committed
    • RTEMS: Fix MPC8540 multilibs for PowerPC · 3bfc2fa3
      GCC generates SPE instructions even if -msoft-float is specified.
      Explicitly add -mno-spe to prevent generation of SPE instructions.  This
      multilib variant must not lead to a usage of the SPE.
      
      gcc/ChangeLog
      
      	* config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
      	MPC8540.
      
      From-SVN: r219385
      Sebastian Huber committed
    • RTEMS: Use MULTILIB_REQUIRED for PowerPC · 02f6062b
      gcc/ChangeLog
      
      	* config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
      	MULTILIB_EXCEPTIONS.
      
      From-SVN: r219384
      Sebastian Huber committed
    • RTEMS: Use MULTILIB_REQUIRED for ARM · 2f2eb5ad
      gcc/ChangeLog
      
      	* config/arm/t-rtems: Use MULTILIB_REQUIRED instead of
      	MULTILIB_EXCEPTIONS.
      
      From-SVN: r219383
      Sebastian Huber committed
    • RTEMS: Rename ARM target config files · 5be0a29b
      Now that we only have the EABI configuration for RTEMS rename the files
      to match the pattern used for the other RTEMS targets.
      
      gcc/ChangeLog
      
      	* config/arm/t-rtems-eabi: Rename to...
      	* config/arm/t-rtems: ...this.
      	* config/arm/rtems-eabi.h: Rename to...
      	* config/arm/rtems.h: ...this.
      	* config.gcc (arm*-*-rtems*): Reflect changes above.
      
      From-SVN: r219382
      Sebastian Huber committed
    • typeof-2.c: Add checks for non-atomic types. · 88d24a09
      gcc/testsuite/gcc.dg/typeof-2.c
      
      gcc/testsuite/ChangeLog
      
      	* gcc.dg/typeof-2.c: Add checks for non-atomic types.
      
      From-SVN: r219381
      Sebastian Huber committed
    • re PR tree-optimization/64410 (gcc 25% slower than clang 3.5 for adding complex numbers) · 2f278249
      2015-01-09  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/64410
      	* tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR
      	on the LHS.
      	(execute_update_addresses_taken): Deal with that.
      	* tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise
      	loads/stores for complex variables.
      
      	* g++.dg/vect/pr64410.cc: New testcase.
      
      From-SVN: r219380
      Richard Biener committed
    • IPA ICF: compare_operand is split to multiple functions. · 520b3022
      	* ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA
      	name comparison.
      	(func_checker::compare_memory_operand): New function.
      	(func_checker::compare_operand): Split case to newly
      	added functions.
      	(func_checker::compare_cst_or_decl): New function.
      	(func_checker::compare_gimple_call): Identify
      	memory operands.
      	(func_checker::compare_gimple_assign): Likewise.
      	* ipa-icf-gimple.h: New function.
      
      From-SVN: r219379
      Martin Liska committed
    • Fix for ipa/PR64503 · ce9401b4
      	PR ipa/64503
      	* sreal.c (sreal::dump): Change unsigned format to signed for
      	m_exp value.
      	(sreal::to_double): Replace exp2 with scalbln.
      
      From-SVN: r219378
      Martin Liska committed
    • IPA ICF: target and optimization flags comparison. · 3f9f4ae7
      	* cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation.
      	* ipa-icf.c (sem_function::equals_private): Add support for target and
      	(sem_item_optimizer::merge_classes): Remove redundant function
      	optimization flags comparison.
      	* tree.h (target_opts_for_fn): New function.
      	* gcc.dg/ipa/ipa-icf-32.c: New test.
      
      From-SVN: r219377
      Martin Liska committed
    • Fix gcc_assert in expand_omp_for_static_chunk · 56f6033d
      2015-01-09  Tom de Vries  <tom@codesourcery.com>
      
      	* omp-low.c (expand_omp_for_static_chunk): Fix assert.
      
      From-SVN: r219376
      Tom de Vries committed
    • re PR target/64348 (Case scal-to-vec1.c failed on arm-linux-gnueabi with -fPIC) · c61fe0cc
      2015-01-09  Kito Cheng  <kito@0xlab.org>
      
      	PR rtl-optimization/64348
      	* lra-constraints.c (split_reg): Fix caller-save store/restore
      	instruction generation.
      
      From-SVN: r219375
      Kito Cheng committed
    • re PR libstdc++/64239 (regex_iterator::operator= should copy match_results::position) · a8e67466
      	PR libstdc++/64239
      	* include/bits/regex.h (match_results<>::swap): Use std::swap
      	instead of swap.
      	* include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
      	Likewise.
      	* testsuite/28_regex/match_results/swap.cc: New testcase.
      
      From-SVN: r219373
      Tim Shen committed
    • re PR gcov-profile/61790 (gcov-tool.c uses atoll) · e608ef6d
      	PR gcov-profile/61790
      	* gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
      	long long.  Fallback to int64_t if host doesn't have long long and
      	use strtol if int64_t is long.  Otherwise, use sscanf for conversion.
      
      From-SVN: r219372
      John David Anglin committed
    • Daily bump. · fe7d7447
      From-SVN: r219371
      GCC Administrator committed
  2. 08 Jan, 2015 22 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