HomeFreeBSD

Merge commit 5f4ee5a2dfa9 from llvm-project (by Shanzhi):

Description

Merge commit 5f4ee5a2dfa9 from llvm-project (by Shanzhi):

[Clang][AST] Fix a crash on attaching doc comments (#78716)

This crash is basically caused by calling
`ASTContext::getRawCommentForDeclNoCacheImp` with its input arguments
`RepresentativeLocForDecl` and `CommentsInTheFile` refering to different
files. A reduced reproducer is provided in this patch.

After the source locations for instantiations of funtion template are
corrected in the commit 256a0b298c68b89688b80350b034daf2f7785b67, the
variable `CommitsInThisFile` in the function
`ASTContext::attachCommentsToJustParsedDecls` would refer to the source
file rather than the header file for implicit function template
instantiation. Therefore, in the first loop in
`ASTContext::attachCommentsToJustParsedDecls`, `D` should also be
adjusted for relevant scenarios like the second loop.

Fixes #67979
Fixes #68524
Fixes #70550

This should fix a segfault when compiling graphics/gdal.

PR: 276104
MFC after: 1 month

(cherry picked from commit dc36515b628331e03ac8c23a6749f7f3eb1ebec8)

Details

Provenance
dimAuthored on Feb 5 2024, 9:16 AM
Parents
rG3731f53de156: Merge commit 6e4930c67508 from llvm-project (by Alexander Kornienko):
Branches
Unknown
Tags
Unknown