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);
      |                              ^~~~~~~~~~~~~~~~~~~~~~
...

Reply via email to