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

    <tr>
        <th>Summary</th>
        <td>
            [Clang] Warning not displayed when using `-include`
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang
      </td>
    </tr>

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

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

<pre>
    ## Description

While compiling a c++ source file with clang++ using the `-include` flag to include a header file, some warnings are not shown.

## Steps to Reproduce

1. header file `assert.h`:
 ```c++
    #pragma once

    #define CUSTOM_MACRO(expr) (void)(!!(expr))
    ```

2. cpp file `main.cpp` :
    ```c++
 int main()
    {
        int x = 0;
        CUSTOM_MACRO(x > 0 || x <= 0);
    }
    ```

3. Compile the file with the following command:
    ```sh
    clang++ -Wall -Wextra -include assert.h -c main.cpp
    ```
4. Observe that no warning is outputted.

5. Compile the file again with the additional `-save-temps=obj` flag:
 ```sh
    clang++ -Wall -Wextra -include assert.h -c main.cpp -save-temps=obj
    ```
6. Observe that the following warning is generated:
    ```log
    main.cpp:5:21: warning: overlapping comparisons always evaluate to true [-Wtautological-overlap-compare]
 (void)(!!(x > 0 || x <= 0));
                  ~~~~~~^~~~~~~~~
    1 warning generated.
    ```

## Expected Behavior
The warning indicating that the comparison always evaluates to true should be displayed regardless of the use of the `-save-temps=obj` flag.

## Additional Information
- **Compiler Version:** Clang 16.0.0
- **Operating System:** Ubuntu 22.04
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysVctu4zoPfhplQ9iw5UvihRdp0gL_YlCgnZkufzA2Y2sgS4YkJ-1mnv1AjhMnPenM5ghC64gX8SM_imitaBRRybIHlm0XOLhWm_KncNq8YKftYqfrj5LxhPEEtmQrI3ontGLRlkXr09-3VkiCSne9kEI1gFAx_sD4A1g9mIpg7-VH4VqoJKpmEg7WK7uWgOVRIFQlh5pYHsFeYgNOw3QECC1hTWb0w_gGrO4IjmiUUI0FNARKO7CtPqrwOrAp7FdHvfUOX6g3uh4qulaKw2v3Pha0lowLW5ZHLJm0_PlpT9imYwBgPOkNNh2CVreuJ2lNe6EINj9evz9_-_-39eblmfEVvfeG8QIYXx20qBkvGF8xHo_7LPV7dnUO4foOHkLV95fYOxQqrPre53EO_tr4Nn6hHHib8e7ru5ZXCP3yiu_Aki1ELPkk-4TMqz1CBGy5YcvNaLU5GfLixpYtt39Bl4SwGXlFI1FmIo2_tJT66ElU6a5DVd8HbNv58Jp_wRtKCcEbvTuDEFzYNlUfggou2fwqyjSE550lc_DxoQOlz7wEYUEPrh-co_qGldkdTNigUDMyrGvhuwzl2BsWDxQ46nrLkq3e_To3yR12_gdg4d_3fQU__wT_tipXmWhIkUFHX5RI6mY-vSQ9WWcsWfOYJeuzL_-pD2Qk9v1U-B6NsFpZQHnEDwt0QDmgI9_wzgwELHsI3hwOTkvdiAplMHkITtbEsjMN7_fiH_n8idK36_e4WPb4e1qzYnxJzyU34V-aYXrOHt97qhzV8EAtHoQ2J-n3luaMq1pU6E7v61SXOVWfM2UvqbKtHmQNO4Ja2F7iB9VgqEFTS7IW9H70NFg6f_6Jnfee4vVM7P-pvTYdzsMkAMbXjK-n5jDwk4z10mR9EsDGExriPIzC6Nbmufcp9HhfP6yjbrb5sRuUG4DzMEoXdZnURVLggsp4GRecZ6tVtmjLlOJ4WWe8qLCiokqSOC3ifEW02_M8K1YLUfKIp1HO0zhK0zQJ0xyjXZZnccKLjFc1SyPqUMhQykMXatMshLUDlUWeLvOFxB1JOw5Zzqe25H7emtLrB7uhsSyNpLDOzh6ccHKczCNulm3hbaqvH3dzhY4tqWma3k7SxWBk2TrnK7Nm_Inxp0a4dtiFle4Yf_I3Tf-C3uhfVDnGn8bALeNPp9gPJf8nAAD__yQRY-o">