1. 07 Jun, 2018 16 commits
    • compare-elim.c (try_merge_compare): Don't merge compare if address contains a side effect. · a3e87f07
      2018-06-07  Paul Koning  <ni1d@arrl.net>
      
      gcc/
      
      	* compare-elim.c (try_merge_compare): Don't merge compare if
      	address contains a side effect.
      	(try_eliminate_compare): Likewise.
      
      gcc/testsuite/
      
      	* gcc.c-torture/compile/20180605-1.c: New test.
      
      From-SVN: r261287
      Paul Koning committed
    • re PR fortran/86045 (ICE in reduce_binary_ac, at fortran/arith.c:1308) · 75d1c004
      2018-06-07  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/86045
      	* simplify.c (gfc_simplify_mod): Re-arrange code to test whether
      	'P' is zero and issue an error if it is.
      
      2018-06-07  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/86045
      	* gfortran.dg/pr86045.f90: New test.
      
      From-SVN: r261286
      Steven G. Kargl committed
    • compiler: speed up variable initializer sorting · dc23fb4d
          
          The compiler used to do variable initializer sorting by looping
          through all the initialized variables and, for each one, looping
          through all the initialized variables and checking for a dependency.
          For very large packages with thousands of initialized global
          variables, this quadratic loop could take quite a long time.
          
          Change the approach to first loop through all the initialized
          variables and fetch all the references to other variables from the
          initialization code.  Then, loop through them again and this time add
          a dependency for each referenced, initialized, variable, while
          checking for initialization loops.  We still have a nested loop, but
          this time the inner loop should normally be short--just the list of
          referenced variables, not the list of all variables.
          
          Reviewed-on: https://go-review.googlesource.com/116816
      
      From-SVN: r261284
      Ian Lance Taylor committed
    • * eo.po: Update. · fa725532
      From-SVN: r261280
      Joseph Myers committed
    • * g++.dg/cpp0x/range-for9.C: Adjust dg-error. · d6cbe43f
      From-SVN: r261278
      Marek Polacek committed
    • t-vxworks (LIBGCC_INCLUDES): Add -I$(MULTIBUILDTOP)../../gcc/include. · fb997097
      2018-06-07  Olivier Hainque  <hainque@adacore.com>
      
              * config/t-vxworks (LIBGCC_INCLUDES): Add
              -I$(MULTIBUILDTOP)../../gcc/include.
              * config/t-vxworks7: Likewise. Reformat a bit to match
              the t-vxworks layout.
      
      From-SVN: r261273
      Olivier Hainque committed
    • config.gcc: Support "tremont". · a548a5a1
      2018-06-07  Olga Makhotina  <olga.makhotina@intel.com>
      
      gcc/
      
              * config.gcc: Support "tremont".
              * config/i386/driver-i386.c (host_detect_local_cpu): Detect "tremont".
              * config/i386/i386-c.c (ix86_target_macros_internal): Handle
              PROCESSOR_TREMONT.
              * config/i386/i386.c (m_TREMONT): Define.
              (processor_target_table): Add "tremont".
              (PTA_TREMONT): Define.
              (ix86_lea_outperforms): Add TARGET_TREMONT.
              (get_builtin_code_for_version): Handle PROCESSOR_TREMONT.
              (fold_builtin_cpu): Add M_INTEL_TREMONT, replace M_INTEL_GOLDMONT
              and M_INTEL_GOLDMONT_PLUS.
              (fold_builtin_cpu): Add "tremont".
              (ix86_add_stmt_cost): Add TARGET_TREMONT.
              (ix86_option_override_internal): Add "tremont".
              * config/i386/i386.h (processor_costs): Define TARGET_TREMONT.
              (processor_type): Add PROCESSOR_TREMONT.
              * config/i386/x86-tune.def: Add m_TREMONT.
              * doc/invoke.texi: Add tremont as x86 -march=/-mtune= CPU type.
      
      gcc/testsuite/
      
              * gcc.target/i386/funcspec-56.inc: Test arch=tremont.
      
      libgcc/
      
              * config/i386/cpuinfo.h (processor_types): Add INTEL_TREMONT.
      
      From-SVN: r261270
      Olga Makhotina committed
    • msp430.c (msp430_mcu_name): Set the "i" in the symbol defined for msp430i*… · cef87b05
      msp430.c (msp430_mcu_name): Set the "i" in the symbol defined for msp430i* devices to be lower case.
      
      	* gcc/config/msp430/msp430.c (msp430_mcu_name): Set the "i" in the
      	symbol defined for msp430i* devices to be lower case.
      
      	gcc/testsuite/gcc.target/msp430/
      	* msp430i-device-symbol.c: New test.
      	* msp430f-device-symbol.c: New test.
      	* msp430.h: New test header file.
      
      From-SVN: r261268
      Jozef Lawrynowicz committed
    • graphite-sese-to-poly.c (extract_affine): Avoid unneded wrapping. · fa8ce189
      2018-06-07  Richard Biener  <rguenther@suse.de>
      
      	* graphite-sese-to-poly.c (extract_affine): Avoid unneded
      	wrapping.  Properly wrap the result of a BIT_NOT_EXPR.
      	Properly wrap signed arithmetic if overflow wraps.
      
      From-SVN: r261267
      Richard Biener committed
    • Default special members of regex types and add noexcept · c962b2c3
      	* include/bits/regex.h (sub_match): Add noexcept to default
      	constructor and length observer.
      	(match_results): Add noexcept to default constructor and observers
      	with no preconditions. Define destructor as defaulted.
      	(operator==, operator!=, swap): Add noexcept.
      	(regex_iterator): Add default member initializers and define default
      	constructor and destructor as defaulted. Add noexcept to equality
      	and dereference operators.
      
      From-SVN: r261266
      Jonathan Wakely committed
    • re PR tree-optimization/69615 (0 to limit signed range checks don't always use unsigned compare) · ca6b7410
      	PR tree-optimization/69615
      	* tree-ssa-reassoc.c (optimize_range_tests_var_bound): If rhs2 is lhs
      	of a cast from a same precision integral SSA_NAME in a bb dominated
      	by first_bb, retry with rhs2 set to the rhs1 of the cast.  Don't emit
      	cast to utype if rhs2 has already a compatible type.
      
      	* gcc.dg/tree-ssa/pr69615.c: New test.
      
      From-SVN: r261264
      Jakub Jelinek committed
    • re PR tree-optimization/85935 ([graphite] ICE in extract_affine, at graphite-sese-to-poly.c:287) · b2bf8258
      2018-06-07  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/85935
      	* graphite-scop-detection.c (find_params_in_bb): Analyze
      	condition operands with respect to the correct loop.  Assert
      	the analysis doesn't fail.
      
      	* gcc.dg/graphite/pr85935.c: New testcase.
      
      From-SVN: r261263
      Richard Biener committed
    • 2018-06-07 François Dumont <fdumont@gcc.gnu.org> · 7a205f50
      	* src/c++11/debug.cc
      	(_Safe_iterator_base::_M_detach()): Reset state only if needed.
      	(_Safe_iterator_base::_M_detach_single()): Likewise.
      	(_Safe_local_iterator_base::_M_detach()): Reset state only if needed.
      	(_Safe_local_iterator_base::_M_detach_single()): Likewise.
      
      From-SVN: r261262
      François Dumont committed
    • Fix compilation of libgcov with GCOV_LOCKED=0. · 244aebfd
      2018-06-07  Martin Liska  <mliska@suse.cz>
      
      	* libgcov-driver.c: Rename cs_all to all and assign it from
              all_prg.
      
      From-SVN: r261261
      Martin Liska committed
    • Fix libgcov-driver-system bootstrap failure (PR bootstrap/86057). · 6c086e8c
      2018-06-07  Martin Liska  <mliska@suse.cz>
      
              PR bootstrap/86057
      	* libgcov-driver-system.c (replace_filename_variables): Use
              memcpy instead of mempcpy.
      	(allocate_filename_struct): Do not allocate filename, allocate
              prefix and set it.
      	(gcov_exit_open_gcda_file): Allocate memory for gf->filename
              here and properly copy content into it.
      	* libgcov-driver.c (struct gcov_filename): Remove max_length
              field, change prefix from size_t into char *.
      	(compute_summary): Do not calculate longest filename.
      	(gcov_do_dump): Release memory of gf.filename after each file.
      	* libgcov-util.c (compute_summary): Use new signature of
              compute_summary.
      	(calculate_overlap): Likewise.
      
      From-SVN: r261260
      Martin Liska committed
    • Daily bump. · 37777cd0
      From-SVN: r261259
      GCC Administrator committed
  2. 06 Jun, 2018 22 commits
    • vsx.md (first_match_index_<mode>): Calculate index using natural element order. · 029435a3
      gcc/ChangeLog:
      
      2018-06-04  Carl Love  <cel@us.ibm.com>
      
      	* gcc/config/rs6000/vsx.md (first_match_index_<mode>): Calculate index
      	using natural element order.  Use gen_lshrsi3 instead of gen_ashrsi3
      	as it is slightly cheaper.
      	(first_match_or_eos_index_<mode>):
      	Calculate index using natural element order.
      	(first_match_index_<mode>):
      	Calculate index using natural element order.
      	(first_match_or_eos_index_<mode>):
      	Calculate index using natural order.
      	(define_insn vclzlsbb): Change to define_insn vclzlsbb_<mode>.
      	for BE and LE modes.
      	* gcc/config/rs6000/rs6000-c.c: Rename P9V_BUILTIN_VCLZLSBB,
      	P9V_BUILTIN_VCLZLSBB_V16QI.
      	* gcc/config/rs6000/rs6000-builtin.def: Make VCLZLSBB mode
      	specific.
      
      gcc/testsuite/ChangeLog:
      
      2018-06-04  Carl Love  <cel@us.ibm.com>
      
      	* gcc.target/powerpc/builtins-8-p9-runnable.c: Add additional
      	debug print statements.  Fix a few formating issues.
      
      From-SVN: r261255
      Carl Love committed
    • extend.texi (PowerPC AltiVec Built-in Functions): Adjust indentation and line… · 20f136af
      extend.texi (PowerPC AltiVec Built-in Functions): Adjust indentation and line wrap for many prototypes.
      
      gcc/ChangeLog:
      
      2018-06-06  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Adjust
      	indentation and line wrap for many prototypes.  Add missing
      	@smallexample directives around block of prototypes for vec_xl and
      	vec_xst.
      
      From-SVN: r261254
      Kelvin Nilsen committed
    • re PR target/85657 (Make __ibm128 a separate type, even if long double uses the… · f0e5e942
      re PR target/85657 (Make __ibm128 a separate type, even if long double uses the IBM double-double format)
      
      [gcc]
      2018-06-06  Michael Meissner  <meissner@linux.ibm.com>
      
      	PR target/85657
      	* config/rs6000/rs6000-builtin.def (BU_IBM128_2): New helper
      	macro for __ibm128 built-in functions.
      	(PACK_IF): Add __ibm128 pack/unpack functions.
      	(UNPACK_IF): Likewise.
      	* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Do not
      	enable long double built-in functions if long double is IEEE
      	128-bit floating point.
      	(rs6000_invalid_builtin): Update long double built-in function
      	error message.
      	(rs6000_expand_builtin): For PACK_IF and UNPACK_IF built-in
      	functions, adjust the built-in function to use the long double
      	built-in function if __ibm128 and long double are the same type.
      	* doc/extend.texi (PowerPC builtins): Update documention for
      	__builtin_{,un}pack_longdouble.  Add documentation for
      	__builtin_{,un}pack_ibm128.
      
      [gcc/testsuite]
      2018-06-06  Michael Meissner  <meissner@linux.ibm.com>
      
      	PR target/85657
      	* gcc.target/powerpc/pr85657-4.c: New tests.
      	* gcc.target/powerpc/pr85657-5.c: Likewise.
      	* gcc.target/powerpc/pr85657-6.c: Likewise.
      
      From-SVN: r261253
      Michael Meissner committed
    • builtins-7-p9-runnable.c: Change first argument to vui_arg. · a983358b
      gcc/testsuite/ChangeLog:
      
      2018-06-06  Carl Love  <cel@us.ibm.com>
      	* gcc.target/powerpc/builtins-7-p9-runnable.c: Change first
      	argument to vui_arg.
      
      From-SVN: r261249
      Carl Love committed
    • re PR fortran/85641 (ICE with string concatenate) · 9658d116
      2018-06-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/85641
      	* frontend-passes.c (is_fe_temp): Add prototype.
      	(realloc_string_callback): Early return for frontend-generated
      	temporary.
      
      2018-06-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/85641
      	* gfortran.dg/realloc_on_assign_30.f90: New test.
      
      From-SVN: r261248
      Thomas Koenig committed
    • builtins-3.c: Move tests requiring -mvsx to builtins-4.c. · c63f44a8
      gcc/testsuite/ChangeLog:
      
      2018-06-06  Carl Love  <cel@us.ibm.com>
      
      	* gcc.target/powerpc/builtins-3.c: Move tests requiring -mvsx
      	to builtins-4.c.
      	* gcc.target/powerpc/builtins-4.c: New test file for tests
      	that need -mvsx.
      
      From-SVN: r261247
      Carl Love committed
    • re PR target/85657 (Make __ibm128 a separate type, even if long double uses the… · c765c8cb
      re PR target/85657 (Make __ibm128 a separate type, even if long double uses the IBM double-double format)
      
      [gcc]
      2018-06-06  Michael Meissner  <meissner@linux.ibm.com>
      
      	* config/rs6000/rs6000.c (rs6000_passes_ieee128): New boolean to
      	track if we pass or return IEEE 128-bit floating point.
      	(ieee128_mangling_gcc_8_1): New boolean to say whether to generate
      	C++ mangling that is compatible with GCC 8.1.
      	(TARGET_ASM_GLOBALIZE_DECL_NAME): Override target hook.
      	(init_cumulative_args): Note if we pass or return IEEE 128-bit
      	floating point types.
      	(rs6000_function_arg_advance_1): Likewise.
      	(rs6000_mangle_type): Optionally generate mangled names that match
      	what GCC 8.1 generated for IEEE 128-bit floating point types.
      	(rs6000_globalize_decl_name): If we have an external function that
      	passes or returns IEEE 128-bit types, generate a weak reference
      	from the mangled name used in GCC 8.1 to the current mangled
      	name.
      
      [gcc]
      2018-06-05  Michael Meissner  <meissner@linux.ibm.com>
      
      	* config/rs6000/rs6000.c (rs6000_init_builtins): Make __ibm128 use
      	the long double type if long double is IBM extended double.  Make
      	__float128 use the long double type if long double is IEEE 128-bit.
      
      [gcc/testsuite]
      2018-06-05  Michael Meissner  <meissner@linux.ibm.com>
      
      	PR target/85657
      	* g++.dg/pr85657.C: Only test whether __ibm128 and long double can
      	be used in templates.  Don't check for them in overloaded functions.
      
      From-SVN: r261246
      Michael Meissner committed
    • Remove redundant std::move on const object · 9d67f13e
      	* include/bits/shared_ptr_base.h (__shared_count): Remove redundant
      	move of const value.
      
      From-SVN: r261245
      Jonathan Wakely committed
    • RISC-V: Add interrupt attribute modes. · ec74725c
      	gcc/
      	* config/riscv/riscv.c (enum riscv_privilege_levels): New.
      	(struct machine_function): New field interrupt_mode.
      	(riscv_handle_type_attribute): New function.  Add forward declaration.
      	(riscv_attribute_table) <interrupt>: Use riscv_handle_type_attribute.
      	(riscv_expand_epilogue): Check interrupt_mode field.
      	(riscv_set_current_function): Check interrupt attribute args and
      	set interrupt_mode field.
      	* config/riscv/riscv.md (UNSPECV_SRET, UNSPECV_URET): New.
      	(riscv_sret, riscv_uret): New.
      	* doc/extend.texi (RISC-V Function Attributes) <interrupt>: Document
      	new arguments to interrupt attribute.
      
      	gcc/testsuite/
      	* gcc.target/riscv/interrupt-5.c (sub3): Add new test.
      	* gcc.target/riscv/interrupt-mmode.c: New.
      	* gcc.target/riscv/interrupt-smode.c: New.
      	* gcc.target/riscv/interrupt-umode.c: New.
      
      From-SVN: r261244
      Jim Wilson committed
    • re PR target/63177 (Powerpc no-vfa-vect-depend-2.c and no-vfa-vect-depend-3.c failures) · 1b58c736
      	PR target/63177
      	* /config/rs6000/rs6000.h (ASM_CPU_SPEC): Add support for -mpower9.
      	Don't handle -mcpu=power8 if -mpower9-vector is also used.
      
      From-SVN: r261243
      Peter Bergner committed
    • re PR c++/86068 (__cpp_transactional_memory is 210500) · fe16acf2
      	PR c++/86068
      	* c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
      	__cpp_transactional_memory to 201500 instead of 210500.
      
      	* include/bits/c++config: Check __cpp_transactional_memory >= 201500L
      	rather than __cpp_transactional_memory >= 201505L.
      
      From-SVN: r261242
      Jakub Jelinek committed
    • re PR c++/85977 (Incorrect handling of array reference size deduction) · e58c9d92
      	PR c++/85977
      	* pt.c (unify): If ELTTYPE has no deducible template parms, skip
      	deduction from the list elements.
      	(type_unification_real): Check convertibility of list elements.
      
      	* g++.dg/cpp0x/initlist102.C: New test.
      	* g++.dg/cpp0x/initlist103.C: New test.
      	* g++.dg/cpp0x/initlist104.C: New test.
      
      From-SVN: r261241
      Marek Polacek committed
    • PR c++/86060 - ICE on range for with -std=c++98. · b66ec0c0
      	* parser.c (cp_parser_init_statement): Don't clobber *decl after
      	pedwarn.
      
      From-SVN: r261239
      Jason Merrill committed
    • PR c++/85710 - ICE with -Wmemset-elt-size. · 4dbdb49b
      c-family/
      	* c-warn.c (warn_for_memset): Don't crash on incomplete element type.
      cp/
      	* semantics.c (finish_call_expr): Call warn_for_memset here.
      	* parser.c (cp_parser_postfix_expression): Not here.
      	(literal_integer_zerop): No longer static.
      	* pt.c (build_non_dependent_expr): Don't wrap CONST_DECL.
      
      From-SVN: r261238
      Jason Merrill committed
    • reflect: fix StructOf hash and string · 1d6ccc5f
          
          Adjust the hash and string fields computed by StructOf to match the
          values that the compiler computes for a struct type with the same
          field names and types.  This makes the reflect code match the
          compiler's Type::hash_for_method and Type::reflection methods.
          
          Fixes golang/go#25284
          
          Reviewed-on: https://go-review.googlesource.com/116515
      
      From-SVN: r261235
      Ian Lance Taylor committed
    • rs6000-builtin.def (VSX_BUILTIN_VEC_LD, [...]): Add comment to explain non-traditional uses. · 1336795a
      gcc/ChangeLog:
      
      2018-06-06  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	* config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_LD,
      	VSX_BUILTIN_VEC_ST): Add comment to explain non-traditional uses.
      	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
      	several redundant entries.
      
      From-SVN: r261234
      Kelvin Nilsen committed
    • ix86_expand_call: convert return type to rtx_insn * · 2a559b8c
      Eliminate an "as_a <rtx_insn *>()" cast.
      
      gcc/ChangeLog:
      	* config/i386/i386-protos.h (ix86_expand_call): Strengthen return
      	type from "rtx" to "rtx_insn *".
      	* config/i386/i386.c (ix86_expand_split_stack_prologue): Likewise
      	for local "call_insn", removing cast.
      	(ix86_expand_call): Likewise, introducing a "call_insn" local.
      
      From-SVN: r261233
      David Malcolm committed
    • re PR tree-optimization/86066 (wrong code for bit-field manipulation at -Os) · 31a5d8c5
      	PR tree-optimization/86066
      	* gimple-ssa-store-merging.c (process_store): Do not bypass BIT_NOT_EXPR
      	for BIT_INSERT_EXPR stores.
      
      From-SVN: r261232
      Eric Botcazou committed
    • re PR tree-optimization/86062 (Missed redundancy elimination with struct and array) · 1abc0f7f
      2018-06-06  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/86062
      	* tree-ssa-sccvn.c (vn_reference_lookup_3): Handle arbitrary
      	component refs ontop
      	of to be offsetted base.
      
      	* g++.dg/tree-ssa/pr86062.C: New testcase.
      
      From-SVN: r261231
      Richard Biener committed
    • MSP430: Allow interrupt handlers to be static · d71488c0
      	* gcc/config/msp430/msp430.c (msp430_attr): Allow interrupt handlers
      	to be static and remove check on interrupt attribute name.
      
      	gcc/testsuite/gcc.target/msp430/
      	* function-attributes-4.c: New test.
      	* static-interrupts.c: New test.
      
      From-SVN: r261229
      Jozef Lawrynowicz committed
    • PR libstdc++/86008 add std::quoted support for string_view · 7db54ccd
      	PR libstdc++/86008
      	* include/bits/quoted_string.h (_Quoted_string<basic_string_view, C>):
      	Define new partial specialization.
      	* include/std/iomanip (quoted(basic_string_view<C,T>, C, C)): Define
      	new overload.
      	(operator<<(basic_ostream<C,T>&, const _Quoted_string<S,C>&)): Use
      	value not reference for iteration.
      	* testsuite/27_io/manipulators/standard/char/quoted.cc: Adjust
      	comment.
      	* testsuite/27_io/manipulators/standard/char/quoted_sv.cc: New test.
      	* testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: Adjust
      	comment.
      
      From-SVN: r261227
      Jonathan Wakely committed
    • Daily bump. · 5ae566b6
      From-SVN: r261226
      GCC Administrator committed
  3. 05 Jun, 2018 2 commits