https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118532

            Bug ID: 118532
           Summary: [15 Regression] add_list_candidates not handling
                    RAW_DATA_CST right
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jakub at gcc dot gnu.org
  Target Milestone: ---

// { dg-do compile { target c++20 } }

struct S {
  S (int, int, int);
#define I8 int, int, int, int, int, int, int, int
#define I64 I8, I8, I8, I8, I8, I8, I8, I8
  S (I64, I64, I64, I64, I8);
};

void
foo (S &)
{
}

int
main ()
{
  S s = {
#embed __FILE__ limit (264)
  };
  foo (s);
}

FAILs since the introduction of #embed optimizations for C++, while
// { dg-do compile { target c++20 } }

struct S {
  S (int, int, int);
#define I8 int, int, int, int, int, int, int, int
#define I64 I8, I8, I8, I8, I8, I8, I8, I8
  S (I64, I64, I64, I64, I8);
};

void
foo (S &)
{
}

int
main ()
{
  S s = {
#undef I8
#define I8 1, 2, 3, 4, 5, 6, 7, 8
    I64, I64, I64, I64, I8
  };
  foo (s);
}

FAILed from r15-6339 till before r15-6448 and will fail again once r15-6339 is
committed again.

Reply via email to