- 30 Nov, 2016 36 commits
-
-
* testsuite/18_support/50594.cc: XFAIL on AIX. * testsuite/ext/mt_allocator/check_new.cc: Same. * testsuite/ext/pool_allocator/check_new.cc: Same. * testsuite/27_io/ios_base/storage/11584.cc: Same. From-SVN: r243023
David Edelsohn committed -
2016-11-30 Gary Dismukes <dismukes@adacore.com> * sem_prag.adb, sem_ch6.adb: Minor reformatting and typo fixes. * g-sechas.adb: Minor reformatting. * lib-xref.ads: minor grammar fix in comment. * lib-xref-spark_specific.adb (Is_SPARK_Reference): do not ignore references to concurrent objects. * sinfo.ads: Fix of unbalanced parens in comment 2016-11-30 Ed Schonberg <schonberg@adacore.com> * lib-xref.adb (Get_Type_Reference): If the entity is a function returning a classwide type, the type reference is obtained right away and does not need further unwinding. 2016-11-30 Javier Miranda <miranda@adacore.com> * sem_ch8.adb (Find_Renamed_Entity): For non-overloaded subprogram actuals of generic units check that the spec of the renaming and renamed entities match. 2016-11-30 Tristan Gingold <gingold@adacore.com> * raise-gcc.c: For CERT runtimes: do not use gcc includes, simplify the handling. * sem_attr.adb (Analyze_Attribute): Check No_Dynamic_Priorities restriction for Priority Attribute. From-SVN: r243022
Arnaud Charlet committed -
libgfortran/ChangeLog: 2016-11-30 Andre Vehreschild <vehre@gcc.gnu.org> * caf/libcaf.h: Add new action types for (de-)registration of allocatable components in derived type coarrays. Add _caf_is_present prototype. * caf/single.c (_gfortran_caf_register): Add support for registration only and allocation of already registered allocatable components in derived type coarrays. (_gfortran_caf_deregister): Add mode to deallocate but not deregister an allocatable component in a derived type coarray. (_gfortran_caf_is_present): New function. Query whether an allocatable component in a derived type coarray on a remote image is allocated. gcc/testsuite/ChangeLog: 2016-11-30 Andre Vehreschild <vehre@gcc.gnu.org> * gfortran.dg/coarray/alloc_comp_1.f90: Fix tree-dump scans to adhere to the changed interfaces. * gfortran.dg/coarray_alloc_comp_1.f08: Likewise. * gfortran.dg/coarray_allocate_7.f08: Likewise. * gfortran.dg/coarray_lib_alloc_1.f90: Likewise. * gfortran.dg/coarray_lib_alloc_2.f90: Likewise. * gfortran.dg/coarray_lib_alloc_3.f90: Likewise. * gfortran.dg/coarray_lib_comm_1.f90: Likewise. * gfortran.dg/coarray_lib_alloc_4.f90: New test. gcc/fortran/ChangeLog: 2016-11-30 Andre Vehreschild <vehre@gcc.gnu.org> * check.c (gfc_check_allocated): By pass the caf_get call and check on the array. * gfortran.h: Add optional flag to gfc_caf_attr. * gfortran.texi: Document new enum values and _caf_is_present function. * primary.c (caf_variable_attr): Add optional flag to indicate that the expression is reffing a component. (gfc_caf_attr): Likewise. * trans-array.c (gfc_array_deallocate): Handle deallocation mode for coarray deregistration. (gfc_trans_dealloc_allocated): Likewise. (duplicate_allocatable): Use constants instead of creating custom constant tree node of zero or one. Use gfc_add_modify convenience function. (duplicate_allocatable_coarray): This function is similar to duplicate_allocatable but tailored to handle coarrays. (caf_enabled): Check whether in-derived-type coarray processing is enabled. (caf_in_coarray): Check that in-derived-type coarray processing is enabled and currently in a derived-typed coarray. (gfc_caf_is_dealloc_only): Return true, when deallocate only is desired for components in derived typed coarrays. (structure_alloc_comps): A mode for handling coarrays, that is no longer encode in the purpose. This makes the use cases of the routine more flexible without repeating. Allocatable components in derived type coarrays are now registered only when nullifying an object and allocated before copying data into them. (gfc_nullify_alloc_comp): Use the caf_mode of structure_alloc_comps now. (gfc_deallocate_alloc_comp): Likewise. (gfc_deallocate_alloc_comp_no_caf): Likewise. (gfc_reassign_alloc_comp_caf): Likewise. (gfc_copy_alloc_comp): Likewise. (gfc_copy_only_alloc_comp): Likewise. (gfc_alloc_allocatable_for_assignment): Make use to the cheaper way of reallocating a coarray without deregistering and reregistering it. (gfc_trans_deferred_array): Initialize the coarray token correctly for deferred variables and tear them down on exit. * trans-array.h: Change some prototypes to add the coarray (de-) registration modes. Add prototype for checking if deallocate only is selected for components in derived typed coarrays. * trans-decl.c (gfc_build_builtin_function_decls): Generate the declarations for the changed/new caf-lib routines. (gfc_trans_deferred_vars): Ensure deferred variables are (de-) registered correctly on procedure entry/exit. (generate_coarray_sym_init): Use constants. * trans-expr.c (gfc_conv_procedure_call): Propagate coarray allocation modes accordingly. (gfc_trans_alloc_subarray_assign): Likewise. (gfc_trans_subcomponent_assign): Likewise. (gfc_trans_structure_assign): Generate code to register the components of a derived type coarray prior to initialization. (gfc_conv_structure): Set flag that the structure is in a coarray. (gfc_trans_scalar_assign): Add flag to indicate being in a coarray and set the structure_alloc_comps modes correctly. (gfc_trans_assignment_1): Figure being in a coarray expression. * trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Adapt to new structure_alloc_comps interface. (conv_caf_send): Use the old API as long as possible. (trans_caf_is_present): Generate code to check whether an allocatable component in a derived typed coarray is allocated on a remote image. (caf_this_image_ref): Return true, when only reffing this image. (gfc_conv_allocated): Convert allocated queries on allocatable components to the library API. (conv_intrinsic_move_alloc): Adapt to new interface of structure_alloc_comps. * trans-openmp.c (gfc_walk_alloc_comps): Likewise. (gfc_omp_clause_assign_op): Likewise. (gfc_omp_clause_dtor): Likewise. * trans-stmt.c (gfc_trans_deallocate): Figure which mode to use when deallocating allocatable components in derived type coarras. * trans.c (gfc_allocate_using_lib): Renamed to gfc_allcate_using_caf_lib. (gfc_allocate_allocatable): Set the registration mode/type of caf- register calls adapting to all the possible allocatable objects. (gfc_deallocate_with_status): Add deregistration mode for allocatable components in derived type coarrays. (gfc_deallocate_scalar_with_status): Likewise. * trans.h (enum gfc_coarray_type): Renamed to gfc_coarray_regtype to avoid collision with gfc_coarray_deregtype. From-SVN: r243021
Andre Vehreschild committed -
2016-11-30 Janus Weil <janus@gcc.gnu.org> PR fortran/78593 * primary.c (gfc_match_varspec): Check if sym is non-null to avoid ICE. 2016-11-30 Janus Weil <janus@gcc.gnu.org> PR fortran/78593 * gfortran.dg/derived_result.f90: New test case. From-SVN: r243020
Janus Weil committed -
* emit-rtl.c (verify_insn_sharing): Call verify_rtx_sharing instead of reset_used_flags. From-SVN: r243019
Jakub Jelinek committed -
i386.c (dimode_scalar_chain::convert_op): Avoid sharing the SUBREG rtx between move and following insn. * config/i386/i386.c (dimode_scalar_chain::convert_op): Avoid sharing the SUBREG rtx between move and following insn. From-SVN: r243018
Jakub Jelinek committed -
* ira.c (ira_update_equiv_info_by_shuffle_insn): Use copy_rtx for REG_EQUIV argument. From-SVN: r243017
Jakub Jelinek committed -
From-SVN: r243016
Maxim Ostapenko committed -
2016-11-30 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ * config/arm/t-rmprofile: Add mappings for Cortex-M23 and Cortex-M33. From-SVN: r243015
Thomas Preud'homme committed -
PR sanitizer/78532 * sanitizer_common/sanitizer_platform_limits_posix.h (__sanitizer_sigaction): Adjust for sparc targets and various Glibc versions. From-SVN: r243014
Maxim Ostapenko committed -
2016-11-29 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/testsuite/ * lib/target-supports.exp (add_options_for_arm_arch_v6m): Add -mfloat-abi=soft option. (add_options_for_arm_arch_v8m_base): Likewise. Reindent containing foreach loop. From-SVN: r243013
Thomas Preud'homme committed -
PR ipa/78555 * real.c (real_hash): Add cast to avoid left shifting of negative values. From-SVN: r243012
Markus Trippelsdorf committed -
PR target/78362 * config/aarch64/aarch64.md (add<mode>3): Extract inner expression from a subreg in operands[1] and don't call REGNO on a non-reg expression when deciding to force operands[2] into a reg. * gcc.c-torture/compile/pr78362.c: New test. From-SVN: r243011
Kyrylo Tkachov committed -
* configure.ac (--enable-objc-gc): If not given, default to enable_objc_gc=no. * configure: Regenerated. From-SVN: r243010
Jakub Jelinek committed -
In check_effective_target_freorder we check to see if the target supports -freorder-blocks-and-partition. However we disable -freorder-blocks-and-partition when -fprofile-use is not supplied so for some targets we'll not see any message about lack of support for -freorder-blocks-and-partition unless -fprofile-use is also passed. This commit extends check_effective_target_freorder to first try -freorder-blocks-and-partition on its own, then try -fprofile-use and -freorder-blocks-and-partition. gcc/testsuite/ChangeLog: * lib/target-supports.exp (check_effective_target_freorder): Check additional case. From-SVN: r243009
Andrew Burgess committed -
gcc/lto/ PR lto/78562 * lto-symtab.c (lto_symtab_merge_decls_2): Don't diagnose type mismatch if the two types are built-in. From-SVN: r243008
Georg-Johann Lay committed -
ARC700 targets have a store/load pipeline hazard, if we load within 2 cycles of a store, and the load/store are at the same address, then we pay a multi-cycle penalty. This commit avoids this by inserting nop instructions between the store and the load. gcc/ChangeLog: * config/arc/arc-protos.h (arc_store_addr_hazard_p): Declare. * config/arc/arc.c (arc_store_addr_hazard_p): New function. (workaround_arc_anomaly): Call arc_store_addr_hazard_p for ARC700. * config/arc/arc700.md: Add define_bypass for store/load. gcc/testsuite/ChangeLog: * gcc.target/arc/arc700-stld-hazard.c: New file. From-SVN: r243007
Andrew Burgess committed -
* include/std/istream (__is_convertible_to_basic_istream): New. (__is_extractable): Likewise. (operator>>(basic_istream<_CharT, _Traits>&&, _Tp&&)): Turn the stream parameter into a template parameter and constrain. * include/std/ostream (__is_convertible_to_basic_ostream): New. (__is_insertable): Likewise. (operator<<(basic_ostream<_CharT, _Traits>&&, const _Tp&)): Turn the stream parameter into a template parameter and constrain. * testsuite/27_io/basic_istream/extractors_other/char/4.cc: New. * testsuite/27_io/basic_istream/extractors_other/wchar_t/4.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/char/6.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc: Likewise. From-SVN: r243006
Ville Voutilainen committed -
2016-11-30 Janus Weil <janus@gcc.gnu.org> PR fortran/78592 * interface.c (gfc_find_specific_dtio_proc): Rearrange code to avoid dereferencing a null pointer. 2016-11-30 Janus Weil <janus@gcc.gnu.org> PR fortran/78592 * gfortran.dg/dtio_18.f90: New test case. From-SVN: r243005
Janus Weil committed -
* cgraph.c (symbol_table::initialize): Initialize ipa_clones_dump_file. (cgraph_node::remove): Report to ipa_clones_dump_file. * cgraph.h: Add new argument (suffix) to cloning methods. * cgraphclones.c (dump_callgraph_transformation): New function. (cgraph_node::create_clone): New argument. (cgraph_node::create_virtual_clone): Likewise. (cgraph_node::create_version_clone): Likewise. * dumpfile.c: Add .ipa-clones dump file. * dumpfile.h (enum tree_dump_index): Add TDI_clones * ipa-inline-transform.c (clone_inlined_nodes): Report operation to dump_callgraph_transformation. From-SVN: r243004
Martin Liska committed -
PR sanitizer/78541 * gcc.dg/asan/pr78541-2.c: New test. * gcc.dg/asan/pr78541.c: New test. PR sanitizer/78541 * asan.c (asan_expand_mark_ifn): Properly select a VAR_DECL from FRAME.* component reference. From-SVN: r243003
Martin Liska committed -
From-SVN: r243002
Martin Liska committed -
2016-11-30 Christophe Lyon <christophe.lyon@linaro.org> * testsuite/experimental/type_erased_allocator/2.cc: Add dg-require-thread-fence. From-SVN: r243001
Christophe Lyon committed -
The comment for the added case to simplify_truncation reads /* Turn (truncate:M1 (*_extract:M2 (reg:M2) (len) (pos))) into (*_extract:M1 (truncate:M1 (reg:M2)) (len) (pos')) if possible without changing len. */ but I forgot to check the two modes M2 are actually the same. PR rtl-optimization/78583 * simplify-rtx.c (simplify_truncation): Add check missing from the previous commit. From-SVN: r243000
Segher Boessenkool committed -
PR78590 shows a problem in change_zero_ext, where we change a zero_extend of a subreg to a logical and. We should only do this if the thing we are taking the subreg of is a scalar integer, otherwise we will take a subreg of (e.g.) a float in a different size, which is nonsensical and hits an assert. PR rtl-optimization/78590 * combine.c (change_zero_ext): Transform zero_extend of subregs only if the subreg_reg is a scalar integer mode. From-SVN: r242999
Segher Boessenkool committed -
PR tree-optimization/78586 * gimple-ssa-sprintf.c (format_integer): Use TYPE_MAX_VALUE or TYPE_MIN_VALUE or build_all_ones_cst instead of folding LSHIFT_EXPR. Don't build_int_cst min/max twice. Formatting fix. * gcc.c-torture/execute/pr78586.c: New test. From-SVN: r242998
Jakub Jelinek committed -
Fix PR78588 - rtlanal.c:5210:38: runtime error: shift exponent 4294967295 is too large for 64-bit type Building gcc with -fsanitize=undefined shows: rtlanal.c:5210:38: runtime error: shift exponent 4294967295 is too large for 64-bit type 'long unsigned int' This happens because if_then_else_cond() in combine.c calls num_sign_bit_copies() in rtlanal.c with mode==BLKmode. 5205 bitwidth = GET_MODE_PRECISION (mode); 5206 if (bitwidth > HOST_BITS_PER_WIDE_INT) 5207 return 1; 5208 5209 nonzero = nonzero_bits (x, mode); 5210 return nonzero & (HOST_WIDE_INT_1U << (bitwidth - 1)) 5211 ? 1 : bitwidth - floor_log2 (nonzero) - 1; This causes (bitwidth - 1) to wrap around. PR rtl-optimization/78588 * combine.c (if_then_else_cond): Also guard against BLKmode. * rtlanal.c (num_sign_bit_copies1): Add assert. From-SVN: r242997
Markus Trippelsdorf committed -
2016-11-30 Janus Weil <janus@gcc.gnu.org> PR fortran/78573 * decl.c (build_struct): On error, return directly and do not build class symbol. 2016-11-30 Janus Weil <janus@gcc.gnu.org> PR fortran/78573 * gfortran.dg/class_61.f90: New test case. From-SVN: r242996
Janus Weil committed -
* common/config/arc/arc-common.c (arc_handle_option): Remove unused variables. From-SVN: r242994
Jeff Law committed -
lra-constraints.c (check_and_process_move): Constrain the range of DCLASS and SCLASS to avoid false positive out of bounds... * lra-constraints.c (check_and_process_move): Constrain the range of DCLASS and SCLASS to avoid false positive out of bounds array index warning. From-SVN: r242993
Jeff Law committed -
With -buildmode=c-archive, initsig is called before the memory allocator has been initialized. The code was doing a memory allocation because of the call to funcPC(sigtramp). When escape analysis is fully implemented, that call should not allocate. For now, finesse the issue by calling a C function to get the C function pointer value of sigtramp. When returning from a call from C to a Go function, a deferred function is run to go back to syscall mode. When the call occurs on a non-Go thread, that call sets g to nil, making it impossible to add the _defer struct back to the pool. Just drop it and let the garbage collector clean it up. Reviewed-on: https://go-review.googlesource.com/33675 From-SVN: r242992
Ian Lance Taylor committed -
gcc/ChangeLog: * doc/install.texi (--with-target-bdw-gc): Remove stray '@'. From-SVN: r242991
David Malcolm committed -
The ICE in PR preprocessor/78569 appears to be due to an attempt to generate substring locations in a .i file where the underlying .c file has changed since the .i file was generated. This can't work, so it seems safest for the on-demand substring locations to be unavailable for such files, falling back to "whole string" locations for such cases. gcc/ChangeLog: PR preprocessor/78569 * input.c (get_substring_ranges_for_loc): Fail gracefully if line directives were present. gcc/testsuite/ChangeLog: PR preprocessor/78569 * gcc.dg/format/pr78569.c: New test case. From-SVN: r242990
David Malcolm committed -
From-SVN: r242988
GCC Administrator committed -
<toplevel> 2016-11-30 Matthias Klose <doko@ubuntu.com> * Makefile.def: Remove reference to boehm-gc target module. * configure.ac: Include pkg.m4, check for --with-target-bdw-gc options and for the bdw-gc pkg-config module. * configure: Regenerate. * Makefile.in: Regenerate. gcc/ 2016-11-30 Matthias Klose <doko@ubuntu.com> * doc/install.texi: Document configure options --enable-objc-gc and --with-target-bdw-gc. config/ 2016-11-30 Matthias Klose <doko@ubuntu.com> * pkg.m4: New file. libobjc/ 2016-11-30 Matthias Klose <doko@ubuntu.com> * configure.ac (--enable-objc-gc): Allow to configure with a system provided boehm-gc. * configure: Regenerate. * Makefile.in (OBJC_BOEHM_GC_LIBS): Get value from configure. * gc.c: Include system bdw-gc headers. * memory.c: Likewise * objects.c: Likewise boehm-gc/ 2016-11-30 Matthias Klose <doko@ubuntu.com> Remove From-SVN: r242985
Matthias Klose committed -
2016-11-29 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/78594 * config/rs6000/rs6000.md (mov<mode>_internal, QHI iterator): Add 'x' to stxsi<wd>x print pattern, so that QImode and HImode values residing in traditional altivec registers can be stored correctly. From-SVN: r242983
Michael Meissner committed
-
- 29 Nov, 2016 4 commits
-
-
2016-11-29 Max Filippov <jcmvbkbc@gmail.com> gcc/ * config/xtensa/xtensa.c (hwloop_optimize): Don't emit zero overhead loop start between a call and its CALL_ARG_LOCATION note. From-SVN: r242979
Max Filippov committed -
gcc/testsuite/ChangeLog: avoid false positives on ILP32 targets. * gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Same. From-SVN: r242977
Martin Sebor committed -
From-SVN: r242976
Waldemar Brodkorb committed -
gcc/ChangeLog: PR tree-optimization/78512 * config/linux.h (TARGET_PRINTF_POINTER_FORMAT): Remove. * config/rs6000/linux.h: Same. * config/rs6000/linux64.h: Same. * config/sol2.h: Same. * config/sol2.c (solaris_printf_pointer_format): Remove. * doc/tm.texi.in (TARGET_PRINTF_POINTER_FORMAT): Remove. * doc/tm.texi: Regenerate. * gimple-ssa-sprintf.c (format_pointer): Rempove. (pass_sprintf_length::compute_format_length): Return bool. (pass_sprintf_length::handle_gimple_call): Adjust. * target.def (printf_pointer_format): Remove. * targhooks.c (default_printf_pointer_format): Remove. (linux_printf_pointer_format): Same. * targhooks.h (default_printf_pointer_format): Remove. (linux_printf_pointer_format, solaris_printf_pointer_format): Same. gcc/testsuite/ChangeLog: PR tree-optimization/78512 * gcc.dg/tree-ssa/builtin-sprintf-6.c: Add test cases. * gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Remove test cases. From-SVN: r242975
Martin Sebor committed
-