<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/57179>57179</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            `-debug-info-kind=constructor -no-opaque-pointer` results in assertion
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          compnerd
      </td>
    </tr>
</table>

<pre>
    ```c
// RUN: %clang_cc1 -emit-obj -o /dev/null -debug-info-kind=constructor -no-opaque-pointers -x c %s

struct S {
  void *p;
};
struct S s[] = {
  { .p = (void *)0, },
};
extern struct S t __attribute__((__alias__("s")));
```

The `-no-opaque-pointer` results in an assertion due to an invalid cast here: https://github.com/apple/llvm-project/blob/stable/20220421/clang/lib/CodeGen/CodeGenModule.cpp#L5226-L5228
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyVUsmO2zAM_Rr5Qjiw5Xg7-JBJkF7aHrqcA1miE00VyZXkdPr3pZ1MZtAABQrQMvUoPq69U787VmVXkSzbsWzD-J4Evnz_zIoNMF5KI-zxIGUOKZ51TF3_DKkjy17hhU47GQOpwn46ptoOLv2hrWLFTjobop9kdB5S61I3ip8TpqPTNqIPkL6AnPnDLe5yXj3gK7D66YoAXJxW9HAzsuKGsXp31-8egZVPrNwBhX7vTSqsxivKm1cuxtuM8S3MTHz7yIovlKOFO3mEw0HE6HU_RTwciImEIKNFuF15oI94b3LP9bW_78v8dkIg6LEtBILHMJkYQFsQJCGgj9pZUBNCdDOm7YUiK5AiRDihx3lUpxjHQMp1gEcdT1O_ku5MFzGOBulvzOWcjt49o4x07Y3r6Rei6BczzzjP1jwndRn67KHnF1un8APaN-2TU5PBlRxHxouPJedVOp9Ngl1eVVlVF-u2TVRXqLZoRRJ1NDhv2n-vyd_9eG1GMnnT_aPiudLHgnUIE9KY9mWd121y6talbMoSszxvhkH2amiztlbluhnyolH0xIgeTejm1eLc4i9YKOZBl7tEd0vHmrzKmzwv6tVA_rxRRVk2gxS8YusMz0Kb1ZzHyvlj4rslJWpCIKPRIYY3I1Wnjxaxu25yIqZ4cr6jikaLXiVL7G7J_Q-ujyFl">