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.