Skip to content
Snippets Groups Projects
  1. Aug 08, 2023
  2. Aug 07, 2023
    • Nick Alcock's avatar
      libtool.m4: augment symcode for Solaris 11 · dc17ceb3
      Nick Alcock authored
      This reports common symbols like GNU nm, via a type code of 'C'.
      
      ChangeLog:
      
      	* libtool.m4 (lt_cv_sys_global_symbol_pipe): Augment symcode for
      	Solaris 11.
      
      gcc/ChangeLog:
      
      	* configure: Regenerate.
      
      libatomic/ChangeLog:
      
      	* configure: Regenerate.
      
      libbacktrace/ChangeLog:
      
      	* configure: Regenerate.
      
      libcc1/ChangeLog:
      
      	* configure: Regenerate.
      
      libffi/ChangeLog:
      
      	* configure: Regenerate.
      
      libgfortran/ChangeLog:
      
      	* configure: Regenerate.
      
      libgm2/ChangeLog:
      
      	* configure: Regenerate.
      
      libgomp/ChangeLog:
      
      	* configure: Regenerate.
      
      libitm/ChangeLog:
      
      	* configure: Regenerate.
      
      libobjc/ChangeLog:
      
      	* configure: Regenerate.
      
      libphobos/ChangeLog:
      
      	* configure: Regenerate.
      
      libquadmath/ChangeLog:
      
      	* configure: Regenerate.
      
      libsanitizer/ChangeLog:
      
      	* configure: Regenerate.
      
      libssp/ChangeLog:
      
      	* configure: Regenerate.
      
      libstdc++-v3/ChangeLog:
      
      	* configure: Regenerate.
      
      libvtv/ChangeLog:
      
      	* configure: Regenerate.
      
      lto-plugin/ChangeLog:
      
      	* configure: Regenerate.
      
      zlib/ChangeLog:
      
      	* configure: Regenerate.
      Unverified
      dc17ceb3
    • Alexander von Gluck IV's avatar
      Add support for the haiku operating system · ead5103c
      Alexander von Gluck IV authored
      These are the os support patches we have been grooming and maintaining
      for quite a few years over on git.haiku-os.org.  All of these
      architectures are working and most have been stable for quite some time.
      
      ChangeLog:
      
      	* configure: Regenerate.
      	* configure.ac: Add Haiku to list of ELF OSes
      	* libtool.m4: Update sys_lib_dlsearch_path_spec on Haiku.
      
      gcc/ChangeLog:
      
      	* configure: Regenerate.
      
      libatomic/ChangeLog:
      
      	* configure: Regenerate.
      
      libbacktrace/ChangeLog:
      
      	* configure: Regenerate.
      
      libcc1/ChangeLog:
      
      	* configure: Regenerate.
      
      libffi/ChangeLog:
      
      	* configure: Regenerate.
      
      libgfortran/ChangeLog:
      
      	* configure: Regenerate.
      
      libgm2/ChangeLog:
      
      	* configure: Regenerate.
      
      libgomp/ChangeLog:
      
      	* configure: Regenerate.
      
      libitm/ChangeLog:
      
      	* configure: Regenerate.
      
      libobjc/ChangeLog:
      
      	* configure: Regenerate.
      
      libphobos/ChangeLog:
      
      	* configure: Regenerate.
      
      libquadmath/ChangeLog:
      
      	* configure: Regenerate.
      
      libsanitizer/ChangeLog:
      
      	* configure: Regenerate.
      
      libssp/ChangeLog:
      
      	* configure: Regenerate.
      
      libstdc++-v3/ChangeLog:
      
      	* configure: Regenerate.
      
      libvtv/ChangeLog:
      
      	* configure: Regenerate.
      
      lto-plugin/ChangeLog:
      
      	* configure: Regenerate.
      
      zlib/ChangeLog:
      
      	* configure: Regenerate.
      Unverified
      ead5103c
    • Nick Alcock's avatar
      libtool.m4: fix the NM="/nm/over/here -B/option/with/path" case · f3307109
      Nick Alcock authored
      My previous nm patch handled all cases but one -- if the user set NM in
      the environment to a path which contained an option, libtool's nm
      detection tries to run nm against a copy of nm with the options in it:
      e.g. if NM was set to "nm --blargle", and nm was found in /usr/bin, the
      test would try to run "/usr/bin/nm --blargle /usr/bin/nm --blargle".
      This is unlikely to be desirable: in this case we should run
      "/usr/bin/nm --blargle /usr/bin/nm".
      
      Furthermore, as part of this nm has to detect when the passed-in $NM
      contains a path, and in that case avoid doing a path search itself.
      This too was thrown off if an option contained something that looked
      like a path, e.g. NM="nm -B../prev-gcc"; libtool then tries to run
      "nm -B../prev-gcc nm" which rarely works well (and indeed it looks
      to see whether that nm exists, finds it doesn't, and wrongly concludes
      that nm -p or whatever does not work).
      
      Fix all of these by clipping all options (defined as everything
      including and after the first " -") before deciding whether nm
      contains a path (but not using the clipped value for anything else),
      and then removing all options from the path-modified nm before
      looking to see whether that nm existed.
      
      NM=my-nm now does a path search and runs e.g.
        /usr/bin/my-nm -B /usr/bin/my-nm
      
      NM=/usr/bin/my-nm now avoids a path search and runs e.g.
        /usr/bin/my-nm -B /usr/bin/my-nm
      
      NM="my-nm -p../wombat" now does a path search and runs e.g.
        /usr/bin/my-nm -p../wombat -B /usr/bin/my-nm
      
      NM="../prev-binutils/new-nm -B../prev-gcc" now avoids a path search:
        ../prev-binutils/my-nm -B../prev-gcc -B ../prev-binutils/my-nm
      
      This seems to be all combinations, including those used by GCC bootstrap
      (which, before this commit, fails to bootstrap when configured
      --with-build-config=bootstrap-lto, because the lto plugin is now using
      --export-symbols-regex, which requires libtool to find a working nm,
      while also using -B../prev-gcc to point at the lto plugin associated
      with the GCC just built.)
      
      Regenerate all affected configure scripts.
      
      ChangeLog:
      
      	* libtool.m4 (LT_PATH_NM): Handle user-specified NM with
      	options, including options containing paths.
      
      gcc/ChangeLog:
      
      	* configure: Regenerate.
      
      libatomic/ChangeLog:
      
      	* configure: Regenerate.
      
      libbacktrace/ChangeLog:
      
      	* configure: Regenerate.
      
      libcc1/ChangeLog:
      
      	* configure: Regenerate.
      
      libffi/ChangeLog:
      
      	* configure: Regenerate.
      
      libgfortran/ChangeLog:
      
      	* configure: Regenerate.
      
      libgm2/ChangeLog:
      
      	* configure: Regenerate.
      
      libgomp/ChangeLog:
      
      	* configure: Regenerate.
      
      libitm/ChangeLog:
      
      	* configure: Regenerate.
      
      libobjc/ChangeLog:
      
      	* configure: Regenerate.
      
      libphobos/ChangeLog:
      
      	* configure: Regenerate.
      
      libquadmath/ChangeLog:
      
      	* configure: Regenerate.
      
      libsanitizer/ChangeLog:
      
      	* configure: Regenerate.
      
      libssp/ChangeLog:
      
      	* configure: Regenerate.
      
      libstdc++-v3/ChangeLog:
      
      	* configure: Regenerate.
      
      libvtv/ChangeLog:
      
      	* configure: Regenerate.
      
      lto-plugin/ChangeLog:
      
      	* configure: Regenerate.
      
      zlib/ChangeLog:
      
      	* configure: Regenerate.
      Unverified
      f3307109
    • Nick Alcock's avatar
      libtool.m4: fix nm BSD flag detection · ab422974
      Nick Alcock authored
      Libtool needs to get BSD-format (or MS-format) output out of the system
      nm, so that it can scan generated object files for symbol names for
      -export-symbols-regex support.  Some nms need specific flags to turn on
      BSD-formatted output, so libtool checks for this in its AC_PATH_NM.
      Unfortunately the code to do this has a pair of interlocking flaws:
      
       - it runs the test by doing an nm of /dev/null.  Some platforms
         reasonably refuse to do an nm on a device file, but before now this
         has only been worked around by assuming that the error message has a
         specific textual form emitted by Tru64 nm, and that getting this
         error means this is Tru64 nm and that nm -B would work to produce
         BSD-format output, even though the test never actually got anything
         but an error message out of nm -B.  This is fixable by nm'ing *nm
         itself* (since we necessarily have a path to it).
      
       - the test is entirely skipped if NM is set in the environment, on the
         grounds that the user has overridden the test: but the user cannot
         reasonably be expected to know that libtool wants not only nm but
         also flags forcing BSD-format output.  Worse yet, one such "user" is
         the top-level Cygnus configure script, which neither tests for
         nor specifies any BSD-format flags.  So platforms needing BSD-format
         flags always fail to set them when run in a Cygnus tree, breaking
         -export-symbols-regex on such platforms.  Libtool also needs to
         augment $LD on some platforms, but this is done unconditionally,
         augmenting whatever the user specified: the nm check should do the
         same.
      
         One wrinkle: if the user has overridden $NM, a path might have been
         provided: so we use the user-specified path if there was one, and
         otherwise do the path search as usual.  (If the nm specified doesn't
         work, this might lead to a few extra pointless path searches -- but
         the test is going to fail anyway, so that's not a problem.)
      
      (Tested with NM unset, and set to nm, /usr/bin/nm, my-nm where my-nm is a
      symlink to /usr/bin/nm on the PATH, and /not-on-the-path/my-nm where
      *that* is a symlink to /usr/bin/nm.)
      
      ChangeLog:
      
      	* libtool.m4 (LT_PATH_NM): Try BSDization flags with a user-provided
      	NM, if there is one.  Run nm on itself, not on /dev/null, to avoid
      	errors from nms that refuse to work on non-regular files.  Remove
      	other workarounds for this problem.  Strip out blank lines from the
      	nm output.
      
      fixincludes/ChangeLog:
      
      	* configure: Regenerate.
      
      gcc/ChangeLog:
      
      	* configure: Regenerate.
      
      libatomic/ChangeLog:
      
      	* configure: Regenerate.
      
      libbacktrace/ChangeLog:
      
      	* configure: Regenerate.
      
      libcc1/ChangeLog:
      
      	* configure: Regenerate.
      
      libffi/ChangeLog:
      
      	* configure: Regenerate.
      
      libgfortran/ChangeLog:
      
      	* configure: Regenerate.
      
      libgm2/ChangeLog:
      
      	* configure: Regenerate.
      
      libgomp/ChangeLog:
      
      	* configure: Regenerate.
      
      libitm/ChangeLog:
      
      	* configure: Regenerate.
      
      libobjc/ChangeLog:
      
      	* configure: Regenerate.
      
      libphobos/ChangeLog:
      
      	* configure: Regenerate.
      
      libquadmath/ChangeLog:
      
      	* configure: Regenerate.
      
      libsanitizer/ChangeLog:
      
      	* configure: Regenerate.
      
      libssp/ChangeLog:
      
      	* configure: Regenerate.
      
      libstdc++-v3/ChangeLog:
      
      	* configure: Regenerate.
      
      libvtv/ChangeLog:
      
      	* configure: Regenerate.
      
      lto-plugin/ChangeLog:
      
      	* configure: Regenerate.
      
      zlib/ChangeLog:
      
      	* configure: Regenerate.
      Unverified
      ab422974
    • H.J. Lu's avatar
      GCC: Check if AR works with --plugin and rc · 9c7797a8
      H.J. Lu authored
      AR from older binutils doesn't work with --plugin and rc:
      
      [hjl@gnu-cfl-2 bin]$ touch foo.c
      [hjl@gnu-cfl-2 bin]$ ar --plugin /usr/libexec/gcc/x86_64-redhat-linux/10/liblto_plugin.so rc libfoo.a foo.c
      [hjl@gnu-cfl-2 bin]$ ./ar --plugin /usr/libexec/gcc/x86_64-redhat-linux/10/liblto_plugin.so rc libfoo.a foo.c
      ./ar: no operation specified
      [hjl@gnu-cfl-2 bin]$ ./ar --version
      GNU ar (Linux/GNU Binutils) 2.29.51.0.1.20180112
      Copyright (C) 2018 Free Software Foundation, Inc.
      This program is free software; you may redistribute it under the terms of
      the GNU General Public License version 3 or (at your option) any later version.
      This program has absolutely no warranty.
      [hjl@gnu-cfl-2 bin]$
      
      Check if AR works with --plugin and rc before passing --plugin to AR and
      RANLIB.
      
      ChangeLog:
      
      	* configure: Regenerated.
      	* libtool.m4 (_LT_CMD_OLD_ARCHIVE): Check if AR works with
      	--plugin and rc before enabling --plugin.
      
      config/ChangeLog:
      
      	* gcc-plugin.m4 (GCC_PLUGIN_OPTION): Check if AR works with
      	--plugin and rc before enabling --plugin.
      
      gcc/ChangeLog:
      
      	* configure: Regenerate.
      
      libatomic/ChangeLog:
      
      	* configure: Regenerate.
      
      libbacktrace/ChangeLog:
      
      	* configure: Regenerate.
      
      libcc1/ChangeLog:
      
      	* configure: Regenerate.
      
      libffi/ChangeLog:
      
      	* configure: Regenerate.
      
      libgfortran/ChangeLog:
      
      	* configure: Regenerate.
      
      libgm2/ChangeLog:
      
      	* configure: Regenerate.
      
      libgomp/ChangeLog:
      
      	* configure: Regenerate.
      
      libiberty/ChangeLog:
      
      	* configure: Regenerate.
      
      libitm/ChangeLog:
      
      	* configure: Regenerate.
      
      libobjc/ChangeLog:
      
      	* configure: Regenerate.
      
      libphobos/ChangeLog:
      
      	* configure: Regenerate.
      
      libquadmath/ChangeLog:
      
      	* configure: Regenerate.
      
      libsanitizer/ChangeLog:
      
      	* configure: Regenerate.
      
      libssp/ChangeLog:
      
      	* configure: Regenerate.
      
      libstdc++-v3/ChangeLog:
      
      	* configure: Regenerate.
      
      libvtv/ChangeLog:
      
      	* configure: Regenerate.
      
      lto-plugin/ChangeLog:
      
      	* configure: Regenerate.
      
      zlib/ChangeLog:
      
      	* configure: Regenerate.
      Unverified
      9c7797a8
    • H.J. Lu's avatar
      Sync with binutils: GCC: Pass --plugin to AR and RANLIB · 126f707e
      H.J. Lu authored
      Sync with binutils for building binutils with LTO:
      
      50ad1254d50 GCC: Pass --plugin to AR and RANLIB
      
      Detect GCC LTO plugin.  Pass --plugin to AR and RANLIB to support LTO
      build.
      
      ChangeLog:
      
      	* Makefile.tpl (AR): Add @AR_PLUGIN_OPTION@
      	(RANLIB): Add @RANLIB_PLUGIN_OPTION@.
      	* configure.ac: Include config/gcc-plugin.m4.
      	AC_SUBST AR_PLUGIN_OPTION and RANLIB_PLUGIN_OPTION.
      	* libtool.m4 (_LT_CMD_OLD_ARCHIVE): Pass --plugin to AR and
      	RANLIB if possible.
      	* Makefile.in: Regenerated.
      	* configure: Likewise.
      
      config/ChangeLog:
      
      	* gcc-plugin.m4 (GCC_PLUGIN_OPTION): New.
      
      libiberty/ChangeLog:
      
      	* Makefile.in (AR): Add @AR_PLUGIN_OPTION@
      	(RANLIB): Add @RANLIB_PLUGIN_OPTION@.
      	(configure_deps): Depend on ../config/gcc-plugin.m4.
      	* configure.ac: AC_SUBST AR_PLUGIN_OPTION and
      	RANLIB_PLUGIN_OPTION.
      	* aclocal.m4: Regenerated.
      	* configure: Likewise.
      
      zlib/ChangeLog:
      
      	* configure: Regenerated.
      
      gcc/ChangeLog:
      
      	* configure: Regenerate.
      
      libatomic/ChangeLog:
      
      	* configure: Regenerate.
      
      libbacktrace/ChangeLog:
      
      	* configure: Regenerate.
      
      libcc1/ChangeLog:
      
      	* configure: Regenerate.
      
      libffi/ChangeLog:
      
      	* configure: Regenerate.
      
      libgfortran/ChangeLog:
      
      	* configure: Regenerate.
      
      libgm2/ChangeLog:
      
      	* configure: Regenerate.
      
      libgomp/ChangeLog:
      
      	* configure: Regenerate.
      
      libitm/ChangeLog:
      
      	* configure: Regenerate.
      
      libobjc/ChangeLog:
      
      	* configure: Regenerate.
      
      libphobos/ChangeLog:
      
      	* configure: Regenerate.
      
      libquadmath/ChangeLog:
      
      	* configure: Regenerate.
      
      libsanitizer/ChangeLog:
      
      	* configure: Regenerate.
      
      libssp/ChangeLog:
      
      	* configure: Regenerate.
      
      libstdc++-v3/ChangeLog:
      
      	* configure: Regenerate.
      
      libvtv/ChangeLog:
      
      	* configure: Regenerate.
      
      lto-plugin/ChangeLog:
      
      	* configure: Regenerate.
      Unverified
      126f707e
  3. Jul 22, 2023
  4. Jul 21, 2023
    • Andrew Pinski's avatar
      libfortran: Fix build for targets that don't have 10byte or 16 byte floating point · f3251872
      Andrew Pinski authored
      So the problem here is EXPAND_INTER_MACRO_16 expands to nothing if 16 byte FP does not
      exist but we still add a comma after it and that causes a build failure.
      The same is true for EXPAND_INTER_MACRO_10 too.
      
      Committed as obvious after a bootstrap and test on x86_64-linux-gnu and aarch64-linux-gnu.
      
      libgfortran/ChangeLog:
      
      	PR libfortran/110759
      	* ieee/ieee_arithmetic.F90
      	(COMP_INTERFACE): Remove the comma after EXPAND_INTER_MACRO_16
      	and EXPAND_INTER_MACRO_10.
      	(EXPAND_INTER_MACRO_16): Add comma here if 16 byte fp exist.
      	(EXPAND_INTER_MACRO_10): Likewise.
      f3251872
    • GCC Administrator's avatar
      Daily bump. · e2bf82d5
      GCC Administrator authored
      e2bf82d5
  5. Jul 20, 2023
    • Francois-Xavier Coudert's avatar
      Fortran: add IEEE_QUIET_* and IEEE_SIGNALING_* comparisons · dca28748
      Francois-Xavier Coudert authored
      Those operations were added to Fortran 2018, and correspond to
      well-defined IEEE comparison operations, with defined signaling
      semantics for NaNs. All are implemented in terms of GCC expressions and
      built-ins, with no library support needed.
      
      gcc/fortran/
      
      	* f95-lang.cc (gfc_init_builtin_functions): Add __builtin_iseqsig.
      	* trans-intrinsic.cc (conv_intrinsic_ieee_comparison): New
      	function.
      	(gfc_conv_ieee_arithmetic_function): Handle IEEE comparisons.
      
      gcc/testsuite/
      
      	* gfortran.dg/ieee/comparisons_1.f90: New test.
      	* gfortran.dg/ieee/comparisons_2.f90: New test.
      	* gfortran.dg/ieee/comparisons_3.F90: New test.
      
      libgfortran/
      	* ieee/ieee_arithmetic.F90: Add IEEE_QUIET_* and
      	IEEE_SIGNALING_* functions.
      dca28748
  6. Jun 12, 2023
  7. Jun 11, 2023
  8. Jun 10, 2023
    • Francois-Xavier Coudert's avatar
      Fortran: add Fortran 2018 IEEE_{MIN,MAX} functions · 17bccd1d
      Francois-Xavier Coudert authored
      libgfortran/
      
      	* ieee/ieee_arithmetic.F90: Add IEEE_MIN_NUM, IEEE_MAX_NUM,
      	IEEE_MIN_NUM_MAG, and IEEE_MAX_NUM_MAG functions.
      
      gcc/fortran/
      
      	* f95-lang.cc (gfc_init_builtin_functions): Add fmax() and
      	fmin() built-ins, and their variants.
      	* mathbuiltins.def: Add FMAX and FMIN built-ins.
      	* trans-intrinsic.cc (conv_intrinsic_ieee_minmax): New function.
      	(gfc_conv_ieee_arithmetic_function): Handle IEEE_MIN_NUM and
      	IEEE_MAX_NUM functions.
      
      gcc/testsuite/
      	* gfortran.dg/ieee/minmax_1.f90: New test.
      17bccd1d
  9. May 13, 2023
  10. May 12, 2023
  11. May 09, 2023
  12. May 08, 2023
    • Bernhard Reutner-Fischer's avatar
      fortran: Fix coding style around free() · c93bde22
      Bernhard Reutner-Fischer authored
      Fix coding-style errors introduced in ca2f64d5
      
      gcc/fortran/ChangeLog:
      
      	* resolve.cc (resolve_select_type): Fix coding style.
      
      libgfortran/ChangeLog:
      
      	* caf/single.c (_gfortran_caf_register): Fix coding style.
      	* io/async.c (update_pdt, async_io): Likewise.
      	* io/format.c (free_format_data): Likewise.
      	* io/transfer.c (st_read_done_worker, st_write_done_worker): Likewise.
      	* io/unix.c (mem_close): Likewise.
      c93bde22
    • Bernhard Reutner-Fischer's avatar
      fortran: Remove conditionals around free() · ca2f64d5
      Bernhard Reutner-Fischer authored
      gcc/fortran/ChangeLog:
      
      	* resolve.cc (resolve_select_type): Call free() unconditionally.
      
      libgfortran/ChangeLog:
      
      	* caf/single.c (_gfortran_caf_register): Call free() unconditionally.
      	* io/async.c (update_pdt, async_io): Likewise.
      	* io/format.c (free_format_data): Likewise.
      	* io/transfer.c (st_read_done_worker, st_write_done_worker): Likewise.
      	* io/unix.c (mem_close): Likewise.
      ca2f64d5
    • Jerry DeLisle's avatar
      Fortran: Reject semicolon after namelist name. · d46b3db4
      Jerry DeLisle authored
      	PR fortran/109662
      
      libgfortran/ChangeLog:
      
      	* io/list_read.c: Add check for a semicolon after a namelist
      	name in read input. Issue a runtime error message.
      
      gcc/testsuite/ChangeLog:
      
      	* gfortran.dg/pr109662-a.f90: New test.
      d46b3db4
  13. May 07, 2023
  14. May 06, 2023
  15. Mar 01, 2023
  16. Feb 28, 2023
    • Jerry DeLisle's avatar
      Fortran: Eliminate nuisance warnings by initializing. · c1375d97
      Jerry DeLisle authored
      Set sstride[0] and mstride[0] to zero, eliminating some warnings.
      
      libgfortran/ChangeLog:
      
      	* generated/pack_c10.c (pack_c10): Regenerated.
      	* generated/pack_c16.c (pack_c16): Regenerated.
      	* generated/pack_c17.c (pack_c17): Regenerated.
      	* generated/pack_c4.c (pack_c4): Regenerated.
      	* generated/pack_c8.c (pack_c8): Regenerated.
      	* generated/pack_i1.c (pack_i1): Regenerated.
      	* generated/pack_i16.c (pack_i16): Regenerated.
      	* generated/pack_i2.c (pack_i2): Regenerated.
      	* generated/pack_i4.c (pack_i4): Regenerated.
      	* generated/pack_i8.c (pack_i8): Regenerated.
      	* generated/pack_r10.c (pack_r10): Regenerated.
      	* generated/pack_r16.c (pack_r16): Regenerated.
      	* generated/pack_r17.c (pack_r17): Regenerated.
      	* generated/pack_r4.c (pack_r4): Regenerated.
      	* generated/pack_r8.c (pack_r8): Regenerated.
      	* generated/spread_c10.c (spread_c10): Regenerated.
      	* generated/spread_c16.c (spread_c16): Regenerated.
      	* generated/spread_c17.c (spread_c17): Regenerated.
      	* generated/spread_c4.c (spread_c4): Regenerated.
      	* generated/spread_c8.c (spread_c8): Regenerated.
      	* generated/spread_i1.c (spread_i1): Regenerated.
      	* generated/spread_i16.c (spread_i16): Regenerated.
      	* generated/spread_i2.c (spread_i2): Regenerated.
      	* generated/spread_i4.c (spread_i4): Regenerated.
      	* generated/spread_i8.c (spread_i8): Regenerated.
      	* generated/spread_r10.c (spread_r10): Regenerated.
      	* generated/spread_r16.c (spread_r16): Regenerated.
      	* generated/spread_r17.c (spread_r17): Regenerated.
      	* generated/spread_r4.c (spread_r4): Regenerated.
      	* generated/spread_r8.c (spread_r8): Regenerated.
      	* intrinsics/execute_command_line.c (execute_command_line_i4),
      	(execute_command_line_i8): Set estat_initial to zero.
      	* intrinsics/pack_generic.c (pack_internal): Set sstride[0] and
      	mstride[0] to zero.
      	* intrinsics/spread_generic.c (spread_internal): Set sstride[0].
      	* m4/pack.m4: Set sstride[0] and mstride[0].
      	* m4/spread.m4: Set sstride[0].
      c1375d97
  17. Jan 19, 2023
  18. Jan 18, 2023
    • Tobias Burnus's avatar
      libfortran: Fix execute_command_line for Windows · 8e2c6e7b
      Tobias Burnus authored
      On Windows, 'system' is called - that fails with -1 if the command
      interpreter could not be started; on POSIX systems, if the child
      process could not be started by the shell, exit(127)/_exit(127) is
      called/returned. On Windows, cmd.exe (and also the PowerShell) return
      errorlevel 9009.
      
      libgfortran/ChangeLog:
      
      	* intrinsics/execute_command_line.c (execute_command_line): On
      	Windows, regard system()'s return value of 9009 as EXEC_INVALIDCOMMAND.
      8e2c6e7b
  19. Jan 16, 2023
  20. Jan 08, 2023
  21. Jan 07, 2023
    • LIU Hao's avatar
      Always define `WIN32_LEAN_AND_MEAN` before <windows.h> · 902c7559
      LIU Hao authored
      Recently, mingw-w64 has got updated <msxml.h> from Wine which is included
      indirectly by <windows.h> if `WIN32_LEAN_AND_MEAN` is not defined. The
      `IXMLDOMDocument` class has a member function named `abort()`, which gets
      affected by our `abort()` macro in "system.h".
      
      `WIN32_LEAN_AND_MEAN` should, nevertheless, always be defined. This
      can exclude 'APIs such as Cryptography, DDE, RPC, Shell, and Windows
      Sockets' [1], and speed up compilation of these files a bit.
      
      [1] https://learn.microsoft.com/en-us/windows/win32/winprog/using-the-windows-headers
      
      gcc/
      
      	PR middle-end/108300
      	* config/xtensa/xtensa-dynconfig.c: Define `WIN32_LEAN_AND_MEAN`
      	before <windows.h>.
      	* diagnostic-color.cc: Likewise.
      	* plugin.cc: Likewise.
      	* prefix.cc: Likewise.
      
      gcc/ada/
      
      	PR middle-end/108300
      	* adaint.c: Define `WIN32_LEAN_AND_MEAN` before `#include
      	<windows.h>`.
      	* cio.c: Likewise.
      	* ctrl_c.c: Likewise.
      	* expect.c: Likewise.
      	* gsocket.h: Likewise.
      	* mingw32.h: Likewise.
      	* mkdir.c: Likewise.
      	* rtfinal.c: Likewise.
      	* rtinit.c: Likewise.
      	* seh_init.c: Likewise.
      	* sysdep.c: Likewise.
      	* terminals.c: Likewise.
      	* tracebak.c: Likewise.
      
      gcc/jit/
      
      	PR middle-end/108300
      	* jit-w32.h: Define `WIN32_LEAN_AND_MEAN` before <windows.h>.
      
      libatomic/
      
      	PR middle-end/108300
      	* config/mingw/lock.c: Define `WIN32_LEAN_AND_MEAN` before
      	<windows.h>.
      
      libffi/
      
      	PR middle-end/108300
      	* src/aarch64/ffi.c: Define `WIN32_LEAN_AND_MEAN` before
      	<windows.h>.
      
      libgcc/
      
      	PR middle-end/108300
      	* config/i386/enable-execute-stack-mingw32.c: Define
      	`WIN32_LEAN_AND_MEAN` before <windows.h>.
      	* libgcc2.c: Likewise.
      	* unwind-generic.h: Likewise.
      
      libgfortran/
      
      	PR middle-end/108300
      	* intrinsics/sleep.c: Define `WIN32_LEAN_AND_MEAN` before
      	<windows.h>.
      
      libgomp/
      
      	PR middle-end/108300
      	* config/mingw32/proc.c: Define `WIN32_LEAN_AND_MEAN` before
      	<windows.h>.
      
      libiberty/
      
      	PR middle-end/108300
      	* make-temp-file.c: Define `WIN32_LEAN_AND_MEAN` before <windows.h>.
      	* pex-win32.c: Likewise.
      
      libssp/
      
      	PR middle-end/108300
      	* ssp.c: Define `WIN32_LEAN_AND_MEAN` before <windows.h>.
      
      libstdc++-v3/
      
      	PR middle-end/108300
      	* src/c++11/system_error.cc: Define `WIN32_LEAN_AND_MEAN` before
      	<windows.h>.
      	* src/c++11/thread.cc: Likewise.
      	* src/c++17/fs_ops.cc: Likewise.
      	* src/filesystem/ops.cc: Likewise.
      
      libvtv/
      
      	PR middle-end/108300
      	* vtv_malloc.cc: Define `WIN32_LEAN_AND_MEAN` before <windows.h>.
      	* vtv_rts.cc: Likewise.
      	* vtv_utils.cc: Likewise.
      902c7559
  22. Jan 01, 2023
  23. Dec 16, 2022
  24. Dec 15, 2022
    • Tobias Burnus's avatar
      libgfortran's ISO_Fortran_binding.c: Use GCC11 version for backward-only code [PR108056] · e205ec03
      Tobias Burnus authored
      Since GCC 12, the conversion between the array descriptors formats - the
      internal (GFC) and the C binding one (CFI) - moved to the compiler itself
      such that the cfi_desc_to_gfc_desc/gfc_desc_to_cfi_desc functions are only
      used with older code (GCC 9 to 11).  The newly added checks caused asserts
      as older code did not pass the proper values (e.g. real(4) as effective
      argument arrived as BT_ASSUME type as the effective type got lost inbetween).
      
      As proposed in the PR, revert to the GCC 11 version - known bugs is better
      than some fixes and new issues. Still, GCC 12 is much better in terms of
      TS29113 support and should really be used.
      
      This patch uses the current libgomp version of the GCC 11 branch, except
      it fixes the GFC version number (which is 0), uses calloc instead of malloc,
      and sets the lower bound to 1 instead of keeping it as is for
      CFI_attribute_other.
      
      libgfortran/ChangeLog:
      
      	PR libfortran/108056
      	* runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc,
      	gfc_desc_to_cfi_desc): Mostly revert to GCC 11 version for
      	those backward-compatiblity-only functions.
      e205ec03
  25. Oct 13, 2022
  26. Oct 12, 2022
    • Martin Liska's avatar
      regenerate configure files · 6d2294a8
      Martin Liska authored
      Needed after a recent change.
      
      gcc/ChangeLog:
      
      	* configure: Regenerate.
      
      libatomic/ChangeLog:
      
      	* configure: Regenerate.
      
      libbacktrace/ChangeLog:
      
      	* configure: Regenerate.
      
      libcc1/ChangeLog:
      
      	* configure: Regenerate.
      
      libffi/ChangeLog:
      
      	* configure: Regenerate.
      
      libgfortran/ChangeLog:
      
      	* configure: Regenerate.
      
      libgomp/ChangeLog:
      
      	* configure: Regenerate.
      
      libitm/ChangeLog:
      
      	* configure: Regenerate.
      
      libobjc/ChangeLog:
      
      	* configure: Regenerate.
      
      liboffloadmic/ChangeLog:
      
      	* configure: Regenerate.
      	* plugin/configure: Regenerate.
      
      libphobos/ChangeLog:
      
      	* configure: Regenerate.
      
      libquadmath/ChangeLog:
      
      	* configure: Regenerate.
      
      libsanitizer/ChangeLog:
      
      	* configure: Regenerate.
      
      libssp/ChangeLog:
      
      	* configure: Regenerate.
      
      libstdc++-v3/ChangeLog:
      
      	* configure: Regenerate.
      
      libvtv/ChangeLog:
      
      	* configure: Regenerate.
      
      lto-plugin/ChangeLog:
      
      	* configure: Regenerate.
      
      zlib/ChangeLog:
      
      	* configure: Regenerate.
      6d2294a8
    • GCC Administrator's avatar
      Daily bump. · ab332cd7
      GCC Administrator authored
      ab332cd7
  27. Oct 11, 2022
    • Olivier Hainque's avatar
      Generic configury support for shared libs on VxWorks · 0ecd0f1c
      Olivier Hainque authored
      This change adds the configury bits to activate the build of
      shared libs on VxWorks ports configured with --enable-shared,
      for libraries variants where this is generally supported (rtp,
      code model !large - currently not compatible with -fPIC).
      
      Set lt_cv_deplibs_check_method in libtool.m4, so the build of
      libraries know how to establish dependencies.  This is useful in
      configurations such as aarch64 where proper support of LSE relies
      on accurate dependency information between libstdc++ and libgcc_s
      to begin with.
      
      Regenerate configure scripts to reflect libtool.m4 change.
      
      2022-10-09  Olivier Hainque  <hainque@adacore.com>
      
      	* libtool.m4 (*vxworks*): When enable_shared, set dynamic_linker
      	and friends for rtp !large. Assume the linker has the required
      	abilities and set lt_cv_deplibs_check_method.
      
      gcc/
      	* config.gcc (*vxworks*): Add t-slibgcc fragment
      	if enable_shared.
      
      libgcc/
      	* config.host (*vxworks*): When enable_shared, add
      	libgcc and crtstuff "shared" fragments for rtp except
      	large code model.
      	(aarch64*-wrs-vxworks7*): Remove t-slibgcc-libgcc from
      	the list of fragments.
      
      2022-10-09  Olivier Hainque  <hainque@adacore.com>
      
      gcc/
      	* configure: Regenerate.
      
      libatomic/
      	* configure: Regenerate.
      
      libbacktrace/
      	* configure: Regenerate.
      
      libcc1/
      	* configure: Regenerate.
      
      libffi/
      	* configure: Regenerate.
      
      libgfortran/
      	* configure: Regenerate.
      
      libgomp/
      	* configure: Regenerate.
      
      libitm/
      	* configure: Regenerate.
      
      libobjc/
      	* configure: Regenerate.
      
      liboffloadmic/
      	* configure: Regenerate.
      
      liboffloadmic/
      	* plugin/configure: Regenerate.
      
      libphobos/
      	* configure: Regenerate.
      
      libquadmath/
      	* configure: Regenerate.
      
      libsanitizer/
      	* configure: Regenerate.
      
      libssp/
      	* configure: Regenerate.
      
      libstdc++-v3/
      	* configure: Regenerate.
      
      libvtv/
      	* configure: Regenerate.
      
      lto-plugin/
      	* configure: Regenerate.
      
      zlib/
      	* configure: Regenerate.
      0ecd0f1c
    • GCC Administrator's avatar
      Daily bump. · 27bfe54e
      GCC Administrator authored
      27bfe54e
  28. Oct 10, 2022
  29. Sep 22, 2022
Loading