Исправление xaizek, (текущая версия) :
как у тебя получилось это обойти?
Судя по всему, GCC на стеке создал три строки объединённые в initializer_list и из него сконструировал вектор 1М раз. Возможно, из-за отсутствия передачи в функцию он проанализировал использование и решил, что можно и так. Могли исправить в GCC6, ибо это как-то непоследовательно.
Исходная версия xaizek, :
как у тебя получилось это обойти?
Судя по всему, GCC на стеке создал три строки объединённые в initializer_list и из него сконструировал вектор 1М раз. Возможно, из-за отсутствия передачи в функцию он проанализировал использование и решил, что можно и так. Могли исправить это в GCC6, ибо это как-то непоследовательно.