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

    <tr>
        <th>Summary</th>
        <td>
            [clang] False-positive with Wunneeded-internal-declaration on _Generic or static?
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          hstk30-hw
      </td>
    </tr>
</table>

<pre>
    https://godbolt.org/z/ec46Ws87E

```
#define TEST(T) _Generic((T), \
        char* : "String", \
        int* : "Integer", \
        default : "Others")

static int *A  = 0;

extern void foo(int *);

int main() {
    TEST(A);
 return 0;
}
```

Varable `A` is used in marco `TEST`, but warning it.

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx0k0FvpDgQhX9NcSl1y5SBhgOHTjqs9rSHRJvjyuBq8I7bjmyTzMyvH0Ezk84og5AR-Ktnv_JDxWhGx9xCeQflKVNzmnxop5i-SLGb3rLe62_tlNJLBHkE6oC60eve27T3YQTqvgN1PBTVc6wPDyBOII7bWIntvr6S1Hw2jvHp4fEJqH4CavC_v9hxMANQvX0Cukco769FuF3DpALQEUEeEYgeUzBuBKJPYePSDfu3Szxy-BOs-axmm37S_6SJQ1zh5tZMTCqZYZFGoOMREeQJBci7W4i_Jg4OX73RePYeqN74RewjukxclHGr7wbhcPe-ra0_H6owcJqDu13ycPq8z-v4rwqqt4xQrQCaiHNkjcbhRYXBLxPrOpVY2tLPCd9UcMaNaNL-qpHpVupGNirjNj-ImmReVjKb2rySjVKlylUtBioK1WtVFoU-y75oqqLKTEuCCkF5LYqiEnKfH3RZDfqgmVVVUg6F4Isydm_t62UJUmZinLmtKS-azKqebVwjSTRY5UaQR23U6HxMZliPpzxloV2qd_08RiiENTHFd71kkl1Tfa0vT9gpG3n34qNJ5pXxzaQJn2fnmDXrnXHL2Sm70zxYFVQy3qF3vwKKPuA1BCC7bA7295_CpGnu94O_AHXLLrbH7iX4_3lIQN1qMQJ1q8sfAQAA__9RNf0L">