LLVM/project 096d1cdclang/lib/CodeGen CGObjCGNU.cpp, clang/test/CodeGenObjC gnustep2-ivar-offset.m

[CodeGen][CGObjCGNU] Fix assertion failure for negative ivar offsets (#215753)

Ivars can have negative offsets, for example if an ivar from a derived
class is placed inside the super classes padding.
Currently, the offset is computed as an `uint64_t`, which results in an
integer wraparound for negative offsets.
The wrapped offset is then written to a global value to be parsed by
libobjc2. When libobjc2 reads the value as a truncated signed `int`, it
is again implicitly converted correct negative number. However, with
assertions enabled we hit an assertion failure in LLVM when creating the
global value. See https://godbolt.org/z/Yb7cvWTqP.
DeltaFile
+19-0clang/test/CodeGenObjC/gnustep2-ivar-offset.m
+6-5clang/lib/CodeGen/CGObjCGNU.cpp
+25-52 files

LLVM/project bb24f9alldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

convert ZA header
DeltaFile
+3-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+3-42 files

LLVM/project a3b3431lldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

convert PAC
DeltaFile
+2-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+2-42 files

LLVM/project 3edb442lldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

convert SVE header
DeltaFile
+4-3lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+4-52 files

LLVM/project 0d5d04flldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

convert TLS
DeltaFile
+8-6lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+8-82 files

LLVM/project a04e208lldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

convert ZT
DeltaFile
+8-6lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+8-82 files

LLVM/project f3f87b8lldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

convert SVE
DeltaFile
+12-11lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+12-132 files

LLVM/project 4f9ee9flldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

convert MTE
DeltaFile
+8-6lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+8-82 files

LLVM/project 8897d65lldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

convert GCS
DeltaFile
+8-6lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+8-82 files

LLVM/project c3b73aclldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

convert fpmr
DeltaFile
+8-6lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+8-82 files

LLVM/project 3f452belldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

convert ZA
DeltaFile
+14-9lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+14-112 files

LLVM/project 95849bflldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

convert POE
DeltaFile
+8-6lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+8-82 files

LLVM/project e2517d5lldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

[lldb][AArch64][Linux] Add function to get register buffers

Replaces Get<set>Buffer methods.
DeltaFile
+32-0lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+2-0lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+34-02 files

LLVM/project 6e0fceelldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

convert POE
DeltaFile
+9-9lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+9-112 files

LLVM/project b18117elldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

convert gcs
DeltaFile
+10-10lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+10-122 files

LLVM/project 52fc1b2lldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

convert FPMR
DeltaFile
+9-9lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+9-112 files

LLVM/project 8779839lldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

convert ZT
DeltaFile
+7-7lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+7-92 files

LLVM/project e3ce414lldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

convert TLS
DeltaFile
+9-9lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+9-112 files

LLVM/project 084b1c7lldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

convert ZA buffer
DeltaFile
+8-8lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+8-102 files

LLVM/project 48d6f40lldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

convert MTE
DeltaFile
+9-9lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+9-112 files

LLVM/project 224e9e4lldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

[lldb][AArch64][Linux] Add function to get size of register set

Another one to be used in a generic read/write function later.
Replaces all the Get<thing>Size() methods.
DeltaFile
+34-0lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+2-0lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+36-02 files

LLVM/project 94e699clldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

remove sve buffer size
DeltaFile
+15-14lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+15-162 files

LLVM/project 08265cclldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

replace sve header
DeltaFile
+5-5lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+5-72 files

LLVM/project 115f605lldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

replace PAC
DeltaFile
+3-3lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+3-52 files

LLVM/project 7b58f10lldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

replace za_header
DeltaFile
+6-6lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+6-82 files

LLVM/project 95f7454lldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.cpp

convert uses of constants
DeltaFile
+38-20lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+38-201 files

LLVM/project ec0b232lldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.cpp

SVE -> SVE_HEADER
DeltaFile
+2-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+2-21 files

LLVM/project 465a52blldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

remove GetSVERegSet
DeltaFile
+8-14lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+8-162 files

LLVM/project f0c21b9lldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

[lldb][AArch64][Linux] Add function to lookup ptrace set number

This will be part of a set of RegisterSetType -> thing lookup
functions later used to implement generic read and write functions.

This replaces GetSVERegSet and any other direct uses of ptrace
set numbers. Apart from a couple where we are trying to detect
SVE and SME regardless of what the current mode is.
DeltaFile
+36-0lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+3-0lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+39-02 files

LLVM/project d8dece6clang-tools-extra/clang-tidy/readability IdentifierNamingCheck.cpp, clang-tools-extra/docs ReleaseNotes.md

[clang-tidy] Fix `DefaultHungarianPrefix` for incomplete classes in `readability-identifier-naming` (#215734)

Treat `DefaultHungarianPrefix` as a valid
`readability-identifier-naming` option and check that a class has a
definition before calling `isAbstract()` to compute its Hungarian
prefix.

Closes #215732
DeltaFile
+9-0clang-tools-extra/docs/ReleaseNotes.md
+4-1clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
+4-0clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-hungarian-notation.cpp
+1-0clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/hungarian-notation1/.clang-tidy
+18-14 files