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

[clang-cl] Fix value of __FUNCTION__ in MSVC mode. #67592

Draft
wants to merge 1,950 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 14 commits
Commits
Show all changes
1950 commits
Select commit Hold shift + click to select a range
8511b32
[clang] Remove unused lambda capture. (#83550)
labrinea Mar 1, 2024
0e9a102
[AArch64] Remove unused AArch64ISD::BIT. NFC
davemgreen Mar 1, 2024
2d98d76
[SLP]Fix the cost model for extracts combined with later shuffle.
alexey-bataev Mar 1, 2024
7ac03e8
[mlir][EmitC] Add bitwise operators (#83387)
marbre Mar 1, 2024
f28c4b4
[SLP]Fix/improve potential masked gather loads analysis.
alexey-bataev Mar 1, 2024
756166e
[AMDGPU] Improve detection of non-null addrspacecast operands (#82311)
Pierre-vh Mar 1, 2024
b8e0f3e
[ARM] Change the type of CC and VCC code in `splitMnemonic`. (#83413)
AlfieRichardsArm Mar 1, 2024
924ad19
[X86][CodeGen] Add missing patterns for APX NDD instructions about en…
KanRobert Mar 1, 2024
dfec4ef
Use object directly instead of accessing ArrayRef (#83263)
Mar 1, 2024
b873847
[Clang] Fix __has_cpp_attribute and C++11 attributes with arguments i…
philnik777 Mar 1, 2024
3034632
[llvm-readobj] enable demangle option for the xcoff object file (#78455)
diggerlin Mar 1, 2024
18d2ff4
[clang][Interp] Allow recursive intepretation
tbaederr Mar 1, 2024
dbf3d77
[clang][Interp][NFC] Remove unused paramter
tbaederr Mar 1, 2024
765a5d6
[X86] Pre-SSE42 v2i64 sgt lowering - check if representable as v2i32 …
RKSimon Mar 1, 2024
6ecd261
[SLP] Use ScopeExit to update Operands/PrevDist on all paths. (NFC) (…
fhahn Mar 1, 2024
5bafb8d
[SLP][NFC]Add/use single UsesLimit constant, NFC.
alexey-bataev Mar 1, 2024
3fc277f
[SLPVectorizer] Make the insert/extractvector PHICompare a strict-wea…
d0k Mar 1, 2024
e59681d
[clang][Interp] Allow inc/dec on boolean values
tbaederr Mar 1, 2024
f651f13
[clang][Interp][NFC] Add precondition assertions
tbaederr Mar 1, 2024
f15d799
[clang][Interp] Fix variadic operator calls
tbaederr Mar 1, 2024
b0181be
[OpenACC] Implement Duffs-Device restriction for Compute Constructs (…
erichkeane Mar 1, 2024
a038f97
[clang][Interp] Fix virtual calls with reference instance pointers
tbaederr Mar 1, 2024
06bd74b
Fix implementation of [temp.param]p14's first sentence. (#83487)
erichkeane Mar 1, 2024
601a958
[Flang] Add support for assume_aligned directive (#81747)
Leporacanthicus Mar 1, 2024
2b4d67b
[Clang][Sema]: Allow copy constructor side effects (#81127)
vinayakdsci Mar 1, 2024
b92c3fe
[OpenMP] Fix test after updating library search paths (#83573)
jhuber6 Mar 1, 2024
92fe6c6
Silence illegal address computation warning (#83244)
Mar 1, 2024
8fa3301
[lldb] Add support for sorting by size to `target module dump symtab`…
JDevlieghere Mar 1, 2024
6e293c0
Fix CI failure.
zahiraam Mar 1, 2024
8f65e7b
[Dwarf] Support `__ptrauth` qualifier in metadata nodes (#82363)
kovdan01 Mar 1, 2024
18d0d9b
[libc] Update install directory for offloading versions of libraries …
jhuber6 Mar 1, 2024
64216ba
[Sema] -Wpointer-bool-conversion: suppress lambda function pointer co…
MaskRay Mar 1, 2024
68516bf
[clang][Interp] Lambda This captures can be non-pointers
tbaederr Mar 1, 2024
0813b90
[TypePromotion] Support positive addition amounts in isSafeWrap. (#81…
topperc Mar 1, 2024
f6f79d4
Revert "[HWASAN] Implement selective instrumentation based on profili…
kstoimenov Mar 1, 2024
53f89a0
[AMDGPU] Remove AtomicNoRet class and getAtomicNoRetOp table (#83593)
jayfoad Mar 1, 2024
b542501
[HLSL][DXIL] Implementation of round intrinsic (#83570)
farzonl Mar 1, 2024
ae58b67
[flang] Fixed ieee_logb to behave for denormals. (#83518)
vzakhari Mar 1, 2024
3337d69
[llvm][Intrinsics] Add llvm_v3i8_ty. [NFCI] (#83576)
fpetrogalli Mar 1, 2024
ce95a56
[pgo][nfc] Model `Count` as a `std::optional` in `PGOUseEdge` (#83505)
mtrofin Mar 1, 2024
df0fd3a
[SLP]Try to vectorize small graph with extractelements, used in build…
alexey-bataev Mar 1, 2024
e741d88
[DXIL] Add frac unary lowering (#83465)
farzonl Mar 1, 2024
84927a6
AMDGPU: Simplify instruction definitions for global_load_tr_b64(b128)…
changpeng Mar 1, 2024
dd426fa
[Asan] Pre-commit test for asan support of funclet token (#82631)
sylvain-audi Mar 1, 2024
3a30d8e
[SLP]Check if masked gather can be emitted as a serie of loads/insert…
alexey-bataev Mar 1, 2024
137ed17
[lldb][progress] Hook up new broadcast bit and progress manager (#83069)
chelcassanova Mar 1, 2024
2ab6d1e
[SLP][NFC]Move some check to the outer if to simplify inner checks.
alexey-bataev Mar 1, 2024
00570c3
[libc] Fix incorrectly enabled GPU math functions (#83594)
jhuber6 Mar 1, 2024
af00945
[lldb] Fix `thread backtrace --count` (#83602)
JDevlieghere Mar 1, 2024
4a3f7e7
[ELF] Internalize enum
MaskRay Mar 1, 2024
582718f
[X86] cmp-shiftX-maskX.ll - add AVX1 test coverage
RKSimon Mar 1, 2024
1e8d3c3
[X86] cmp-shiftX-maskX.ll - add additional tests for #83596
RKSimon Mar 1, 2024
fcdf818
[KnownBits] Add KnownBits::absdiff to compute the absolute difference…
RKSimon Mar 1, 2024
09ffd33
[llvm][vfs] Remove blank comment after \endverbatim doxygen command (…
yelleyee Mar 1, 2024
6fe60bd
[SLP] Exit early if MaxVF < MinVF (NFCI). (#83283)
fhahn Mar 1, 2024
a490bbf
[M68k] Fix compilation pipeline check
darkbuck Mar 1, 2024
1a0c988
[libc++][NFC] rename variable in atomic_sync
huixie90 Mar 1, 2024
1685e7f
[Support] Fix crash in install_bad_alloc_error_handler (#83160)
fabianbs96 Mar 1, 2024
7b0b64a
[DWARF] Use std::tie after #83047. NFC
MaskRay Mar 1, 2024
214f897
[unittest] Fix -Wsign-compare warnings in KnownBits.cpp after #82354
MaskRay Mar 1, 2024
ebaf26d
[lldb] Fix -Wformat after #83602
MaskRay Mar 1, 2024
617398e
[SLP] Collect candidate VFs in vector in vectorizeStores (NFC). (#82793)
fhahn Mar 1, 2024
76ce3c1
[clang-format] Enable again some operator tests (#83380)
rayroudc Mar 1, 2024
d01576b
[TargetParser][AArch64] Add alias for FEAT_RDM. (#80540)
labrinea Mar 1, 2024
ec415af
[X86] Regenerate X86/lsr-addrecloops.ll test; NFC
goldsteinn Feb 21, 2024
ae76dfb
[X86] Don't always separate conditions in `(br (and/or cond0, cond1))…
goldsteinn Sep 29, 2023
2fb764d
[libomptarget] Fix 'libomptarget' libraries being installed twice (#8…
jhuber6 Mar 1, 2024
f7a15e0
[flang] Use module file hashes for more checking and disambiguation (…
klausler Mar 1, 2024
7a2d934
[lld][macho][NFC] Add specific namespace scope for objc symbol names …
alx32 Mar 1, 2024
4762c65
[flang][runtime] Underflow real input to -0. when negative (#82443)
klausler Mar 1, 2024
24aec16
[OpenACC] Implement no throw out of Compute construct
erichkeane Mar 1, 2024
c21ef15
[flang][runtime] Allow 1023 active asynchronous IDs (#82446)
klausler Mar 1, 2024
f31ac3c
[flang] Handle implied ASYNCHRONOUS attribute (#82638)
klausler Mar 1, 2024
17ede03
[InstallAPI] Collect frontend attributes & ObjCInterface decls (#83378)
cyndyishida Mar 1, 2024
8f14149
[flang] Fix separate MODULE PROCEDURE when binding label exists (#82686)
klausler Mar 1, 2024
bcc6ca7
[InstallAPI] Add missing link to clangLex
cyndyishida Mar 1, 2024
8f80d46
[flang] Fix crash in statement function semantics (bug #80532) (#82702)
klausler Mar 1, 2024
a56ef9f
[flang] Catch attempt to type a subroutine (#82704)
klausler Mar 1, 2024
081e202
[flang] Fix DATA-like default component initialization (#82784)
klausler Mar 1, 2024
e8a9aa2
[flang] Fix "suspicious condition" in C++ usage (#82790)
klausler Mar 1, 2024
1c530b3
[flang] Whether a procedure's interface is explicit or not is not a d…
klausler Mar 1, 2024
147f54e
[flang] Accept whole assumed-size arrays as variable selectors (#82806)
klausler Mar 2, 2024
69b8372
[clang][sema] consolidate diags for incompatible_vector_* (#83609)
farzonl Mar 2, 2024
21c83fe
[ARM] Simplify shouldAssumeDSOLocal for ELF. NFC
MaskRay Mar 2, 2024
189d89a
[flang] Ensure names resolve in DATA statement objects (#82825)
klausler Mar 2, 2024
8bcb1ce
[flang] Allow PROCEDURE() with explicit type elsewhere (#82835)
klausler Mar 2, 2024
ed0aa34
[Driver] Add BoolMOption to simplify boolean -m* options
MaskRay Mar 2, 2024
f4215f7
[flang] Fix handling of shadowed procedure name used as interface (#8…
klausler Mar 2, 2024
2445a96
[flang] Enforce F'2023 C1520 correctly (#82842)
klausler Mar 2, 2024
ecd7fce
[clang][sema] NFC: Stylistic changes
jansvoboda11 Mar 2, 2024
70467dd
[clang][index] NFC: Stylistic changes
jansvoboda11 Mar 2, 2024
5594d12
[clang][driver] NFC: Upstream comment
jansvoboda11 Mar 2, 2024
39b67c0
[clang] NFC: Extract `CompilerInstance` function
jansvoboda11 Mar 2, 2024
864593b
[clang][api-notes] NFC: Upstream some documentation
jansvoboda11 Mar 2, 2024
164c098
[clang][deps] Implement move-conversion for `CowCompilerInvocation` (…
jansvoboda11 Mar 2, 2024
e09e956
[flang] Downgrade error to warning (#83032)
klausler Mar 2, 2024
463fb9f
[flang] Support INDEX as a procedure interface (#83073)
klausler Mar 2, 2024
cb807ff
[libc] Fix GPU include install directory
jhuber6 Mar 2, 2024
057e725
[Sparc] Use generated MatchRegisterName (NFCI) (#82165)
s-barannikov Mar 2, 2024
06ac828
[libc] Fix flipped AMDGPU kernel launch arguments (#83648)
jhuber6 Mar 2, 2024
73dfc7b
[libc] Fix a bug in fx_bits.h due to integer promotion of bitwise ops…
lntue Mar 2, 2024
a2e7827
[compiler-rt] Relax CHECK line in reaches_function.c
arichardson Mar 2, 2024
07317bb
[compiler-rt] Build libfuzzer sources with the chosen C++ compiler
arichardson Feb 26, 2024
aab3d13
[FileCheck] Fix parsing empty global and pseudo variable names (#82595)
kovdan01 Mar 2, 2024
e4b15fc
[libc] Fix '/gpu' directory not being made for the declarations
jhuber6 Mar 2, 2024
fb67dce
[RISCV] Fix crash when unrolling loop containing vector instructions …
arcbbb Mar 2, 2024
28b354a
Revert "[FileCheck] Fix parsing empty global and pseudo variable name…
kovdan01 Mar 2, 2024
597f976
[scudo] Add support for LoongArch hardware CRC32 checksumming (#83113)
xen0n Mar 2, 2024
b14220e
[lldb][X86] Fix setting target features in ClangExpressionParser (#82…
kovdan01 Mar 2, 2024
c4f5993
[llvm][Support] Call clear_error in LockFileManager to avoid report_f…
Bigcheese Mar 2, 2024
bf08d02
Revert "[Dwarf] Support `__ptrauth` qualifier in metadata nodes" (#83…
kovdan01 Mar 2, 2024
10f5e98
[DSE] Delay deleting non-memory-defs until end of DSE. (#83411)
fhahn Mar 2, 2024
ca827d5
[X86] Convert logicalshift(x, C) -> and(x, M) iff x is allsignbits (#…
RKSimon Mar 2, 2024
2a95fe4
[Flang] Allow Intrinsic simpification with min/maxloc dim and scalar …
davemgreen Mar 2, 2024
1f613bc
[libc++] refactor `cxx_atomic_wait` to make it reusable for atomic_re…
huixie90 Mar 2, 2024
57f599d
[clang][Interp] Improve handling of external variables
tbaederr Mar 1, 2024
a30ba2c
[clang][Interp][NFC] Emit diagnostic for unknown builtins
tbaederr Mar 1, 2024
b901b0d
[clang][Interp] Reject dummy pointers from __builtin_strcmp()
tbaederr Mar 1, 2024
dfb8a15
[clang][Interp][NFC] Make a local variable const
tbaederr Mar 1, 2024
f25debe
[clang][Interp][NFC] Remove some leftover debug output
tbaederr Mar 1, 2024
d89b771
[ARM] Add alias tests for ROPI/RWPI
MaskRay Mar 2, 2024
af83a2a
[lld] Fixes for unitests in standalone builds (#83670)
mgorny Mar 2, 2024
da591d3
[GlobalISel][TableGen] Take first result for multi-output instruction…
bjope Nov 3, 2023
8ec28af
Reapply "[mlir][PDL] Add support for native constraints with results …
mgehre-amd Mar 1, 2024
051e910
[clang-format][NFC] Replace Style.isCpp() with IsCpp (#83533)
owenca Mar 2, 2024
60fbd60
Revert "[mlir][Transforms] Encapsulate dialect conversion options in …
joker-eph Mar 2, 2024
f505a92
[NFC] Use fold expressions to replace discarded initializer_lists (#8…
MagentaTreehouse Mar 2, 2024
205dce6
[mlir][linalg] Add a folder for transpose(fill) -> fill (#83623)
qedawkins Mar 2, 2024
ea628e3
[Py Reformat] Exclude `third-party` from reformat (#83491)
mtrofin Mar 2, 2024
0ec318e
Fix unused variable in "[mlir][PDL] Add support for native constraint…
mgehre-amd Mar 2, 2024
def16bc
[mlir][spirv] Retain nontemporal attribute when converting memref loa…
agentcooper Mar 2, 2024
8b26e60
[RISCV] Use the VR register allocation order for VM. (#83664)
topperc Mar 3, 2024
4dd9c2e
[RISCV] Use NewVL in splatPartsI64WithVL. (#83690)
topperc Mar 3, 2024
8fccf6b
[opt] Use static arrays instead of std::vector to store legacy pass n…
topperc Mar 3, 2024
d5f77e1
[Driver] Remove duplicate -r flag usage when linking (#82715)
brad0 Mar 3, 2024
6594f42
Split the llvm::ThreadPool into an abstract base class and an impleme…
joker-eph Mar 3, 2024
6b70c5d
[PowerPC] provide CFI for ELF32 to unwind cr2, cr3, cr4 (#83098)
kernigh Mar 3, 2024
6c6ea9d
Fix BUILD_SHARED_LIBS=ON build for platforms which require explicit l…
joker-eph Mar 3, 2024
e52650c
Fix LLDB build after renaming the base class for ThreadPool to Thread…
joker-eph Mar 3, 2024
1a4f52c
More fix BUILD_SHARED_LIBS=ON build for platforms which require expli…
joker-eph Mar 3, 2024
e29cad6
More fix BUILD_SHARED_LIBS=ON build for platforms which require expli…
joker-eph Mar 3, 2024
5f70f25
[sanitizer_common] Remove unnecessary const_cast
arichardson Mar 3, 2024
67221ed
More fix BUILD_SHARED_LIBS=ON build for platforms which require expli…
joker-eph Mar 3, 2024
c462160
More fix BUILD_SHARED_LIBS=ON build for platforms which require expli…
joker-eph Mar 3, 2024
37293e6
[X86][CodeGen] Support long instruction fixup for APX NDD instruction…
KanRobert Mar 3, 2024
3f18f6a
[mlir][linalg] Enable fusion by expansion of reduction and named ops …
qedawkins Mar 3, 2024
800de14
[ARM][AArch64] Reformat target parser. NFC (#82601)
davemgreen Mar 3, 2024
eb3b063
[clang-tidy] Improve `google-explicit-constructor` checks handling of…
AMS21 Mar 3, 2024
22f34ea
Reapply "[mlir-query] Add function extraction feature to mlir-query"
jpienaar Mar 3, 2024
a5d3a1d
[libc++] Refactors fstream open. (#76617)
mordante Mar 3, 2024
732a5cb
Revert "Reapply "[mlir-query] Add function extraction feature to mlir…
jpienaar Mar 3, 2024
5b4759f
Revert "[X86] Don't always separate conditions in `(br (and/or cond0,…
chapuni Mar 3, 2024
58b44c8
Reapply "Reapply "[mlir-query] Add function extraction feature to mli…
jpienaar Mar 3, 2024
3ca73e0
[mlir-query] Attempt to fix gcc7 build
jpienaar Mar 3, 2024
03f150b
Removes arcanist and Phabricator information. (#82115)
mordante Mar 3, 2024
5f05839
[ARM] Mark AESD and AESE instructions as commutative.
davemgreen Mar 3, 2024
0c89427
Reland "[clang][modules] Print library module manifest path." (#82160)
mordante Mar 3, 2024
5535716
[libc++] Use GCC type traits builtins for remove_cv and remove_cvref …
philnik777 Mar 3, 2024
0c90e88
[libc++][NFC] Replace _ALIGNAS_TYPE with alignas in iostream.cpp
philnik777 Mar 3, 2024
33de5a3
[libc++] Rename __fwd/hash.h to __fwd/functional.h and add reference_…
philnik777 Mar 3, 2024
09b34b9
[Github] Make CI container build more reliable (#83707)
boomanaiden154 Mar 3, 2024
5105f15
[gn build] Port 33de5a316caa
llvmgnsyncbot Mar 3, 2024
2435dcd
[VPlan] Add initial pattern match implementation for VPInstruction. (…
fhahn Mar 3, 2024
3dd6750
[AArch64] Add more complete support for BF16
majnemer Mar 1, 2024
b29301c
[libc++][format] Handle range-underlying-spec (#81914)
poyaoc97 Mar 4, 2024
5f058aa
[LoongArch] Override LoongArchTargetLowering::getExtendForAtomicCmpSw…
SixWeining Mar 4, 2024
8d1046a
[PowerPC] adjust cost for extract i64 from vector on P9 and above (#8…
chenzheng1030 Mar 4, 2024
61c283d
[ScalarizeMaskedMemIntrin] Use pointer alignment from pointer of mask…
yetingk Mar 4, 2024
9606655
[mlir][Transforms] Fix use-after-free when accessing replaced block a…
matthias-springer Mar 4, 2024
2b5cd8b
[Driver] Remove InstallDir and getInstalledDir. NFC
MaskRay Mar 4, 2024
ff72c83
[X86] Add missing subvector_subreg_lowering for BF16 (#83720)
phoebewang Mar 4, 2024
938ddbf
[Driver,Darwin] Simplify libc++ include path after #80527. NFC
MaskRay Mar 4, 2024
ccc48d4
[X86][NFC] Replace X32 check prefixes with X86
phoebewang Mar 4, 2024
b0c158b
[SelectionDAG] Add `STRICT_BF16_TO_FP` and `STRICT_FP_TO_BF16` (#80056)
shiltian Mar 4, 2024
e6e53ca
[clangd] [HeuristicResolver] Protect against infinite recursion on De…
HighCommander4 Mar 4, 2024
2c5d01c
Revert "[SelectionDAG] Add `STRICT_BF16_TO_FP` and `STRICT_FP_TO_BF16…
shiltian Mar 4, 2024
8300f30
[SelectionDAG] Add `STRICT_BF16_TO_FP` and `STRICT_FP_TO_BF16` (#80056)
shiltian Mar 4, 2024
aa6ebf9
Replace some C headers with C++ ones (#82697)
Calandracas606 Mar 4, 2024
23bc5b6
[AArch64] Mark bf16 as custom for truncating stores & add a comment
majnemer Mar 4, 2024
43222bd
[SPIR-V] Do not use OpenCL metadata for ptr element type resolution (…
michalpaszkowski Mar 4, 2024
354deba
[flang] Fix use-after-free in `MemoryAllocation.cpp` (#83768)
matthias-springer Mar 4, 2024
a282109
[mlir][Transforms] Encapsulate dialect conversion options in `Convers…
matthias-springer Mar 4, 2024
3a146d5
AMDGPU: Partially re-add scheduling test for gfx940
arsenm Mar 4, 2024
8715f25
[clang][StaticAnalyzer] fix function evalCall() typo in CheckerDocume…
mzyKi Mar 4, 2024
63725ab
[RISCV] Add test for aliasing miscompile fixed by #83017. NFC
lukel97 Mar 4, 2024
c7fdd8c
Restore "Implement convergence control in MIR using SelectionDAG (#71…
ssahasra Mar 4, 2024
3d14e85
[AVR][NFC] Reformat target description files (#83755)
benshi001 Mar 4, 2024
a015f59
[flang] disable memory-allocation-opt.fir test on windows (#83535)
jeanPerier Mar 4, 2024
408d4e1
[flang][NFC] Expose FIR to LLVM patterns (#83492)
clementval Mar 4, 2024
96b2c3b
[X86][MC] Report error when the instruction length exceeds 15 bytes (…
KanRobert Mar 4, 2024
7af4e8b
[clang][analyzer] Change default value of checker option in unix.StdC…
balazske Mar 4, 2024
db76af2
[mlir-query] Fix ambiguous overload
jpienaar Mar 4, 2024
da5966e
Revert "[clang][analyzer] Change default value of checker option in u…
balazske Mar 4, 2024
aaf5c81
[mlir][Transforms][NFC] Simplify `BlockTypeConversionRewrite` (#83286)
matthias-springer Mar 4, 2024
71c2a13
[BOLT] support AArch64 JUMP26 createRelocation (#83531)
linsinan1995 Mar 4, 2024
310a278
[mlir][Transforms][NFC] Simplify handling of erased IR (#83423)
matthias-springer Mar 4, 2024
c6565f2
[mlir][bazel] Remove defines of obsolete MLIR_GPU_TO_CUBIN_PASS_ENABL…
ingomueller-net Mar 4, 2024
5dc9e87
[analyzer] Improve some comments in ArrayBoundCheckerV2 (NFC) (#83545)
NagyDonat Mar 4, 2024
ded5de1
[llvm][AArch64] Autoupgrade function attributes from Module attribute…
DanielKristofKiss Mar 4, 2024
f7d4236
[libc][NFC] Rename `LIBC_LONG_DOUBLE_IS_` macros (#83399)
gchatelet Mar 4, 2024
982e902
[AMDGPU] Add GFX12 memory legalizer tests (#83814)
mbrkusanin Mar 4, 2024
cad6ad2
[Inline] Add test for #67054 (NFC)
nikic Mar 4, 2024
540d255
[SPIRV] Add vector reduction instructions (#82786)
VyacheslavLevytskyy Mar 4, 2024
ecc3bda
[SPIR-V] Fix bitcast legalization/instruction selection in SPIR-V Bac…
VyacheslavLevytskyy Mar 4, 2024
67d5ba9
[SPIR-V] Add support for SPV_KHR_float_controls (#83418)
VyacheslavLevytskyy Mar 4, 2024
5c54f72
[MLIR][OpenMP] Extend omp.private materialization support: `firstpri…
ergawy Mar 4, 2024
eaf0d82
[LV] Disable fold tail by masking when IV is used outside (#81609)
niwinanto Mar 4, 2024
8f30b62
[SPIR-V] Add support for the SPIR-V extension SPV_INTEL_bfloat16_conv…
VyacheslavLevytskyy Mar 4, 2024
00e4a41
[ARM] R11 not pushed adjacent to link register with PAC-M and AAPCS f…
jwestwood921 Mar 4, 2024
7d55a3b
[Docs] Allow building man pages without myst_parser (#82402)
cor3ntin Mar 4, 2024
c089fa5
[clang][Interp] Fix assertion in InitElem{,Pop} ops
tbaederr Mar 4, 2024
e4882d8
[Clang] [Sema] Do not crash on dependent or invalid record decls when…
Sirraide Mar 4, 2024
906580b
[PowerPC] Add intrinsics for rldimi/rlwimi/rlwnm (#82968)
ecnelises Mar 4, 2024
6b62a91
[RemoveDIs] Reapply 3fda50d3915, insert instructions using iterators
jmorse Mar 4, 2024
6e36ceb
[Clang][Docs] Simpler syntax for Github links. (#82746)
cor3ntin Mar 4, 2024
530f0e6
[AMDGPU] Replace `isInlinableLiteral16` with specific version (#81345)
shiltian Mar 4, 2024
46d7876
Follow up to 6b62a9135a2, fix llvm-examples build
jmorse Mar 4, 2024
d9ae4a6
[libc][NFC] Fix typo in dyadic_float.h (#83846)
gchatelet Mar 4, 2024
27ce512
[AMDGPU] Fix setting nontemporal in memory legalizer (#83815)
mbrkusanin Mar 4, 2024
b3c2c5a
[RemoveDIs][DebugInfo] Verifier and printing fixes for DPLabel (#83242)
SLTozer Mar 4, 2024
1e429ff
[Clang][Docs] Fix issue number
cor3ntin Mar 4, 2024
c1d8d0a
Reapply "[Clang][Sema] Diagnose function/variable templates that shad…
sdkrystian Mar 4, 2024
bbeb946
[clang][analyzer] Change value of checker option in unix.StdCLibraryF…
balazske Mar 4, 2024
52a460f
[analyzer] Refactor CallDescription match mode (NFC) (#83432)
NagyDonat Mar 4, 2024
07f8efa
[libc][NFC] Don't expose how `float16` and `float128` types are provi…
gchatelet Mar 4, 2024
c54064d
[mlir][OpenMP][NFC] - Minor fix in OpenMP ops documentation (#83598)
bhandarkar-pranav Mar 4, 2024
f407f2d
AMDGPU: Test a few more cycle counts for mfma ops
arsenm Mar 4, 2024
13a78fd
[AArch64][GlobalISel] Re-commit Legalize G_SHUFFLE_VECTOR for Odd-Siz…
chuongg3 Mar 4, 2024
8982786
[SLP][NFC]Make canVectorizeLoads member of BoUpSLP class, NFC.
alexey-bataev Mar 4, 2024
d052148
[libc++] Remove leftover .fail.cpp matcher in Lit test format (#83583)
ldionne Mar 4, 2024
f513c6f
Fix value of __FUNCTION__ and __func__ in MSVC mode.
zahiraam Sep 27, 2023
2e0dc54
Fix format.
zahiraam Sep 27, 2023
f5ef478
Add undefined field.
zahiraam Sep 27, 2023
994ba97
Fixed a few issues.
zahiraam Sep 29, 2023
a731882
Fix LIT test literals.cpp.
zahiraam Sep 30, 2023
29bd183
Reverted LIT Test.
zahiraam Sep 30, 2023
1526dbc
Added release note as requested by reviewer.
zahiraam Oct 2, 2023
ddf0567
Addressed review comments.
zahiraam Oct 2, 2023
d63d336
Addressed review comments.
zahiraam Oct 3, 2023
f09a0c4
Cleaned up RN file.
zahiraam Oct 3, 2023
4729fd7
Fixed merge errors.
zahiraam Feb 13, 2024
90d7864
Fixed RN.
zahiraam Feb 13, 2024
330114e
Fixed more mreging issues.
zahiraam Feb 13, 2024
96615d7
Adding unittest.
zahiraam Feb 15, 2024
0a7c176
Removed ForcePrintingAsElaboratedType and fixed unittest.
zahiraam Feb 15, 2024
31e9bd6
Fixed the policy.
zahiraam Feb 16, 2024
fd278a0
Removed the policy field ForcePrintingAsElaboratedType.
zahiraam Feb 21, 2024
d499a57
Addressed review comments.
zahiraam Feb 29, 2024
b296128
Fix CI failure.
zahiraam Mar 1, 2024
e6b1822
Merge branch 'RangeReducDiv' of https://github.com/zahiraam/llvm-proj…
zahiraam Mar 4, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions clang/docs/ReleaseNotes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -274,6 +274,8 @@ Bug Fixes in This Version
(`#62945 <https://github.com/llvm/llvm-project/issues/62945>`_)
- Clang now allows an ``_Atomic`` qualified integer in a switch statement. Fixes
(`#65557 <https://github.com/llvm/llvm-project/issues/65557>`_)
- Fix value of predefined macro ``__FUNCTION__`` to match MSVC's value. Fixes
(`#66114 <https://github.com/llvm/llvm-project/issues/66114>`_)
- Fixes crash when trying to obtain the common sugared type of
`decltype(instantiation-dependent-expr)`.
Fixes (`#67603 <https://github.com/llvm/llvm-project/issues/67603>`_)
Expand Down
3 changes: 2 additions & 1 deletion clang/include/clang/AST/Expr.h
Original file line number Diff line number Diff line change
Expand Up @@ -2068,7 +2068,8 @@ class PredefinedExpr final
return getIdentKindName(getIdentKind());
}

static std::string ComputeName(IdentKind IK, const Decl *CurrentDecl);
static std::string ComputeName(IdentKind IK, const Decl *CurrentDecl,
bool ForceElaboratedPrinting = false);

SourceLocation getBeginLoc() const { return getLocation(); }
SourceLocation getEndLoc() const { return getLocation(); }
Expand Down
8 changes: 6 additions & 2 deletions clang/include/clang/AST/PrettyPrinter.h
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,8 @@ struct PrintingPolicy {
SuppressImplicitBase(false), FullyQualifiedName(false),
PrintCanonicalTypes(false), PrintInjectedClassNameWithArguments(true),
UsePreferredNames(true), AlwaysIncludeTypeForTemplateArgument(false),
CleanUglifiedParameters(false), EntireContentsOfLargeArray(true),
UseEnumerators(true) {}
ForcePrintingAsElaboratedType(false), CleanUglifiedParameters(false),
EntireContentsOfLargeArray(true), UseEnumerators(true) {}

/// Adjust this printing policy for cases where it's known that we're
/// printing C++ code (for instance, if AST dumping reaches a C++-only
Expand Down Expand Up @@ -291,6 +291,10 @@ struct PrintingPolicy {
/// parameters.
unsigned AlwaysIncludeTypeForTemplateArgument : 1;

// Whether to print the type as an elaborated type. This is used when
// printing a function via the _FUNCTION__ macro in MSVC mode.
unsigned ForcePrintingAsElaboratedType : 1;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not clear to me how this new option should interact with SuppressElaboration and SuppressTagKeyword or whether we should have it at all. I would have expected that the existing type printing options (like FullyQualifiedName) would be sufficient and that we were failing to honor those in template arguments?


/// Whether to strip underscores when printing reserved parameter names.
/// e.g. std::vector<class _Tp> becomes std::vector<class Tp>.
/// This only affects parameter names, and so describes a compatible API.
Expand Down
25 changes: 21 additions & 4 deletions clang/lib/AST/Expr.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -726,7 +726,8 @@ StringRef PredefinedExpr::getIdentKindName(PredefinedExpr::IdentKind IK) {

// FIXME: Maybe this should use DeclPrinter with a special "print predefined
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The more complex we make this, the more I think this FIXME sounds like a somewhat better idea though it would potentially be an involved refactoring...

// expr" policy instead.
std::string PredefinedExpr::ComputeName(IdentKind IK, const Decl *CurrentDecl) {
std::string PredefinedExpr::ComputeName(IdentKind IK, const Decl *CurrentDecl,
bool ForceElaboratedPrinting) {
ASTContext &Context = CurrentDecl->getASTContext();

if (IK == PredefinedExpr::FuncDName) {
Expand Down Expand Up @@ -774,9 +775,17 @@ std::string PredefinedExpr::ComputeName(IdentKind IK, const Decl *CurrentDecl) {
return std::string(Out.str());
}
if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(CurrentDecl)) {
if (IK != PrettyFunction && IK != PrettyFunctionNoVirtual &&
IK != FuncSig && IK != LFuncSig)
return FD->getNameAsString();
const auto &LO = Context.getLangOpts();
if (ForceElaboratedPrinting) {
if ((IK == Func || IK == Function) && !LO.MicrosoftExt)
return FD->getNameAsString();
if (IK == LFunction && LO.MicrosoftExt)
return FD->getNameAsString();
} else {
if (IK != PrettyFunction && IK != PrettyFunctionNoVirtual &&
IK != FuncSig && IK != LFuncSig)
return FD->getNameAsString();
}

SmallString<256> Name;
llvm::raw_svector_ostream Out(Name);
Expand All @@ -803,6 +812,8 @@ std::string PredefinedExpr::ComputeName(IdentKind IK, const Decl *CurrentDecl) {
PrintingPolicy Policy(Context.getLangOpts());
PrettyCallbacks PrettyCB(Context.getLangOpts());
Policy.Callbacks = &PrettyCB;
if (IK == Function && ForceElaboratedPrinting)
Policy.ForcePrintingAsElaboratedType = LO.MicrosoftExt;
std::string Proto;
llvm::raw_string_ostream POut(Proto);

Expand All @@ -829,6 +840,12 @@ std::string PredefinedExpr::ComputeName(IdentKind IK, const Decl *CurrentDecl) {

FD->printQualifiedName(POut, Policy);

if (IK == Function) {
POut.flush();
Out << Proto;
return std::string(Name);
}

POut << "(";
if (FT) {
for (unsigned i = 0, e = Decl->getNumParams(); i != e; ++i) {
Expand Down
15 changes: 11 additions & 4 deletions clang/lib/AST/TypePrinter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2195,6 +2195,7 @@ printTo(raw_ostream &OS, ArrayRef<TA> Args, const PrintingPolicy &Policy,
llvm::SmallVector<TemplateArgument, 8> OrigArgs;
for (const TA &A : Args)
OrigArgs.push_back(getArgument(A));

while (!Args.empty() && getArgument(Args.back()).getIsDefaulted())
Args = Args.drop_back();
}
Expand All @@ -2218,10 +2219,16 @@ printTo(raw_ostream &OS, ArrayRef<TA> Args, const PrintingPolicy &Policy,
} else {
if (!FirstArg)
OS << Comma;
// Tries to print the argument with location info if exists.
printArgument(Arg, Policy, ArgOS,
TemplateParameterList::shouldIncludeTypeForArgument(
Policy, TPL, ParmIndex));

if (Policy.ForcePrintingAsElaboratedType &&
Argument.getKind() == TemplateArgument::Type &&
!Argument.getAsType()->isBuiltinType())
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be looking at isa<TagType>(getAsType())?

OS << Argument.getAsType().getAsString().data();
else
// Tries to print the argument with location info if exists.
printArgument(Arg, Policy, ArgOS,
TemplateParameterList::shouldIncludeTypeForArgument(
Policy, TPL, ParmIndex));
}
StringRef ArgString = ArgOS.str();

Expand Down
6 changes: 5 additions & 1 deletion clang/lib/Sema/SemaExpr.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3727,7 +3727,11 @@ ExprResult Sema::BuildPredefinedExpr(SourceLocation Loc,
else {
// Pre-defined identifiers are of type char[x], where x is the length of
// the string.
auto Str = PredefinedExpr::ComputeName(IK, currentDecl);
bool ForceElaboratedPrinting = false;
if (IK == PredefinedExpr::IdentKind::Function && getLangOpts().MicrosoftExt)
ForceElaboratedPrinting = true;
auto Str =
PredefinedExpr::ComputeName(IK, currentDecl, ForceElaboratedPrinting);
unsigned Length = Str.length();

llvm::APInt LengthI(32, Length + 1);
Expand Down
8 changes: 4 additions & 4 deletions clang/test/AST/Interp/literals.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1113,7 +1113,7 @@ namespace PredefinedExprs {
static_assert(strings_match(__FUNCSIG__, "void __cdecl PredefinedExprs::foo(void)"), "");
static_assert(strings_match(L__FUNCSIG__, L"void __cdecl PredefinedExprs::foo(void)"), "");
static_assert(strings_match(L__FUNCTION__, L"foo"), "");
static_assert(strings_match(__FUNCTION__, "foo"), "");
static_assert(strings_match(__FUNCTION__, "PredefinedExprs::foo"), "");
static_assert(strings_match(__func__, "foo"), "");
static_assert(strings_match(__PRETTY_FUNCTION__, "void PredefinedExprs::foo()"), "");
}
Expand All @@ -1125,9 +1125,9 @@ namespace PredefinedExprs {
// expected-warning {{result unused}}
return __FUNCTION__[index];
}
static_assert(heh(0) == 'h', "");
static_assert(heh(1) == 'e', "");
static_assert(heh(2) == 'h', "");
static_assert(heh(0) == 'P', "");
static_assert(heh(1) == 'r', "");
static_assert(heh(2) == 'e', "");
#endif
}

Expand Down
22 changes: 16 additions & 6 deletions clang/test/Analysis/eval-predefined-exprs.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,14 @@ struct A {
clang_analyzer_dump(__func__);
clang_analyzer_dump(__FUNCTION__);
clang_analyzer_dump(__PRETTY_FUNCTION__);
// expected-warning@-3 {{&Element{"A",0 S64b,char}}}
// expected-warning@-3 {{&Element{"A",0 S64b,char}}}
// expected-warning@-3 {{&Element{"A::A()",0 S64b,char}}}
#ifdef ANALYZER_MS
// expected-warning@-4 {{&Element{"A",0 S64b,char}}}
// expected-warning@-4 {{&Element{"A::A",0 S64b,char}}}
#else
// expected-warning@-7 {{&Element{"A",0 S64b,char}}}
// expected-warning@-7 {{&Element{"A",0 S64b,char}}}
#endif
// expected-warning@-8 {{&Element{"A::A()",0 S64b,char}}}

#ifdef ANALYZER_MS
clang_analyzer_dump(__FUNCDNAME__);
Expand All @@ -74,9 +79,14 @@ struct A {
clang_analyzer_dump(__func__);
clang_analyzer_dump(__FUNCTION__);
clang_analyzer_dump(__PRETTY_FUNCTION__);
// expected-warning@-3 {{&Element{"~A",0 S64b,char}}}
// expected-warning@-3 {{&Element{"~A",0 S64b,char}}}
// expected-warning@-3 {{&Element{"A::~A()",0 S64b,char}}}
#ifdef ANALYZER_MS
// expected-warning@-4 {{&Element{"~A",0 S64b,char}}}
// expected-warning@-4 {{&Element{"A::~A",0 S64b,char}}}
#else
// expected-warning@-7 {{&Element{"~A",0 S64b,char}}}
// expected-warning@-7 {{&Element{"~A",0 S64b,char}}}
#endif
// expected-warning@-8 {{&Element{"A::~A()",0 S64b,char}}}

#ifdef ANALYZER_MS
clang_analyzer_dump(__FUNCDNAME__);
Expand Down
66 changes: 66 additions & 0 deletions clang/test/SemaCXX/source_location.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -463,8 +463,74 @@ void ctor_tests() {
constexpr SL global_sl = SL::current();
static_assert(is_equal(global_sl.function(), ""));

template <class T>
class TestBI {
public:
TestBI() {
#ifdef MS
static_assert(is_equal(__FUNCTION__, "test_func::TestBI<int>::TestBI"));
static_assert(is_equal(__func__, "TestBI"));
#else
static_assert(is_equal(__FUNCTION__, "TestBI"));
static_assert(is_equal(__func__, "TestBI"));
#endif
}
};

template <class T>
class TestClass {
public:
TestClass() {
#ifdef MS
static_assert(is_equal(__FUNCTION__, "test_func::TestClass<class test_func::C>::TestClass"));
static_assert(is_equal(__func__, "TestClass"));
#else
static_assert(is_equal(__FUNCTION__, "TestClass"));
static_assert(is_equal(__func__, "TestClass"));
#endif
}
};

template <class T>
class TestStruct {
public:
TestStruct() {
#ifdef MS
static_assert(is_equal(__FUNCTION__, "test_func::TestStruct<struct test_func::S>::TestStruct"));
static_assert(is_equal(__func__, "TestStruct"));
#else
static_assert(is_equal(__FUNCTION__, "TestStruct"));
static_assert(is_equal(__func__, "TestStruct"));
#endif
}
};

template <class T>
class TestEnum {
public:
TestEnum() {
#ifdef MS
static_assert(is_equal(__FUNCTION__, "test_func::TestEnum<enum test_func::E>::TestEnum"));
static_assert(is_equal(__func__, "TestEnum"));
#else
static_assert(is_equal(__FUNCTION__, "TestEnum"));
static_assert(is_equal(__func__, "TestEnum"));
#endif
}
};

class C {};
struct S {};
enum E {};


} // namespace test_func

test_func::TestBI<int> t1;
test_func::TestClass<test_func::C> t2;
test_func::TestStruct<test_func::S> t3;
test_func::TestEnum<test_func::E> t4;

//===----------------------------------------------------------------------===//
// __builtin_FUNCSIG()
//===----------------------------------------------------------------------===//
Expand Down
Loading