[all-commits] [llvm/llvm-project] 0c1dcd: [clangd] [HeuristicResolver] Protect against infin...
Tom Stellard via All-commits
all-commits at lists.llvm.org
Sat Mar 16 18:31:27 PDT 2024
Branch: refs/heads/revert-85053-omp_386_fix_backoirt
Home: https://github.com/llvm/llvm-project
Commit: 0c1dcd675291f058d530078f9304162ea9d27cd1
https://github.com/llvm/llvm-project/commit/0c1dcd675291f058d530078f9304162ea9d27cd1
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2024-03-16 (Sat, 16 Mar 2024)
Changed paths:
M clang-tools-extra/clangd/HeuristicResolver.cpp
M clang-tools-extra/clangd/HeuristicResolver.h
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
Log Message:
-----------
[clangd] [HeuristicResolver] Protect against infinite recursion on DependentNameTypes (#83542)
When resolving names inside templates that implement recursive
compile-time functions (e.g. waldo<N>::type is defined in terms
of waldo<N-1>::type), HeuristicResolver could get into an infinite
recursion, specifically one where resolveDependentNameType() can
be called recursively with the same DependentNameType*.
To guard against this, HeuristicResolver tracks, for each external
call into a HeuristicResolver function, the set of DependentNameTypes
that it has seen, and bails if it sees the same DependentNameType again.
To implement this, a helper class HeuristicResolverImpl is introduced
to store state that persists for the duration of an external call into
HeuristicResolver (but does not persist between such calls).
Fixes https://github.com/clangd/clangd/issues/1951
(cherry picked from commit e6e53ca8470d719882539359ebe3ad8b442a8cb0)
Commit: 3a06861272d8a0710d1880e8e3d4954a76b7f256
https://github.com/llvm/llvm-project/commit/3a06861272d8a0710d1880e8e3d4954a76b7f256
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-03-16 (Sat, 16 Mar 2024)
Changed paths:
M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
Log Message:
-----------
[libc++] Use clang-tidy version that matches the compiler we use in the CI (#85305)
This works around ODR violations in the clang-tidy plugin we use to
perform the modules tests.
Fixes #85242
Commit: 77e1992e89d3734f20c97ad47b4675219f5b9163
https://github.com/llvm/llvm-project/commit/77e1992e89d3734f20c97ad47b4675219f5b9163
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-03-16 (Sat, 16 Mar 2024)
Changed paths:
M lld/test/COFF/def-export-cpp.s
M lld/test/COFF/def-export-stdcall.s
M lld/test/COFF/dllexport.s
M llvm/include/llvm/Object/COFFImportFile.h
M llvm/lib/Object/COFFImportFile.cpp
M llvm/test/tools/llvm-dlltool/coff-decorated.def
M llvm/test/tools/llvm-dlltool/coff-exports.def
M llvm/test/tools/llvm-dlltool/coff-noname.def
M llvm/test/tools/llvm-dlltool/no-leading-underscore.def
M llvm/test/tools/llvm-lib/arm64ec-implib.test
M llvm/test/tools/llvm-readobj/COFF/file-headers.test
M llvm/tools/llvm-readobj/COFFImportDumper.cpp
Log Message:
-----------
[llvm-readobj][Object][COFF] Print COFF import library symbol export name. (#78769)
getExportName implementation is based on lld-link. In its current form,
it's mostly about convenience, but it will be more useful for EXPORTAS
support, for which export name is not possible to deduce from other
printed properties.
Commit: 76e1800f356513c491ac3bcebdf952842e7b5a3f
https://github.com/llvm/llvm-project/commit/76e1800f356513c491ac3bcebdf952842e7b5a3f
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-03-16 (Sat, 16 Mar 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/COFF.h
M llvm/include/llvm/Object/COFFImportFile.h
M llvm/lib/Object/COFFImportFile.cpp
M llvm/lib/Object/COFFModuleDefinition.cpp
A llvm/test/tools/llvm-lib/exportas.test
M llvm/tools/llvm-readobj/COFFImportDumper.cpp
Log Message:
-----------
[llvm-lib][llvm-dlltool][Object] Add support for EXPORTAS name types. (#78772)
EXPORTAS is a new name type in import libraries. It's used by default on ARM64EC,
but it's allowed on other platforms as well.
Commit: 79bc8b32c6ed4fc6e002d6426c04d4de874b07cc
https://github.com/llvm/llvm-project/commit/79bc8b32c6ed4fc6e002d6426c04d4de874b07cc
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-03-16 (Sat, 16 Mar 2024)
Changed paths:
M llvm/include/llvm/Object/COFF.h
M llvm/include/llvm/Object/COFFImportFile.h
M llvm/lib/Object/COFFImportFile.cpp
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
M llvm/test/tools/llvm-lib/arm64ec-implib.test
Log Message:
-----------
[llvm-lib][Object] Add support for EC importlib symbols. (#81059)
ARM64EC import libraries expose two additional symbols: mangled thunk
symbol (like `#func`) and auxiliary import symbol (like`__imp_aux_func`).
The main functional change with this patch is that those symbols are
properly added to static library ECSYMBOLS.
Commit: 207ecd684cc6731266e12d8d2df0e3d1d9e1ff8d
https://github.com/llvm/llvm-project/commit/207ecd684cc6731266e12d8d2df0e3d1d9e1ff8d
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2024-03-16 (Sat, 16 Mar 2024)
Changed paths:
M llvm/include/llvm/Object/COFFImportFile.h
M llvm/lib/Object/ArchiveWriter.cpp
M llvm/lib/Object/COFFImportFile.cpp
M llvm/test/tools/llvm-lib/arm64ec-implib.test
Log Message:
-----------
[Arm64EC] Copy import descriptors to the EC Map (#84834)
As noted in <https://github.com/llvm/llvm-project/pull/78537>, MSVC
places import descriptors in both the EC and regular map - that PR moved
the descriptors to ONLY the regular map, however this causes linking
errors when linking as Arm64EC:
```
bcryptprimitives.lib(bcryptprimitives.dll) : error LNK2001: unresolved external symbol __IMPORT_DESCRIPTOR_bcryptprimitives (EC Symbol)
```
This change copies import descriptors from the regular map to the EC
map, which fixes this linking error.
Commit: 2f640ad26d176a70c5e7a77c92a899e525e366d9
https://github.com/llvm/llvm-project/commit/2f640ad26d176a70c5e7a77c92a899e525e366d9
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2024-03-16 (Sat, 16 Mar 2024)
Changed paths:
M llvm/include/llvm/Object/COFFImportFile.h
M llvm/lib/Object/COFFImportFile.cpp
M llvm/lib/Object/COFFModuleDefinition.cpp
M llvm/test/tools/llvm-lib/arm64ec-implib.test
R llvm/test/tools/llvm-lib/exportas.test
Log Message:
-----------
Remove support for EXPORTAS in def files to maintain ABI compatibility for COFFShortExport
Commit: b95ea2e51bdfe20c9db6a0675ab068fa59a0b9fe
https://github.com/llvm/llvm-project/commit/b95ea2e51bdfe20c9db6a0675ab068fa59a0b9fe
Author: Weining Lu <luweining at loongson.cn>
Date: 2024-03-16 (Sat, 16 Mar 2024)
Changed paths:
M lld/test/ELF/loongarch-reloc-leb128.s
Log Message:
-----------
[lld][test] Fix sanitizer buildbot failure
Buildbot failure:
https://lab.llvm.org/buildbot/#/builders/5/builds/41530/steps/9/logs/stdio
(cherry picked from commit d9b435c24ddddcc8148fd97b42f6bb1124e52307)
Commit: edbe7fa5fef93bb747cb58a589dc25901793774b
https://github.com/llvm/llvm-project/commit/edbe7fa5fef93bb747cb58a589dc25901793774b
Author: Weining Lu <luweining at loongson.cn>
Date: 2024-03-16 (Sat, 16 Mar 2024)
Changed paths:
M lld/ELF/Arch/LoongArch.cpp
Log Message:
-----------
[lld][LoongArch] Fix handleUleb128
(cherry picked from commit a41bcb3930534ef1525b4fc30e53e818b39e2b60)
Commit: bf2eb3b190172be6ff60205231fd7c8965a25ce5
https://github.com/llvm/llvm-project/commit/bf2eb3b190172be6ff60205231fd7c8965a25ce5
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-03-16 (Sat, 16 Mar 2024)
Changed paths:
M clang-tools-extra/clangd/HeuristicResolver.cpp
M clang-tools-extra/clangd/HeuristicResolver.h
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
M lld/ELF/Arch/LoongArch.cpp
M lld/test/COFF/def-export-cpp.s
M lld/test/COFF/def-export-stdcall.s
M lld/test/COFF/dllexport.s
M lld/test/ELF/loongarch-reloc-leb128.s
M llvm/include/llvm/BinaryFormat/COFF.h
M llvm/include/llvm/Object/COFF.h
M llvm/include/llvm/Object/COFFImportFile.h
M llvm/lib/Object/ArchiveWriter.cpp
M llvm/lib/Object/COFFImportFile.cpp
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
M llvm/test/tools/llvm-dlltool/coff-decorated.def
M llvm/test/tools/llvm-dlltool/coff-exports.def
M llvm/test/tools/llvm-dlltool/coff-noname.def
M llvm/test/tools/llvm-dlltool/no-leading-underscore.def
M llvm/test/tools/llvm-lib/arm64ec-implib.test
M llvm/test/tools/llvm-readobj/COFF/file-headers.test
M llvm/tools/llvm-readobj/COFFImportDumper.cpp
Log Message:
-----------
Merge branch 'release/18.x' into revert-85053-omp_386_fix_backoirt
Compare: https://github.com/llvm/llvm-project/compare/fc108ac9e491...bf2eb3b19017
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list