Issue 126720
Summary [Clang] Frontend crash compiling struct/class method with explicit object parameters
Labels clang
Assignees
Reporter R-Goc
    Frontend crash regression when compiling this code. Required flags: -std=c++23/26
```cpp
void operator*(auto) {}

template <typename T>
struct Quaternionz {
    void inverse(this Quaternionz<T>& a) {
 a.inverse() * 0;
    }
};

int main() {}
```
Quaternionz can be a class as well, and inverse can just accept ``` (this Quaternionz& a)``` and still crash.  Function/object names can be shortened. 
Looks like it is an issue with parsing explicit object parameters.

Godbolt link: https://clang.godbolt.org/z/1cYvc66j4
[Full godbolt link](https://clang.godbolt.org/#z:OYLghAFBqd5QCxAYwPYBMCmBRdBLAF1QCcAaPECAMzwBtMA7AQwFtMQByARg9KtQYEAysib0QXACx8BBAKoBnTAAUAHpwAMvAFYTStJg1DIApACYAQuYukl9ZATwDKjdAGFUtAK4sGE6a4AMngMmAByPgBGmMQSGqQADqgKhE4MHt6%2B/onJqQLBoREs0bFc8XaYDmlCBEzEBBk%2BflK2mPaOAjV1BAXhUTFxtrX1jVktCsM9IX3FA2UAlLaoXsTI7BwAbqh46ADUqAkxTETEAFQQTF5E87smAOxWdwAiJhoAgq9vBJgsCQbftwAzG4CABPQ7MNi7AAqJkB2E%2BE2IXgcuwAil5jjEGGkAF63B6fXbE3ZbHa7EIbGJKCAEBB4BTozHfYg4gS4uFuWHw8wANl2TBu9ys7xJYoFADpKdTMBAbqddho4SK3mL7i93urlZ9PiECLsWEwQnKCY8NW8OItaJwAKy8PwcLSkVCcNzWay7BTLVaYW5mQE8UgETSWxYAaxAgJtErMkkBAE4AByAlNcG1xu6A/ScST2kPOzi8BQgeLBx2W0hwWAwRAoVC/OgxciUNAN%2BixZAGIxceNcJgKJT1Ph0FnFiCRfOREJ1UGcQNT5jEUEAeUi2kqZcDrbYgmXDFos/LpCwkS8wDcYloxe4vCwhqM4iP%2BGIG7wVOvTswqkqV3WTr1bT5rQeCRMQM4eFg%2BYEMQeAsHOvBUsQkTJJgTw/IYwDAUYIaLFQBjAAoABqeCYAA7suELwTIggiGI7AtPwgiKCo6hHroXD6BhKDupY%2BggcWkCLAcHQMNeAC0EzoHCTymJY1hmE6qCITBWACXKrTtGkLgMO4nhNHoQTTEUJR6EkKQiaMzQ5OZaS9MZcwaa%2BnSTJZegVFUzndHZ/SlEM3SuRxExeUZPkSIsXorGsYXZhwdqkA6imcLsqiJryYm8pIuydhhuw9hKXAShouwXAOMQiQoNwQLghAkH6AbzLwZZaPM4aRgViaxpmibpsmGh3FwZgxbmpBwTa8QJbwLocEWJZBjhlY1hASDLAQCRXM2ECtgkjbEGErDrClaUZVlXbAMV0FeAwYYNaQmD4CcOx6IxwiiOIXC8tR8hKGo%2BbsaQpFgQk8FWraeZHlNy5XGt%2BqoFQyWpelmXZUYuXxvlhXFf2g7lZVHhtjEdVcDdTWhqQCCYEwWCxOp1ocMNo3jfmU0zaWOGtYCZgxhoXCJomdyxpINq8oCvJ3DFgJg4l01zeWixVlAi1IFtO0bcr7YoKdAD6WNlWkCiaxdV3DrQo6UBOR4LjOVGW0uq7rg4VHbowBB7ge%2BYnmeF60FeVF3hhj5Os%2Br7vvmX4/t8VEAbTTrAaB4EYH%2BjUwXBN6kIhyFKGh96YSEoCy3w%2BFESR5GUanz20W90jPcxP1sSAg2ndxcm8bHalCQk5WcBJBBSYCMk8RY/qTcpOyYG3jkeX4ECuAFt06d5sy%2BWZeTpHpYzWSvC8mYFbROQwXQjGvVnuSJB9TIUoWBS5R9uZMW9zOF3pRUTMVxRNBYcPDR1I6dmOlfUetdiG2usVaqJxCbEzZqQCMHMJQ2nTANeMkh/SJnjGYD6tN6YgDGvFJmhZbCzRJnLRWIAVrQ1VvWba7Y9psE4IdRGJ0cq0mRFdG6d0aoqSerICu9Eq6yBrqxJ0uhBoAyYEDG8INYqS0mpwSGq0rj7DhvQ46yMzolWxoA4BuNKE7TqmYSBstFjk0pgMGmOZeAM1weDfBxZWaGOgZGTm8DJCIOQYCVB6DxbSI/o1KBtMzDeOZjLZqixEIpGcJIIAA%3D)
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to