- Nov 30, 2016
-
-
Bin Cheng authored
re PR tree-optimization/78574 (ice on valid C code at -O2 and -O3 in both 32- and 64-bit modes on x86_64-linux-gnu (internal compiler error: Segmentation fault (program cc1))) PR tree-optimization/78574 * tree-ssa-loop-ivopts.c (find_deriving_biv_for_expr): Skip loop header PHI that doesn't define biv. gcc/testsuite PR tree-optimization/78574 * gcc.c-torture/compile/pr78574.c: New test. From-SVN: r243026
-
Andre Vehreschild authored
libgfortran/ChangeLog: 2016-11-30 Andre Vehreschild <vehre@gcc.gnu.org> * caf/single.c (_gfortran_caf_is_present): Prevent fallthrough warnings. From-SVN: r243025
-
Andre Vehreschild authored
libgfortran/ChangeLog: 2016-11-30 Andre Vehreschild <vehre@gcc.gnu.org> * caf/single.c (_gfortran_caf_is_present): Prevent fallthrough warnings. From-SVN: r243024
-
David Edelsohn authored
* 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
-
Arnaud Charlet authored
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
-
Andre Vehreschild authored
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
-
Janus Weil authored
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
-
Jakub Jelinek authored
* emit-rtl.c (verify_insn_sharing): Call verify_rtx_sharing instead of reset_used_flags. From-SVN: r243019
-
Jakub Jelinek authored
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 authored
* ira.c (ira_update_equiv_info_by_shuffle_insn): Use copy_rtx for REG_EQUIV argument. From-SVN: r243017
-
Maxim Ostapenko authored
From-SVN: r243016
-
Thomas Preud'homme authored
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
-
Maxim Ostapenko authored
PR sanitizer/78532 * sanitizer_common/sanitizer_platform_limits_posix.h (__sanitizer_sigaction): Adjust for sparc targets and various Glibc versions. From-SVN: r243014
-
Thomas Preud'homme authored
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
-
Markus Trippelsdorf authored
PR ipa/78555 * real.c (real_hash): Add cast to avoid left shifting of negative values. From-SVN: r243012
-
Kyrylo Tkachov authored
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
-
Jakub Jelinek authored
* configure.ac (--enable-objc-gc): If not given, default to enable_objc_gc=no. * configure: Regenerated. From-SVN: r243010
-
Andrew Burgess authored
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
-
Georg-Johann Lay authored
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
-
Andrew Burgess authored
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
-
Ville Voutilainen authored
* 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
-
Janus Weil authored
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
-
Martin Liska authored
* 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 authored
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 authored
From-SVN: r243002
-
Christophe Lyon authored
2016-11-30 Christophe Lyon <christophe.lyon@linaro.org> * testsuite/experimental/type_erased_allocator/2.cc: Add dg-require-thread-fence. From-SVN: r243001
-
Segher Boessenkool authored
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 authored
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
-
Jakub Jelinek authored
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
-
Markus Trippelsdorf authored
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
-
Janus Weil authored
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
-
Jeff Law authored
* common/config/arc/arc-common.c (arc_handle_option): Remove unused variables. From-SVN: r242994
-
Jeff Law authored
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
-
Ian Lance Taylor authored
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
-
David Malcolm authored
gcc/ChangeLog: * doc/install.texi (--with-target-bdw-gc): Remove stray '@'. From-SVN: r242991
-
David Malcolm authored
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
-
GCC Administrator authored
From-SVN: r242988
-
Matthias Klose authored
<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
-
Michael Meissner authored
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
-
- Nov 29, 2016
-
-
Max Filippov authored
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
-