<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/82541>82541</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Absolute file name for source file emitted with `-fopenmp`
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
kraj
</td>
</tr>
</table>
<pre>
when `-fopenmp` is added to compiler commandline then, it adds a section which includes absolute path to sourcefile as specified on cmdline. There seems to be no way to eliminate this even with `-fmacro-prefix-map/-fdebug-prefix-map` and friends.
example
```c++
#include <iostream>
#include <sstream>
#include <omp.h>
int main() {
#pragma omp parallel
{
std::stringstream ss;
ss << "hello world from " << omp_get_thread_num() << '\n';
std::cout << ss.str();
}
}
```
put this in `/tmp` and compile
```
clang++ -g -S -fverbose-asm /tmp/a.cpp -fdebug-prefix-map=/tmp/= -fmacro-prefix-map=/tmp= -o a.s.ok
clang++ -g -S -fverbose-asm /tmp/a.cpp -fdebug-prefix-map=/tmp/= -fmacro-prefix-map=/tmp= -fopenmp -o a.s.bad
```
diff the asm outputs and following is interesting when `-fopenmp` is added
```diff
+.type>.L__unnamed_2,@object # @0
+.L__unnamed_2:
+.asciz> ";/tmp/a.cpp;main;6;1;;" /\/tmp [1/1]
+.size>.L__unnamed_2, 23
+
```
This ends up in object file and eventually in the binary which makes them non-reproducible.
I can see it happen with clang16 to clang18 and trunk too.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzEVU-vozgM_zTpxQJBUgo9cHhtp9JKe9u5V4EYyLz8UxKm8-bTrwJtX2dVvesiBInt2I79yy88BDkaxJZUB1KdNnyOk_Xtu-c_Np0VH-11QgNkV2SDdWi0I7sCZAAuBAqIFnqrnVTo00BzI5Q0CHFCQ-gRZEyGATgE7KO0Bq6T7CeQplezwAC8C1bNEcHxOCV3wc6-x0EqBB4gOOzlIFGANdDrxXkO3yf0CAFRh7SkQzAWrvwjTVBJLQ2PKQcZAH-igauM07oFzXtvM-dxkL8yzR2h52wQ2M3js3BXADcCBi_RiJADKU6keFu_-Itrp_BZRHbF-vaEHtK7Sim77RIIO0obokeuCfv2Sh2-1Frt8ulTt3yliaC5NIQ2hO6B1J9hneej5mC1A8c9VwrVTXc3AgAIURD2RthbiF6acU0AQiDs2Sik-IQdgVA6oVIWrtarVBurk-yuttpdRoyXOHnk4mJmfU_svrwm1dGkH3uVRG_neLcNIQ_Rr-sf1qQ-_XdwL_tzWdwc18bLBbSEnqN-NPQGVXjZvHXaK27GtY2QjZD9A9nwE31nA2Y8pC0vDumZ571z8AI87PSwIewELzD3sEhqCzwPuX3_n8LfDvU9j46LL4or5DCkow0pFTtHN8ewnhSrlL1KM8JS-YgeQ0zTr8jjZRdSiBs8CD3k8cMhYd_yvy-X2RiuUVwooUeyLWz3A_sInw-hDMi2KD7BlRz8sZC9PbnmoZe_CfuWUJxQ9kdlCTssh4sddoQdyqRPJjQ1gFTH1fgRuTqUhJ5LUp2e_Af5-1XqQNkfGb4s9_eFuowIMLuE5NtmV1Y0YmG1OHOlPpI2daSThvuPG7tq_o4hiTUYazKPzlsx97JTeCezv6DnJlFoouiJO3enyQWB5W5h9mXYLBGjn807RGvzjWiZ2LM932Bb1kVTVZTu6WZqB7HfdXWDdTkMxU7UzbbZ8rpshq7pse_4Rra0oNuC0pKWVclovquart7vBLJ6qPumJNsCNZcqV-qnzq0fNzKEGduGVttyo3iHKiz3FKUGr7AoU_eq08a3aU3WzWMg20LJEMOnlyijwvbtftUsZUwdgcH624WzClHLGFE8XRgP2G5mr9opRhcSjOiZ0PMo4zR3eW81oecU7PbLnLepX4SelxQDoedlC_8GAAD__zHqPXQ">