https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82212
Bug ID: 82212 Summary: libstdc++ makes (integer|index)_sequence available with -std=c++11, but they're C++14 features Product: gcc Version: unknown URL: https://bugzilla.gnome.org/show_bug.cgi?id=787648 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: db0451 at gmail dot com Target Milestone: --- https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/utility#L298 std::integer_sequence and std::index_sequence are defined under this condition: #if __cplusplus > 201103L However, these features debuted in the C++14 Standard, not in C++11. The symbols therefore should not be available in -std=c++11 mode. When users, for example, don't realise they only debuted in C++14, use them in -std=c++11 mode, and later compile that code using clang/libc++ in the same mode - they suddenly get compile errors and realise their project unwittingly started requiring C++14. See the URL for a downstream example of this causing a problem.