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

    <tr>
        <th>Summary</th>
        <td>
            Assertion failure in ThreadSafetyReporter::handleNoMutexHeld "Only works for variables"
        </td>
    </tr>

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

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

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

<pre>
    https://gcc.godbolt.org/z/W6MTKqsvz
```
$ cat test.c
struct {
  int v __attribute__((guarded_var));
} p;

int *g() {
 return &p.v;
}
$ ./clang-bad -Wthread-safety-analysis test.c
assertion failed at clang/lib/Sema/AnalysisBasedWarnings.cpp:1948 in virtual void clang::threadSafety::(anonymous namespace)::ThreadSafetyReporter::handleNoMutexHeld(const NamedDecl *, ProtectedOperationKind, AccessKind, SourceLocation): (POK == POK_VarAccess || POK == POK_VarDereference) && "Only works for variables"
    @ 0x55c4b4397ec4  __assert_fail
    @     0x55c4af71b522 clang::threadSafety::(anonymous namespace)::ThreadSafetyReporter::handleNoMutexHeld()
    @ 0x55c4b00ede2c  (anonymous namespace)::ThreadSafetyAnalyzer::checkAccess()
 @     0x55c4b00debaf  (anonymous namespace)::ThreadSafetyAnalyzer::runAnalysis()
    @     0x55c4b00daca4 clang::threadSafety::runThreadSafetyAnalysis()
    @     0x55c4af711fa2 clang::sema::AnalysisBasedWarnings::IssueWarnings()
    @     0x55c4af705eda clang::Sema::PopFunctionScopeInfo()
    @     0x55c4af8b63be clang::Sema::ActOnFinishFunctionBody()
    @     0x55c4af4beed4 clang::Parser::ParseFunctionStatementBody()
    @     0x55c4af41109c clang::Parser::ParseFunctionDefinition()
    @     0x55c4af479264 clang::Parser::ParseDeclGroup()
    @     0x55c4af410066 clang::Parser::ParseDeclOrFunctionDefInternal()
    @     0x55c4af40f85d clang::Parser::ParseDeclarationOrFunctionDefinition()
    @ 0x55c4af40e6f9  clang::Parser::ParseExternalDeclaration()
    @ 0x55c4af40cd74  clang::Parser::ParseTopLevelDecl()
    @     0x55c4af4089be clang::ParseAST()
    @     0x55c4af153a8a clang::FrontendAction::Execute()
    @     0x55c4af0cd98d clang::CompilerInstance::ExecuteAction()
    @     0x55c4ae51a7ab clang::ExecuteCompilerInvocation()
    @     0x55c4ae50e8a0  cc1_main()
 @     0x55c4ae50bc24  ExecuteCC1Tool()
    @     0x55c4ae50b180 clang_main()
    @     0x55c4ae509674  main
    @     0x7fa386b923d4 __libc_start_main
    @     0x55c4ae5095aa  _start
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJy8lt1u2zYUx5-GviFiUNT3hS-UuN6CtE2wBOulcUQe2VxlUiMpN-nTD5TsxG5SZcWABQIii-f_O18UdcA5tdGIC5JeknQ5g95vjV1Ai4_NdlYb-bTYet85EleErwhfbYSYb4ysTevnxm4IX30nfPUl-_Rw87fbfyesIhk7XKwiPKECPPXo_FwQVjlve-EpyS8JqyhV2tM9Xa_Be6vq3uN6TXhBeLHpwUqU6z1YwstwxUFB8iXtDresCmrCq80gKY9Qi763mhKedfP9s-wQzJzwlWhBby5qkPTii99aBHnhoEH_dAEa2ien3Eu84Bxar4ymDagWJQVPBz3hq1bVhK_ucQeEr6qD9BIcyi9gtdIbNxddR-IqKpOCKk33yvoeWro3Sh4ocUXiagzifohhfEJ4Adrop53pHdWwQ9eBwKEMYfnhRPAHdsZ6tOPKFrRs8bP51Ht8_B1bSXghjHaefoYdyiWKNpSM8Ct6Z41H4VHedmgh5HijtAwrlRDo3PHXvemtwI9GDDZjDJTw4u72hpJ4SeIlvbu9Wf8JdtRRkl-R_Iq-Xl-ixQYt6iGV0CHCM0o4v9XtE_1m7FdHG2PpHqyCukVHOB-2CaUkYZQ9pqlI6iQucxQJDdtm6M46tObELvyNttDkUZ1y_j8WO8hehcwYSuSC0l9wNWyo70dXYovi61jfFyfnydaMSayh-Q9ebK-P-_hVKueOQEAyXVXb61eOprmhW1EDZ91y4e0a7t58wcala-d6fH406YClKOHUwf2zgzvTrXotwia_F6bDa92YSVhRZ3GNb8Mq4W_1SmnltkfopZFPk7ykRpRnVb0D6469Ge6fA_TgcYfavw-NIlaKfwVdYqO0Gl_yKWJe8mw6zHDM_GZN370TGmNZ9i7o1p4EeK09Wg3tNJg1RSrfBcN46p3xf1aAFzRmTUkn2R8exxhPfEzwhMyTad6D6T7iHgfeO3kX5fmGHPTV_cOkLEpjKM5eipU12qOW1VCW8dmHRxS9x0kSE7Iszgp_ZXadatFea-chnPunrAN-gohpBDnUp8SD9gW8f_4yTXEYFsAoFSJa70Dpnx2iwbIWPKH06OcqejBmsu5BEhVsDPIH-pvWZRZaPhj-aJI3EBdZXfJYJnS9blUt1s6D9es3zZ-JKQClo-XpCDaTi1iWcQkzXER5kidJFkX5bLsAVmeYszrLMcqjGKK6zJKEM94wrCPezNSCM56yNMpZlERpPm-KWtQs5zwqS95wJAnDHah23rb7XRgFZyocw4soYXHMZi3U2LphrORc4zc6rIYPerqc2UUQXdT9xpGEtcp594Lxyre4qM4Gr95iGKB-4VP8zlgx623742Sr_Lav58LswmzX7o__Ljpr_kLhCV8NOTjCV4ck9wv-TwAAAP__3t5gTg">