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

    <tr>
        <th>Summary</th>
        <td>
            [C++20] [Modules] unresolved external symbol for `export __declspec(dllexport)` variables from DLL
        </td>
    </tr>

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

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

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

<pre>
    ### Steps to Reproduce

#### `hello.cppm`
```c++
export module hello;

export __declspec(dllexport) int x = 0;
```

#### `main.cpp`
```c++
import hello;

int main()
{
    return x;
}

```

#### commands
```shell
clang++ -std=c++20 -fmodule-output -shared hello.cppm -o hello.dll
clang++ -std=c++20 -fprebuilt-module-path=. main.cpp -L. -lhello

error LNK2019: unresolved external symbol "int x" (?x@@3HA) referenced in function main
```

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMk8tu6zYQhp9mtBnIoKj7Qgu7glGgbhftAwSUOLYYUKRKUqnz9oUuhnMOguQAhA0O_xl-_EcjvFc3Q9RAfoK8jcQcBuuaYRbm9q8yr8pEnZXvDfB0W_hPoMljsPg3Tc7KuSdgLbDj_vvQLVIo2EBa20M_TSMUbJcUbFs98NOy1ijdJ-sCjlbOmnBNg_T0sfSueHmR1Gs_UQ-8klpvYeA1KhPwjpC2yJ6pj8u-ghyFMgvjN4hqXAE-Y1uuXqoAr4DX-0m5SxARHYXZGbw_88r2B6RvOXs7jsJI_5PeLzhbrNfC3DZgjH2QkLY7P2cYXzdrYzuHaQ4Y-0E4kvhsEMZ238lfrDg56malQ7yXnkQYIG0P-DAU48sBY7059rGVzlmHl7_-4CypIT3ibBx5q99IIt0DOSM0-vexsxqB87WxwDku9qbnO2QMMpb-fly67uhKjkxPEpXB62z6oKzZuvGZtZFsUlmntYioScqEZ7zM0ywamrLnsqxrqkQmZVIliazyWlRVUeR5T9cuUg1nPGMZK5IqqfLsUNZF2fV1x7ksr0m9QNEolD5o_TYerLtFyvuZmqqsqjLSoiPt10Hj3NB_uB4C58vcuWbJibv55iFjWvngn1WCCnqd0N8e5kPeIuSnP1ff_bL7wsGrdctX_t38QMHwTTglOk0er86O2F4u0ex0M4QweUiPwM_AzzcVhrk79HYEfl4g9794cvaV-gD8vD7NAz-vT_8_AAD__0xcRwY">