-
Notifications
You must be signed in to change notification settings - Fork 11.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
__is_pointer used both as a trait and an identifier seems inconsistent #95598
Comments
@llvm/issue-subscribers-clang-frontend Author: Andrew Pinski (pinskia)
Take:
```
template<typename _Tp, bool _IsPtr = __is_pointer(_Tp)> template<typename _Tp> template<bool> template<typename _Tp> int tt = t<int>;
|
Constructs like `__is_pointer(Foo)` are never considered to be functions declarations. This matches usages in libstdc++, and we can hope no one else redefine these reserved identifiers. Fixes llvm#95598
std::replace_if fails to compile because of this(#96278) Maybe check if it works before closing this issue. |
Constructs like `__is_pointer(Foo)` are never considered to be functions declarations. This matches usages in libstdc++, and we can hope no one else redefine these reserved identifiers. Fixes llvm#95598
…lvm#95969) Constructs like `__is_pointer(Foo)` are never considered to be functions declarations. This matches usages in libstdc++, and we can hope no one else redefine these reserved identifiers. Fixes llvm#95598
…lvm#95969) Constructs like `__is_pointer(Foo)` are never considered to be functions declarations. This matches usages in libstdc++, and we can hope no one else redefine these reserved identifiers. Fixes llvm#95598
Take:
I would have expected the variable template t would have been rejected the same way as the template argument for the base class is_pointer being rejected but it is inconsistent here.
This shows up now in libstdc++'s headers (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115497).
The text was updated successfully, but these errors were encountered: