aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2015-01-09Fix for ipa/PR64503Martin Liska2-2/+9
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
2015-01-09IPA ICF: target and optimization flags comparison.Martin Liska6-27/+115
* 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
2015-01-09Fix gcc_assert in expand_omp_for_static_chunkTom de Vries2-1/+5
2015-01-09 Tom de Vries <tom@codesourcery.com> * omp-low.c (expand_omp_for_static_chunk): Fix assert. From-SVN: r219376
2015-01-09re PR target/64348 (Case scal-to-vec1.c failed on arm-linux-gnueabi with -fPIC)Kito Cheng2-8/+12
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
2015-01-09re PR gcov-profile/61790 (gcov-tool.c uses atoll)John David Anglin2-1/+18
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
2015-01-09Daily bump.GCC Administrator1-1/+1
From-SVN: r219371
2015-01-08tsan_barrier.h: New.Bernd Edlinger20-47/+170
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
2015-01-08libgccjit.h: Fix description of struct gcc_jit_contextDavid Malcolm2-8/+16
gcc/jit/ChangeLog: * libgccjit.h (struct gcc_jit_context): Rewrite the descriptive comment. From-SVN: r219366
2015-01-08re PR testsuite/62250 (FAIL: gfortran.dg/coarray/alloc_comp_1.f90 ↵Hans-Peter Nilsson1-1/+2
-fcoarray=lib -O2 -lcaf_single) 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
2015-01-08re PR testsuite/62250 (FAIL: gfortran.dg/coarray/alloc_comp_1.f90 ↵Hans-Peter Nilsson3-2/+24
-fcoarray=lib -O2 -lcaf_single) 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
2015-01-08jit: New API entrypoint: gcc_jit_context_get_last_errorDavid Malcolm11-386/+505
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
2015-01-08re PR tree-optimization/63989 (tree-ssa-strlen.c doesn't handle constant ↵Jakub Jelinek5-14/+168
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
2015-01-08re PR target/55023 (hppa: wrong code generated with tail call optimisation)Jakub Jelinek2-16/+29
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
2015-01-08ubsan.c (do_ubsan_in_current_function): New.Jason Merrill12-26/+43
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
2015-01-08init.c (build_vec_init): Call ubsan_instrument_bounds to check whether an ↵Jason Merrill5-34/+49
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
2015-01-08New jit API entrypoint: gcc_jit_context_set_logfileDavid Malcolm23-401/+1544
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
2015-01-08re PR target/64338 (ICE in swap_condition, at jump.c:628)Jakub Jelinek4-13/+61
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
2015-01-08tsan.c (pass_tsan::gate): Add no_sanitize_thread support.Mike Stump5-2/+27
* 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
2015-01-08trans-decl.c (gfc_build_qualified_array): Fix coarray tokens for module ↵Tobias Burnus6-8/+57
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
2015-01-08re PR c++/59004 (ICE generated by __func__)Paolo Carlini2-0/+19
2015-01-08 Paolo Carlini <paolo.carlini@oracle.com> PR c++/59004 * g++.dg/ext/fnname4.C: New. From-SVN: r219353
2015-01-08re PR c++/64462 (ICE while compiling lambda using local constexpr reference ↵Paolo Carlini2-0/+15
variable) 2015-01-08 Paolo Carlini <paolo.carlini@oracle.com> PR c++/64462 * g++.dg/cpp0x/constexpr-64462.C: New. From-SVN: r219352
2015-01-08re PR c++/60753 (Deleted definition of an explicit function template ↵Paolo Carlini4-22/+43
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
2015-01-08Make sure that OMP builtins are available in offloading compilers.Thomas Schwinge3-2/+10
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
2015-01-08intelmic-mkoffload: Deal with linker defaulting to 32-bit x86 mode.Thomas Schwinge2-4/+16
... 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
2015-01-08sh-mem.cc: Use constant as second operand when emitting tstsi_t insns.Oleg Endo2-4/+9
gcc/ * config/sh/sh-mem.cc: Use constant as second operand when emitting tstsi_t insns. From-SVN: r219342
2015-01-08re PR target/55212 ([SH] Switch to LRA)Oleg Endo2-3/+14
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
2015-01-08re PR sanitizer/64336 (Template functions are not instrumented at -O0 and -Og)Jakub Jelinek2-8/+38
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
2015-01-08re PR target/64533 ([SH] alloca generates unsafe code)Kaz Kojima2-2/+9
PR target/64533 * config/sh/sh.md (*addsi3_compact): Use u constraint instead of r for the second alternative of the destination operand. From-SVN: r219338
2015-01-08re PR target/36557 (-m32 -mpowerpc64 produces better code than -m64 for a!=0)Segher Boessenkool2-0/+65
PR target/36557 * config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New. From-SVN: r219336
2015-01-07invoke.texi ([-fvtable-verify]): Fix markup on option keywords.Sandra Loosemore2-6/+13
2015-01-07 Sandra Loosemore <sandra@codesourcery.com> gcc/ * doc/invoke.texi ([-fvtable-verify]): Fix markup on option keywords. ([-fivar-visibility], [-fvisibility]): Likewise. From-SVN: r219335
2015-01-08Add new jit testcase accidentally omitted from r219320David Malcolm1-0/+223
From-SVN: r219334
2015-01-08jit: Add checking for dereference of void *David Malcolm5-0/+118
gcc/jit/ChangeLog: * jit-recording.h (gcc::jit::recording::type::is_void): New virtual function. (gcc::jit::recording::memento_of_get_type::is_void): New function, overriding default implementation. * libgccjit.c (gcc_jit_rvalue_dereference): Verify that the underlying type is not "void". gcc/testsuite/ChangeLog: * jit.dg/test-error-dereferencing-void-ptr.c: New test case. From-SVN: r219333
2015-01-08Daily bump.GCC Administrator1-1/+1
From-SVN: r219330
2015-01-07invoke.texi: Fix incorrect uses of @samp markup throughout the file where ↵Sandra Loosemore2-112/+117
@code... 2015-01-07 Sandra Loosemore <sandra@codesourcery.com> gcc/ * doc/invoke.texi: Fix incorrect uses of @samp markup throughout the file where @code, @command, etc is more appropriate. From-SVN: r219322
2015-01-07API extension: add GCC_JIT_UNARY_OP_ABS to enum gcc_jit_unary_opDavid Malcolm9-311/+387
gcc/jit/ChangeLog: * docs/topics/expressions.rst (Unary Operations): Add GCC_JIT_UNARY_OP_ABS. * jit-playback.c (gcc::jit::playback::context::new_unary_op): Likewise. * jit-recording.c (unary_op_strings): Likewise. * libgccjit.c (gcc_jit_context_new_unary_op): Update checking of "op" to reflect addition of GCC_JIT_UNARY_OP_ABS. * libgccjit.h (enum gcc_jit_unary_op): Add GCC_JIT_UNARY_OP_ABS. * docs/_build/texinfo/libgccjit.texi: Regenerate. gcc/testsuite/ChangeLog: * jit.dg/test-expressions.c (make_tests_of_unary_ops): Add test of GCC_JIT_UNARY_OP_ABS. (verify_unary_ops): Likewise. From-SVN: r219321
2015-01-07Add test of handling arithmetic-overflow from JITDavid Malcolm4-0/+20
gcc/testsuite/ChangeLog: * jit.dg/test-arith-overflow.c: New test case. * jit.dg/all-non-failing-tests.h: Add test-arith-overflow.c. * jit.dg/test-combination.c (create_code): Likewise. (verify_code): Likewise. * jit.dg/test-threads.c (testcases): Likewise. From-SVN: r219320
2015-01-07Fix typo in jit-recording.hDavid Malcolm2-1/+6
gcc/jit/ChangeLog: * jit-recording.h (gcc::jit::recording::memento_of_get_type): Fix typo in comment. From-SVN: r219319
2015-01-07jit.exp: support C++ testcasesDavid Malcolm6-17/+115
gcc/jit/ChangeLog: * TODO.rst (Test suite): Remove item about running C++ testcases. * docs/internals/index.rst (Working on the JIT library): Add "c++" to the enabled languages in the suggested "configure" invocation, and add a description of why this is necessary. * docs/_build/texinfo/libgccjit.texi: Regenerate. gcc/testsuite/ChangeLog: * jit.dg/jit.exp: Load wrapper.exp with %{tool} set to "g++" rather than "jit". Load g++.exp, and call g++_init. Run test-*.cc files within the testsuite and *.cc files within docs/examples. (jit-dg-test): Drop the addition of -fgnu89-inline to DEFAULT_CFLAGS in favor of adding it to additional_flags, only doing it when compiling C testcases (since g++ does not handle it). Reset "orig_environment_saved" so that LD_LIBRARY_PATH is restored to the value after g++_init ran, rather than the value before g++_init ran. Return a list of $comp_output $output_file, as dg-test assumes. From-SVN: r219318
2015-01-07re PR go/61204 (gccgo: ICE in in fold_convert_loc [GoSmith])Chris Manghane2-5/+19
PR go/61204 * go-gcc.cc (Gcc_backend::temporary_variable): Don't initialize zero-sized variable. From-SVN: r219316
2015-01-07jit.exp: add __func__ to help test-{combination|threads}.cDavid Malcolm2-31/+62
gcc/testsuite/ChangeLog: * jit.dg/harness.h (CHECK_NON_NULL): Add __func__ to output, to make it easier to figure out the origin of each test result when running test-combination.c and test-threads.c. (CHECK_VALUE): Likewise. (CHECK_DOUBLE_VALUE): Likewise. (CHECK_STRING_VALUE): Likewise. (CHECK_STRING_STARTS_WITH): Likewise. (CHECK_STRING_CONTAINS): Likewise. (CHECK): Likewise. (check_string_value): Likewise, add "funcname" param. (check_string_starts_with): Likewise. (check_string_contains): Likewise. From-SVN: r219314
2015-01-07compiler: Don't assign to embedded builtins in imported struct compositeIan Lance Taylor1-2/+4
literals. Fixes https://github.com/golang/go/issues/6832. From-SVN: r219313
2015-01-07jit.exp: Don't drop the extension from the testcase when naming executableDavid Malcolm5-16/+39
gcc/jit/ChangeLog: * docs/internals/index.rst: Update to reflect that built testcases are now test-foo.c.exe, rather than test-foo.exe. * docs/_build/texinfo/libgccjit.texi: Regenerate. gcc/testsuite/ChangeLog: * jit.dg/jit.exp (jit-dg-test): Remove "rootname" call when generating name of built executable. From-SVN: r219312
2015-01-07[multiple changes]Arnaud Charlet9-56/+194
2015-01-07 Robert Dewar <dewar@adacore.com> * sem_warn.adb (Check_One_Unit): Don't give unused entities warning for a package which is used as a generic parameter. 2015-01-07 Bob Duff <duff@adacore.com> * usage.adb (Usage): Correct documentation of -gnatw.f switches. 2015-01-07 Robert Dewar <dewar@adacore.com> * s-fileio.adb: Minor reformatting. 2015-01-07 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Instantiate_Object): If formal is an anonymous access to subprogram, replace its formals with new entities when building the object declaration, both if actual is present and when it is defaulted. 2015-01-07 Ed Schonberg <schonberg@adacore.com> * sem_ch5.adb (Analyze_Assignment): If left-hand side is a view conversion and type of expression has invariant, apply invariant check on expression. 2015-01-07 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Create_Constrained_Components): A call to Gather_Components may detect an error if an inherited discriminant that controls a variant is non-static. * sem_aggr.adb (Resolve_Record_Aggregate, Step 5): The call to Gather_Components may report an error if an inherited discriminant in a variant in non-static. * sem_util.adb (Gather_Components): If a non-static discriminant is inherited do not report error here, but let caller handle it. (Find_Actual): Small optimization. From-SVN: r219297
2015-01-07[multiple changes]Arnaud Charlet10-23/+91
2015-01-07 Bob Duff <duff@adacore.com> * usage.adb (Usage): Document -gnatw.f switch. 2015-01-07 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb: Code clean up and minor reformatting. 2015-01-07 Robert Dewar <dewar@adacore.com> * exp_ch4.adb (Expand_N_Type_Conversion): Add guard for Raise_Accessibility_Error call. * s-valllu.ads (Scan_Raw_Long_Long_Unsigned): Add documentation on handling of invalid digits in based constants. * s-fatgen.ads: Minor reformatting. * sem_attr.adb (Analyze_Attribute, case Unrestricted_Access): Avoid noting bogus modification for Valid test. * snames.ads-tmpl (Name_Attr_Long_Float): New Name. * einfo.ads: Minor reformatting. * sem_warn.adb: Minor comment clarification. * sem_ch12.adb: Minor reformatting. From-SVN: r219296
2015-01-07Minor reformatting.Arnaud Charlet1-3/+1
From-SVN: r219295
2015-01-07[multiple changes]Arnaud Charlet7-49/+178
2015-01-07 Ed Schonberg <schonberg@adacore.com> * exp_ch5.adb (Expand_Predicated_Loop): Handle properly loops over static predicates when the loop parameter specification carries a Reverse indicator. 2015-01-07 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Instantiate_Object): If formal has a default, actual is missing and formal has an anonymous access type, copy access definition in full so that tree for instance is properly formatted for ASIS use. 2015-01-07 Bob Duff <duff@adacore.com> * sem_elab.adb (Check_Internal_Call_Continue): Give a warning for P'Access, where P is a subprogram in the same package as the P'Access, and the P'Access is evaluated at elaboration time, and occurs before the body of P. For example, "X : T := P'Access;" would allow a subsequent call to X.all to be an access-before-elaboration error; hence the warning. This warning is enabled by the -gnatw.f switch. * opt.ads (Warn_On_Elab_Access): New flag for warning switch. * warnsw.adb (Set_Dot_Warning_Switch): Set Warn_On_Elab_Access. * gnat_ugn.texi: Document the new warning. From-SVN: r219293
2015-01-07lib-xref-spark_specific.adb (Collect_SPARK_Xrefs): Skip unneeded cross ref ↵Johannes Kanig2-4/+17
files. 2015-01-07 Johannes Kanig <kanig@adacore.com> * lib-xref-spark_specific.adb (Collect_SPARK_Xrefs): Skip unneeded cross ref files. From-SVN: r219292
2015-01-07[multiple changes]Arnaud Charlet21-653/+331
2015-01-07 Robert Dewar <dewar@adacore.com> * s-taprop-linux.adb, clean.adb: Minor reformatting. 2015-01-07 Arnaud Charlet <charlet@adacore.com> * s-tassta.adb: Relax some overzealous assertions. 2015-01-07 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Analyze_Return_Type): An call that returns a limited view of a type is legal when context is a thunk generated for operation inherited from an interface. * exp_ch6.adb (Expand_Simple_Function_Return): If context is a thunk and return type is an incomplete type do not continue expansion; thunk will be fully elaborated when generating code. 2015-01-07 Doug Rupp <rupp@adacore.com> * s-osinte-mingw.ads (LARGE_INTEGR): New subtype. (QueryPerformanceFrequency): New imported procedure. * s-taprop-mingw.adb (RT_Resolution): Call above and return resolution vice a hardcoded value. * s-taprop-solaris.adb (RT_Resolution): Call clock_getres and return resolution vice a hardcoded value. * s-linux-android.ads (clockid_t): New subtype. * s-osinte-aix.ads (clock_getres): New imported subprogram. * s-osinte-android.ads (clock_getres): Likewise. * s-osinte-freebsd.ads (clock_getres): Likewise. * s-osinte-solaris-posix.ads (clock_getres): Likewise. * s-osinte-darwin.ads (clock_getres): New subprogram. * s-osinte-darwin.adb (clock_getres): New subprogram. * thread.c (__gnat_clock_get_res) [__APPLE__]: New function. * s-taprop-posix.adb (RT_Resolution): Call clock_getres to calculate resolution vice hard coded value. 2015-01-07 Ed Schonberg <schonberg@adacore.com> * exp_util.adb (Make_CW_Equivalent_Type): If root type is a limited view, use non-limited view when available to create equivalent record type. 2015-01-07 Vincent Celier <celier@adacore.com> * gnatcmd.adb: Remove command Sync and any data and processing related to this command. Remove project processing for gnatstack. * prj-attr.adb: Remove package Synchonize and its attributes. From-SVN: r219291
2015-01-07[multiple changes]Arnaud Charlet4-1/+36
2015-01-07 Vincent Celier <celier@adacore.com> * clean.adb: Minor error message change. 2015-01-07 Tristan Gingold <gingold@adacore.com> PR ada/64349 * env.c (__gnat_environ): Adjust for darwin9/darwin10. 2015-01-07 Javier Miranda <miranda@adacore.com> * sem_ch10.adb (Analyze_With_Clause): Compiling under -gnatq protect the frontend against never ending recursion caused by circularities in the sources. From-SVN: r219290
2015-01-07[multiple changes]Arnaud Charlet16-24/+77
2015-01-07 Robert Dewar <dewar@adacore.com> * a-reatim.adb, make.adb, exp_pakd.adb, i-cpoint.adb, sem_ch8.adb, exp_ch3.adb: Minor reformatting. 2015-01-07 Doug Rupp <rupp@adacore.com> * s-linux.ads (clockid_t): New subtype. * s-osinte-linux.ads (pragma Linker Options): Add -lrt. (clockid_t): New subtype. (clock_getres): Import system call. * s-taprop-linux.adb (System.OS_Constants): With and rename. (RT_Resolution): Remove hardcoded value and call clock_getres. * s-linux-sparc.ads, s-linux-mipsel.ads, s-linux-hppa.ads, s-linux-alpha.ads, s-linux-x32.ads (clockid_t): Add new subtype. 2015-01-07 Robert Dewar <dewar@adacore.com> * sem_warn.adb (Check_One_Unit): Guard against context item with no Entity field. From-SVN: r219289