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