Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[AutoBump] Merge with fixes of 2d50029f (Aug 15, needs torch-mlir bump) (5) #358

Open
wants to merge 444 commits into
base: bump_to_894d3eeb
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
444 commits
Select commit Hold shift + click to select a range
b221c37
[RISCV] Allow YAML file to control multilib selection (#98856)
ArcaneNibble Aug 16, 2024
1164e4a
[mlir][AMDGPU] Implement AMDGPU DPP operation in MLIR. (#89233)
stefankoncarevic Aug 16, 2024
7afb51e
[SelectionDAG][X86] Add SelectionDAG::getSignedConstant and use it in…
topperc Aug 16, 2024
97f0ab7
[mlir][emitc] Add 'emitc.switch' op to the dialect (#102331)
EtoAndruwa Aug 16, 2024
ddda37a
[TableGen] Refactor Intrinsic handling in TableGen (#103980)
jurahul Aug 16, 2024
d8c2874
[test] Prevent generation of the bigendian code inside clang test Cod…
earnol Aug 16, 2024
3f18a0a
[nfc] Improve testability of PGOInstrumentationGen (#104490)
mtrofin Aug 16, 2024
aba3476
[RISCV] Move vmv.v.v peephole from SelectionDAG to RISCVVectorPeephol…
lukel97 Aug 16, 2024
ab5102d
[SandboxIR] Implement AtomicRMWInst (#104529)
vporpo Aug 16, 2024
f668708
[libc] Disable old headergen checks unless enabled (#104522)
michaelrj-google Aug 16, 2024
fbef911
[bazel] Fix cyclic dependencies for macos (#104528)
zyx-billy Aug 16, 2024
db279c7
[HLSL] Change default linkage of HLSL functions to internal (#95331)
hekota Aug 16, 2024
907c7eb
[Attributor] Enable `AAAddressSpace` in `OpenMPOpt` (#104363)
shiltian Aug 16, 2024
b816977
[APINotes] Support fields of C/C++ structs
egorzhdan Aug 16, 2024
9f89d31
[lldb][test] Mark gtest cases as XFAIL if the test suite is XFAIL (#1…
kendalharland Aug 16, 2024
0551926
[Clang][OMPX] Add the code generation for multi-dim `thread_limit` cl…
shiltian Aug 16, 2024
89a1f14
[LLD, MachO] Default objc_relative_method_lists on MacOS10.16+/iOS14+…
DataCorrupted Aug 16, 2024
9791986
Revert "[libc] Disable old headergen checks unless enabled" (#104627)
michaelrj-google Aug 16, 2024
8becb80
[AArch64] Remove apple-a7-sysreg. (#102709)
ahmedbougacha Aug 16, 2024
f999b32
[DirectX] Add missing Analysis usage to DXILResourceMDWrapper
bogner Aug 16, 2024
535b209
[SelectionDAGISel] Use getSignedConstant for OPC_EmitInteger.
topperc Aug 16, 2024
51ede55
Re-Apply "[DXIL][Analysis] Implement enough of DXILResourceAnalysis f…
bogner Aug 16, 2024
3e7ca5f
[SDAG] Read-only intrinsics must have WillReturn and !Throws attribut…
kalxr Aug 16, 2024
3c603f8
[libcxx][fix] Rename incorrect filename variable
jhuber6 Aug 16, 2024
8454610
[libc] Fix generated header definitions in cmake (#104628)
michaelrj-google Aug 16, 2024
ef56061
AMDGPU: Rename type helper functions in atomic handling
arsenm Aug 16, 2024
e6b9f12
[flang][cuda][driver] Make sure flang does not switch to cc1 (#104613)
clementval Aug 16, 2024
464fa3b
[AArch64][MachO] Encode @AUTH to ARM64_RELOC_AUTHENTICATED_POINTER.
ahmedbougacha Aug 16, 2024
e315ba1
Revert "[flang][cuda][driver] Make sure flang does not switch to cc1"…
clementval Aug 16, 2024
cf721e2
[PowerPC] Do not merge TLS constants within PPCMergeStringPool.cpp (#…
amy-kwan Aug 16, 2024
1aa8a6f
[VPlan] Compute cost for most opcodes in VPWidenRecipe (NFCI). (#98764)
fhahn Aug 16, 2024
71d54fa
[DirectX] Revert specialized createOp methods part of #101250
bogner Aug 16, 2024
7ff377b
[Analysis] Fix null ptr dereference when using WriteGraph without bra…
TylerNowicki Aug 16, 2024
f5b81aa
[InstrProf] Support conditional counter updates (#102542)
gulfemsavrun Aug 16, 2024
0e4f7c7
[gn build] Port 7ff377ba60bf
llvmgnsyncbot Aug 16, 2024
808933f
[MC] Drop whitespace padding in AMDGPU combined asm/disasm tests. (#1…
kosarev Aug 16, 2024
af81b4f
Reland "[flang][cuda][driver] Make sure flang does not switch to cc1 …
clementval Aug 16, 2024
8c5d76a
[SandboxIR][Tracker][NFC] GenericSetterWithIdx (#104615)
vporpo Aug 16, 2024
de9338f
Revert "Reland "[flang][cuda][driver] Make sure flang does not switch…
clementval Aug 16, 2024
1a8817a
Reland "[flang][cuda][driver] Make sure flang does not switch to cc1 …
clementval Aug 16, 2024
fd9aa5e
[flang][cuda] Remove run line
clementval Aug 16, 2024
13779ec
[DataLayout] Refactor parsing of "p" specification (#104583)
s-barannikov Aug 16, 2024
4a0bbbc
[SLP]Fix PR104637: do not create new nodes for fully overlapped non-s…
alexey-bataev Aug 16, 2024
f33d519
[SandboxIR] Implement ConstantInt (#104639)
vporpo Aug 16, 2024
70995a1
[ScalarizeMaskedMemIntr] Optimize splat non-constant masks (#104537)
krzysz00 Aug 16, 2024
bd9f2c2
[libc] Add missing math definitions for round and scal for GPU (#104636)
jhuber6 Aug 16, 2024
ebe7265
[Mips] Fix fast isel for i16 bswap. (#103398)
topperc Aug 16, 2024
e4f3735
[Clang] fix crash by avoiding invalidation of extern main declaration…
a-tarasyuk Aug 16, 2024
bfdecea
[NFC][cxxabi] Apply `cp-to-llvm.sh` (#101970)
chestnykh Aug 16, 2024
324b676
Revert "[AArch64] Fold more load.x into load.i with large offset"
thurstond Aug 16, 2024
5ef2456
[clang-doc] add support for enums comments in html generation (#101282)
PeterChou1 Aug 16, 2024
085b04b
[asan] Pre-commit test with global constructor without any global (#1…
vitalybuka Aug 16, 2024
e169cc1
[Clang] Fix sema checks thinking kernels aren't kernels (#104460)
jhuber6 Aug 16, 2024
516c1a0
[SandboxIR] Implement SwitchInst (#104641)
vporpo Aug 16, 2024
981191a
[flang] Allow flexible name in llvm.ident (NFC) (#104543)
kkwli Aug 16, 2024
cd3f48d
[NFC][DXIL] move replace/erase in DXIL intrinsic expansion to caller …
pow2clk Aug 17, 2024
8d8f56d
[MC,AArch64] Remove unneeded STT_NOTYPE/STB_LOCAL code for mapping sy…
MaskRay Aug 17, 2024
4cf9a42
[clang-format] Adjust requires clause wrapping (#101550) (#102078)
urnathan Aug 17, 2024
6e0fc15
[RISCV] Remove feature implication from Zvknhb.
topperc Aug 17, 2024
f44f026
[asan] Catch `initialization-order-fiasco` in modules without globals…
vitalybuka Aug 17, 2024
1ff630d
[LLVM][NVPTX] Add support for brkpt instruction (#104470)
schwarzschild-radius Aug 17, 2024
c51578e
[SelectionDAG][X86] Use getAllOnesConstant. NFC (#104640)
topperc Aug 17, 2024
34f941a
Revert "[asan] Catch `initialization-order-fiasco` in modules without…
vitalybuka Aug 17, 2024
d257cd8
[CodeGen][asan] Use `%t` instead of `cd` in test
vitalybuka Aug 17, 2024
2f89c1c
[AMDGPU][NFC] Remove duplicate code by using getAddressableLocalMemor…
mariusz-sikora-at-amd Aug 17, 2024
8041bf4
[NFC][asan] Make 'Module &M' class member
vitalybuka Aug 17, 2024
067f2e9
[SelectionDAG] Use getSignedConstant/getAllOnesConstant.
topperc Aug 17, 2024
e6ceb29
[RISCV] Use getAllOnesConstant/getSignedConstant.
topperc Aug 17, 2024
cb7614e
[mlir][Transforms] Dialect conversion: Fix bug in `computeNecessaryMa…
matthias-springer Aug 17, 2024
fc6300a
[AMDGPU] Disable inline constants for pseudo scalar transcendentals (…
perlfu Aug 17, 2024
aad27bf
Add non-temporal support for LLVM masked loads (#104598)
giuseros Aug 17, 2024
48ae614
[InstCombine] Avoid infinite loop when negating phi nodes (#104581)
dtcxzyw Aug 17, 2024
0da2ba8
[NFC] Cleanup in ADT and Analysis headers. (#104484)
dfukalov Aug 17, 2024
27d37ee
[clang][NFC] Clean up `Sema` headers
Endilll Aug 17, 2024
362142c
[AArch64] Add a check for invalid default features (#104435)
tmatheson-arm Aug 17, 2024
7616145
[libc] Fix type signature for strlcpy and strlcat (#104643)
jhuber6 Aug 17, 2024
1692921
AMDGPU: Add tonearest and towardzero roundings for intrinsic llvm.fpt…
changpeng Aug 17, 2024
0b092df
[X86] Don't save/restore fp around longjmp instructions (#102556)
weiguozhi Aug 17, 2024
107f3ef
[RISCV][MC] Make error message of CSR with wrong extension more detai…
jaidTw Aug 17, 2024
f620c5b
[clang][bytecode] Classify 1-bit unsigned integers as bool (#104662)
tbaederr Aug 17, 2024
b21b907
[flang] Handle Hollerith in data statement initialization in big endi…
kkwli Aug 17, 2024
555399d
[clang][bytecode] Fix shifting negative values (#104663)
tbaederr Aug 17, 2024
69f76c7
[LLD] [MinGW] Recognize the -rpath option (#102886)
mstorsjo Aug 17, 2024
f7d94b7
[SelectionDAG] Use getAllOnesConstant.
topperc Aug 18, 2024
efa859c
[ARM] Use SelectonDAG::getSignedConstant.
topperc Aug 18, 2024
69115cc
[AArch64] Use SelectionDAG::getSignedConstant/getAllOnesConstant.
topperc Aug 18, 2024
27a62ec
[LSR] Split the -lsr-term-fold transformation into it's own pass (#10…
preames Aug 18, 2024
addeb22
[gn build] Port 27a62ec72aed
llvmgnsyncbot Aug 18, 2024
f499a3f
[VE] Use SelectionDAG::getSignedConstant/getAllOnesConstant.
topperc Aug 18, 2024
c4c9f39
[MLIR][OpenMP] Fix MLIR->LLVM value matching in privatization logic (…
ergawy Aug 18, 2024
93ab50a
[APInt] Replace enum with static constexpr member variables. NFC
topperc Aug 18, 2024
88f8010
[clang-tidy] Correct typo in ReleaseNotes.rst (#104674)
mikecrowe Aug 18, 2024
e994494
[PowerPC] Use MathExtras helpers to simplify code. NFC (#104691)
topperc Aug 18, 2024
e59c824
[RISCV] Remove unused tablegen classes from unratified Zbp instructio…
topperc Aug 18, 2024
07bd3bb
[clang][bytecode][NFC] Improve Pointer::print()
tbaederr Aug 17, 2024
dac1829
[clang][bytecode] IntPointer::atOffset() should append (#104686)
tbaederr Aug 18, 2024
1125934
[Clang] `constexpr` builtin floating point classification / compariso…
MitalAshok Aug 18, 2024
10fe531
[GlobalISel] Add and use an Opcode variable and update match-table-cx…
davemgreen Aug 18, 2024
c4092d3
[Clang] warn on discarded [[nodiscard]] function results after castin…
a-tarasyuk Aug 18, 2024
7180170
[clang][test] Remove bytecode interpreter RUN line from test
tbaederr Aug 18, 2024
e9e3a18
[LV] Don't cost branches and conditions to empty blocks.
fhahn Aug 18, 2024
ff80e1f
[InstSimplify] Simplify `uadd.sat(X, Y) u>= X + Y` and `usub.sat(X, Y…
dtcxzyw Aug 18, 2024
29811a8
[libc++][docs] Fixing hyperlink for mathematical special function doc…
PaulXiCao Aug 18, 2024
6ed2a6b
[Flang]: Use actual endianness for Integer<80> (#103928)
DanielCChen Aug 18, 2024
d082f1f
[clang][bytecode] Only booleans can be inverted
tbaederr Aug 18, 2024
e05307f
[clang][OpenMP] Avoid multiple calls to getCurrentDirective in DSAChe…
kparzysz Aug 18, 2024
dd40632
[clang] fix divide by zero in ComplexExprEvaluator (#104666)
c8ef Aug 18, 2024
bbcb625
[clang-tidy] Support member functions with modernize-use-std-print/fo…
mikecrowe Aug 18, 2024
de5ea2d
[clang][OpenMP] Change /* ParamName */ to /*ParamName=*/, NFC
kparzysz Aug 18, 2024
bcbe9d6
[Clang] Do not allow `[[clang::lifetimebound]]` on explicit object me…
MitalAshok Aug 18, 2024
0d150db
[llvm][clang] Move RewriterBuffer to ADT. (#99770)
jpienaar Aug 18, 2024
a28c202
[gn build] Port 0d150db214e2
llvmgnsyncbot Aug 18, 2024
caa1070
[HIP] search fatbin symbols for libs passed by -l (#104638)
yxsamliu Aug 18, 2024
5c13f9a
[libc] Add single threaded kernel attributes to AMDGPU startup utilit…
jhuber6 Aug 18, 2024
deb6b45
[libc][gpu] Add Atan2 Benchmarks (#104708)
jameshu15869 Aug 18, 2024
79d0211
[MC] Add test that requires multiple relaxation steps
MaskRay Aug 18, 2024
bf5cd42
[MIPS] Remove expensive LLVM_DEBUG relocation dump
MaskRay Aug 18, 2024
3496245
[clang-format] Change GNU style language standard to LS_Latest (#104669)
owenca Aug 18, 2024
0224d83
Update Clang version from 19 to 20 in scan-build.1.
fcambus Aug 18, 2024
70f3863
[DAG][PatternMatch] Add support for matchers with flags; NFC
goldsteinn Aug 13, 2024
c6e16a4
[TLI] Add support for inferring attr `cold`/`noreturn` on `std::termi…
goldsteinn Aug 1, 2024
1a6bf94
[MC] Remove ELFRelocationEntry::OriginalAddend
MaskRay Aug 18, 2024
f16125a
[CodeGenPrepare][X86] Add tests for folding `urem` with loop invarian…
goldsteinn Jun 25, 2024
c64ce8b
[CodeGenPrepare] Folding `urem` with loop invariant value
goldsteinn Jun 25, 2024
7d5281a
[AMDGPU][NFC] Fix preload-kernarg.ll test after attributor move (#98840)
kerbowa Aug 19, 2024
4eefc8d
[MLIR][Python] enhance python api for tensor.empty (#103087)
xurui1995 Aug 19, 2024
7f87b5b
[SelectionDAG][X86] Preserve unpredictable metadata for conditional b…
tianqingw Aug 19, 2024
731ae69
Revert "[CodeGenPrepare] Folding `urem` with loop invariant value"
goldsteinn Aug 19, 2024
a80a90e
[RISCV][MC] Support experimental extensions Zvbc32e and Zvkgs (#103709)
wangpc-pp Aug 19, 2024
82fdfd4
[TableGen] Print Error and not crash on dumping non-string values (#1…
optimisan Aug 19, 2024
7faf1a0
[Sparc] Add errata workaround pass for GR712RC and UT700 (#103843)
doac Aug 19, 2024
f802c39
[RISCV] Add more tests for RISCVISAInfo::checkDependency(). NFC
topperc Aug 17, 2024
164d123
[RISCV] Simplify reserse fixed regs (#104736)
wangpc-pp Aug 19, 2024
d489b7c
[RISCV] Merge some ISA error reporting together and make some errors …
topperc Aug 16, 2024
10a4f1e
[RISCV] Add helper functions to exploit similarity of some RISCVISAIn…
topperc Aug 16, 2024
371f936
[RISCV] Make extension names lower case in RISCVISAInfo::checkDepende…
topperc Aug 17, 2024
985d64b
[LoongArch] Merge base and offset for LSX/LASX memory accesses (#104452)
heiher Aug 19, 2024
83879f4
[SimplifyCFG] Don't block sinking for allocas if no phi created (#104…
nikic Aug 19, 2024
5795f9e
[mlir][docs] Update Bytecode documentation (#99854)
matthias-springer Aug 19, 2024
cd60d10
[VPlan] Move some LoopVectorizationPlanner helpers to VPlan.cpp (NFC).
fhahn Aug 19, 2024
5ab65a6
[X86] VPERM2*128 instructions aren't microcoded on znver2
RKSimon Aug 13, 2024
9e3e8b5
[X86] VPERM2*128 instructions aren't microcoded on znver1
RKSimon Aug 13, 2024
8b1916b
[X86] Cleanup lowerShuffleWithUNPCK/PACK signatures to match (most) o…
RKSimon Aug 19, 2024
9211977
[AArch64][SME] Return false from produceCompactUnwindFrame if VG save…
kmclaughlin-arm Aug 19, 2024
63267ca
[LoongArch] Fix the assertion for atomic store with 'ptr' type
SixWeining Aug 19, 2024
065d2d9
[MLIR][LLVM] Improve the noalias propagation during inlining (#104750)
Dinistro Aug 19, 2024
740f055
[VPlan] Rename getBestVF -> computeBestVF (NFC).
fhahn Aug 19, 2024
de5deb7
[PAC][ELF][AArch64] Encode several ptrauth features in PAuth core inf…
kovdan01 Aug 19, 2024
b6d1df2
[PowerPC] Support -mno-red-zone option (#94581)
ecnelises Aug 19, 2024
cde806b
[lld][MachO] Fix a suspicous assert in SyntheticSections.cpp
DavidSpickett Aug 19, 2024
74a512d
[mlir][vector] Populate sink patterns in apply_patterns.vector.reduct…
MacDue Aug 19, 2024
00def06
[LLVM][NewPM] Add C API for running the pipeline on a single function…
maleadt Aug 19, 2024
b8dccb7
[VPlan] Emit note when UserVF > MaxUserVF (NFCI).
fhahn Aug 19, 2024
abf69a1
[InstCombine] Fold `(x < y) ? -1 : zext(x != y)` into `u/scmp(x,y)` (…
Poseydon42 Aug 19, 2024
f2fcd9c
[VPlan] Rename getBestPlanFor -> getPlanFor (NFC).
fhahn Aug 19, 2024
816068e
[NFC][SLP] Remove useless code of the schedule (#104697)
tcwzxx Aug 19, 2024
c6e9493
[CostModel][X86] Add cost tests for scmp/ucmp intrinsics
RKSimon Aug 19, 2024
0cc6b46
[docs] Update a filename, fix indentation (#103018)
pfusik Aug 19, 2024
b05c554
[X86] LowerABD - simplify i32/i64 to use sub+sub+cmov instead of repe…
RKSimon Aug 19, 2024
50daa23
[DataLayout] Refactor parsing of i/f/v/a specifications (#104699)
s-barannikov Aug 19, 2024
3e999bb
[clang][bytecode] Use first FieldDecl instead of asserting (#104760)
tbaederr Aug 19, 2024
13865b0
[AArch64] Add fneg(fmul) and fmul(fneg) tests. NFC
davemgreen Aug 19, 2024
c6605a0
[clang][bytecode] Fix member pointers to IndirectFieldDecls (#104756)
tbaederr Aug 19, 2024
a567d45
Require !windows instead of XFAIL'ing ubsan/TestCases/Integer/bit-int.c
zmodem Aug 19, 2024
3188e9b
[clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nests …
jtb20 Aug 19, 2024
7efa068
[RISCV] Add vector and vector crypto to SiFiveP400 scheduler model (#…
michaelmaitland Aug 19, 2024
ea28668
[mlir][ArmSME] Remove XFAILs (#104758)
MacDue Aug 19, 2024
4f083c0
[DebugInfo] Make tests SimplifyCFG-independent (NFC)
nikic Aug 19, 2024
79f6ae0
[Clang][NFC] Fix potential null dereference in encodeTypeForFunctionP…
smanna12 Aug 19, 2024
c60da1a
[clang][ExtractAPI] Stop dropping fields of nested anonymous record t…
daniel-grumberg Aug 19, 2024
a566635
[AMDGPU] Move AMDGPUCodeGenPassBuilder into AMDGPUTargetMachine(NFC) …
cdevadas Aug 19, 2024
7dd6340
MathExtras: template'ize alignToPowerOf2 (#97814)
artagnon Aug 19, 2024
b18b454
Revert "[clang][ExtractAPI] Stop dropping fields of nested anonymous …
daniel-grumberg Aug 19, 2024
a449b85
[AMDGPU][R600] Move R600CodeGenPassBuilder into R600TargetMachine(NFC…
cdevadas Aug 19, 2024
b64e7e0
[SimplifyCFG] Add tests for hoisting of commutative instructions (NFC)
nikic Aug 19, 2024
b1d75fe
[lldb][test] Fix cast dropping const warnin in TestBreakpointSetCallb…
DavidSpickett Aug 19, 2024
c7a54bf
[lldb][ASTUtils] Remove unused SemaSourceWithPriorities::addSource API
Michael137 Aug 19, 2024
0abb779
[LLVM] [X86] Fix integer overflows in frame layout for huge frames (#…
wesleywiser Aug 19, 2024
576aa3a
[TableGen] Resolve References at top level (#104578)
optimisan Aug 19, 2024
08201cb
[lldb][test] Fix GCC warnings in TestGetControlFlowKindX86.cpp
DavidSpickett Aug 19, 2024
8d16513
[mlir][[spirv] Add support for math.log2 and math.log10 to GLSL/OpenC…
meehatpa Aug 19, 2024
7a06ebd
[lldb] PopulatePrpsInfoTest can fail due to hardcoded priority value …
feg208 Aug 19, 2024
d27278a
[clang][bytecode] Discard NullToPointer cast SubExpr (#104782)
tbaederr Aug 19, 2024
fade54a
[gn build] Port a449b857241d
llvmgnsyncbot Aug 19, 2024
c6d6186
[gn build] Port a56663591573
llvmgnsyncbot Aug 19, 2024
0ee0857
[lldb][Python] Silence GCC warning for modules error workaround
DavidSpickett Aug 19, 2024
42386dc
[llvm-mca] Add bottle-neck analysis to JSON output. (#90056)
FlameTop Aug 19, 2024
f95026d
[PowerPC] Fix codegen for transparent_union function params (#101738)
lei137 Aug 19, 2024
a3fea06
[SmallPtrSet] Optimize find/erase
MaskRay Aug 19, 2024
e9b2e16
[BPF] introduce `__attribute__((bpf_fastcall))` (#101228)
eddyz87 Aug 19, 2024
9b65558
[lld][ELF] Combine uniqued small data sections (#104485)
lenary Aug 19, 2024
93d0f82
[docs] Add note about "Re-request review" (#104735)
vitalybuka Aug 19, 2024
7d60f46
[DirectX] Differentiate between 0/1 overloads in the OpBuilder. NFC
bogner Aug 19, 2024
6bb5a0b
[Clang] Check constraints for an explicit instantiation of a member f…
cor3ntin Aug 19, 2024
f357fe3
[DirectX] Disentangle DXIL.td's op types from LLVMType. NFC
bogner Aug 19, 2024
340fb65
[TableGen] Detect invalid -D arguments and fail (#102813)
jurahul Aug 19, 2024
2258bc4
[AMDGPU] Simplify, fix and improve known bits for mbcnt (#104768)
jayfoad Aug 19, 2024
564bd20
[AMDGPU][GlobalISel] Save a copy in one case of addrspacecast (#104789)
jayfoad Aug 19, 2024
2575ea6
[clang][dataflow] Collect local variables referenced within a functio…
bazuzi Aug 19, 2024
7f968e3
[RISCV] Improve BCLRITwoBitsMaskHigh SDNodeXForm. NFC
topperc Aug 19, 2024
865952b
[NVPTX] Add conversion intrinsics from/to fp8 types (e4m3, e5m2) (#10…
sergey-kozub Aug 19, 2024
4e332bb
[asan] Change Apple back to fixed allocator base address (#104818)
thurstond Aug 19, 2024
e306db0
[Flang] Fix test case for AIX(big-endian) system for issuing an extra…
DanielCChen Aug 19, 2024
d5617ad
[compiler-rt][nsan] Add more tests for shadow memory (#100906)
alexander-shaposhnikov Aug 19, 2024
05d17a1
[GlobalISel] Bail out early for big-endian (#103310)
davemgreen Aug 19, 2024
dde8280
[mlir][spirv] Add `GroupNonUniformBallotFindLSB` and `GroupNonUniform…
angelz913 Aug 19, 2024
5178585
[NFC][Instrumentation] Use `Twine` in `createPrivateGlobalForString` …
vitalybuka Aug 19, 2024
f76b9b7
[NFC][asan] Don't `cd` after `split-file` (#104727)
vitalybuka Aug 19, 2024
5e8f461
Revert "[BPF] introduce `__attribute__((bpf_fastcall))` (#101228)"
eddyz87 Aug 19, 2024
92a8ec7
LSV: fix style after cursory reading (NFC) (#104793)
artagnon Aug 19, 2024
22b4496
[ADT] Fix alignment check in unique_function constructor (#99403)
kerambyte Aug 19, 2024
3b80a28
[mlir][spirv] Fix incorrect metadata in SPIR-V Header (#104242)
AmrDeveloper Aug 19, 2024
7597e09
[clang] Increase the default expression nesting limit (#104717)
AmrDeveloper Aug 19, 2024
4c967af
[libc++abi] Remove unnecessary dependency on std::unique_ptr (#73277)
michael-kenzel Aug 19, 2024
87dd312
[ADT] Minor code cleanup in STLExtras.h (#104808)
jurahul Aug 19, 2024
e8ca306
[ADT] Add a missing call to a unique_function destructor after move (…
kerambyte Aug 19, 2024
1393aeb
Pre-commit AMDGPU tests for masked load/store/scatter/gather (#104645)
krzysz00 Aug 19, 2024
22825dd
[AMDGPU][Docs] DWARF aspace-aware base types
slinder1 Aug 13, 2024
7022498
AMDGPU/NewPM: Start implementing addCodeGenPrepare (#102816)
arsenm Aug 19, 2024
435cb0d
[C++23] Fix infinite recursion (Clang 19.x regression) (#104829)
AaronBallman Aug 19, 2024
ff2e619
[MC] Remove duplicate getFixupKindInfo calls. NFC
MaskRay Aug 19, 2024
e732d1c
[Clang] Fix ICE in SemaOpenMP with structured binding (#104822)
yuxuanchen1997 Aug 19, 2024
8a677c1
[NFC][ADT] Add range wrapper for std::mismatch (#104838)
jurahul Aug 19, 2024
6a125c7
[asan] Better `___asan_gen_` names (#104728)
vitalybuka Aug 19, 2024
5af3dfb
[NFC][asan] Create `ModuleName` lazily (#104729)
vitalybuka Aug 19, 2024
fa87eac
Reland "[asan] Catch `initialization-order-fiasco` in modules without…
vitalybuka Aug 19, 2024
54c6b93
[libc][NFC] Add sollya script to compute worst case range reduction. …
lntue Aug 19, 2024
2405253
Emit `BeginSourceFile` failure with `elog`. (#104845)
mpark Aug 19, 2024
98f2eb7
Fix StartDebuggingRequestHandler/ReplModeRequestHandler in lldb-dap (…
jeffreytan81 Aug 19, 2024
c478139
Reapply "[HWASan] symbolize stack overflows" (#102951) (#104036)
fmayer Aug 19, 2024
f5664f5
[Support] Do not ignore unterminated open { in formatv (#104688)
jurahul Aug 19, 2024
31cc4cc
[compiler-rt][fuzzer] implements SetThreadName for fuchsia. (#99953)
devnexen Aug 19, 2024
5fcd059
[AMDGPU] Add VOPD combine dependency tests. NFC. (#104841)
rampitec Aug 19, 2024
42ce628
[ValueTracking] Handle incompatible types instead of asserting in `is…
goldsteinn Aug 19, 2024
ea8bb4d
[offload] - Fix issue with standalone debug offload build (#104647)
estewart08 Aug 19, 2024
43b5085
[mlir] NFC: fix dependence of (Tensor|Linalg|MemRef|Complex) dialects…
christopherbate Aug 20, 2024
27dc247
[scudo] Add partial chunk heuristic to retrieval algorithm. (#104807)
JoshuaMBa Aug 20, 2024
baa6627
[MLIR][Transforms] Fix dialect conversion inverse mapping (#104648)
zyx-billy Aug 20, 2024
b5f3e28
[docs] Revise the doc for __builtin_allow_runtime_check
MaskRay Aug 20, 2024
d3864d9
[Driver] Default -msmall-data-limit= to 0 and clean up code
MaskRay Aug 20, 2024
52bfb26
[ADT] Fix a minor build error (#104840)
kerambyte Aug 20, 2024
06fd808
Revert "[mlir] NFC: fix dependence of (Tensor|Linalg|MemRef|Complex) …
christopherbate Aug 20, 2024
ca148b2
[clang][bytecode] Support ObjC blocks (#104551)
tbaederr Aug 20, 2024
5403123
[lld][WebAssembly] Ignore local symbols when parsing lazy object file…
sbc100 Aug 20, 2024
2a6136e
[llvm-objcopy][WebAssembly] Allow --strip-debug to operate on relocat…
sbc100 Aug 20, 2024
ea1f05e
[SelectionDAG] Fix lowering of IEEE 754 2019 minimum/maximum
majnemer Aug 20, 2024
a9ce181
[NVPTX] Fix bugs involving maximum/minimum and bf16
majnemer Aug 20, 2024
f9031f0
Revert "[scudo] Add partial chunk heuristic to retrieval algorithm." …
ChiaHungDuan Aug 20, 2024
9b53030
[AutoBump] Merge with fixes of 2d50029f (Aug 15)
mgehre-amd Sep 20, 2024
6f28929
Merge commit 'f9031f00f2c9' into bump_to_2d50029f
mgehre-amd Sep 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
418 changes: 418 additions & 0 deletions .github/workflows/commit-access-review.py

Large diffs are not rendered by default.

34 changes: 34 additions & 0 deletions .github/workflows/commit-access-review.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Commit Access Review

on:
workflow_dispatch:
schedule:
# * is a special character in YAML so you have to quote this string
- cron: '0 7 1 * *'

permissions:
contents: read

jobs:
commit-access-review:
if: github.repository_owner == 'llvm'
runs-on: ubuntu-22.04
steps:
- name: Fetch LLVM sources
uses: actions/checkout@v4

- name: Install dependencies
run: |
pip install --require-hashes -r ./llvm/utils/git/requirements.txt

- name: Run Script
env:
GITHUB_TOKEN: ${{ secrets.RELEASE_TASKS_USER_TOKEN }}
run: |
python3 .github/workflows/commit-access-review.py $GITHUB_TOKEN

- name: Upload Triage List
uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 #v4.3.0
with:
name: triagers
path: triagers.log
4 changes: 4 additions & 0 deletions clang-tools-extra/clang-doc/BitcodeReader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -415,6 +415,10 @@ template <> llvm::Expected<CommentInfo *> getCommentInfo(TypedefInfo *I) {
return &I->Description.emplace_back();
}

template <> llvm::Expected<CommentInfo *> getCommentInfo(EnumValueInfo *I) {
return &I->Description.emplace_back();
}

template <> llvm::Expected<CommentInfo *> getCommentInfo(CommentInfo *I) {
I->Children.emplace_back(std::make_unique<CommentInfo>());
return I->Children.back().get();
Expand Down
2 changes: 2 additions & 0 deletions clang-tools-extra/clang-doc/BitcodeWriter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -536,6 +536,8 @@ void ClangDocBitcodeWriter::emitBlock(const EnumValueInfo &I) {
emitRecord(I.Name, ENUM_VALUE_NAME);
emitRecord(I.Value, ENUM_VALUE_VALUE);
emitRecord(I.ValueExpr, ENUM_VALUE_EXPR);
for (const auto &CI : I.Description)
emitBlock(CI);
}

void ClangDocBitcodeWriter::emitBlock(const RecordInfo &I) {
Expand Down
87 changes: 71 additions & 16 deletions clang-tools-extra/clang-doc/HTMLGenerator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,12 @@ class HTMLTag {
TAG_SPAN,
TAG_TITLE,
TAG_UL,
TAG_TABLE,
TAG_THEAD,
TAG_TBODY,
TAG_TR,
TAG_TD,
TAG_TH
};

HTMLTag() = default;
Expand Down Expand Up @@ -133,6 +139,12 @@ bool HTMLTag::isSelfClosing() const {
case HTMLTag::TAG_SPAN:
case HTMLTag::TAG_TITLE:
case HTMLTag::TAG_UL:
case HTMLTag::TAG_TABLE:
case HTMLTag::TAG_THEAD:
case HTMLTag::TAG_TBODY:
case HTMLTag::TAG_TR:
case HTMLTag::TAG_TD:
case HTMLTag::TAG_TH:
return false;
}
llvm_unreachable("Unhandled HTMLTag::TagType");
Expand Down Expand Up @@ -174,6 +186,18 @@ StringRef HTMLTag::toString() const {
return "title";
case HTMLTag::TAG_UL:
return "ul";
case HTMLTag::TAG_TABLE:
return "table";
case HTMLTag::TAG_THEAD:
return "thead";
case HTMLTag::TAG_TBODY:
return "tbody";
case HTMLTag::TAG_TR:
return "tr";
case HTMLTag::TAG_TD:
return "td";
case HTMLTag::TAG_TH:
return "th";
}
llvm_unreachable("Unhandled HTMLTag::TagType");
}
Expand Down Expand Up @@ -377,10 +401,27 @@ genEnumMembersBlock(const llvm::SmallVector<EnumValueInfo, 4> &Members) {
if (Members.empty())
return nullptr;

auto List = std::make_unique<TagNode>(HTMLTag::TAG_UL);
for (const auto &M : Members)
List->Children.emplace_back(
std::make_unique<TagNode>(HTMLTag::TAG_LI, M.Name));
auto List = std::make_unique<TagNode>(HTMLTag::TAG_TBODY);

for (const auto &M : Members) {
auto TRNode = std::make_unique<TagNode>(HTMLTag::TAG_TR);
TRNode->Children.emplace_back(
std::make_unique<TagNode>(HTMLTag::TAG_TD, M.Name));
// Use user supplied value if it exists, otherwise use the value
if (!M.ValueExpr.empty()) {
TRNode->Children.emplace_back(
std::make_unique<TagNode>(HTMLTag::TAG_TD, M.ValueExpr));
} else {
TRNode->Children.emplace_back(
std::make_unique<TagNode>(HTMLTag::TAG_TD, M.Value));
}
if (!M.Description.empty()) {
auto TD = std::make_unique<TagNode>(HTMLTag::TAG_TD);
TD->Children.emplace_back(genHTML(M.Description));
TRNode->Children.emplace_back(std::move(TD));
}
List->Children.emplace_back(std::move(TRNode));
}
return List;
}

Expand Down Expand Up @@ -624,7 +665,7 @@ static std::unique_ptr<HTMLNode> genHTML(const CommentInfo &I) {
}
return std::move(FullComment);
}

if (I.Kind == "ParagraphComment") {
auto ParagraphComment = std::make_unique<TagNode>(HTMLTag::TAG_P);
for (const auto &Child : I.Children) {
Expand Down Expand Up @@ -658,22 +699,36 @@ static std::vector<std::unique_ptr<TagNode>>
genHTML(const EnumInfo &I, const ClangDocContext &CDCtx) {
std::vector<std::unique_ptr<TagNode>> Out;
std::string EnumType = I.Scoped ? "enum class " : "enum ";

Out.emplace_back(
std::make_unique<TagNode>(HTMLTag::TAG_H3, EnumType + I.Name));
Out.back()->Attributes.emplace_back("id",
llvm::toHex(llvm::toStringRef(I.USR)));

std::unique_ptr<TagNode> Node = genEnumMembersBlock(I.Members);
if (Node)
Out.emplace_back(std::move(Node));
// Determine if enum members have comments attached
bool HasComments = std::any_of(
I.Members.begin(), I.Members.end(),
[](const EnumValueInfo &M) { return !M.Description.empty(); });
std::unique_ptr<TagNode> Table =
std::make_unique<TagNode>(HTMLTag::TAG_TABLE);
std::unique_ptr<TagNode> THead =
std::make_unique<TagNode>(HTMLTag::TAG_THEAD);
std::unique_ptr<TagNode> TRow = std::make_unique<TagNode>(HTMLTag::TAG_TR);
std::unique_ptr<TagNode> TD =
std::make_unique<TagNode>(HTMLTag::TAG_TH, EnumType + I.Name);
// Span 3 columns if enum has comments
TD->Attributes.emplace_back("colspan", HasComments ? "3" : "2");

Table->Attributes.emplace_back("id", llvm::toHex(llvm::toStringRef(I.USR)));
TRow->Children.emplace_back(std::move(TD));
THead->Children.emplace_back(std::move(TRow));
Table->Children.emplace_back(std::move(THead));

if (std::unique_ptr<TagNode> Node = genEnumMembersBlock(I.Members))
Table->Children.emplace_back(std::move(Node));

Out.emplace_back(std::move(Table));

if (I.DefLoc) {
if (!CDCtx.RepositoryUrl)
Out.emplace_back(writeFileDefinition(*I.DefLoc));
else
Out.emplace_back(writeFileDefinition(
*I.DefLoc, StringRef{*CDCtx.RepositoryUrl}));
Out.emplace_back(
writeFileDefinition(*I.DefLoc, StringRef{*CDCtx.RepositoryUrl}));
}

std::string Description;
Expand Down
2 changes: 1 addition & 1 deletion clang-tools-extra/clang-doc/Representation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ void SymbolInfo::merge(SymbolInfo &&Other) {
}

NamespaceInfo::NamespaceInfo(SymbolID USR, StringRef Name, StringRef Path)
: Info(InfoType::IT_namespace, USR, Name, Path) {}
: Info(InfoType::IT_namespace, USR, Name, Path) {}

void NamespaceInfo::merge(NamespaceInfo &&Other) {
assert(mergeable(Other));
Expand Down
2 changes: 2 additions & 0 deletions clang-tools-extra/clang-doc/Representation.h
Original file line number Diff line number Diff line change
Expand Up @@ -455,6 +455,8 @@ struct EnumValueInfo {
// Stores the user-supplied initialization expression for this enumeration
// constant. This will be empty for implicit enumeration values.
SmallString<16> ValueExpr;

std::vector<CommentInfo> Description; /// Comment description of this field.
};

// TODO: Expand to allow for documenting templating.
Expand Down
16 changes: 13 additions & 3 deletions clang-tools-extra/clang-doc/Serialize.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -394,10 +394,20 @@ static void parseEnumerators(EnumInfo &I, const EnumDecl *D) {
std::string ValueExpr;
if (const Expr *InitExpr = E->getInitExpr())
ValueExpr = getSourceCode(D, InitExpr->getSourceRange());

SmallString<16> ValueStr;
E->getInitVal().toString(ValueStr);
I.Members.emplace_back(E->getNameAsString(), ValueStr, ValueExpr);
I.Members.emplace_back(E->getNameAsString(), ValueStr.str(), ValueExpr);
ASTContext &Context = E->getASTContext();
if (RawComment *Comment =
E->getASTContext().getRawCommentForDeclNoCache(E)) {
CommentInfo CInfo;
Comment->setAttached();
if (comments::FullComment *Fc = Comment->parse(Context, nullptr, E)) {
EnumValueInfo &Member = I.Members.back();
Member.Description.emplace_back();
parseFullComment(Fc, Member.Description.back());
}
}
}
}

Expand Down Expand Up @@ -566,7 +576,7 @@ static void populateMemberTypeInfo(MemberTypeInfo &I, const FieldDecl *D) {
return;

Comment->setAttached();
if (comments::FullComment* fc = Comment->parse(Context, nullptr, D)) {
if (comments::FullComment *fc = Comment->parse(Context, nullptr, D)) {
I.Description.emplace_back();
parseFullComment(fc, I.Description.back());
}
Expand Down
6 changes: 3 additions & 3 deletions clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,7 @@ void UseStdFormatCheck::registerMatchers(MatchFinder *Finder) {
Finder->addMatcher(
callExpr(argumentCountAtLeast(1),
hasArgument(0, stringLiteral(isOrdinary())),
callee(functionDecl(unless(cxxMethodDecl()),
matchers::matchesAnyListedName(
callee(functionDecl(matchers::matchesAnyListedName(
StrFormatLikeFunctions))
.bind("func_decl")))
.bind("strformat"),
Expand Down Expand Up @@ -93,7 +92,8 @@ void UseStdFormatCheck::check(const MatchFinder::MatchResult &Result) {
diag(StrFormatCall->getBeginLoc(), "use '%0' instead of %1")
<< ReplacementFormatFunction << OldFunction->getIdentifier();
Diag << FixItHint::CreateReplacement(
CharSourceRange::getTokenRange(StrFormatCall->getSourceRange()),
CharSourceRange::getTokenRange(StrFormatCall->getExprLoc(),
StrFormatCall->getEndLoc()),
ReplacementFormatFunction);
Converter.applyFixes(Diag, *Result.SourceManager);

Expand Down
8 changes: 3 additions & 5 deletions clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -100,8 +100,7 @@ void UseStdPrintCheck::registerMatchers(MatchFinder *Finder) {
unusedReturnValue(
callExpr(argumentCountAtLeast(1),
hasArgument(0, stringLiteral(isOrdinary())),
callee(functionDecl(unless(cxxMethodDecl()),
matchers::matchesAnyListedName(
callee(functionDecl(matchers::matchesAnyListedName(
PrintfLikeFunctions))
.bind("func_decl")))
.bind("printf")),
Expand All @@ -112,8 +111,7 @@ void UseStdPrintCheck::registerMatchers(MatchFinder *Finder) {
unusedReturnValue(
callExpr(argumentCountAtLeast(2),
hasArgument(1, stringLiteral(isOrdinary())),
callee(functionDecl(unless(cxxMethodDecl()),
matchers::matchesAnyListedName(
callee(functionDecl(matchers::matchesAnyListedName(
FprintfLikeFunctions))
.bind("func_decl")))
.bind("fprintf")),
Expand Down Expand Up @@ -152,7 +150,7 @@ void UseStdPrintCheck::check(const MatchFinder::MatchResult &Result) {
<< ReplacementFunction << OldFunction->getIdentifier();

Diag << FixItHint::CreateReplacement(
CharSourceRange::getTokenRange(PrintfCall->getBeginLoc(),
CharSourceRange::getTokenRange(PrintfCall->getExprLoc(),
PrintfCall->getEndLoc()),
ReplacementFunction);
Converter.applyFixes(Diag, *Result.SourceManager);
Expand Down
4 changes: 2 additions & 2 deletions clang-tools-extra/clangd/ParsedAST.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -512,8 +512,8 @@ ParsedAST::build(llvm::StringRef Filename, const ParseInputs &Inputs,
auto Action = std::make_unique<ClangdFrontendAction>();
const FrontendInputFile &MainInput = Clang->getFrontendOpts().Inputs[0];
if (!Action->BeginSourceFile(*Clang, MainInput)) {
log("BeginSourceFile() failed when building AST for {0}",
MainInput.getFile());
elog("BeginSourceFile() failed when building AST for {0}",
MainInput.getFile());
return std::nullopt;
}
// If we saw an include guard in the preamble section of the main file,
Expand Down
10 changes: 9 additions & 1 deletion clang-tools-extra/docs/ReleaseNotes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -104,9 +104,17 @@ New check aliases
Changes in existing checks
^^^^^^^^^^^^^^^^^^^^^^^^^^

- Improved :doc:`modernize-use-std-format
<clang-tidy/checks/modernize/use-std-format>` check to support replacing
member function calls too.

- Improved :doc:`modernize-use-std-print
<clang-tidy/checks/modernize/use-std-print>` check to support replacing
member function calls too.

- Improved :doc:`readability-redundant-smartptr-get
<clang-tidy/checks/readability/redundant-smartptr-get>` check to
remove `->`, when reduntant `get()` is removed.
remove `->`, when redundant `get()` is removed.

Removed checks
^^^^^^^^^^^^^^
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,9 @@ Options
A semicolon-separated list of (fully qualified) function names to
replace, with the requirement that the first parameter contains the
printf-style format string and the arguments to be formatted follow
immediately afterwards. The default value for this option is
`absl::StrFormat`.
immediately afterwards. Qualified member function names are supported,
but the replacement function name must be unqualified. The default value
for this option is `absl::StrFormat`.

.. option:: ReplacementFormatFunction

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,19 +121,22 @@ Options
A semicolon-separated list of (fully qualified) function names to
replace, with the requirement that the first parameter contains the
printf-style format string and the arguments to be formatted follow
immediately afterwards. If neither this option nor
`FprintfLikeFunctions` are set then the default value for this option
is `printf; absl::PrintF`, otherwise it is empty.
immediately afterwards. Qualified member function names are supported,
but the replacement function name must be unqualified. If neither this
option nor `FprintfLikeFunctions` are set then the default value for
this option is `printf; absl::PrintF`, otherwise it is empty.


.. option:: FprintfLikeFunctions

A semicolon-separated list of (fully qualified) function names to
replace, with the requirement that the first parameter is retained, the
second parameter contains the printf-style format string and the
arguments to be formatted follow immediately afterwards. If neither this
option nor `PrintfLikeFunctions` are set then the default value for
this option is `fprintf; absl::FPrintF`, otherwise it is empty.
arguments to be formatted follow immediately afterwards. Qualified
member function names are supported, but the replacement function name
must be unqualified. If neither this option nor `PrintfLikeFunctions`
are set then the default value for this option is `fprintf;
absl::FPrintF`, otherwise it is empty.

.. option:: ReplacementPrintFunction

Expand Down
10 changes: 9 additions & 1 deletion clang-tools-extra/include-cleaner/lib/WalkAST.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
#include "clang/Basic/IdentifierTable.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Basic/Specifiers.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/STLFunctionalExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Support/Casting.h"
Expand Down Expand Up @@ -350,6 +349,15 @@ class ASTWalker : public RecursiveASTVisitor<ASTWalker> {
RefType::Implicit);
return true;
}

bool VisitCXXNewExpr(CXXNewExpr *E) {
report(E->getExprLoc(), E->getOperatorNew());
return true;
}
bool VisitCXXDeleteExpr(CXXDeleteExpr *E) {
report(E->getExprLoc(), E->getOperatorDelete());
return true;
}
};

} // namespace
Expand Down
7 changes: 7 additions & 0 deletions clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -555,5 +555,12 @@ TEST(WalkAST, FriendDecl) {
testWalk("void $explicit^foo();", "struct Bar { friend void ^foo(); };");
testWalk("struct $explicit^Foo {};", "struct Bar { friend struct ^Foo; };");
}

TEST(WalkAST, OperatorNewDelete) {
testWalk("void* $explicit^operator new(decltype(sizeof(int)), void*);",
"struct Bar { void foo() { Bar b; ^new (&b) Bar; } };");
testWalk("struct A { static void $explicit^operator delete(void*); };",
"void foo() { A a; ^delete &a; }");
}
} // namespace
} // namespace clang::include_cleaner
Loading