https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113910
--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> --- Note GCC 13 seems to dislike the preprocessed source (odd, 12 and trunk are happy...) In file included from /usr/gcc/11/include/c++/11.4.0/memory:76, from /vol/llvm/src/llvm-project/local/llvm/include/llvm/ADT/SmallVector.h:28, from /vol/llvm/src/llvm-project/local/llvm/include/llvm/ADT/SmallString.h:17, from /vol/llvm/src/llvm-project/local/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h:19, from /vol/llvm/src/llvm-project/local/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp:19: /usr/gcc/11/include/c++/11.4.0/bits/unique_ptr.h:486:8: error: expected identifier before '__remove_cv' /usr/gcc/11/include/c++/11.4.0/bits/unique_ptr.h:486:20: error: expected '(' before '=' token /usr/gcc/11/include/c++/11.4.0/bits/unique_ptr.h:486:20: error: expected type-specifier before '=' token /usr/gcc/11/include/c++/11.4.0/bits/unique_ptr.h:486:20: error: expected unqualified-id before '=' token /usr/gcc/11/include/c++/11.4.0/bits/unique_ptr.h:492:55: error: wrong number of template arguments (1, should be 2) that's using __remove_cv = typename remove_cv<_Up>::type; template<typename _Up> using __is_derived_Tp = __and_< is_base_of<_Tp, _Up>, __not_<is_same<__remove_cv<_Tp>, __remove_cv<_Up>>> >; I think.