1. 16 Apr, 2019 2 commits
  2. 15 Apr, 2019 13 commits
  3. 14 Apr, 2019 9 commits
    • re PR lto/89358 (Combining -std=c++14 and -std=c++17 objects gives ODR warnings) · d2a0371d
      
      	PR lto/89358
      	* g++.dg/lto/pr89358_0.C: New testcase.
      	* g++.dg/lto/pr89358_1.C: New testcase.
      	* ipa-devirt.c (skip_in_fields_list_p): New.
      	(odr_types_equivalent_p): Use it.
      
      From-SVN: r270355
      Jan Hubicka committed
    • re PR fortran/85448 (Report binding label clash with a global identifyer) · ceae614e
      2019-04-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
          PR fortran/85448
          * gfortran.dg/bind_c_usage_33.f90: New test and...
          * gfortran.dg/bind_c_usage_33_c.c: Additional source.
      
      From-SVN: r270354
      Thomas Koenig committed
    • re PR fortran/89843 (CFI_section delivers incorrect result descriptor) · 0d78e4aa
      2019-04-14  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/89843
      	* trans-decl.c (gfc_get_symbol_decl): Assumed shape and assumed
      	rank dummies of bind C procs require deferred initialization.
      	(convert_CFI_desc): New procedure to convert incoming CFI
      	descriptors to gfc types and back again.
      	(gfc_trans_deferred_vars): Call it.
      	* trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Null the CFI
      	descriptor pointer. Free the descriptor in all cases.
      
      	PR fortran/89846
      	* expr.c (is_CFI_desc): New function.
      	(is_subref_array): Tidy up by referencing the symbol directly.
      	* gfortran.h : Prototype for is_CFI_desc.
      	* trans_array.c (get_CFI_desc): New function.
      	(gfc_get_array_span, gfc_conv_scalarized_array_ref,
      	gfc_conv_array_ref): Use it.
      	* trans.c (get_array_span): Extract the span from descriptors
      	that are indirect references.
      
      	PR fortran/90022
      	* trans-decl.c (gfc_get_symbol_decl): Make sure that the se
      	expression is a pointer type before converting it to the symbol
      	backend_decl type.
      	* trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Eliminate
      	temporary creation for intent(in).
      
      2019-04-14  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/89843
      	* gfortran.dg/ISO_Fortran_binding_4.f90: Modify the value of x
      	in ctg. Test the conversion of the descriptor types in the main
      	program.
      	* gfortran.dg/ISO_Fortran_binding_10.f90: New test.
      	* gfortran.dg/ISO_Fortran_binding_10.c: Called by it.
      
      	PR fortran/89846
      	* gfortran.dg/ISO_Fortran_binding_11.f90: New test.
      	* gfortran.dg/ISO_Fortran_binding_11.c: Called by it.
      
      	PR fortran/90022
      	* gfortran.dg/ISO_Fortran_binding_1.c: Correct the indexing for
      	the computation of 'ans'. Also, change the expected results for
      	CFI_is_contiguous to comply with standard.
      	* gfortran.dg/ISO_Fortran_binding_1.f90: Correct the expected
      	results for CFI_is_contiguous to comply with standard.
      	* gfortran.dg/ISO_Fortran_binding_9.f90: New test.
      	* gfortran.dg/ISO_Fortran_binding_9.c: Called by it.
      
      2019-04-14  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/89843
      	* runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Only
      	return immediately if the source pointer is null. Bring
      	forward the extraction of the gfc type. Extract the kind so
      	that the element size can be correctly computed for sections
      	and components of derived type arrays. Remove the free of the
      	CFI descriptor since this is now done in trans-expr.c.
      	(gfc_desc_to_cfi_desc): Only allocate the CFI descriptor if it
      	is not null.
      	(CFI_section): Normalise the difference between the upper and
      	lower bounds by the stride to correctly calculate the extents
      	of the section.
      
      	PR fortran/89846
      	* runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Use
      	the stride measure for the gfc span if it is not a multiple
      	of the element length. Otherwise use the element length.
      
      	PR fortran/90022
      	* runtime/ISO_Fortran_binding.c (CFI_is_contiguous) : Return
      	1 for true and 0 otherwise to comply with the standard. Correct
      	the contiguity check for rank 3 and greater by using the stride
      	measure of the lower dimension rather than the element length.
      
      From-SVN: r270353
      Paul Thomas committed
    • PR d/87799 Fix D build on windows hosts · 4d024c32
      PR d/87799
      * d-system.h (_mkdir): Forward _mkdir on MinGW to mkdir in system.h.
      * configure.ac: Remove d from unsupported languages on mingw and cygwin.
      * configure: Regenerate.
      
      From-SVN: r270349
      Johannes Pfau committed
    • Enable libphobos on Solaris 11/x86 · 7d31d331
      	toplevel:
      	* configure.ac (enable_libphobos): Check LIBPHOBOS_SUPPORTED.
      	* configure: Regenerate.
      
      	libphobos:
      	* configure.tgt (LIBPHOBOS_SUPPORTED): Default to no.
      	Set to yes explicitly.
      	* configure.ac: Handle --enable-libphobos.
      	(x86_64-*-solaris2.* | i?86-*-solaris2.*): Only mark supported
      	with gas.
      	(ENABLE_LIBPHOBOS): New conditional.
      	* configure: Regenerate.
      	* Makefile.am (SUBDIRS): Only set if ENABLE_LIBPHOBOS.
      	* Makefile.in: Regenerate.
      
      From-SVN: r270348
      Rainer Orth committed
    • Work around lack of dlpi_tls_modid before Solaris 11.5 · 235d1c46
      2019-04-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
      	    Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	PR d/88150
      	* m4/druntime/os.m4 (DRUNTIME_OS_DLPI_TLS_MODID): New macro.
      	* configure.ac: Use it.
      	Call AC_USE_SYSTEM_EXTENSIONS.
      	* configure: Regenerate.
      	* Makefile.in, libdruntime/Makefile.in, src/Makefile.in,
      	testsuite/Makefile.in: Regenerate.
      	* libdruntime/gcc/config.d.in (OS_Have_Dlpi_Tls_Modid): Define.
      	* libdruntime/gcc/sections/elf_shared.d: Import gcc.config.
      	(scanSegments) <PT_TLS> [OS_Have_Dlpi_Tls_Modid]: Use
      	dlpi_tls_modid.
      	[Solaris]: Use dlinfo(RTLD_DI_LINKMAP) to get rt_tlsmodid.
      	Otherwise clear pdso._tlsMod, pdso._tlsSize.
      	(getTLSRange) [Solaris && !OS_Have_Dlpi_Tls_Modid]: Readjust mod.
      
      Co-Authored-By: Iain Buclaw <ibuclaw@gdcproject.org>
      
      From-SVN: r270347
      Rainer Orth committed
    • Work around Solaris ld bug linking __tls_get_addr on 64-bit x86 · ba838aa6
      	* m4/druntime/os.m4 (DRUNTIME_OS_LINK_SPEC): New macro.
      	* configure.ac: Call it.
      	* configure: Regenerate.
      	* Makefile.in, libdruntime/Makefile.in, src/Makefile.in,
      	testsuite/Makefile.in: Regenerate.
      	* src/libgphobos.spec.in (*link): Append OS_LINK_SPEC.
      
      From-SVN: r270346
      Rainer Orth committed
    • Use gcc/sections/elf_shared.d on Solaris 11.5 (PR d/88150) · 4d513120
      	PR d/88150
      	* libdruntime/gcc/sections/elf_shared.d [Solaris] (SharedELF): Set
      	to true.
      	Import core.sys.solaris.dlfcn, core.sys.solaris.link,
      	core.sys.solaris.sys.elf, core.sys.solaris.sys.link.
      	(dummy_ref): Declare.
      	(initSections): Initialize dummy_ref.
      	(getDependencies): Set strtab.
      	(handleForName): Don't dlclose handle.
      	(findDSOInfoForAddr): Set IterateManually.
      	(getprogname): Declare.
      	(progname): Use it.
      	* libdruntime/gcc/sections/package.d [Solaris]: Import
      	gcc.sections.elf_shared instead of gcc.sections.solaris.
      	* libdruntime/gcc/sections/solaris.d: Remove.
      	* libdruntime/Makefile.am (DRUNTIME_DSOURCES): Remove
      	gcc/sections/solaris.d.
      
      From-SVN: r270345
      Rainer Orth committed
    • Daily bump. · 77086e01
      From-SVN: r270344
      GCC Administrator committed
  4. 13 Apr, 2019 8 commits
    • libphobos: Move rt.sections modules to gcc.sections · 8b651828
      These modules depend on a mixture between how the compiler emits
      run-time module information, and what functions are exposed by the
      platform to inquire about loaded global and thread-local data sections.
      
      As the upstream implementation is written to work only with how the
      reference D compiler writes out data, much of what is present does not
      apply to the GCC D front-end.  So it has been moved to a non-upstream
      location in the source tree, where most of it will be rewritten once
      each port has been completed.
      
      The only tested module sections/elf_shared.d has been cleaned up so that
      all deprecated declarations have been removed, as well as the brittle
      module collision checking, which required bss_sections.c.  All other
      ports have been left unchanged apart from a commonizing of attributes.
      
      libphobos/ChangeLog:
      
      2019-04-13  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	* libdruntime/Makefile.am (DRUNTIME_CSOURCES): Remove bss_sections.c.
      	(DRUNTIME_DSOURCES): Rename rt/sections_* modules to gcc/sections/*.
      	* libdruntime/Makefile.in: Regenerate.
      	* libdruntime/gcc/sections/android.d: New file.
      	* libdruntime/gcc/sections/elf_shared.d: New file.
      	* libdruntime/gcc/sections/osx.d: New file.
      	* libdruntime/gcc/sections/package.d: New file.
      	* libdruntime/gcc/sections/solaris.d: New file.
      	* libdruntime/gcc/sections/win32.d: New file.
      	* libdruntime/gcc/sections/win64.d: New file.
      	* libdruntime/rt/bss_section.c: Remove.
      	* libdruntime/rt/sections.d: Publicly import gcc.sections.
      	* libdruntime/rt/sections_android.d: Remove.
      	* libdruntime/rt/sections_elf_shared.d: Remove.
      	* libdruntime/rt/sections_osx.d: Remove.
      	* libdruntime/rt/sections_solaris.d: Remove.
      	* libdruntime/rt/sections_win32.d: Remove.
      	* libdruntime/rt/sections_win64.d: Remove.
      
      From-SVN: r270341
      Iain Buclaw committed
    • * gcc.pot: Regenerate. · 151c5c0b
      From-SVN: r270340
      Jakub Jelinek committed
    • re PR target/89093 (C++ exception handling clobbers d8 VFP register) · 6cf58810
      	PR target/89093
      	* config/arm/arm.c (arm_valid_target_attribute_rec): Use strcmp
      	instead of strncmp when checking for thumb and arm.  Formatting fixes.
      
      	* gcc.target/arm/pr89093.c: New test.
      
      From-SVN: r270339
      Jakub Jelinek committed
    • re PR fortran/79842 (i18n: subword translation in "Can't use the same %smodule") · 91797170
      2019-04-13  Dominique d'Humieres  <dominiq@gcc.gnu.org>
      
      	PR fortran/79842
      	* module.c (gfc_use_module): use complete sentences.
      
      From-SVN: r270338
      Dominique d'Humieres committed
    • * gcc.pot: Regenerate. · 4b4f5ccd
      From-SVN: r270337
      Jakub Jelinek committed
    • compiler: improve type handling for string concat ops on constants · fdc59f56
          
          Resolve a small problem with concatenation of string constants: in a
          string concat X + Y where X has named type and Y has abstract string
          type, insure that the result has X's type, and disable folding if the
          both sides have a concrete type that does not match.
          
          Fixes golang/go#31412.
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/171797
      
      From-SVN: r270336
      Ian Lance Taylor committed
    • Daily bump. · b1593748
      From-SVN: r270335
      GCC Administrator committed
    • Uglify identifiers missed in previous commit(s) · 71905b8a
             * include/pstl/algorithm_impl.h: Uglify identfiers.
             * include/pstl/numeric_impl.h:  Uglify identfiers.
             * include/pstl/parallel_backend_tbb.h: Uglify identfiers.
      
      From-SVN: r270332
      Thomas Rodgers committed
  5. 12 Apr, 2019 8 commits
    • Commit a change missed in r270326: · 377c9e46
      gcc/c-family/ChangeLog:
      
      	PR c/88383
      	PR c/89288
      	PR c/89798
      	PR c/89797
      	* c-attribs.c (type_valid_for_vector_size): Detect excessively
      	large sizes.
      	(validate_attribute): Handle DECLs and expressions.
      	(has_attribute): Handle types referenced by expressions.
      	Avoid considering array attributes in ARRAY_REF expressions .
      
      From-SVN: r270331
      Martin Sebor committed
    • libphobos: Add subdir-objects to configure script. · d7e418a1
      Running autoreconf regenerates all files cleanly with autoconf2.69.
      
      libphobos/ChangeLog:
      
      2019-04-12  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	* configure.ac (AM_INIT_AUTOMAKE): Add subdir-objects.
      	* configure: Regenerate.
      	* libdruntime/Makefile.in: Regenerate.
      
      From-SVN: r270330
      Iain Buclaw committed
    • re PR c/89933 (ICE in merge_decls, at c/c-decl.c:2517) · 60a2c645
      	PR c/89933
      c/
      	* c-decl.c (merge_decls): When newdecl's type is its main variant,
      	don't try to remove it from the variant list, but instead assert
      	it has no variants.
      cp/
      	* decl.c (duplicate_decls): When newdecl's type is its main variant,
      	don't try to remove it from the variant list, but instead assert
      	it has no variants.
      testsuite/
      	* c-c++-common/pr89933.c: New test.
      
      From-SVN: r270329
      Jakub Jelinek committed
    • libphobos: Add target-zlib to top-level configure · bb50312e
      Removes the building of zlib from within libphobos, using instead the
      libz_convenience.a library.
      
      ChangeLog:
      
      2019-04-12  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	* configure.ac: Add target-zlib to target_libraries.
      	* configure: Regenerate.
      
      gcc/ChangeLog:
      
      2019-04-12  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	* doc/install.texi: Document --with-target-system-zlib.
      
      libphobos/ChangeLog:
      
      2019-04-12  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	* m4/druntime/libraries.m4 (DRUNTIME_LIBRARIES_ZLIB): Use
      	libz_convenience.a if not using system zlib.
      	* Makefile.in: Regenerate.
      	* configure: Regenerate.
      	* libdruntime/Makefile.in: Regenerate.
      	* src/Makefile.am: Remove ZLIB_CSOURCES and AM_CFLAGS.
      	* src/Makefile.in: Regenerate.
      	* testsuite/Makefile.in: Regenerate.
      
      From-SVN: r270328
      Iain Buclaw committed
    • extend.texi (__builtin_has_attribute): Add a clarifying note. · 41fe51dd
      gcc/ChangeLog:
      	* doc/extend.texi (__builtin_has_attribute): Add a clarifying note.
      
      From-SVN: r270327
      Martin Sebor committed
    • PR c/88383 - ICE calling __builtin_has_attribute on a reference · 3fb82380
      PR c/88383 - ICE calling __builtin_has_attribute on a reference
      PR c/89288 - ICE in tree_code_size, at tree.c:865
      PR c/89798 - excessive vector_size silently accepted and truncated
      PR c/89797 - ICE on a vector_size (1LU << 33) int variable
      
      gcc/ChangeLog:
      
      	PR c/89797
      	* targhooks.c (default_vector_alignment): Avoid assuming
      	argument fits in SHWI.
      	* tree.h (TYPE_VECTOR_SUBPARTS): Avoid sign overflow in
      	a shift expression.
      	* doc/extend.texi (__builtin_has_attribute): Add a clarifying note.
      
      gcc/c-family/ChangeLog:
      
      	PR c/88383
      	PR c/89288
      	PR c/89798
      	PR c/89797
      	* c-attribs.c (type_valid_for_vector_size): Detect excessively
      	large sizes.
      	(validate_attribute): Handle DECLs and expressions.
      	(has_attribute): Handle types referenced by expressions.
      	Avoid considering array attributes in ARRAY_REF expressions .
      
      gcc/cp/ChangeLog:
      
      	PR c/88383
      	PR c/89288
      	* parser.c (cp_parser_has_attribute_expression): Handle assignment
      	expressions.
      
      gcc/testsuite/ChangeLog:
      
      	PR c/88383
      	PR c/89288
      	PR c/89798
      	PR c/89797
      	* c-c++-common/attributes-1.c: Adjust.
      	* c-c++-common/builtin-has-attribute-6.c: New test.
      	* c-c++-common/builtin-has-attribute-7.c: New test.
      	* c-c++-common/builtin-has-attribute-4.c: Adjust expectations.
      	* c-c++-common/builtin-has-attribute-6.c: New test.
      	* c-c++-common/pr71574.c: Adjust.
      	* gcc.dg/pr25559.c: Adjust.
      	* gcc.dg/attr-vector_size.c: New test.
      
      From-SVN: r270326
      Martin Sebor committed
    • Avoid ICE on pmf{} in template. · 3d8695f5
      Now that we return the original CONSTRUCTOR from finish_compound_literal,
      the call to null_member_pointer_value_p in tsubst_copy_and_build was getting
      confused because the CONSTRUCTOR was still empty rather than a valid PMF
      value.
      
      	* call.c (null_member_pointer_value_p): Handle an empty CONSTRUCTOR
      	of PMF type.
      
      From-SVN: r270324
      Jason Merrill committed
    • re PR rtl-optimization/89965 (wrong code with -O -mtune=nano-x2 -fcaller-saves… · 76416d89
      re PR rtl-optimization/89965 (wrong code with -O -mtune=nano-x2 -fcaller-saves -fexpensive-optimizations -fno-tree-dce -fno-tree-ter)
      
      	PR rtl-optimization/89965
      	* dce.c: Include rtl-iter.h.
      	(struct check_argument_load_data): New type.
      	(check_argument_load): New function.
      	(find_call_stack_args): Check for loads from stack slots still tracked
      	in sp_bytes and punt if any is found.
      
      	* gcc.target/i386/pr89965.c: New test.
      
      From-SVN: r270323
      Jakub Jelinek committed