https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51253
--- Comment #13 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Akim Demaille from comment #10) > auto t = std::make_tuple(incr(), incr()); That's not an initializer-list, it's a function call, so the order of evaluation is not specified and that example is not relevant AFAICT.