- 05 Dec, 2017 11 commits
-
-
2017-12-05 Eric Botcazou <ebotcazou@adacore.com> * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Use the SLOC of the iteration scheme throughout, except for the new loop statement(s). 2017-12-05 Ed Schonberg <schonberg@adacore.com> * exp_aggr.adb (Gen_Assign): Do not analyze the expressionn of the assignment if it is part of an Iterated_Component_Association: the analysis needs to take place once the loop structure is analyzed and the loop parameter made visible, because references to it typically appear in the corresponding expression. This is necessary if the expression is an aggregate, because previous pre-analysis of the expression does not handle nested aggregates properly. 2017-12-05 Bob Duff <duff@adacore.com> * sem_res.adb (Resolve_Allocator): Avoid coextension processing for an allocator that is the expansion of a build-in-place function call. 2017-12-05 Olivier Hainque <hainque@adacore.com> libgnat/ * s-trasym__dwarf.adb (spec of Module_Name.Get): Instead of possibly adjusting the lookup address by a load address, expect a extra argument through which the load address can be conveyed separately. (Multi_Module_Symbolic_Traceback): Adjust accordingly. Pass the retrieved load address to Init_Module. * s-tsmona__linux.adb (Get): Honor the new interface. * s-tsmona__mingw.adb (Get): Likewise. * s-dwalin.ads: Adjust comments to be explicit about which addresses are from module info and which are run-time addresses, offsetted by the module load address. * s-dwalin.adb (Set_Load_Address): Simply set C.Load_Slide. Do not alter the module Low and High (relative) addresses. (Is_Inside): Improve documentation regarding the kinds of addresses at hand and correct the test. (Symbolic_Traceback): Use separate variables with explicit names for the address in traceback (run-time value) and the address to lookup within the shared object (module-relative). Adjust the computation of address passed to Symbolic_Address for symbolization. From-SVN: r255411
Pierre-Marie de Rodat committed -
2017-12-05 Arnaud Charlet <charlet@adacore.com> * opt.ads (Expand_Nonbinary_Modular_Ops): New flag. * exp_ch4.adb (Expand_Nonbinary_Modular_Op): Use Expand_Nonbinary_Modular_Ops instead of Modify_Tree_For_C, so that other back-ends can also benefit from the front-end expansion. Remove test for Modify_Tree_For_C in all callers to better share code. * gnat1drv.adb (Adjust_Global_Switches): Set Expand_Nonbinary_Modular_Ops when generating C code. 2017-12-05 Ed Schonberg <schonberg@adacore.com> * exp_ch5.adb (Expand_Formal_Container_Loop): Ensure that the loop parameter becomes invisible after analyzing the loop, which has been rewritten as a while-loop. 2017-12-05 Doug Rupp <rupp@adacore.com> * vxaddr2line.adb: Revise and enhance for new ports, remove dead ports, and update for 64bit ports. From-SVN: r255410
Pierre-Marie de Rodat committed -
2017-12-05 Bob Duff <duff@adacore.com> * exp_ch6.adb (Build_In_Place_Formal): Search for the formal by suffix instead of the full name. * sem_ch6.adb (Create_Extra_Formals): Make sure there are extra formals in the case of an instance of a generic. 2017-12-05 Arnaud Charlet <charlet@adacore.com> (Adjust_Global_Switches): Create an alias GNAT_Annotate to map to pragma Annotate. From-SVN: r255409
Pierre-Marie de Rodat committed -
Without this definition I got the following error: <...>/xgcc <...> -c -g -O2 -W -Wall -gnatpg -nostdinc -g -fno-inline \ -fno-toplevel-reorder -O1 a-except.adb -o a-except.o a-exexpr.adb:38:06: "System.Exceptions.Machine" is not a predefined library unit a-exexpr.adb:38:06: "Ada.Exceptions (body)" depends on "Ada.Exceptions.Exception_Propagation (body)" a-exexpr.adb:38:06: "Ada.Exceptions.Exception_Propagation (body)" depends on "System.Exceptions.Machine (spec)" ../gcc-interface/Makefile:2661: recipe for target 'a-except.o' failed gcc/ada * gcc-interface/Makefile.in (RTEMS): Define EH_MECHANISM. From-SVN: r255408
Sebastian Huber committed -
* dbxout.c (dbxout_block): Grow buf to 30 bytes. From-SVN: r255406
Rainer Orth committed -
gcc/ * doc/invoke.texi: Document the options. * flag-types.h (enum sanitize_code): Add SANITIZE_POINTER_COMPARE and SANITIZE_POINTER_SUBTRACT. * ipa-inline.c (sanitize_attrs_match_for_inline_p): Add handling of SANITIZE_POINTER_COMPARE and SANITIZE_POINTER_SUBTRACT. * opts.c: Define new sanitizer options. * sanitizer.def (BUILT_IN_ASAN_POINTER_COMPARE): Likewise. (BUILT_IN_ASAN_POINTER_SUBTRACT): Likewise. gcc/c/ * c-typeck.c (pointer_diff): Add new argument and instrument pointer subtraction. (build_binary_op): Similar for pointer comparison. gcc/cp/ * typeck.c (pointer_diff): Add new argument and instrument pointer subtraction. (cp_build_binary_op): Create compound expression if doing an instrumentation. gcc/testsuite/ * c-c++-common/asan/pointer-compare-1.c: New test. * c-c++-common/asan/pointer-compare-2.c: New test. * c-c++-common/asan/pointer-subtract-1.c: New test. * c-c++-common/asan/pointer-subtract-2.c: New test. * c-c++-common/asan/pointer-subtract-3.c: New test. * c-c++-common/asan/pointer-subtract-4.c: New test. libsanitizer/ * asan/asan_descriptions.cc: Cherry-pick upstream r319668. * asan/asan_descriptions.h: Likewise. * asan/asan_report.cc: Likewise. * asan/asan_thread.cc: Likewise. * asan/asan_thread.h: Likewise. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r255404
Martin Liska committed -
cp-gimplify.c (cp_maybe_instrument_return): Don't add __builtin_unreachable if -O0 or if -fsanitize=unreachable. * cp-gimplify.c (cp_maybe_instrument_return): Don't add __builtin_unreachable if -O0 or if -fsanitize=unreachable. * g++.dg/missing-return.C: Add -O to dg-options. From-SVN: r255403
Jakub Jelinek committed -
gcc/ * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VNNI_SET, OPTION_MASK_ISA_AVX512VNNI_UNSET): New. (ix86_handle_option): Handle -mavx512vnni. * config/i386/cpuid.h (bit_AVX512VNNI): New bit. * config/i386/driver-i386.c (host_detect_local_cpu): Handle new bit. * config/i386/i386-c (__AVX512VNNI__): New. * config/i386/i386.c (ix86_target_string): Handle new option. (ix86_valid_target_attribute_inner_p): Handle new option. * config/i386/i386.h (TARGET_AVX512VNNI, TARGET_AVX512VNNI_P): New. * config/i386/i386.opt (mavx512vnni): New option. From-SVN: r255401
Julia Koval committed -
Add the "no nil check needed" annotation to the dereference operations created in Parse::enclosing_var_reference (this is safe since the closure object is under control of the compiler, and pointer fields in it will always be non-nil). Reviewed-on: https://go-review.googlesource.com/81795 From-SVN: r255400
Ian Lance Taylor committed -
2017-12-04 Steve Ellcey <sellcey@cavium.com> * Makefile.am (ARCH_AARCH64_LINUX): Add IFUNC_OPTIONS and libatomic_la_LIBADD. * config/linux/aarch64/host-config.h: New file. * configure.ac (IFUNC_RESOLVER_ARGS): Define. (ARCH_AARCH64_LINUX): New conditional for IFUNC builds. * configure.tgt (aarch64): Set ARCH and try_ifunc. (aarch64*-*-linux*) Update config_path. (aarch64*-*-linux*) Set IFUNC_RESOLVER_ARGS. * libatomic_i.h (GEN_SELECTOR): Add IFUNC_RESOLVER_ARGS argument. * Makefile.in: Regenerate. * auto-config.h.in: Regenerate. * configure: Regenerate. From-SVN: r255399
Steve Ellcey committed -
From-SVN: r255398
GCC Administrator committed
-
- 04 Dec, 2017 17 commits
-
-
PR target/81616 * athlon.md: Disable for generic. * haswell.md: Enable for generic. * i386.c (ix86_sched_init_global): Add core hooks for generic. * x86-tune-sched.c (ix86_issue_rate): Increase issue rate for generic to 4. (ix86_adjust_cost): Move generic to haswell path. From-SVN: r255395
Jan Hubicka committed -
* config/sparc/sparc.c (sparc_do_work_around_errata): Use mem_ref instead of MEM_P in a couple more places. Fix formatting issues. From-SVN: r255393
Eric Botcazou committed -
* include/bits/regex_compiler.tcc: Use C-style comment to work around PR preprocessor/61638. (__INSERT_REGEX_MATCHER): Replace GNU extension with __VA_ARGS__. From-SVN: r255392
Jonathan Wakely committed -
* config/io/basic_file_stdio.h (__basic_file): Remove name of unused parameter. * include/bits/boost_concept_check.h: Add pragmas to disable -Wunused-local-typedef warnings. * include/bits/codecvt.h (codecvt_byname<char16_t, char, mbstate_t>) (codecvt_byname<char32_t, char, mbstate_t>): Remove name of unused parameter. * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday) (time_get::do_get_monthname, time_get::do_get_year): Remove unused variables. * include/std/bitset (_Base_bitset<0>::_M_getword): Remove name of unused parameter. * include/std/streambuf (_IsUnused): Define. (basic_streambuf::imbue, basic_streambuf::pbackfail) (basic_streambuf::overflow): Add macro to unused parameters. * testsuite/24_iterators/operations/prev_neg.cc: Adjust dg-error. From-SVN: r255391
Jonathan Wakely committed -
* semantics.c (finish_if_stmt_cond): Use require_constant_expression rather than is_constant_expression. * constexpr.c (potential_constant_expression_1) [LAMBDA_EXPR]: Allow in C++17. From-SVN: r255390
Jason Merrill committed -
gcc/ * config/riscv/riscv.c (riscv_for_each_saved_reg): Use GP_REG_LAST instead of GP_REG_LAST-1. (riscv_adjust_libcall_cfi_prologue): Likewise. (riscv_adjust_libcall_cri_epilogue): Likewise. * config/riscv/riscv.h (CALL_USED_REGISTERS): Change a6 to t6 in comment. From-SVN: r255389
Jim Wilson committed -
I noticed the debugging output from local-pure-const pass is missing a newline in a couple places, leading to this: local analysis of main scanning: i ={v} 0; Volatile stmt is not const/pure Volatile operand is not const/pure scanning: j ={v} 20; Volatile stmt is not const/pure Volatile operand is not const/pure scanning: vol.0_10 ={v} i; Volatile stmt is not const/pure It should've been: local analysis of main scanning: i ={v} 0; Volatile stmt is not const/pure Volatile operand is not const/pure scanning: j ={v} 20; Volatile stmt is not const/pure Volatile operand is not const/pure scanning: vol.0_10 ={v} i; Volatile stmt is not const/pure gcc/ChangeLog: 2017-12-04 Luis Machado <luis.machado@linaro.org> * ipa-pure-const.c (check_decl): Add missing newline. (state_from_flags): Likewise. From-SVN: r255388
Luis Machado committed -
PR tree-optimizatin/78496 * gimple-ssa-evrp-analyze.h (evrp_range_analyzer::get_vr_values): Simplify. * gimple-ssa-evrp-analyze.c: Corresponding changes. * tree-ssa-dom.c: Include alloc-pool.h, tree-vrp.h, vr-values.h and gimple-ssa-evrp-analyze.h. (dom_opt_dom_walker class): Add evrp_range_analyzer member. (simplify_stmt_for_jump_threading): Copy a blob of code from tree-vrp.c to use ranges to simplify statements. (dom_opt_dom_walker::before_dom_children): Call evrp_range_analyzer::{enter,record_ranges_from_stmt} methods. (dom_opt_dom_walker::after_dom_children): Similarly for evrp_range_analyzer::leave. (dom_opt_dom_walker::optimize_stmt): Use EVRP ranges to optimize conditionals. PR tree-optimization/78496 * gcc.dg/builtin-unreachable-6.c: Disable DOM. * gcc.dg/builtin-unreachable-6a.c: New test. * gcc.dg/tree-ssa/20030922-1.c: No longer XFAIL. * gcc.dg/ssa-dom-branch-1.c: Tweak expected output. From-SVN: r255387
Jeff Law committed -
(evrp_range_analyzer::extract_range_from_stmt): Always use vr_values::update_value_range so preexisting range info is medged with new range info, even if the new range is VR_VARYING. From-SVN: r255386
Jeff Law committed -
This removes use_crosses_set_p, and uses modified_between_p instead everywhere it was used. This improves optimisation. * combine.c: Adjust comment. (use_crosses_set_p): Delete. (can_combine_p): Use modified_between_p instead of use_crosses_set_p. (try_combine): Ditto. From-SVN: r255384
Segher Boessenkool committed -
2017-12-04 Richard Biener <rguenther@suse.de> PR tree-optimization/83255 * graphite-isl-ast-to-gimple.c (translate_isl_ast_node_for): Re-add zero-iteration check. * gcc.dg/graphite/pr83255.c: New testcase. From-SVN: r255382
Richard Biener committed -
The Newlib time_t has now 64 bits for RTEMS. gcc/ada * gcc-interface/Makefile.in (RTEMS): Use s-osprim__rtems.adb. * libgnat/s-osprim__rtems.adb: New file. * libgnarl/s-osinte__rtems.adb (pthread_cond_t): Fix alignment. (pthread_mutexattr_t): Likewise. (pthread_rwlockattr_t): Likewise. (pthread_rwlock_t): Likewise. (time_t): Use 64-bit integer. From-SVN: r255380
Sebastian Huber committed -
The documentation (rtl.texi) says: When a @code{clobber} expression for a register appears inside a @code{parallel} with other side effects, the register allocator guarantees that the register is unoccupied both before and after that insn if it is a hard register clobber. and at least the rs6000 backend relies on that (see PR83245). This patch restores that behaviour. Registers that are also used as operands in the instruction are not treated as earlyclobber, so such insns also still work (PR80818, an s390 testcase). PR rtl-optimization/83245 * lra.c (collect_non_operand_hard_regs): Treat clobbers of non-operand hard registers as earlyclobber, also if not in an asm. From-SVN: r255377
Segher Boessenkool committed -
PR bootstrap/83265 Revert 2017-12-01 Segher Boessenkool <segher@kernel.crashing.org> PR target/43871 * config/rs6000/rs6000.c (rs6000_option_override_internal): Set rs6000_cpu based on cpu_index, not tune_index. From-SVN: r255376
Segher Boessenkool committed -
re PR tree-optimization/83238 ([graphite] ICE in graphite_can_represent_scev, at graphite-scop-detection.c:971) 2017-12-04 Richard Biener <rguenther@suse.de> PR tree-optimization/83238 * graphite-scop-detection.c (scop_detection::merge_sese): Make code match comment, rejecting invalid SESE regions. * gcc.dg/graphite/pr83238.c: New testcase. From-SVN: r255375
Richard Biener committed -
2017-12-04 Tom de Vries <tom@codesourcery.com> * gcc.dg/pr82875.c: Require effective target alloca. From-SVN: r255374
Tom de Vries committed -
From-SVN: r255372
GCC Administrator committed
-
- 03 Dec, 2017 7 commits
-
-
* config/pa/pa.c (pa_legitimate_address_p): For scaled indexing, require base operand is a REG_POINTER prior to reload on targets with non-equivalent space registers. From-SVN: r255369
John David Anglin committed -
2017-12-03 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/36313 * check.c (gfc_check_minval_maxval): Use int_orLreal_or_char_check_f2003 for array argument. * iresolve.c (gfc_resolve_maxval): Insert number in function name for character arguments. (gfc_resolve_minval): Likewise. * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Fix comment. (gfc_conv_intrinsic_minmaxval): Resort arguments and call library function if dealing with a character function. 2017-12-03 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/36313 * Makefile.am: Add new files for character-valued maxval and minval. * Makefile.in: Regenerated. * gfortran.map: Add new functions. * m4/iforeach-s2.m4: New file. * m4/ifunction-s2.m4: New file. * m4/iparm.m4: Add intitval for minval and maxval. * m4/maxval0s.m4: New file. * m4/maxval1s.m4: New file. * m4/minval0s.m4: New file. * m4/minval1s.m4: New file. * generated/maxval0_s1.c: New file. * generated/maxval0_s4.c: New file. * generated/maxval1_s1.c: New file. * generated/maxval1_s4.c: New file. * generated/minval0_s1.c: New file. * generated/minval0_s4.c: New file. * generated/minval1_s1.c: New file. * generated/minval1_s4.c: New file. 2017-12-03 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/36313 * gfortran.dg/maxval_char_1.f90: New test. * gfortran.dg/maxval_char_2.f90: New test. * gfortran.dg/maxval_char_3.f90: New test. * gfortran.dg/maxval_char_4.f90: New test. * gfortran.dg/minval_char_1.f90: New test. * gfortran.dg/minval_char_2.f90: New test. * gfortran.dg/minval_char_3.f90: New test. * gfortran.dg/minval_char_4.f90: New test. From-SVN: r255367
Thomas Koenig committed -
From-SVN: r255366
Jerry DeLisle committed -
2017-12-03 Jerry DeLisle <jvdelisle@gcc.gnu.org> Dominique d'Humieres <dominiq@lps.ens.fr> PR libgfortran/83191 * io/transfer.c (list_formatted_read_scalar): Do not set namelist_mode bit here. (namelist_read): Likewise. (data_transfer_init): Clear the mode bit here. (finalize_transfer): Do set the mode bit just before any calls to namelist_read or namelist_write. It can now be referred to in complex_write. ^ io/write.c (write_complex): Suppress the leading blanks when namelist_mode bit is not set to 1. * gfortran.dg/namelist_95.f90: New test. Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr> From-SVN: r255365
Jerry DeLisle committed -
From-SVN: r255363
Jerry DeLisle committed -
2017-12-02 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/83225 * io/io.h (is_internal_unit): Use the unit_is_internal bit. * io/transfer.c (data_transfer_init): Set the bit to true for internal umits. Use that bit for checks for internal unit initializations. * io/unit.c (insert_unit): As a precaution, set the internal_unit_kind to zero when a unit structure is first created. From-SVN: r255362
Jerry DeLisle committed -
From-SVN: r255361
GCC Administrator committed
-
- 02 Dec, 2017 5 commits
-
-
* ipa-cp.c (ipcp_lattice<valtype>::print): Update dumping. (update_specialized_profile): Fix updating of counts. (perhaps_add_new_callers): Likewise. From-SVN: r255358
Jan Hubicka committed -
PR target/81616 * x86-tune.def: Remove obsolette FIXMEs. (X86_TUNE_PARTIAL_FLAG_REG_STALL): Disable for generic (X86_TUNE_FUSE_CMP_AND_BRANCH_32, X86_TUNE_FUSE_CMP_AND_BRANCH_64, X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS, X86_TUNE_FUSE_ALU_AND_BRANCH): Enable for generic. (X86_TUNE_PAD_RETURNS): Disable for generic. * gcc.target/i386/pad-1.c: Compile for amdfam10. * gcc.target/i386/align-limit.c: Likewise. From-SVN: r255357
Jan Hubicka committed -
PR tree-optimization/83170 PR tree-optimization/83241 * gimple-ssa-store-merging.c (imm_store_chain_info::try_coalesce_bswap): Update vuse field from gimple_vuse (ins_stmt) in case it has changed. (imm_store_chain_info::output_merged_store): Likewise. * gcc.dg/store_merging_17.c: New test. From-SVN: r255356
Jakub Jelinek committed -
* tree-chkp.c (chkp_compute_bounds_for_assignment): Handle POINTER_DIFF_EXPR. * gcc.target/i386/mpx/pointer-diff-1.c: New test. From-SVN: r255355
Jakub Jelinek committed -
PR c++/81212 * tree-cfg.c (pass_warn_function_return::execute): Handle __builtin_ubsan_handle_missing_return like __builtin_unreachable with BUILTINS_LOCATION. * g++.dg/ubsan/pr81212.C: New test. * g++.dg/ubsan/return-1.C: Add -Wno-return-type to dg-options. * g++.dg/ubsan/return-2.C: Likewise. * g++.dg/ubsan/return-7.C: Likewise. From-SVN: r255354
Jakub Jelinek committed
-