Bug 22744 – ImportC: builtins defined in __builtins.di cause undefined symbol linker errors.
Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P1
Component
druntime
Product
D
Version
D2
Platform
x86_64
OS
Mac OS X
Creation time
2022-02-07T09:53:11Z
Last change time
2022-02-08T18:41:46Z
Keywords
ImportC, pull
Assigned to
No Owner
Creator
dave287091
Comments
Comment #0 by dave287091 — 2022-02-07T09:53:11Z
`__builtin_inf()`, `__builtin_inff()` and `__builtin_infl()` will result in an undefined symbol error if used in C code. For example:
// test.c
static inline
int isfinite(float x){
return x == x && __builtin_fabsf(x) != __builtin_inff();
}
int main(){
return isfinite(3.2f);
}
$ dmd test.c
Undefined symbols for architecture x86_64:
"__D10__builtins14__builtin_inffFZf", referenced from:
_isfinite in test.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Error: linker exited with status 1
Comment #1 by dlang-bot — 2022-02-08T04:54:29Z
@WalterBright created dlang/druntime pull request #3732 "fix Issue 22744 - ImportC: builtins defined in __builtins.di cause un…" fixing this issue:
- fix Issue 22744 - ImportC: builtins defined in __builtins.di cause undefined symbol linker errors
https://github.com/dlang/druntime/pull/3732
Comment #2 by dlang-bot — 2022-02-08T18:41:46Z
dlang/druntime pull request #3732 "fix Issue 22744 - ImportC: builtins defined in __builtins.di cause un…" was merged into master:
- 2f3ff0ad5f9ca8d574b5eb3b5302be4eacd47094 by Walter Bright:
fix Issue 22744 - ImportC: builtins defined in __builtins.di cause undefined symbol linker errors
https://github.com/dlang/druntime/pull/3732