Skip to content
Snippets Groups Projects
  1. Nov 19, 2024
  2. Nov 18, 2024
    • David Malcolm's avatar
      libdiagnostics: add a "sarif-replay" command-line tool [PR96032] · ea1506ad
      David Malcolm authored
      
      This patch adds a new "sarif-replay" command-line tool for
      viewing .sarif files.  It uses libdiagnostics to "replay"
      any diagnostics found in the .sarif files in text form as if
      they were GCC diagnostics.
      
      contrib/ChangeLog:
      	PR other/96032
      	* regenerate-sarif-spec-index.py: New file.
      
      gcc/ChangeLog:
      	PR other/96032
      	* Makefile.in (lang_checks): If libdiagnostics is enabled, add
      	check-sarif-replay.
      	(SARIF_REPLAY_OBJS): New.
      	(ALL_HOST_OBJS): If libdiagnostics is enabled, add
      	$(SARIF_REPLAY_OBJS).
      	(sarif-replay): New.
      	(install-libdiagnostics): Add sarif-replay to deps, and install
      	it.
      	* configure: Regenerate.
      	* configure.ac (check_languages): If libdiagnostics is enabled,
      	add check-sarif-replay.
      	(LIBDIAGNOSTICS): If libdiagnostics is enabled, add sarif-replay.
      	* doc/install.texi (--enable-libdiagnostics): Note that it also
      	enables sarif-replay.
      	* libsarifreplay.cc: New file.
      	* libsarifreplay.h: New file.
      	* sarif-replay.cc: New file.
      	* sarif-spec-urls.def: New file.
      
      gcc/testsuite/ChangeLog:
      	PR other/96032
      	* lib/gcc-dg.exp (gcc-dg-test-1): Add "replay-sarif".
      	* lib/sarif-replay-dg.exp: New file.
      	* lib/sarif-replay.exp: New file.
      	* sarif-replay.dg/2.1.0-invalid/3.1-not-an-object.sarif: New test.
      	* sarif-replay.dg/2.1.0-invalid/3.11.11-malformed-placeholder.sarif:
      	New test.
      	* sarif-replay.dg/2.1.0-invalid/3.11.11-missing-arguments-for-placeholders.sarif:
      	New test.
      	* sarif-replay.dg/2.1.0-invalid/3.11.11-not-enough-arguments-for-placeholders.sarif:
      	New test.
      	* sarif-replay.dg/2.1.0-invalid/3.13.2-no-version.sarif: New test.
      	* sarif-replay.dg/2.1.0-invalid/3.13.2-version-not-a-string.sarif:
      	New test.
      	* sarif-replay.dg/2.1.0-invalid/3.13.4-bad-runs.sarif: New test.
      	* sarif-replay.dg/2.1.0-invalid/3.13.4-no-runs.sarif: New test.
      	* sarif-replay.dg/2.1.0-invalid/3.13.4-non-object-in-runs.sarif:
      	New test.
      	* sarif-replay.dg/2.1.0-invalid/3.27.10-bad-level.sarif: New test.
      	* sarif-replay.dg/2.1.0-unhandled/3.27.10-none-level.sarif: New test.
      	* sarif-replay.dg/2.1.0-valid/error-with-note.sarif: New test.
      	* sarif-replay.dg/2.1.0-valid/escaped-braces.sarif: New test.
      	* sarif-replay.dg/2.1.0-valid/null-runs.sarif: New test.
      	* sarif-replay.dg/2.1.0-valid/signal-1.c.sarif: New test.
      	* sarif-replay.dg/2.1.0-valid/spec-example-1.sarif: New test.
      	* sarif-replay.dg/2.1.0-valid/spec-example-2.sarif: New test.
      	* sarif-replay.dg/2.1.0-valid/spec-example-3.sarif: New test.
      	* sarif-replay.dg/2.1.0-valid/spec-example-4.sarif: New test.
      	* sarif-replay.dg/2.1.0-valid/tutorial-example.sarif: New test.
      	* sarif-replay.dg/dg.exp: New script.
      	* sarif-replay.dg/malformed-json/array-missing-comma.sarif: New test.
      	* sarif-replay.dg/malformed-json/array-with-trailing-comma.sarif:
      	New test.
      	* sarif-replay.dg/malformed-json/bad-token.sarif: New test.
      	* sarif-replay.dg/malformed-json/object-missing-comma.sarif: New test.
      	* sarif-replay.dg/malformed-json/object-with-trailing-comma.sarif:
      	New test.
      
      Signed-off-by: default avatarDavid Malcolm <dmalcolm@redhat.com>
      ea1506ad
    • GCC Administrator's avatar
      Daily bump. · 24da8634
      GCC Administrator authored
      24da8634
  3. Nov 17, 2024
    • Jason Merrill's avatar
      libstdc++: add module std [PR106852] · 7db55c0b
      Jason Merrill authored
      This patch introduces an installed source form of module std and std.compat.
      To help a build system find them, we install a libstdc++.modules.json file
      alongside libstdc++.so, which tells the build system where the files are and
      any special flags it should use when compiling them (none, in this case).
      The format is from a proposal in SG15.  The build system can find this file
      with 'gcc -print-file-name=libstdc++.modules.json'.
      
      It seems preferable to use a relative path from this file to the sources so
      that moving the installation doesn't break the reference, but I didn't see
      any obvious way to compute that without relying on coreutils, perl, or
      python, so I wrote a POSIX shell script for it.  The .. canonicalization
      bits aren't necessary since I discovered $(abspath), but I guess I might as
      well leave them in.
      
      Currently this installs the sources under $(gxx_include_dir)/bits/,
      i.e. /usr/include/c++/15/bits.  So with my -fsearch-include-path change,
      std.cc can be compiled with g++ -fsearch-include-path bits/std.cc.  Note
      that if someone actually tries to #include <bits/std.cc> it will fail with
      "error: module control-line cannot be in included file".
      
      Any ideas about a more user-friendly way to express "compile module std" are
      welcome.
      
      The sources currently have the extension .cc, like other source files.
      
      std.cc started with m.cencora's implementation in PR114600.  I've made some
      adjustments, but more is probably desirable, e.g. of the <algorithm>
      handling of namespace ranges, and to remove exports of templates that are
      only specialized in a particular header.  I've filled in a bunch of missing
      exports, and added some FIXMEs where I noticed bits that are not implemented
      yet.
      
      Since bits/stdc++.h also intends to include the whole standard library, I
      include it rather than duplicate it.  But stdc++.h comments out <execution>,
      due to TBB issues; I include it separately and suppress TBB usage, so module
      std won't currently provide parallel execution.
      
      It seemed most convenient for the two files to be monolithic so we don't
      need to worry about include paths.  So the C library names that module
      std.compat exports in both namespace std and :: are a block of code that is
      appended to both files, adjusted based on whether the macro STD_COMPAT is
      defined before the block.
      
      In this implementation std.compat imports std; it would also be valid for it
      to duplicate everything in std.  I see the libc++ std.compat also imports
      std.
      
      As discussed in the PR, module std is supported in C++20 mode even though it
      was added in C++23.
      
      Changes to test module std will follow in a separate patch.  In my testing
      I've noticed a few compiler bugs that break various testcases, so I don't
      expect to enable module std testing by default at first.
      
      	PR libstdc++/106852
      
      libstdc++-v3/ChangeLog:
      
      	* include/bits/version.def: Add __cpp_lib_modules.
      	* include/bits/version.h: Regenerate.
      	* src/c++23/Makefile.am: Add modules std and std.compat.
      	* src/c++23/Makefile.in: Regenerate.
      	* src/c++23/std-clib.cc.in: New file.
      	* src/c++23/std.cc.in: New file.
      	* src/c++23/std.compat.cc.in: New file.
      	* src/c++23/libstdc++.modules.json.in: New file.
      
      contrib/ChangeLog:
      
      	* relpath.sh: New file.
      7db55c0b
  4. Nov 14, 2024
  5. Nov 09, 2024
    • GCC Administrator's avatar
      Daily bump. · 3ff87b18
      GCC Administrator authored
      3ff87b18
    • Jakub Jelinek's avatar
      contrib: Add 2 further ignored commits · 7ffda969
      Jakub Jelinek authored
      r15-4998 and r15-5004 had wrong commit message, add those to
      ignored commits.  ChangeLog will need to be added manually.
      
      2024-11-09  Jakub Jelinek  <jakub@redhat.com>
      
      	* gcc-changelog/git_update_version.py (ignored_commits): Add 2
      	further commits.
      7ffda969
    • Andi Kleen's avatar
      Update gcc-auto-profile / gen_autofdo_event.py · 9c8f3d5e
      Andi Kleen authored
      - Fix warnings with newer python versions about bad escapes by
      making all the python string raw.
      - Add a fallback for using the builtin perf event list if the
      CPU model number is unknown.
      - Regenerate the shipped gcc-auto-profile with the changes.
      
      contrib/ChangeLog:
      
      	* gen_autofdo_event.py: Convert strings to raw.
      	Add fallback to using builtin perf event list.
      
      gcc/ChangeLog:
      
      	* config/i386/gcc-auto-profile: Regenerate.
      9c8f3d5e
  6. Oct 10, 2024
  7. Oct 09, 2024
  8. Oct 08, 2024
    • Jakub Jelinek's avatar
      contrib, libcpp, libstdc++: Update to Unicode 16.0 · d0e8f58b
      Jakub Jelinek authored
      It is autumn again and there is a new Unicode version 16.0.
      
      The following patch updates our Unicode stuff in contrib, libcpp and
      libstdc++ from that Unicode version.
      
      2024-10-08  Jakub Jelinek  <jakub@redhat.com>
      
      contrib/
      	* unicode/README: Update glibc git commit hash, replace
      	Unicode 15 or 15.1 versions with 16.
      	* unicode/gen_libstdcxx_unicode_data.py: Use 160000 instead of
      	150100 in _GLIBCXX_GET_UNICODE_DATA test.
      	* unicode/from_glibc/utf8_gen.py: Updated from glibc
      	064c708c78cc2a6b5802dce73108fc0c1c6bfc80 commit.
      	* unicode/DerivedCoreProperties.txt: Updated from Unicode 16.0.
      	* unicode/emoji-data.txt: Likewise.
      	* unicode/PropList.txt: Likewise.
      	* unicode/GraphemeBreakProperty.txt: Likewise.
      	* unicode/DerivedNormalizationProps.txt: Likewise.
      	* unicode/NameAliases.txt: Likewise.
      	* unicode/UnicodeData.txt: Likewise.
      	* unicode/EastAsianWidth.txt: Likewise.
      gcc/testsuite/
      	* c-c++-common/cpp/named-universal-char-escape-1.c: Add tests
      	for some Unicode 16.0 characters, both normal and generated.
      libcpp/
      	* makeucnid.cc (write_copyright): Update Unicode Copyright years.
      	* makeuname2c.cc (generated_ranges): Adjust Unicode version from 15.1
      	to 16.0.  Add EGYPTIAN HIEROGLYPH- generated range, adjust indexes in
      	following entries.
      	(write_copyright): Update Unicode Copyright years.
      	* generated_cpp_wcwidth.h: Regenerated.
      	* ucnid.h: Regenerated.
      	* uname2c.h: Regenerated.
      libstdc++-v3/
      	* include/bits/unicode.h (std::__unicode::__v15_1_0): Rename inline
      	namespace to ...
      	(std::__unicode::__v16_0_0): ... this.
      	(_GLIBCXX_GET_UNICODE_DATA): Change from 150100 to 160000.
      	* include/bits/unicode-data.h: Regenerated.
      	* testsuite/ext/unicode/properties.cc: Check for _Gcb_SpacingMark
      	on U+11F03 rather than U+1D16D as the latter lost SpacingMark property
      	in Unicode 16.0.
      d0e8f58b
  9. Sep 19, 2024
  10. Sep 18, 2024
    • Filip Kastl's avatar
      contrib: Set check-params-in-docs.py to skip tables of values of a param · 4b7e6d5f
      Filip Kastl authored
      
      Currently check-params-in-docs.py reports extra params being listed in
      invoke.texi.  However, those aren't actual params but items in a table of
      possible values of the aarch64-autove-preference param.
      
      This patch changes check-params-in-docs.py to ignore similar tables.
      
      contrib/ChangeLog:
      
      	* check-params-in-docs.py: Skip tables of values of a param.
      	Remove code that skips items beginning with a number.
      
      Signed-off-by: default avatarFilip Kastl <fkastl@suse.cz>
      4b7e6d5f
  11. Aug 02, 2024
  12. Aug 01, 2024
    • Thomas Schwinge's avatar
      Rust: Move 'libformat_parser' build into libgrust · 8e284d02
      Thomas Schwinge authored
      Addresses #2883.
      
      	contrib/
      	* gcc_update (files_and_dependencies): Update for
      	'libformat_parser' in libgrust.
      	gcc/rust/
      	* Make-lang.in (LIBFORMAT_PARSER): Point to 'libformat_parser'
      	build in libgrust.
      	(%.toml:, $(LIBFORMAT_PARSER):): Remove.
      	libgrust/
      	* libformat_parser/Makefile.am: New.
      	* Makefile.am [!TARGET_LIBRARY] (SUBDIRS): Add 'libformat_parser'.
      	* configure.ac: Handle it.
      	(TARGET_LIBRARY): New 'AM_CONDITIONAL'.
      	* libformat_parser/Makefile.in: Generate.
      	* Makefile.in: Regenerate.
      	* configure: Likewise.
      8e284d02
  13. Jul 20, 2024
  14. Jul 19, 2024
    • Richard Biener's avatar
      Close GCC 11 branch · a589d3bf
      Richard Biener authored
      Remove gcc-11 branch from updating and snapshot generating
      
      contrib/
      	* gcc-changelog/git_update_version.py: Remove gcc-11 branch.
      
      maintainer-scripts/
      	* crontab: Remove entry for gcc-11 branch.
      a589d3bf
  15. Jul 14, 2024
  16. Jul 13, 2024
    • Richard Sandiford's avatar
      Add gcc.gnu.org account names to MAINTAINERS · 6fc24a02
      Richard Sandiford authored
      As discussed in the thread starting at:
      
        https://gcc.gnu.org/pipermail/gcc/2024-June/244199.html
      
      it would be useful to have the @gcc.gnu.org bugzilla account names
      in MAINTAINERS.  This is because:
      
      (a) Not every non-@gcc.gnu.org email listed in MAINTAINERS is registered
          as a bugzilla user.
      
      (b) Only @gcc.gnu.org accounts tend to have full rights to modify tickets.
      
      (c) A maintainer's name and email address aren't always enough to guess
          the bugzilla account name.
      
      (d) The users list on bugzilla has many blank entries for "real name".
      
      However, including @gcc.gnu.org to the account name might encourage
      people to use it for ordinary email, rather than just for bugzilla.
      This patch goes for the compromise of using the unqualified account
      name, with some text near the top of the file to explain its usage.
      
      There isn't room in the area maintainer sections for a new column,
      so it seemed better to have the account name only in the Write
      After Approval section.  It's then necessary to list all maintainers
      there, even if they have more specific roles as well.
      
      Also, there were some entries that didn't line up with the
      prevailing columns (they had one tab too many or one tab too few).
      It seemed easier to check for and report this, and other things,
      if the file used spaces rather than tabs.
      
      There was one instance of an email address without the trailing ">".
      The updates to check-MAINTAINERS.py includes a test for that.
      
      The account names in the file were taken from a trawl of the
      gcc-cvs archives, with a very small number of manual edits for
      ambiguities.  There are a handful of names that I couldn't find;
      the new column has "-" for those.  The names were then filtered
      against the bugzilla @gcc.gnu.org user list, with those not
      present again being blanked out with "-".
      
      ChangeLog:
      	* MAINTAINERS: Replace tabs with spaces.  Add a bugzilla account
      	name column to the Write After Approval section.  Line up the
      	email column and fix an entry that was missing the trailing ">".
      
      contrib/ChangeLog:
      	* check-MAINTAINERS.py (sort_by_surname): Replace with...
      	(get_surname): ...this.
      	(has_tab, is_empty): Delete.
      	(check_group): Take a list of column positions as argument.
      	Check that lines conform to these column numbers.  Check that the
      	final column is an email in angle brackets.  Record surnames on
      	the fly.
      	(top level): Reject tabs.  Use paragraph counts to identify which
      	groups of lines should be checked.  Report missing sections.
      6fc24a02
  17. Jun 06, 2024
  18. Jun 05, 2024
  19. May 22, 2024
  20. May 21, 2024
    • Tobias Burnus's avatar
      contrib/gcc-changelog/git_update_version.py: Improve diagnostic · 9596f656
      Tobias Burnus authored
      contrib/ChangeLog:
      
      	* gcc-changelog/git_update_version.py: Add '-i'/'--ignore' argument
      	to add to-be-ignored commits via the command line.
      	(ignored_commits): Rename from IGNORED_COMMITS and change
      	type from tuple to set.
      	(prepend_to_changelog_files): Show git hash if errors occurred.
      	(update_current_branch): Mark argument as optional by defaulting
      	to None.
      9596f656
  21. May 15, 2024
  22. May 14, 2024
    • Filip Kastl's avatar
      MAINTAINERS: Fix an entry using spaces instead of tabs · 1a809280
      Filip Kastl authored
      
      In the MAINTAINERS file, names and emails are separated by tabs.  One of
      the entries recently added used spaces.  This patch corrects this.
      
      The check-MAINTAINERS.py script breaks a bit when this happens.  This
      patch also adds warning about this situation into the script.
      
      ChangeLog:
      
      	* MAINTAINERS: Use tabs between name and email.
      
      contrib/ChangeLog:
      
      	* check-MAINTAINERS.py: Add warning about not using tabs.
      
      Signed-off-by: default avatarFilip Kastl <fkastl@suse.cz>
      1a809280
  23. May 13, 2024
  24. May 09, 2024
  25. May 07, 2024
    • Rainer Orth's avatar
      build: Derive object names in make_sunver.pl · 35b05a02
      Rainer Orth authored
      The recent move of libgfortran object files to subdirs and the resulting
      breakage of libgfortran.so symbol exports demonstrated how fragile
      deriving object and archive names from their libtool counterparts in the
      Makefiles is.  Therefore, this patch moves that step into
      make_sunver.pl, considerably simplifying the Makefile rules to create
      the version scripts.
      
      Bootstrapped without regressions on i386-pc-solaris2.11 and
      sparc-sun-solaris2.11, verifying that the version scripts are identical
      except for the input filenames.
      
      2024-05-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
      
      	contrib:
      	* make_sunver.pl: Use File::Basename;
      	Skip -lLIB args.
      	Convert libtool object/archive names to underlying
      	objects/archives.
      
      	libatomic:
      	* Makefile.am [LIBAT_BUILD_VERSIONED_SHLIB_SUN]
      	(libatomic.map-sun): Pass $(libatomic_la_OBJECTS),
      	$(libatomic_la_LIBADD) to make_sunver.pl unmodified.
      	* Makefile.in: Regenerate.
      
      	libffi:
      	* Makefile.am [LIBFFI_BUILD_VERSIONED_SHLIB_SUN] (libffi.map-sun):
      	Pass $(libffi_la_OBJECTS), $(libffi_la_LIBADD) to make_sunver.pl
      	unmodified.
      	* Makefile.in: Regenerate.
      
      	libgfortran:
      	* Makefile.am [LIBGFOR_USE_SYMVER_SUN} (gfortran.ver-sun): Pass
      	$(libgfortran_la_OBJECTS), $(libgfortran_la_LIBADD) to
      	make_sunver.pl unmodified.
      	* Makefile.in: Regenerate.
      
      	libgomp:
      	* Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]
      	(libgomp.ver-sun): Pass $(libgomp_la_OBJECTS),
      	$(libgomp_la_LIBADD) to make_sunver.pl unmodified.
      	* Makefile.in: Regenerate.
      
      	libitm:
      	* Makefile.am [LIBITM_BUILD_VERSIONED_SHLIB_SUN] (libitm.map-sun):
      	Pass $(libitm_la_OBJECTS), $(libitm_la_LIBADD) to make_sunver.pl
      	unmodified.
      	* Makefile.in: Regenerate.
      
      	libquadmath:
      	* Makefile.am [LIBQUAD_USE_SYMVER_SUN] (quadmath.map-sun): Pass
      	$(libquadmath_la_OBJECTS), $(libquadmath_la_LIBADD) to
      	make_sunver.pl unmodified.
      	* Makefile.in: Regenerate.
      
      	libssp:
      	* Makefile.am [LIBSSP_USE_SYMVER_SUN] (ssp.map-sun): Pass
      	$(libssp_la_OBJECTS), $(libssp_la_LIBADD) to make_sunver.pl
      	unmodified.
      	* Makefile.in: Regenerate.
      
      	libstdc++-v3:
      	* src/Makefile.am [ENABLE_SYMVERS_SUN]
      	(libstdc++-symbols.ver-sun): Pass $(libstdc___la_OBJECTS),
      	$(libstdc___la_LIBADD) to make_sunver.pl unmodified.
      	* src/Makefile.in: Regenerate.
      35b05a02
    • Jakub Jelinek's avatar
      Update gennews for GCC 14. · 7ee3f769
      Jakub Jelinek authored
      2024-05-07  Jakub Jelinek  <jakub@redhat.com>
      
      	* gennews (files): Add files for GCC 14.
      7ee3f769
    • GCC Administrator's avatar
      Daily bump. · f56280d5
      GCC Administrator authored
      f56280d5
  26. May 06, 2024
  27. Apr 27, 2024
  28. Apr 26, 2024
    • Jakub Jelinek's avatar
      Update crontab and git_update_version.py · 036aad9d
      Jakub Jelinek authored
      2024-04-26  Jakub Jelinek  <jakub@redhat.com>
      
      maintainer-scripts/
      	* crontab: Snapshots from trunk are now GCC 15 related.
      	Add GCC 14 snapshots from the respective branch.
      contrib/
      	* gcc-changelog/git_update_version.py (active_refs): Add
      	releases/gcc-14.
      036aad9d
Loading