https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119874
Bug ID: 119874
Summary: d: Recognize user-defined prototypes of built-in
functions
Product: gcc
Version: 16.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: d
Assignee: ibuclaw at gdcproject dot org
Reporter: ibuclaw at gcc dot gnu.org
Target Milestone: ---
D matches and maps C library functions to GCC built-ins, for example:
```
extern(C) real logl(real);
return logl(1);
```
Is replaced with `__builtin_logl(1)`, likewise mismatches in the prototype are
detected too.
```
extern(C) real logl();
// warning: conflicting types for built-in function ‘logl’;
// expected ‘extern (C) real(real)’
```
However, this does not happen for prototypes of __builtin functions themselves.
```
extern(C) real __builtin_logl();
return __builtin_logl();
// undefined reference to `__builtin_logl'
```