https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120373
Bug ID: 120373
Summary: operator overloads inside extern "C"
Product: gcc
Version: 16.0
Status: UNCONFIRMED
Keywords: accepts-invalid
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: pinskia at gcc dot gnu.org
Target Milestone: ---
Take:
```
struct f{};
extern "C"
{
void operator << (struct f, struct f)
{}
bool operator == (struct f, struct f)
{}
bool operator ++ (struct f, int)
{}
}
```
This really does not make sense.
operator<< is named _Zls, operator==: _Zeq and operator++: _Zpp
None of those make sense at all.