1. 09 Oct, 2018 7 commits
    • [Ada] Spurious warning on uninitialized entity during code generation · 0ffbef9f
      This patch suppresses a spurious warning coming from the GCC backend, on
      an aggregate that cannot be built in place and for which a temporary
      variable must be created. If the type of the aggregate is a packed
      boolean array, the generated code may appear to use an uninitialized
      value for a component of the array, when in fact the code simply sets a
      single bit of that array.
      
      2018-10-09  Ed Schonberg  <schonberg@adacore.com>
      
      gcc/ada/
      
      	* exp_aggr.adb (Expand_Array_Aggregate): If it is not possible
      	to build in place an aggregate with component associations, set
      	the Warnings_Off flag on the generated temporary, to prevent
      	spurious warnings from the backend when compiling with the
      	-Wuninitialized gcc flag.
      
      gcc/testsuite/
      
      	* gnat.dg/warn18.adb: New testcase.
      
      From-SVN: r264960
      Ed Schonberg committed
    • Define std::string and related typedefs outside __cxx11 namespace · 33b43b0d
      The typedefs for common specializations of std::__cxx11::basic_string do
      not need to be in the std::__cxx11 namespace. Those typedefs are never
      used for linkage purposes so don't appear in mangled names, and so don't
      need to be distinct from the equivalent typedefs for the COW
      std::basic_string specializations. It is OK for the same typedef to
      refer to different types in different translation units.
      
      Defining them directly in namespace std improves diagnostics that use
      those typedefs. For example:
      
      error: could not convert '1' from 'int' to 'std::__cxx11::string' {aka 'std::__cxx11::basic_string<char>'}
      
      will now be printed as:
      
      error: could not convert '1' from 'int' to 'std::string' {aka 'std::__cxx11::basic_string<char>'}
      
      The precise type is still shown, but the typedef is not obfuscated with
      the inline namespace.
      
      	* include/bits/stringfwd.h (string, wstring, u16string, u32string):
      	Define typedefs outside of __cxx11 inline namespace.
      	* python/libstdcxx/v6/printers.py (register_type_printers): Also
      	register printers for typedefs in new location.
      
      From-SVN: r264958
      Jonathan Wakely committed
    • re PR middle-end/63155 (memory hog) · fe8a86e1
      2018-10-09  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/63155
      	* tree-ssa-structalias.c: Include tree-ssa.h.
      	(get_constraint_for_ssa_var): For undefs return nothing_id.
      	(find_func_aliases): Cleanup PHI handling.
      
      From-SVN: r264956
      Richard Biener committed
    • tree-vectorizer.c (dump_stmt_cost): Fix cut&paste missing replacements. · c885142a
      2018-10-09  Richard Biener  <rguenther@suse.de>
      
      	* tree-vectorizer.c (dump_stmt_cost): Fix cut&paste missing
      	replacements.
      
      From-SVN: r264954
      Richard Biener committed
    • ASAN: emit line information of stack variables. · 2c73950d
      2018-10-09  Martin Liska  <mliska@suse.cz>
      
      	* asan.c (asan_emit_stack_protection): If a stack variable
      	is located in a same file as current function, then emit
      	line info into variable definition string.
      2018-10-09  Martin Liska  <mliska@suse.cz>
      
      	* c-c++-common/asan/pr64820.c: Add line number to scanned
      	pattern.
      	* c-c++-common/asan/use-after-return-1.c: Likewise.
      	* g++.dg/asan/function-argument-1.C (main): Likewise.
      	* g++.dg/asan/function-argument-2.C (main): Likewise.
      	* g++.dg/asan/function-argument-3.C (main): Likewise.
      	* g++.dg/asan/use-after-scope-1.C (main): Likewise.
      	* g++.dg/asan/use-after-scope-2.C (main): Likewise.
      	* g++.dg/asan/use-after-scope-types-1.C (main): Likewise.
      	* g++.dg/asan/use-after-scope-types-2.C (main): Likewise.
      	* g++.dg/asan/use-after-scope-types-3.C (main): Likewise.
      	* g++.dg/asan/use-after-scope-types-4.C (main): Likewise.
      	* g++.dg/asan/use-after-scope-types-5.C (main): Likewise.
      	* gcc.dg/asan/pr78541.c (main): Likewise.
      	* gcc.dg/asan/use-after-scope-1.c (main): Likewise.
      	* gcc.dg/asan/use-after-scope-10.c (main): Likewise.
      	* gcc.dg/asan/use-after-scope-2.c (main): Likewise.
      	* gcc.dg/asan/use-after-scope-3.c (main): Likewise.
      	* gcc.dg/asan/use-after-scope-5.c (main): Likewise.
      	* gcc.dg/asan/use-after-scope-9.c (main): Likewise.
      
      From-SVN: r264951
      Martin Liska committed
    • re PR fortran/87151 (allocating array of character) · 9d44426f
      2018-10-09  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/87151
      	* trans-array.c (gfc_get_array_span): Deal with deferred char
      	array components having a TYPE_MAX_VALUE of zero.
      	(gfc_array_init_size): Use the hidden string length component
      	to build the descriptor dtype.
      	(gfc_array_allocate): Remove the erroneous replacement of the
      	charlen backend decl with a temporary.
      	(gfc_conv_expr_descriptor): Use the ss_info string length in
      	the case of deferred character components.
      	(gfc_alloc_allocatable_for_assignment): Actually compare the
      	string lengths for deferred characters. Make sure that kind > 1
      	is handled correctly. Set the span field of the descriptor.
      	* trans-intrinsic.c (gfc_conv_intrinsic_len): Remove the stupid
      	comment.
      
      	PR fortran/80931
      	* trans-array.c (gfc_array_allocate): Set the span field for
      	variable length character arrays.
      
      
      2018-10-09  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/87151
      	* gfortran.dg/deferred_type_component_3.f90: New test.
      
      	PR fortran/80931
      	* gfortran.dg/deferred_character_28.f90: New test.
      	* gfortran.dg/deferred_character_29.f90: New test (note that
      	this test appears in PR83196 comment #4 by mistake).
      
      From-SVN: r264949
      Paul Thomas committed
    • Daily bump. · 6d520963
      From-SVN: r264948
      GCC Administrator committed
  2. 08 Oct, 2018 25 commits
  3. 07 Oct, 2018 1 commit
  4. 06 Oct, 2018 6 commits
    • Use gfc_charlen_type instead of int for string lenghts · c0ab1530
      This patch cleans up a few places where I noticed the code was still
      using int instead gfc_charlen_type for string lengths.  Regtested on
      x86_64-pc-linux-gnu, committed as obvious.
      
      libgfortran/ChangeLog:
      
      2018-10-06  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	* io/unix.c (compare_file_filename): Use gfc_charlen_type instead
      	of int for string length.
      	(inquire_sequential): Likewise.
      	(inquire_direct): Likewise.
      	(inquire_formatted): Likewise.
      	(inquire_unformatted): Likewise.
      	(inquire_access): Likewise.
      	(inquire_read): Likewise.
      	(inquire_write): Likewise.
      	(inquire_readwrite): Likewise.
      	* io/unix.h (compare_file_filename): Likewise.
      	(inquire_sequential): Likewise.
      	(inquire_direct): Likewise.
      	(inquire_formatted): Likewise.
      	(inquire_unformatted): Likewise.
      	(inquire_read): Likewise.
      	(inquire_write): Likewise.
      	(inquire_readwrite): Likewise.
      
      From-SVN: r264901
      Janne Blomqvist committed
    • re PR fortran/86111 (ICE in gfc_arith_concat, at fortran/arith.c:985) · 7318fdca
      2018-10-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/86111
      	* gfortran.h (enum arith): Add ARITH_WRONGCONCAT.
      	* arith.h (gfc_arith_error): Issue error for ARITH_WRONGCONCAT.
      	(gfc_arith_concat):  If the types of op1 and op2 are not
      	character of if their kinds do not match, issue ARITH_WRONGCONCAT.
      
      2018-10-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/86111
      	* gfortran.dg/array_constructor_type_23.f90: New test.
      
      From-SVN: r264900
      Thomas Koenig committed
    • re PR fortran/83999 (ICE in gfc_trans_assignment_1, at fortran/trans-expr.c:10233) · 2b03b800
      2018-10-06  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/83999
      	* resolve.c (resolve_fl_procedure): Include class functions in
      	the test that elemental function results be scalar.
      
      2018-10-06  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/83999
      	* gfortran.dg/elemental_function_4.f90 : New test.
      
      From-SVN: r264899
      Paul Thomas committed
    • re PR fortran/84640 (gcc/fortran/simplify.c:2587:9: runtime error: pointer index… · f64b9ed9
      re PR fortran/84640 (gcc/fortran/simplify.c:2587:9: runtime error: pointer index expression with base 0x0000090de160 overflowed to 0xffffffffc0632960)
      
       2018-10-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/84640
      	* simplify.c (gfc_simplify_cshift): Extend size of hs_ex and ss_ex
      	by one. Set extents one past the array boundaries to zero to avoid
      	warning with instrumented compiler.
      	(gfc_simplify_eoshift): Likewise, only for ss_ex.
      
      From-SVN: r264898
      Thomas Koenig committed
    • re PR rtl-optimization/86939 (IRA incorrectly creates an interference between a… · a141f2d8
      re PR rtl-optimization/86939 (IRA incorrectly creates an interference between a pseudo register and a hard register)
      
      gcc/
      	PR rtl-optimization/86939
      	PR rtl-optimization/87479
      	* ira.h (non_conflicting_reg_copy_p): New prototype.
      	* ira-lives.c (ignore_reg_for_conflicts): New static variable.
      	(make_hard_regno_dead): Don't add conflicts for register
      	ignore_reg_for_conflicts.
      	(make_object_dead): Likewise.
      	(non_conflicting_reg_copy_p): New function.
      	(process_bb_node_lives): Set ignore_reg_for_conflicts for copies.
      	Remove special conflict handling of REAL_PIC_OFFSET_TABLE_REGNUM.
      	* lra-lives.c (ignore_reg_for_conflicts): New static variable.
      	(make_hard_regno_dead): Don't add conflicts for register
      	ignore_reg_for_conflicts.  Remove special conflict handling of
      	REAL_PIC_OFFSET_TABLE_REGNUM.  Remove now unused argument
      	check_pic_pseudo_p and update callers.
      	(mark_pseudo_dead): Don't add conflicts for register
      	ignore_reg_for_conflicts.
      	(process_bb_lives): Set ignore_reg_for_conflicts for copies.
      
      gcc/testsuite/
      	PR rtl-optimization/86939
      	PR rtl-optimization/87479
      	* gcc.target/powerpc/pr86939.c: New test.
      	* gcc/testsuite/gcc.target/i386/pr49095.c: Fix expected results.
      
      From-SVN: r264897
      Peter Bergner committed
    • Daily bump. · fb6f9bbc
      From-SVN: r264896
      GCC Administrator committed
  5. 05 Oct, 2018 1 commit