Skip to content
Snippets Groups Projects
  1. Mar 20, 2024
  2. Mar 19, 2024
    • Jonathan Wakely's avatar
      libstdc++: Fix Python scripts to output the correct filename · ef2efc53
      Jonathan Wakely authored
      These scripts both print "generated by $file, do not edit" header but
      one of them prints the wrong filename. Use the built-in __file__
      attribute to ensure it's correct.
      
      contrib/ChangeLog:
      
      	* unicode/gen_libstdcxx_unicode_data.py: Fix header of generated
      	file to name the correct script.
      
      libstdc++-v3/ChangeLog:
      
      	* include/bits/text_encoding-data.h: Regenerate.
      	* include/bits/unicode-data.h: Regenerate.
      	* scripts/gen_text_encoding_data.py: Fix header of generated
      	file to name the correct script.
      ef2efc53
    • GCC Administrator's avatar
      Daily bump. · 23409731
      GCC Administrator authored
      23409731
  3. Mar 18, 2024
    • Jonathan Wakely's avatar
      gcc_update: Add missing generated files · fd776d09
      Jonathan Wakely authored
      I'm seeing errors for --enable-maintainer-mode builds due to incorrectly
      regenerating these files. They should be touched by gcc_update so they
      aren't regenerated incorrectly.
      
      contrib/ChangeLog:
      
      	* gcc_update: Add more generated files in libcc1, lto-plugin,
      	fixincludes, and libstdc++-v3.
      fd776d09
  4. Mar 09, 2024
  5. Mar 08, 2024
  6. Mar 07, 2024
  7. Mar 02, 2024
  8. Mar 01, 2024
  9. Feb 29, 2024
  10. Feb 24, 2024
  11. Feb 23, 2024
    • Richard Biener's avatar
      Add ia64*-*-* to the list of obsolete targets · bff1cbf2
      Richard Biener authored
      The following deprecates ia64*-*-* for GCC 14.  Since we plan to
      force LRA for GCC 15 and the target only has slim chances of getting
      updated this notifies people in advance.  Given both Linux and
      glibc have axed the target further development is also made difficult.
      There is no listed maintainer for ia64 either.
      
      	PR target/90785
      gcc/
      	* config.gcc: Add ia64*-*-* to the list of obsoleted targets.
      
      contrib/
      	* config-list.mk (LIST): --enable-obsolete for ia64*-*-*.
      bff1cbf2
  12. Feb 06, 2024
  13. Feb 05, 2024
    • Jakub Jelinek's avatar
      contrib: Fill in HOST{CC,CFLAGS,CXX,CXXFLAGS} in test_installed · 62babed5
      Jakub Jelinek authored
      gcc/Makefile.in since my r0-60234 change fills in HOSTCC and HOSTCFLAGS
      in site.exp and since r8-671 also HOSTCXX and HOSTCXXFLAGS.
      If those variables aren't set, we get errors like:
      /usr/src/gcc/contrib/test_installed --without-g++ --without-gfortran --without-objc struct-layout-1.exp
      ...
      ERROR: tcl error sourcing /usr/src/gcc/gcc/testsuite/gcc.dg/compat/struct-layout-1.exp.
      ERROR: tcl error code TCL LOOKUP VARNAME HOSTCC
      ERROR: can't read "HOSTCC": no such variable
          while executing
      "remote_exec build "$HOSTCC $HOSTCFLAGS $generator_cmd""
          (file "/usr/src/gcc/gcc/testsuite/gcc.dg/compat/struct-layout-1.exp" line 96)
          invoked from within
      "source /usr/src/gcc/gcc/testsuite/gcc.dg/compat/struct-layout-1.exp"
          ("uplevel" body line 1)
          invoked from within
      "uplevel #0 source /usr/src/gcc/gcc/testsuite/gcc.dg/compat/struct-layout-1.exp"
          invoked from within
      "catch "uplevel #0 source $test_file_name" msg"
      
      (similarly in g++ or gfortran) struct-layout-1.exp.  One doesn't need to
      test specially for just struct-layout-1.exp alone, just not using any arg
      will trigger it as well, just later.
      
      The following patch fills it in as cc and c++ with empty flags to compile
      those, I believe that is what e.g. make uses by default, so it should be a
      reasonable default.  We IMHO shouldn't default to GCC_UNDER_TEST because
      that might be a cross-compiler etc.
      
      2024-02-05  Jakub Jelinek  <jakub@redhat.com>
      
      	* test_installed: Fill in HOSTCC, HOSTCXX, HOSTCFLAGS and
      	HOSTCXXFLAGS.
      62babed5
    • GCC Administrator's avatar
      Daily bump. · 72319171
      GCC Administrator authored
      72319171
  14. Feb 04, 2024
    • Jonathan Wakely's avatar
      libstdc++: Add copyright and license text to new generated headers · e99d9607
      Jonathan Wakely authored
      contrib/ChangeLog:
      
      	* unicode/gen_libstdcxx_unicode_data.py: Add copyright and
      	license text to the output.
      
      libstdc++-v3/ChangeLog:
      
      	* include/bits/text_encoding-data.h: Regenerate.
      	* include/bits/unicode-data.h: Regenerate.
      	* scripts/gen_text_encoding_data.py: Add copyright and license
      	text to the output.
      e99d9607
  15. Jan 12, 2024
  16. Jan 11, 2024
    • Paul Iannetta's avatar
      dg-extract-results.py: Ignore case in header line · 8f67953d
      Paul Iannetta authored
      DejaGNU changed its header line from "Test Run By" to "Test run by"
      around 2016.  This patch makes it so that both alternatives are
      correcly detected.
      
      contrib/ChangeLog:
      
      	* dg-extract-results.py: Make the test_run regex case
      	insensitive.
      8f67953d
  17. Jan 10, 2024
  18. Jan 09, 2024
    • Jonathan Wakely's avatar
      libstdc++: Fix Unicode property detection functions · ea314ccd
      Jonathan Wakely authored
      Fix some copy & pasted logic in __is_extended_pictographic. This
      function should yield false for the values before the first edge, not
      true. Also add a missing boundary condition check in __incb_property.
      
      Also Fix an off-by-one error in _Utf_iterator::operator++() that would
      make dereferencing a past-the-end iterator undefined (where the intended
      design is that the iterator is always incrementable and dereferenceable,
      for better memory safety).
      
      Also simplify the grapheme view iterator, which still contained some
      remnants of an earlier design I was experimenting with.
      
      Slightly tweak the gen_libstdcxx_unicode_data.py script so that the
      _Gcb_property enumerators are in the order we encounter them in the data
      file, instead of sorting them alphabetically. Start with the "Other"
      property at value 0, because that's the default property for anything
      not in the file. This makes no practical difference, but seems cleaner.
      It causes the values in the __gcb_edges table to change, so can only be
      done now before anybody is using this code yet. The enumerator values
      and table entries become ABI artefacts for the function using them.
      
      contrib/ChangeLog:
      
      	* unicode/gen_libstdcxx_unicode_data.py: Print out Gcb_property
      	enumerators in the order they're seen, not alphabetical order.
      
      libstdc++-v3/ChangeLog:
      
      	* include/bits/unicode-data.h: Regenerate.
      	* include/bits/unicode.h (_Utf_iterator::operator++()): Fix off
      	by one error.
      	(__incb_property): Add missing check for values before the
      	first edge.
      	(__is_extended_pictographic): Invert return values to fix
      	copy&pasted logic.
      	(_Grapheme_cluster_view::_Iterator): Remove second iterator
      	member and find end of cluster lazily.
      	* testsuite/ext/unicode/grapheme_view.cc: New test.
      	* testsuite/ext/unicode/properties.cc: New test.
      	* testsuite/ext/unicode/view.cc: New test.
      ea314ccd
    • GCC Administrator's avatar
      Daily bump. · 6b1d6a2d
      GCC Administrator authored
      6b1d6a2d
  19. Jan 08, 2024
    • Jonathan Wakely's avatar
      libstdc++: Add Unicode-aware width estimation for std::format · 37a4c5c2
      Jonathan Wakely authored
      This implements the requirements in the following proposals, which
      dictate how std::format deals with non-ASCII strings:
      https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1868r1.html
      https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2572r1.html
      https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2675r1.pdf
      
      There are two parts to this. The width estimation for strings must only
      count the width of the first character in an extended grapheme cluster.
      That requires implementing the algorithm for detecting cluster breaks,
      which requires a number of lookup tables of the grapheme cluster break
      properties (and Indic_Conjunct_Break and Extended_Pictographic
      properties) of every code point. Additionally, some characters have a
      field width of 2, which requires another lookup table of field widths
      for every code point.  The tables added in this commit do not contain
      entries for every code point from 0 to 0x10FFFF as that would be very
      inefficient and use too much memory. Instead the tables only contain the
      code points that form an "edge" for a property, omitting all the code
      points that have the same property as the preceding one. We can use a
      binary search to find the closest code point in the table that is not
      greater than the one we're looking for.
      
      The tables are generated by a new Python script added to the
      contrib/unicode directory, and a new data file downloaded from the
      Unicode Consortium website.
      
      The rules for extended grapheme cluster breaking are implemented for the
      latest Unicode standard, version 15.1.0.
      
      libstdc++-v3/ChangeLog:
      
      	* include/Makefile.am: Add new headers.
      	* include/Makefile.in: Regenerate.
      	* include/bits/unicode.h: New file.
      	* include/bits/unicode-data.h: New file.
      	* include/std/format: Include <bits/unicode.h>.
      	(__literal_encoding_is_utf8): Move to <bits/unicode.h>.
      	(_Spec::_M_fill): Change type to char32_t.
      	(_Spec::_M_parse_fill_and_align): Read a Unicode scalar value
      	instead of a single character.
      	(__write_padded): Change __fill_char parameter to char32_t and
      	encode it into the output.
      	(__formatter_str::format): Use new __unicode::__field_width and
      	__unicode::__truncate functions.
      	* include/std/ostream: Adjust namespace qualification for
      	__literal_encoding_is_utf8.
      	* include/std/print: Likewise.
      	* src/c++23/print.cc: Add [[unlikely]] attribute to error path.
      	* testsuite/ext/unicode/view.cc: New test.
      	* testsuite/std/format/functions/format.cc: Add missing examples
      	from the standard demonstrating alignment with non-ASCII
      	characters. Add examples checking correct handling of extended
      	grapheme clusters.
      
      contrib/ChangeLog:
      
      	* unicode/README: Add notes about generating libstdc++ tables.
      	* unicode/GraphemeBreakProperty.txt: New file.
      	* unicode/emoji-data.txt: New file.
      	* unicode/gen_libstdcxx_unicode_data.py: New file.
      37a4c5c2
  20. Jan 06, 2024
  21. Jan 05, 2024
    • Jonathan Wakely's avatar
      contrib: Remove C-style comments from Python files · 29abd09a
      Jonathan Wakely authored
      These Python scripts have "*/" at the end of the license header comment
      blocks, presumably copy&pasted from C files.
      
      contrib/ChangeLog:
      
      	* analyze_brprob.py: Remove stray text at end of comment.
      	* analyze_brprob_spec.py: Likewise.
      	* check-params-in-docs.py: Likewise.
      	* check_GNU_style.py: Likewise.
      	* check_GNU_style_lib.py: Likewise.
      	* filter-clang-warnings.py: Likewise.
      	* gcc-changelog/git_check_commit.py: Likewise.
      	* gcc-changelog/git_commit.py: Likewise.
      	* gcc-changelog/git_email.py: Likewise.
      	* gcc-changelog/git_repository.py: Likewise.
      	* gcc-changelog/git_update_version.py: Likewise.
      	* gcc-changelog/test_email.py: Likewise.
      	* gen_autofdo_event.py: Likewise.
      	* mark_spam.py: Likewise.
      	* unicode/gen-box-drawing-chars.py: Likewise.
      	* unicode/gen-combining-chars.py: Likewise.
      	* unicode/gen-printable-chars.py: Likewise.
      	* unicode/gen_wcwidth.py: Likewise.
      29abd09a
    • Jonathan Wakely's avatar
      contrib: Add script name to usage error in gen_wcwidth.py · 1bc9eddb
      Jonathan Wakely authored
      contrib/ChangeLog:
      
      	* unicode/gen_wcwidth.py: Add sys.argv[0] to usage error.
      1bc9eddb
  22. Jan 04, 2024
  23. Jan 03, 2024
    • Jakub Jelinek's avatar
      Update copyright years. · a945c346
      Jakub Jelinek authored
      a945c346
    • Jakub Jelinek's avatar
      Small tweaks for update-copyright.py · 9afc1915
      Jakub Jelinek authored
      update-copyright.py --this-year FAILs on two spots in the modula2
      directories.
      One is gpl_v3_without_node.texi, I think that is similar to other
      license files which we already exclude from updates.
      And the other is GmcOptions.cc, which has lines like
        mcPrintf_printf0 ((const char *) "Copyright ", 10);
        mcPrintf_printf1 ((const char *) "Copyright (C) %d Free Software Foundation, Inc.\\n", 49, (const unsigned char *) &year, (sizeof (year)-1));
        mcPrintf_printf1 ((const char *) "Copyright (C) %d Free Software Foundation, Inc.\\n", 49, (const unsigned char *) &year, (sizeof (year)-1));
      which update-copyhright.py obviously can't grok.  The file is generated
      and doesn't contain normal Copyright year which should be updated, so I think
      it is also ok to skip it.
      
      2024-01-03  Jakub Jelinek  <jakub@redhat.com>
      
      	* update-copyright.py (GenericFilter): Skip gpl_v3_without_node.texi.
      	(GCCFilter): Skip GmcOptions.cc.
      9afc1915
  24. Dec 22, 2023
  25. Dec 21, 2023
    • Alexandre Oliva's avatar
      compare_tests: distinguish c-c++-common results by tool · 586e3258
      Alexandre Oliva authored
      When compare_tests compares both C and C++ tests in c-c++-common, they
      get the same identifier, so expected differences in results across
      languages become undesirably noisy.
      
      This patch adds tool identifiers to tests, so that runs by different
      tools are not confused by the compare logic.
      
      It also fixes a bug in reporting differences, that would attempt to
      print an undefined fname (the definitions are in subshell loops), and
      adjusts the target insertion to match tabs in addition to blanks after
      colons.
      
      
      for  contrib/ChangeLog
      
      	* compare_tests: Add tool to test lines.  Match tabs besides
      	blanks to insert tool and target.  Don't print undefined fname.
      586e3258
    • GCC Administrator's avatar
      Daily bump. · 7ad9058c
      GCC Administrator authored
      7ad9058c
  26. Dec 20, 2023
    • Jason Merrill's avatar
      contrib: add git gcc-style alias · af3fc030
      Jason Merrill authored
      I thought it could be easier to use check_GNU_style.py.  With this alias,
      'git gcc-style' will take a git revision as argument instead of a file, or
      check HEAD if no argument is given.
      
      contrib/ChangeLog:
      
      	* gcc-git-customization.sh: Add git gcc-style alias.
      af3fc030
  27. Dec 15, 2023
  28. Dec 14, 2023
  29. Dec 13, 2023
  30. Dec 03, 2023
Loading