Skip to content
Snippets Groups Projects
  1. Apr 14, 2021
  2. Apr 13, 2021
    • Martin Sebor's avatar
      PR tree-optimization/82800 - Incorrect warning on "may be used uninitialized... · af712862
      Martin Sebor authored
      PR tree-optimization/82800 - Incorrect warning on "may be used uninitialized in variadic template code
      
      gcc/testsuite/ChangeLog:
      	PR tree-optimization/82800
      	* g++.dg/warn/uninit-pr82800.C: New test.
      af712862
    • Martin Sebor's avatar
      PR middle-end/86058 - TARGET_MEM_REF causing incorrect message for -Wmaybe-uninitialized warning · 8084ab15
      Martin Sebor authored
      gcc/testsuite/ChangeLog:
      	PR middle-end/86058
      	* gcc.dg/pr86058.c: New test.
      8084ab15
    • Patrick Palka's avatar
      c++: Adjust expected diagnostics for old-deja tests [PR99008] · 96d73645
      Patrick Palka authored
      I missed adjusting these tests in the recently committed r11-8155.
      
      gcc/testsuite/ChangeLog:
      
      	PR c++/99008
      	* g++.old-deja/g++.ns/crash3.C: Adjust expected diagnostic.
      	* g++.old-deja/g++.ns/template7.C: Likewise.
      	* g++.old-deja/g++.pt/crash8.C: Likewise.
      96d73645
    • Jason Merrill's avatar
      c++: alias template equivalence and cv-quals [PR100032] · 34ec63f1
      Jason Merrill authored
      We also need to check that the cv-qualifiers are the same.
      
      gcc/cp/ChangeLog:
      
      	PR c++/100032
      	* pt.c (get_underlying_template): Compare TYPE_QUALS.
      
      gcc/testsuite/ChangeLog:
      
      	PR c++/100032
      	* g++.dg/cpp0x/alias-decl-equiv1.C: New test.
      34ec63f1
    • Jakub Jelinek's avatar
      testsuite: Add testcase for already fixed PR97121 · 4df91879
      Jakub Jelinek authored
      This was fixed by r11-5866 aka PR96299 fix.
      
      2021-04-13  Jakub Jelinek  <jakub@redhat.com>
      
      	PR c++/97121
      	* g++.dg/cpp2a/spaceship-err6.C: New test.
      4df91879
    • Jason Merrill's avatar
      c++: generic lambda in template fn with DMI [PR100054] · 6173f713
      Jason Merrill authored
      get_nsdmi instantiates default member initializers on demand.  It tries to
      push into the context of the class before doing so, so access checking works
      properly, but since my patch for 90479 not for local classes.  We should
      only be doing this when any template parameters have arguments.  But in this
      case, we get here while regenerating a generic lambda, so
      processing_template_decl is true, even though the class and its DMI are
      non-dependent at this point.  And so we crashed.  So let's do more of the
      pushing into the context of the class even for local classes.
      
      gcc/cp/ChangeLog:
      
      	PR c++/100054
      	PR c++/90479
      	* init.c (get_nsdmi): Do more context adjustment for local classes.
      
      gcc/testsuite/ChangeLog:
      
      	PR c++/100054
      	* g++.dg/cpp1y/lambda-generic-local-class1.C: New test.
      6173f713
    • Jonathan Wakely's avatar
      libstdc++: Fix <bit> to work freestanding [PR 100060] · 474cb5a0
      Jonathan Wakely authored
      libstdc++-v3/ChangeLog:
      
      	PR libstdc++/100060
      	* include/std/bit: Only include <ext/numeric_traits.h> for
      	hosted build, use <limits> otherwise.
      474cb5a0
    • Patrick Palka's avatar
      c++: Reject alias CTAD in C++17 [PR99008] · 8913b2c2
      Patrick Palka authored
      Here, in C++17 mode, we only pedwarn about the use of alias CTAD and
      then later ICE from alias_ctad_tweaks when attempting to constrain
      the guides.  Since the construction of the guides of an alias template
      effectively relies on concepts, we shouldn't be permissive about alias
      CTAD in C++17 mode, so this patch turns the pertinent pedwarn in
      do_class_deduction into an error.
      
      In order to get a consistent diagnostic for B() vs the other forms in
      the added testcase, I had to remove the special handling of CTAD with
      empty initializer in build_functional_cast_1 so that we always pass
      'complain' to do_auto_deduction.
      
      gcc/cp/ChangeLog:
      
      	PR c++/99008
      	* pt.c (do_class_deduction): Reject alias CTAD in C++17 mode
      	rather than issuing a pedwarn.
      	* typeck2.c (build_functional_cast_1): Handle CTAD uniformly
      	for consistent diagnostics.
      
      gcc/testsuite/ChangeLog:
      
      	PR c++/99008
      	* g++.dg/parse/template2.C: Adjust expected diagnostic.
      	* g++.dg/template/error8.C: Likewise.
      	* g++.dg/cpp1z/class-deduction84.C: New test.
      8913b2c2
    • Jonathan Wakely's avatar
      libstdc++: Remove outdated docs on libg++ and libstdc++-v2 · 989e512f
      Jonathan Wakely authored
      The libstdc++-v3 manual doesn't need to document how to use its
      predecessors.
      
      libstdc++-v3/ChangeLog:
      
      	* doc/xml/manual/backwards_compatibility.xml: Remove porting
      	notes for libg++ and libstdc++-v2, and bibliography.
      	* doc/html/*: Regenerated.
      989e512f
    • Eric Botcazou's avatar
      Further increase the limit on the size of accepted Ada files · 39fa0de5
      Eric Botcazou authored
      It turns out that the limit on the size of accepted Ada files had been
      already lowered earlier, namely when location ranges had been introduced.
      Now we do not make use of location ranges in Ada so we can recoup the loss.
      
      gcc/ada/
      	* gcc-interface/misc.c (gnat_init): Set default range bits to 0.
      	* gcc-interface/trans.c (extract_encoding): Delete.
      	(decode_name): Likewise.
      	(File_Name_to_gnu): New function.
      	(gigi): Call it to translate file names.  Replace assertion on
      	1-1 mapping between files and line maps with conditional error.
      39fa0de5
    • Richard Biener's avatar
      tree-optimization/100053 - fix predication in VN · f9810422
      Richard Biener authored
      This avoids doing optimistic dominance queries involving
      non-executable backedges when validating recorded predicated values
      in VN because we have no way to force re-evaluating validity when
      optimistically not executable edges become executable later.
      
      2021-04-13  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/100053
      	* tree-ssa-sccvn.c (vn_nary_op_get_predicated_value): Do
      	not use optimistic dominance queries for backedges to validate
      	predicated values.
      	(dominated_by_p_w_unex): Add parameter to ignore executable
      	state on backedges.
      	(rpo_elim::eliminate_avail): Adjust.
      
      	* gcc.dg/torture/pr100053.c: New testcase.
      	* gcc.dg/tree-ssa/ssa-fre-93.c: Likewise.
      f9810422
    • Jason Merrill's avatar
      c++: constexpr, inheritance, and local class [PR91933] · 0851ac6d
      Jason Merrill authored
      Here we complained about referring to nm3 from the local class member
      function because referring to the base class subobject involved taking the
      variable's address.  Let's shortcut this case to avoid that.
      
      gcc/cp/ChangeLog:
      
      	PR c++/91933
      	* class.c (build_base_path): Shortcut simple non-pointer case.
      
      gcc/testsuite/ChangeLog:
      
      	PR c++/91933
      	* g++.dg/cpp0x/constexpr-base7.C: New test.
      0851ac6d
    • Nathan Sidwell's avatar
      preprocessor: Fix column adjustment [PR 99446] · 4acb3af3
      Nathan Sidwell authored
      This ICE was because when adjusting a column offset we could advance
      into a linemap for a different file.  We only checked the next line
      map was not for a line further advanced in any file, forgetting that
      it could be for an earlier line in a different file.  The testcase
      needed adjusting as column 512 was unrepresentable, once that was
      taken into consideration.
      
      	PR preprocessor/99446
      	libcpp/
      	* line-map.c (line-map.c): Do not advance to linemaps for
      	different files.
      	gcc/testsuite/
      	* g++.dg/diagnostic/pr72803.C: Adjust expected column.
      4acb3af3
    • Jakub Jelinek's avatar
      aarch64: Restore bfxil optimization [PR100028] · f6ba5d03
      Jakub Jelinek authored
      Similarly to PR87763 for bfi, the GCC 9 combiner changes to not combine
      moves from hard registers regressed the following testcase where we no
      longer recognize bfxil and emit 3 instructions instead.
      
      The following patch adds define_insn patterns that match what the combiner
      is trying to match in these cases.  I haven't been able to see patterns
      with the other order of the IOR operands, seems the IL is canonicalized this
      way no matter what is written in the source.
      
      2021-04-13  Jakub Jelinek  <jakub@redhat.com>
      
      	PR target/100028
      	* config/aarch64/aarch64.md (*aarch64_bfxil<mode>_extr,
      	*aarch64_bfxilsi_extrdi): New define_insn patterns.
      
      	* gcc.target/aarch64/pr100028.c: New test.
      f6ba5d03
    • Eric Botcazou's avatar
      Fix thinko in libcpp preparation patch for modules · 11743148
      Eric Botcazou authored
      The problem is that the new IS_MACRO_LOC macro:
      
      inline bool
      IS_MACRO_LOC (location_t loc)
      {
        return !IS_ORDINARY_LOC (loc) && !IS_ADHOC_LOC (loc);
      }
      
      is not fully correct since the position of the macro lines is not fixed:
      
      /* Returns the lowest location [of a token resulting from macro
         expansion] encoded in this line table.  */
      inline location_t
      LINEMAPS_MACRO_LOWEST_LOCATION (const line_maps *set)
      {
        return LINEMAPS_MACRO_USED (set)
               ? MAP_START_LOCATION (LINEMAPS_LAST_MACRO_MAP (set))
               : MAX_LOCATION_T + 1;
      }
      
      In Ada, LINEMAPS_MACRO_USED is false so LINEMAPS_MACRO_LOWEST_LOCATION is
      MAX_LOCATION_T + 1, but IS_MACRO_LOC nevertheless returns true for anything
      in the range [LINE_MAP_MAX_LOCATION; MAX_LOCATION_T], thus yielding an ICE
      in linemap_macro_map_lookup for very large files.
      
      libcpp/
      	* include/line-map.h (IS_MACRO_LOC): Delete.
      	* line-map.c (linemap_location_from_macro_expansion_p): Test
      	LINEMAPS_MACRO_LOWEST_LOCATION of the linemap.
      gcc/cp/
      	* module.cc (ordinary_loc_of): Test LINEMAPS_MACRO_LOWEST_LOCATION
      	of the linemap.
      	(module_state::write_location): Likewise.
      11743148
    • Martin Storsjö's avatar
      mh-mingw: Set __USE_MINGW_ACCESS in missed C++ flags variables · 89e95ad2
      Martin Storsjö authored
      This is similar to what was done in
      eea4e2ff (where it was added to
      STAGE*_CXXFLAGS), but this adds the flag to the CXXFLAGS and
      BOOT_CXXFLAGS variables too (as it's already added to CFLAGS and
      BOOT_CFLAGS).
      
      2021-04-09  Martin Storsjö  <martin@martin.st>
      
      config/ChangeLog:
      	* mh-mingw: Set __USE_MINGW_ACCESS in missed C++ flags
      	variables
      89e95ad2
    • Jakub Jelinek's avatar
      simplify-rtx: Punt on simplify_{,gen_}subreg to IBM double double if bits are lost [PR99648] · c0f77289
      Jakub Jelinek authored
      Similarly to PR95450 done on GIMPLE, this patch punts if we try to
      simplify_{gen_,}subreg from some constant into the IBM double double
      IFmode (or sometimes TFmode) if the double double format wouldn't preserve
      the bits.  Not all values are valid in IBM double double, e.g. the format
      requires that the upper double is the whole value rounded to double, and
      if in some cases such as in the pr71522.c testcase with -m32 -Os -mcpu=power7
      some non-floating data is copied through long double variable, we can
      simplify a subreg into something that has different value.
      
      Fixed by punting if the planned simplify_immed_subreg result doesn't
      encode to bitwise identical values compared to what we were decoding.
      
      As for the simplify_gen_subreg change, I think it would be desirable
      to just avoid creating SUBREGs of constants on all targets and for all
      constants, if simplify_immed_subreg simplified, fine, otherwise punt,
      but as we are late in GCC11 development, the patch instead guards this
      behavior on MODE_COMPOSITE_P (outermode) - i.e. only conversions to
      powerpc{,64,64le} double double long double - and only for the cases where
      simplify_immed_subreg was called.
      
      2021-04-13  Jakub Jelinek  <jakub@redhat.com>
      
      	PR target/99648
      	* simplify-rtx.c (simplify_immed_subreg): For MODE_COMPOSITE_P
      	outermode, return NULL if the result doesn't encode back to the
      	original byte sequence.
      	(simplify_gen_subreg): Don't create SUBREGs from constants to
      	MODE_COMPOSITE_P outermode.
      c0f77289
    • Patrick Palka's avatar
      c++: variadic class template placeholder deduction [PR97134] · c755e1b3
      Patrick Palka authored
      do_class_deduction handles specially the case where we're deducing one
      placeholder from another equivalent one, but here the initializer passed
      to do_class_deduction is wrapped in an EXPR_PACK_EXPANSION (we're being
      called from unify during get_partial_spec_bindings).  This patch makes
      do_class_deduction look through EXPR_PACK_EXPANSIONs so that we detect
      this case as well.
      
      gcc/cp/ChangeLog:
      
      	PR c++/97134
      	* pt.c (do_class_deduction): Look through EXPR_PACK_EXPANSION
      	when checking if the initializer is an equivalent class
      	placeholder template parameter.
      
      gcc/testsuite/ChangeLog:
      
      	PR c++/97134
      	* g++.dg/cpp2a/nontype-class43.C: New test.
      c755e1b3
    • Patrick Palka's avatar
      c++: constraints are unevaluated operands [PR99961] · 59d9aa6d
      Patrick Palka authored
      According to [temp.concept]/6 and [temp.pre]/9, a concept definition and
      a requires clause are both unevaluated contexts, and hence satisfaction
      deals only with unevaluated operands, so we should set cp_unevaluated in
      these three situations.
      
      gcc/cp/ChangeLog:
      
      	PR c++/99961
      	PR c++/99994
      	* constraint.cc (satisfy_normalized_constraints): Set
      	cp_unevaluated.
      	* parser.c (cp_parser_concept_definition): Likewise.
      	(cp_parser_requires_clause_opt): Likewise.
      
      gcc/testsuite/ChangeLog:
      
      	PR c++/99961
      	PR c++/99994
      	* g++.dg/cpp2a/concepts-uneval1.C: New test.
      	* g++.dg/cpp2a/concepts-uneval2.C: New test.
      59d9aa6d
    • Hans-Peter Nilsson's avatar
      gcc.dg/analyzer/data-model-1.c: Inverse xfail for cris-*-*, PR99212 · 07b27384
      Hans-Peter Nilsson authored
      See PR99212.  Now, cris-elf isn't the only target for which this line
      shows a failure; pru-unknown-elf and m68k-unknown-linux-gnu are two
      others.  I'll leave adjustments to the respective maintainers, but
      trivially appending more triplets should work: no extra bracketing needed.
      A specific effective_target specifier would as always be perferable, but I
      couldn't without accountable effort find out what was the common factor.
      
      Besides cris-elf, sanity-checked for native x86_64-*-linux*.
      
      gcc/testsuite:
      	PR analyzer/99212
      	* gcc.dg/analyzer/data-model-1.c (test_45): Inverse xfail at
      	line 971 for cris-*-*.
      07b27384
    • David Malcolm's avatar
      gimple UIDs, LTO and -fanalyzer [PR98599] · 17f3c2b8
      David Malcolm authored
      gimple.h has this comment for gimple's uid field:
      
        /* UID of this statement.  This is used by passes that want to
           assign IDs to statements.  It must be assigned and used by each
           pass.  By default it should be assumed to contain garbage.  */
        unsigned uid;
      
      and gimple_set_uid has:
      
         Please note that this UID property is supposed to be undefined at
         pass boundaries.  This means that a given pass should not assume it
         contains any useful value when the pass starts and thus can set it
         to any value it sees fit.
      
      which suggests that any pass can use the uid field as an arbitrary
      scratch space.
      
      PR analyzer/98599 reports a case where this error occurs in LTO mode:
        fatal error: Cgraph edge statement index out of range
      on certain inputs with -fanalyzer.
      
      The error occurs in the LTRANS phase after -fanalyzer runs in the
      WPA phase.  The analyzer pass writes to the uid fields of all stmts.
      
      The error occurs when LTRANS is streaming callgraph edges back in.
      The LTO format uses stmt uids to associate call stmts with callgraph
      edges between WPA and LTRANS.
      For example, in lto-cgraph.c, lto_output_edge writes out the
      gimple_uid, and input_edge reads it back in.
      
      lto_prepare_function_for_streaming has code to renumber the stmt UIDs
      when the code is streamed back out, but for some reason this isn't
      called for clones:
          307	  /* Do body modifications needed for streaming before we fork out
          308	     worker processes.  */
          309	  FOR_EACH_FUNCTION_WITH_GIMPLE_BODY (node)
          310	    if (!node->clone_of && gimple_has_body_p (node->decl))
          311	      lto_prepare_function_for_streaming (node);
      
      Hence the combination of -fanalyzer and -flto will fail in LTRANS's
      stream-in if any function clones are encountered.
      
      It's not fully clear to me why this isn't done for clones, and what the
      correct fix should be to allow arbitrary changes to uids within WPA
      passes.
      
      In the meantime, this patch works around the issue by updating the
      analyzer to save and restore the UIDs, fixing the error.
      
      gcc/analyzer/ChangeLog:
      	PR analyzer/98599
      	* supergraph.cc (saved_uids::make_uid_unique): New.
      	(saved_uids::restore_uids): New.
      	(supergraph::supergraph): Replace assignments to stmt->uid with
      	calls to m_stmt_uids.make_uid_unique.
      	(supergraph::~supergraph): New.
      	* supergraph.h (class saved_uids): New.
      	(supergraph::~supergraph): New decl.
      	(supergraph::m_stmt_uids): New field.
      
      gcc/testsuite/ChangeLog:
      	PR analyzer/98599
      	* gcc.dg/analyzer/pr98599-a.c: New test.
      	* gcc.dg/analyzer/pr98599-b.c: New test.
      17f3c2b8
    • GCC Administrator's avatar
      Daily bump. · 287ad814
      GCC Administrator authored
      287ad814
  3. Apr 12, 2021
    • Jakub Jelinek's avatar
      combine: Fix up expand_compound_operation [PR99905] · ffc4155b
      Jakub Jelinek authored
      The following testcase is miscompiled on x86_64-linux.
      expand_compound_operation is called on
      (zero_extract:DI (mem/c:TI (reg/f:DI 16 argp) [3 i+0 S16 A128])
          (const_int 16 [0x10])
          (const_int 63 [0x3f]))
      so mode is DImode, inner_mode is TImode, pos 63, len 16 and modewidth 64.
      
      A couple of lines above the problematic spot we have:
        if (modewidth >= pos + len)
          {
            tem = gen_lowpart (mode, XEXP (x, 0));
      where the code uses gen_lowpart and then shift left/right to extract it
      in mode.  But the guarding condition is false - 64 >= 63 + 16
      and so we enter the next condition, where the code shifts XEXP (x, 0)
      right by pos and then adds AND.  It does so incorrectly though.
      Given the modewidth < pos + len, inner_mode must be necessarily larger
      than mode and XEXP (x, 0) has the innermode, but it was calling
      simplify_shift_const with mode rather than inner_mode, which meant
      inconsistent arguments to simplify_shift_const and in this case made
      a DImode MEM shift out of it.
      
      The following patch fixes it, by doing the shift in inner_mode properly
      and then after the shift doing the lowpart subreg and masking already
      in mode.
      
      2021-04-13  Jakub Jelinek  <jakub@redhat.com>
      
      	PR rtl-optimization/99905
      	* combine.c (expand_compound_operation): If pos + len > modewidth,
      	perform the right shift by pos in inner_mode and then convert to mode,
      	instead of trying to simplify a shift of rtx with inner_mode by pos
      	as if it was a shift in mode.
      
      	* gcc.target/i386/pr99905.c: New test.
      ffc4155b
    • Jakub Jelinek's avatar
      combine: Don't fold away side-effects in simplify_and_const_int_1 [PR99830] · 9c1c8ad8
      Jakub Jelinek authored
      Here is an alternate patch for the PR99830 bug.
      As discussed on IRC and in the PR, the reason why a (clobber:TI (const_int 0))
      has been propagated into the debug insns is that it got optimized away
      during simplification from the i3 instruction pattern.
      
      And that happened because
      simplify_and_const_int_1 (SImode, varop, 255)
      with varop of
      (ashift:SI (subreg:SI (and:TI (clobber:TI (const_int 0 [0]))
                                    (const_int 255 [0xff])) 0)
                 (const_int 16 [0x10]))
      was called and through nonzero_bits determined that (whatever << 16) & 255
      is const0_rtx.
      It is, but if there are side-effects in varop and such clobbers are
      considered as such, we shouldn't optimize those away.
      
      2021-04-13  Jakub Jelinek  <jakub@redhat.com>
      
      	PR debug/99830
      	* combine.c (simplify_and_const_int_1): Don't optimize varop
      	away if it has side-effects.
      
      	* gcc.dg/pr99830.c: New test.
      9c1c8ad8
    • Ian Lance Taylor's avatar
    • Jason Merrill's avatar
      c++: premature overload resolution [PR93085] · 84081e2c
      Jason Merrill authored
      We can't resolve the call to foo<42> before instantiation of G, because the
      template parameter of #1 has dependent type.  But we were missing that in
      our dependency check, because the tree walk of DECL_TEMPLATE_PARMS doesn't
      look into the types of template parameters.  So look at them directly.
      
      gcc/cp/ChangeLog:
      
      	PR c++/93085
      	* pt.c (uses_outer_template_parms): Handle non-type and template
      	template parameters specifically.
      
      gcc/testsuite/ChangeLog:
      
      	PR c++/93085
      	* g++.dg/template/dependent-tmpl1.C: New test.
      84081e2c
    • Joseph Myers's avatar
      Update gcc sv.po. · 7650259d
      Joseph Myers authored
      	* sv.po: Update.
      7650259d
    • Martin Liska's avatar
      docs: fix content of smallexample · 8f17d44a
      Martin Liska authored
      gcc/ChangeLog:
      
      	* doc/extend.texi: Escape @smallexample content.
      8f17d44a
    • Stefan Schulze Frielinghaus's avatar
      IBM Z: Add alternative to *movdi_{31,64} in order to load a DFP zero · 46c47420
      Stefan Schulze Frielinghaus authored
      gcc/ChangeLog:
      
      	* config/s390/s390.md ("*movdi_31", "*movdi_64"): Add
      	  alternative in order to load a DFP zero.
      46c47420
    • Martin Liska's avatar
      docs: update symver attribute description · bb8f2c32
      Martin Liska authored
      gcc/ChangeLog:
      
      	* doc/extend.texi: Be more precise in documentation
      	of symver attribute.
      bb8f2c32
    • Jonathan Wakely's avatar
      libstdc++: Implement LWG 3404 for C++20 subrange [PR 100044] · 7569ce58
      Jonathan Wakely authored
      These deduction guides became useless with LWG 3282 (implemented in
      commit r10-6741) and so were removed by LWG 3404.
      
      libstdc++-v3/ChangeLog:
      
      	PR libstdc++/100044
      	* include/bits/ranges_util.h (__detail::__iterator_sentinel_pair):
      	Remove helper concept.
      	(subrange(_Pr), subrange(Pr, __make_unsigned_like<...>)): Remove
      	deduction guides, as per LWG 3404.
      	* testsuite/std/ranges/subrange/lwg3282_neg.cc: Check that class
      	template argument deduction fails.
      7569ce58
    • Martin Liska's avatar
      gcc-changelog: do not allow space in long line · 1c35444b
      Martin Liska authored
      contrib/ChangeLog:
      
      	* gcc-changelog/git_commit.py: Do not allow space in long lines.
      1c35444b
    • Martin Liska's avatar
      ASAN: do not unpoison in OpenMP context · 598359f6
      Martin Liska authored
      gcc/ChangeLog:
      
      	PR sanitizer/99877
      	* gimplify.c (gimplify_expr): Right now, we unpoison all
      	variables before a goto <dest>. We should not do it if we are
      	in a omp context.
      
      gcc/testsuite/ChangeLog:
      
      	PR sanitizer/99877
      	* g++.dg/asan/pr99877.C: New test.
      598359f6
    • Jonathan Wakely's avatar
      libstdc++: Fix some tests that fail in C++20 mode · 91dd7954
      Jonathan Wakely authored
      The linear_congruential_engine negative tests fail with a different
      error in C++20 mode, because double is no longer an invalid type for
      NTTP. Adjust the expected errors.
      
      libstdc++-v3/ChangeLog:
      
      	* testsuite/26_numerics/random/linear_congruential_engine/requirements/non_uint_neg.cc:
      	Adjust expected error for C++20 mode.
      	* testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/non_uint_neg.cc:
      	Likewise.
      91dd7954
    • Martin Liska's avatar
      mklog: support long filenames · a694a021
      Martin Liska authored
      contrib/ChangeLog:
      
      	* gcc-changelog/git_commit.py: Support long filenames
      	in entries.
      	* gcc-changelog/test_email.py: Test it.
      	* gcc-changelog/test_patches.txt: Likewise.
      a694a021
    • Jonathan Wakely's avatar
      libstdc++: Fix test that fails in C++20 mode [PR 99995] · 29046e02
      Jonathan Wakely authored
      The 17_intro/headers/c++1998/49745.cc test fails for C++20 mode with PCH
      enabled, because PCH makes it include <bits/stdc++.h>, which includes
      <atomic>, and that includes <unistd.h> in C++20 mode. The <unistd.h>
      dependency should go away when C++20 atomic waiting is stable, but will
      probably remain while the feature is experimental. Change the test to
      always include <bits/stdc++.h>, and XFAIL for C++20 and later.
      
      libstdc++-v3/ChangeLog:
      
      	PR libstdc++/99995
      	* testsuite/17_intro/headers/c++1998/49745.cc: Include all
      	standard headers and XFAIL for effective-target c++20.
      29046e02
    • Cui,Lili's avatar
      Add rocketlake to gcc. · c02c39fa
      Cui,Lili authored
      gcc/
      	* common/config/i386/cpuinfo.h (get_intel_cpu): Handle
      	rocketlake.
      	* common/config/i386/i386-common.c (processor_names): Add
      	rocketlake.
      	(processor_alias_table): Add rocketlake.
      	* common/config/i386/i386-cpuinfo.h (processor_subtypes): Add
      	INTEL_COREI7_ROCKETLAKE.
      	* config.gcc: Add -march=rocketlake.
      	* config/i386/i386-c.c (ix86_target_macros_internal): Handle
      	rocketlake.
      	* config/i386/i386-options.c (m_ROCKETLAKE)  : Define.
      	(processor_cost_table): Add rocketlake cost.
      	* config/i386/i386.h (ix86_size_cost) : Define
      	TARGET_ROCKETLAKE.
      	(processor_type) : Add PROCESSOR_ROCKETLAKE.
      	(PTA_ROCKETLAKE): Ditto.
      	* doc/extend.texi: Add rocketlake.
      	* doc/invoke.texi: Add rocketlake.
      
      gcc/testsuite/
      	* gcc.target/i386/funcspec-56.inc: Handle new march.
      	* g++.target/i386/mv16.C: Handle new march
      c02c39fa
    • Cui,Lili's avatar
      Change march=alderlake ISA list and add m_ALDERLAKE to m_CORE_AVX2 · f2be0833
      Cui,Lili authored
      Alder Lake Intel Hybrid Technology will not support Intel® AVX-512. ISA
      features such as Intel® AVX, AVX-VNNI, Intel® AVX2, and UMONITOR/UMWAIT/TPAUSE
      are supported.
      
      gcc/ChangeLog
      
      	* config/i386/i386.h (PTA_ALDERLAKE): Change alderlake ISA list.
      	* config/i386/i386-options.c (m_CORE_AVX2): Add m_ALDERLAKE.
      	* common/config/i386/cpuinfo.h (get_intel_cpu): Add AlderLake model.
      	* doc/invoke.texi: Change alderlake ISA list.
      f2be0833
    • GCC Administrator's avatar
      Daily bump. · a0ecde22
      GCC Administrator authored
      a0ecde22
Loading