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

--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Hmm, you're right, for the reduced case it is fixed in GCC 14.1

But for the original case I reduced, it's not:

#include <unordered_map>
#include <string>

void test01() {
  std::unordered_map<std::string, std::string> m
  { {"E", "E" }, { "T", "T" } };

  m.insert({ {"E", "E" }, { "T", "T" } });
}

int main() {
  test01();
  return 0;
}

Temporary breakpoint 1, main () at 83709.cc:12
12        test01();
test01 () at 83709.cc:9
9       }
6         { {"E", "E" }, { "T", "T" } };
9       }
8         m.insert({ {"E", "E" }, { "T", "T" } });
Continuing.

We step into line 9, then line 6, then line 9, then line 8. That's exactly the
same behaviour as for the reduced one, but still present on trunk.

Reply via email to