https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111273
--- Comment #7 from Simon Marchi <simon.marchi at polymtl dot ca> ---
(In reply to Sam James from comment #6)
> It'd tell us if it was worked around (perhaps accidentally) by a library
> change or not.
Ah ok, I see.
Preprocessed with 14, compiled with 15: fails with the expected error (same as
OP)
Preprocessed with 15, compiled with 14: fails with a ton of errors, like:
In file included from
/opt/gcc/15.2.0/include/c++/15.2.0/bits/cpp_type_traits.h:42,
from
/opt/gcc/15.2.0/include/c++/15.2.0/bits/stl_algobase.h:61,
from /opt/gcc/15.2.0/include/c++/15.2.0/vector:64,
from test.cpp:1:
/opt/gcc/15.2.0/include/c++/15.2.0/type_traits:554:30: error: there are no
arguments to ‘__is_pointer’ that depend on a template parameter, so a
declaration of ‘__is_pointer’ must be available [-fpermissive]
554 | : public __bool_constant<__is_pointer(_Tp)>
| ^~~~~~~~~~~~
/opt/gcc/15.2.0/include/c++/15.2.0/type_traits:554:30: note: (if you use
‘-fpermissive’, G++ will accept your code, but allowing the use of an
undeclared name is deprecated)
/opt/gcc/15.2.0/include/c++/15.2.0/type_traits:554:47: error: template argument
1 is invalid
554 | : public __bool_constant<__is_pointer(_Tp)>
| ^
/opt/gcc/15.2.0/include/c++/15.2.0/type_traits:860:30: error: there are no
arguments to ‘__is_const’ that depend on a template parameter, so a declaration
of ‘__is_const’ must be available [-fpermissive]
860 | : public __bool_constant<__is_const(_Tp)>
| ^~~~~~~~~~
/opt/gcc/15.2.0/include/c++/15.2.0/type_traits:860:45: error: template argument
1 is invalid
860 | : public __bool_constant<__is_const(_Tp)>
| ^
/opt/gcc/15.2.0/include/c++/15.2.0/type_traits:876:30: error: there are no
arguments to ‘__is_volatile’ that depend on a template parameter, so a
declaration of ‘__is_volatile’ must be available [-fpermissive]
876 | : public __bool_constant<__is_volatile(_Tp)>
| ^~~~~~~~~~~~~
/opt/gcc/15.2.0/include/c++/15.2.0/type_traits:876:48: error: template argument
1 is invalid
876 | : public __bool_constant<__is_volatile(_Tp)>
| ^
/opt/gcc/15.2.0/include/c++/15.2.0/type_traits:1175:30: error: expected
type-specifier before ‘__add_lvalue_reference’
1175 | using __add_lval_ref_t = __add_lvalue_reference(_Tp);
| ^~~~~~~~~~~~~~~~~~~~~~
...