<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/61057>61057</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
llvm-link tool fails to process some commandline arguments
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
stygianguest
</td>
</tr>
</table>
<pre>
When using llvm-link I ran into problems with opaque pointers that I couldn't work around because llvm-link failed to parse the `-opaque-pointers` option. It seems to me that the problem is simply that the commandline options in question are initialized with the `LLVMContext` which is only created after the options are parsed. Simply changing the order (as is done in the attached patch) fixes this problem.
[0001-Parse-commandline-options-in-llvm-link-before-creati.patch](https://github.com/llvm/llvm-project/files/10851089/0001-Parse-commandline-options-in-llvm-link-before-creati.patch)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykk09vpDgQxT-NuZRAxvxrDhySjVqKlJVWWmn3bKCA2hib2MV2ej79yHRnkjmO5gKHcr36vfKzDoFmi9iJ6lFUT4neeXG-C3ydSdt5x8BJ78Zr9--CFvZAdgZj_l9TQ_YVnsFrC2TZweZdb3ANcCFewG36bUfYHFlGH4AXzfAMg9vNaIVqGC7Ov4L2brcj9DjoPeAX4UmTwRGirvYBgRcEUcv0ppt-6IpagtuYnM3gmSFgBGAHK94mxrY7GFCAQOtmrp-lwa2rtqMhi3eZAGThLbomZ0F7BLLEpA19w_Fm7Y7y8vLPn384y_jOkeKy0LDEGc6aKwweNeMIemL0R8eHfJQ8LI0Z_H3DGRZt57jX45wf0YNQJx2i2uhsRDhKmlkPC46waR4WoVqY6B3jbil8uMyEfBLy4f6tHqWUefpXnJd-MZveaVKy6Y-dpz1OzmN6sFN2G1I9CXVamLcgigehzkKdZ-Jl77PBrUKdY_f9l27e_YcDC3WeyGAQ6pzLU5XLUyvU-XdBVHvzlIxdMbZFqxPs8rppqrYomjZZuibvp77o67o8jXrKT-1Q51XZl4Oa8qGuZUKdkqqQSp3yUrZFm2GJ2KhizBuVF2WhRSlx1WSySJI5PycUwo5dncuqSYzu0YTjmShl8QJHUSgVX43vDvp-n4MopaHA4VOFiQ12n9lm58wR8COqm3cDhgDBrT8HUvt5X9FySHZvul--gwMvXsKB_z0AAP__Ud9VjQ">