<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/113332>113332</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
_GLIBCXX_USE_C99_COMPLEX_ARC not set to 0 in Headers/cuda_wrappers/complex
</td>
</tr>
<tr>
<th>Labels</th>
<td>
libc++
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
VinInn
</td>
</tr>
</table>
<pre>
If I compile with
clang++ --offload-arch=native -xhip -march=native -stdlib=libstdc++ oneComplex_hip.cpp
I get things like
lld: error: undefined hidden symbol: cacosh
>>> referenced by /tmp/innocent/oneComplex_hip-gfx900-400399.o:(std::__complex_acosh(double complex))
>>> referenced by /tmp/innocent/oneComplex_hip-gfx900-400399.o:(std::__complex_acosh(double complex))
clang++: error: amdgcn-link command failed with exit code 1 (use -v to see invocation)
while it does not complain for sin, sqrt,log etc
this is most probably related to a bug I submitted to gcc
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117151
If I add to that file (Headers/cuda_wrappers/complex)
#ifdef FIXC99
#warning fixing C99_ARC
#pragma push_macro("_GLIBCXX_USE_C99_COMPLEX_ARC")
#define _GLIBCXX_USE_C99_COMPLEX_ARC 0
#endif
it compiles and run
clang++ --offload-arch=native -xhip -march=native -stdlib=libstdc++ oneComplex_hip.cpp -DFIXC99
In file included from <built-in>:1:
In file included from /afs/cern.ch/work/i/innocent/public/w5/lib/clang/20/include/__clang_hip_runtime_wrapper.h:146:
/afs/cern.ch/work/i/innocent/public/w5/lib/clang/20/include/cuda_wrappers/complex:76:2: warning: fixing C99_ARC [-W#warnings]
76 | #warning fixing C99_ARC
etc...
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzMVd-PozYQ_muclxEITNgsDzxkk6ONdFWrVm33DRl7gOkZm9om2e1fX5nkbn9IvXtqVQkFx_bMfDPzfYPwngaDWLPygZXHjVjCaF39G5mTMZvOquf61MMJpJ1m0ghwoTCy7MiyvdTCDIw_MP4ASWL7XluhEuHkyIqjEYHOCMnTSDMk07tdH5SmjhVHTZ0PSt68WIMHO80an9qR5lTO8zXSCQYMEEYygwdNn_C6rbVixR7QOeviYjEKezKoYCSl0IB_njqr45EU0vobblZ8uD7gsEeHRqKC7hkYb8I0M96QMVaiCYw3bxElQ_9UZVmyzbKiqlLLij3j9z5EGKzYt6283b1G4_fKLp1GuG0zXsXnfwTifR_flFNMapAm0WQ-ReNJGAW9II1qJQHgEwWQViHkwPj94hGSMwQLHhHInK0Ugax5F-0yRhpRAGXRg7HhCkyQgd468GQYP4D_0wXGD9oOgEFeLcNIHsjDZH2A2dlOdPoZHGoRUMW4ArplgBP4pZso3DYHeTMfQ5j9WqyG8WaQMh3Mklo3MN50y_AXaS0Yb_xoL223DKkciBUNKVYc83yXl_nrLFZNCLVGCKMI0MesGL__HoVC5xlv5KJEe3Finm__X-p_dcQL6hX20JweD9XL5kU4Q2aAnp7i61BV7f7nw5fj2YlhEjAvfmwnIZ1l_J5x3n738fRweHxsf_3lQxttDj_-8NPHD4-rLeevo15FAl-zgOzLbTSK-tepU_g8DDxESrjF_HfzAJLj63KdzLXwZKReFCronZ2AFYduIR0SMqvG9nls-9cMeCP6tUfoTCpHxpuLdZ-iCt8qcV46TTIel4w3ETJvbmk3PFvvrn4Zb9p2PYjAW7eYQBN-ZkM6Rkzbuy-o_o34_0S_Yr-LgXlU-I1qcfmWbcDKh-T3FzJ6Vh6vUAFgdwdsd4BvUXX9xSDTNL2uN6ouVFVUYoN1vuPVXZ5lZbkZ6_JuK_ptznvc7foSRYVdJ6suV_dF3pfbYkM1z_g2zzjPy3ybl2lXCJmXu6zEqhe8k2yb4SRIp1qfp6jpDXm_YJ3nRVHwjRYdar9-4jjX1N34FXVRHjeujlZJtwyebTNNPvgXP4GCxvrrYolDzMcPlIUMyMA3Z8Bmcbp-N48ojEuXSjvFxurz51cyO_sHytj8NaXo5ZbVueZ_BwAA__9wQG9m">