Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
bc6a265
[offload] Use flang-rt for test feature requirements (#187733)
ro-i Mar 20, 2026
4a5da64
[CIR][NFC] Minor cleanups to missing feature markers (#187754)
andykaylor Mar 20, 2026
0ec6e1d
[CIR] Address Space support for GlobalOps (#179082)
RiverDave Mar 20, 2026
60db764
[Bazel] Port a2c0c43699917bb26a3eb20fefcbf29ff120ce70
boomanaiden154 Mar 20, 2026
07896d4
[OpenMP] Emit aggregate kernel prototypes and remove libffi dependenc…
jhuber6 Mar 20, 2026
9431920
[llvm] Silence llvm-debuginfod-find/headers-winhttp.test on Windows b…
weliveindetail Mar 20, 2026
63c9573
[LSR] Add regression test for unnecessary phi introduction (#187751)
aleks-tmb Mar 20, 2026
78b651a
[RISCV] Fix the pipe used by `fmv.x.<fp>/<fp>.x` in SiFive7 sched mod…
mshockwave Mar 20, 2026
cfc94a6
[flang][OpenMP] Introduce `WithReason<T>` for nest/sequence propertie…
kparzysz Mar 20, 2026
950eaaa
[Clang] Use stable_sort for UnqualUsingDirectiveSet for determinism i…
jyknight Mar 20, 2026
498dd13
Add VDS encoding for gfx13 (#187693)
mariusz-sikora-at-amd Mar 20, 2026
dd30239
[AMDGPU] Add basic verification for source modifiers (#186733)
megakite Mar 20, 2026
827ddb2
[AMDGPU][SIInsertWaitcnts] Add test functions in waitcnt-wcg-attribut…
vporpo Mar 20, 2026
bb369f1
[libc][x86] Add Non-temporal code path for large memcpy (#187108)
TocarIP Mar 20, 2026
bd3b06b
[AMDGPU][GlobalISel] Add RegBankLegalize rules for amdgcn.class (#178…
vangthao95 Mar 20, 2026
66f06f5
[mlir][acc] Sink constants into acc.compute_region when creating (#18…
razvanlupusoru Mar 20, 2026
1b44e34
[scudo] Add free_sized and free_aligned_sized (#186881)
cferris1000 Mar 20, 2026
44c6a0a
[MLIR][XeGPU] Fix dpas f16 output layout (#184419)
AndreyPavlenko Mar 20, 2026
b260861
[SLP]Update values after ordered vectorization
alexey-bataev Mar 20, 2026
8c49c53
[dsymutil] Preserve DWARF debug info for assembly files (#187575)
JDevlieghere Mar 20, 2026
82f18b0
[Clang] Rename OffloadArch::UNUSED to UNUSED_ to avoid macro collisio…
kraj Mar 20, 2026
9b30151
[lldb] Support PointerAuthAuthTraps in the expression evaluator (#187…
JDevlieghere Mar 20, 2026
a99dbc5
[HLSL] Add binding attributes to resources from structs (#184731)
hekota Mar 20, 2026
2d3b8ce
[dsymutil] Require AArch64 backend in asm-line-tables.test (#187797)
JDevlieghere Mar 20, 2026
3eecb98
[TargetLowering] Separate some of the control for the i32->i64 optimi…
topperc Mar 20, 2026
343b566
[TargetLowering] Move the MULH/MUL_LOHI legality checks to the beginn…
topperc Mar 20, 2026
79f3104
[lldb] Fix warning style for SymStore symbol locator (#187776)
Nerixyz Mar 20, 2026
2b78c71
[lldb] Support -fptrauth-indirect-gotos in the expression evaluator (…
JDevlieghere Mar 20, 2026
d514a4a
[HLSL][Matrix] Support row-major `transpose` and `mul` by inserting m…
Icohedron Mar 20, 2026
a261548
[libc][annex_k] Add constraint_handler_t. (#163239)
bassiounix Mar 20, 2026
485eda9
[mlir][tosa] Fix crash in slice op folder when input values are not i…
lhutton1 Mar 20, 2026
7a5431e
[lldb][bytecode] Fix Update() and failing test (#187795)
kastiglione Mar 20, 2026
8cc0124
[scudo] Make the default for size/align checks to not die. (#187799)
cferris1000 Mar 20, 2026
720615f
[SandboxVec][DAG] Fix DAG update when user is scheduled (#187148)
vporpo Mar 20, 2026
51c158b
[clang-doc] Fix incorrectly rendered specialization args in HTML (#18…
evelez7 Mar 20, 2026
a60b3a8
[libc] Fix function prototypes for <threads.h> C11 header. (#187808)
vonosmas Mar 20, 2026
368f38b
[AMDGPU][SIInsertWaitcnts][NFC] SGPRInfo: Move score selection logic …
vporpo Mar 20, 2026
335a2d0
[clang] fix error: cannot compile this l-value expression yet (#187755)
Rinn Mar 20, 2026
bae6a2a
[Runtimes] Fix Unix Makefiles race between runtimes-build and EXTRA_T…
wenju-he Mar 20, 2026
6891a6e
[compiler-rt] Add bitmask to fix warning (#187812)
michaelrj-google Mar 20, 2026
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: 1 addition & 1 deletion clang-tools-extra/clang-doc/JSONGenerator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -527,7 +527,7 @@ void JSONGenerator::serializeInfo(const TemplateInfo &Template, Object &Obj) {
bool VerticalDisplay =
Template.Specialization->Params.size() > getMaxParamWrapLimit();
serializeArray(Template.Specialization->Params, TemplateSpecializationObj,
"Parameters", SerializeTemplateParam, "End",
"Parameters", SerializeTemplateParam, "SpecParamEnd",
[VerticalDisplay](Object &JsonObj) {
JsonObj["VerticalDisplay"] = VerticalDisplay;
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<pre><code class="language-cpp code-clang-doc">template &lt;{{^VerticalDisplay}}{{#Parameters}}{{Param}}{{^End}}, {{/End}}{{/Parameters}}{{/VerticalDisplay}}</code>{{#VerticalDisplay}}<span class="param-container">{{#Parameters}}<span class="param"><code class="language-cpp code-clang-doc">{{Param}}{{^End}}, {{/End}}</code></span>{{/Parameters}}</span>{{/VerticalDisplay}}<code class="language-cpp code-clang-doc">&gt;</code></pre>
{{/Template}}
{{! Function Prototype }}
<pre><code class="language-cpp code-clang-doc">{{ReturnType.QualName}} {{Name}}{{#Template}}{{#Specialization}}&lt;{{#Parameters}}{{Param}}{{^End}}, {{/End}}{{/Parameters}}&gt;{{/Specialization}}{{/Template}} ({{^VerticalDisplay}}{{#Params}}{{Type.QualName}} {{Name}}{{^ParamEnd}}, {{/ParamEnd}}{{/Params}}){{/VerticalDisplay}}</code>{{#VerticalDisplay}}<span class="param-container">{{#Params}}<span class="param"><code class="language-cpp code-clang-doc">{{Type.QualName}}</code> <code class="language-cpp code-clang-doc">{{Name}}{{^ParamEnd}}, {{/ParamEnd}}</code></span>{{/Params}}</span><code class="language-cpp code-clang-doc">)</code>{{/VerticalDisplay}}</pre>
<pre><code class="language-cpp code-clang-doc">{{ReturnType.QualName}} {{Name}}{{#Template}}{{#Specialization}}&lt;{{#Parameters}}{{Param}}{{^SpecParamEnd}}, {{/SpecParamEnd}}{{/Parameters}}&gt;{{/Specialization}}{{/Template}} ({{^VerticalDisplay}}{{#Params}}{{Type.QualName}} {{Name}}{{^ParamEnd}}, {{/ParamEnd}}{{/Params}}){{/VerticalDisplay}}</code>{{#VerticalDisplay}}<span class="param-container">{{#Params}}<span class="param"><code class="language-cpp code-clang-doc">{{Type.QualName}}</code> <code class="language-cpp code-clang-doc">{{Name}}{{^ParamEnd}}, {{/ParamEnd}}</code></span>{{/Params}}</span><code class="language-cpp code-clang-doc">)</code>{{/VerticalDisplay}}</pre>
{{! Function Comments }}
{{#Description}}
<div class="doc-card">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ template<> struct MyClass<int> {};
// SPECIALIZATION-NEXT: "Specialization": {
// SPECIALIZATION-NEXT: "Parameters": [
// SPECIALIZATION-NEXT: {
// SPECIALIZATION-NEXT: "End": true,
// SPECIALIZATION-NEXT: "Param": "int"
// SPECIALIZATION-NEXT: "Param": "int",
// SPECIALIZATION-NEXT: "SpecParamEnd": true
// SPECIALIZATION-NEXT: }
// SPECIALIZATION-NEXT: ],
// SPECIALIZATION-NEXT: "SpecializationOf": "{{[0-9A-F]*}}",
Expand Down
4 changes: 2 additions & 2 deletions clang-tools-extra/test/clang-doc/templates.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -357,8 +357,8 @@ void function<bool, 0>(bool x) {}
// JSON-NEXT: "Param": "bool"
// JSON-NEXT: },
// JSON-NEXT: {
// JSON-NEXT: "End": true,
// JSON-NEXT: "Param": "0"
// JSON-NEXT: "Param": "0",
// JSON-NEXT: "SpecParamEnd": true
// JSON-NEXT: }
// JSON-NEXT: ],
// JSON-NEXT: "SpecializationOf": "{{([0-9A-F]{40})}}",
Expand Down
1 change: 1 addition & 0 deletions clang/docs/ReleaseNotes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -402,6 +402,7 @@ Miscellaneous Clang Crashes Fixed
- Fixed a crash when subscripting a vector type with large unsigned integer values. (#GH180563)
- Fixed a crash when evaluating ``__is_bitwise_cloneable`` on invalid record types. (#GH183707)
- Fixed an assertion failure when casting a function pointer with a target with a non-default program address space. (#GH186210)
- Fixed a crash when ``decltype(__builtin_FUNCTION())`` is used as a template type argument. (#GH167433)

OpenACC Specific Changes
------------------------
Expand Down
6 changes: 3 additions & 3 deletions clang/include/clang/Basic/OffloadArch.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ class StringRef;
namespace clang {

enum class OffloadArch {
UNUSED,
UNKNOWN,
Unused,
Unknown,
// TODO: Deprecate and remove GPU architectures older than sm_52.
SM_20,
SM_21,
Expand Down Expand Up @@ -148,7 +148,7 @@ const char *OffloadArchToString(OffloadArch A);
const char *OffloadArchToVirtualArchString(OffloadArch A);

// Convert a string to an OffloadArch enum value. Returns
// OffloadArch::UNKNOWN if the string is not recognized.
// OffloadArch::Unknown if the string is not recognized.
OffloadArch StringToOffloadArch(llvm::StringRef S);

} // namespace clang
Expand Down
14 changes: 8 additions & 6 deletions clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
#include "llvm/IR/FPEnv.h"
#include "llvm/Support/ErrorHandling.h"

#include "mlir/Dialect/Ptr/IR/MemorySpaceInterfaces.h"
#include "mlir/IR/Builders.h"
#include "mlir/IR/BuiltinAttributes.h"
#include "mlir/IR/Location.h"
Expand Down Expand Up @@ -394,14 +395,15 @@ class CIRBaseBuilderTy : public mlir::OpBuilder {
return CIRBaseBuilderTy::createStore(loc, flag, dst);
}

[[nodiscard]] cir::GlobalOp createGlobal(mlir::ModuleOp mlirModule,
mlir::Location loc,
mlir::StringRef name,
mlir::Type type, bool isConstant,
cir::GlobalLinkageKind linkage) {
[[nodiscard]] cir::GlobalOp
createGlobal(mlir::ModuleOp mlirModule, mlir::Location loc,
mlir::StringRef name, mlir::Type type, bool isConstant,
cir::GlobalLinkageKind linkage,
mlir::ptr::MemorySpaceAttrInterface addrSpace) {
mlir::OpBuilder::InsertionGuard guard(*this);
setInsertionPointToStart(mlirModule.getBody());
return cir::GlobalOp::create(*this, loc, name, type, isConstant, linkage);
return cir::GlobalOp::create(*this, loc, name, type, isConstant, addrSpace,
linkage);
}

cir::GetMemberOp createGetMember(mlir::Location loc, mlir::Type resultTy,
Expand Down
3 changes: 3 additions & 0 deletions clang/include/clang/CIR/Dialect/IR/CIROps.td
Original file line number Diff line number Diff line change
Expand Up @@ -2834,6 +2834,7 @@ def CIR_GlobalOp : CIR_Op<"global", [
OptionalAttr<StrAttr>:$sym_visibility,
TypeAttr:$sym_type,
CIR_GlobalLinkageKind:$linkage,
OptionalAttr<MemorySpaceAttrInterface>:$addr_space,
OptionalAttr<CIR_TLSModel>:$tls_model,
OptionalAttr<AnyAttr>:$initial_value,
UnitAttr:$comdat,
Expand All @@ -2855,6 +2856,7 @@ def CIR_GlobalOp : CIR_Op<"global", [
($tls_model^)?
(`dso_local` $dso_local^)?
(`static_local_guard` `` $static_local_guard^)?
(` ` custom<GlobalAddressSpaceValue>($addr_space)^ )?
$sym_name
custom<GlobalOpTypeAndInitialValue>($sym_type, $initial_value,
$ctorRegion, $dtorRegion)
Expand All @@ -2875,6 +2877,7 @@ def CIR_GlobalOp : CIR_Op<"global", [
"llvm::StringRef":$sym_name,
"mlir::Type":$sym_type,
CArg<"bool", "false">:$isConstant,
CArg<"mlir::ptr::MemorySpaceAttrInterface", "{}">:$addrSpace,
// CIR defaults to external linkage.
CArg<"cir::GlobalLinkageKind",
"cir::GlobalLinkageKind::ExternalLinkage">:$linkage,
Expand Down
2 changes: 1 addition & 1 deletion clang/lib/AST/Expr.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2255,7 +2255,7 @@ SourceLocExpr::SourceLocExpr(const ASTContext &Ctx, SourceLocIdentKind Kind,
SourceLocExprBits.Kind = llvm::to_underlying(Kind);
// In dependent contexts, function names may change.
setDependence(MayBeDependent(Kind) && ParentContext->isDependentContext()
? ExprDependence::Value
? ExprDependence::ValueInstantiation
: ExprDependence::None);
}

Expand Down
4 changes: 2 additions & 2 deletions clang/lib/Basic/Cuda.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ CudaVersion ToCudaVersion(llvm::VersionTuple Version) {
}

CudaVersion MinVersionForOffloadArch(OffloadArch A) {
if (A == OffloadArch::UNKNOWN)
if (A == OffloadArch::Unknown)
return CudaVersion::UNKNOWN;

// AMD GPUs do not depend on CUDA versions.
Expand Down Expand Up @@ -141,7 +141,7 @@ CudaVersion MaxVersionForOffloadArch(OffloadArch A) {
return CudaVersion::NEW;

switch (A) {
case OffloadArch::UNKNOWN:
case OffloadArch::Unknown:
return CudaVersion::UNKNOWN;
case OffloadArch::SM_20:
case OffloadArch::SM_21:
Expand Down
4 changes: 2 additions & 2 deletions clang/lib/Basic/OffloadArch.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ struct OffloadArchToStringMap {
#define GFX(gpu) {OffloadArch::GFX##gpu, "gfx" #gpu, "compute_amdgcn"}
static const OffloadArchToStringMap ArchNames[] = {
// clang-format off
{OffloadArch::UNUSED, "", ""},
{OffloadArch::Unused, "", ""},
SM(20), {OffloadArch::SM_21, "sm_21", "compute_20"}, // Fermi
SM(30), {OffloadArch::SM_32_, "sm_32", "compute_32"}, SM(35), SM(37), // Kepler
SM(50), SM(52), SM(53), // Maxwell
Expand Down Expand Up @@ -142,7 +142,7 @@ OffloadArch StringToOffloadArch(llvm::StringRef S) {
return S == Map.ArchName;
});
if (Result == std::end(ArchNames))
return OffloadArch::UNKNOWN;
return OffloadArch::Unknown;
return Result->Arch;
}

Expand Down
2 changes: 1 addition & 1 deletion clang/lib/Basic/Targets/NVPTX.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ NVPTXTargetInfo::NVPTXTargetInfo(const llvm::Triple &Triple,
// Define available target features
// These must be defined in sorted order!
NoAsmVariants = true;
GPU = OffloadArch::UNUSED;
GPU = OffloadArch::Unused;

// PTX supports f16 as a fundamental type.
HasFastHalfType = true;
Expand Down
6 changes: 3 additions & 3 deletions clang/lib/Basic/Targets/NVPTX.h
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ class LLVM_LIBRARY_VISIBILITY NVPTXTargetInfo : public TargetInfo {
initFeatureMap(llvm::StringMap<bool> &Features, DiagnosticsEngine &Diags,
StringRef CPU,
const std::vector<std::string> &FeaturesVec) const override {
if (GPU != OffloadArch::UNUSED)
if (GPU != OffloadArch::Unused)
Features[OffloadArchToString(GPU)] = true;
// Only add PTX feature if explicitly requested. Otherwise, let the backend
// use the minimum required PTX version for the target SM.
Expand Down Expand Up @@ -148,7 +148,7 @@ class LLVM_LIBRARY_VISIBILITY NVPTXTargetInfo : public TargetInfo {
}

bool isValidCPUName(StringRef Name) const override {
return StringToOffloadArch(Name) != OffloadArch::UNKNOWN;
return StringToOffloadArch(Name) != OffloadArch::Unknown;
}

void fillValidCPUList(SmallVectorImpl<StringRef> &Values) const override {
Expand All @@ -159,7 +159,7 @@ class LLVM_LIBRARY_VISIBILITY NVPTXTargetInfo : public TargetInfo {

bool setCPU(const std::string &Name) override {
GPU = StringToOffloadArch(Name);
return GPU != OffloadArch::UNKNOWN;
return GPU != OffloadArch::Unknown;
}

void setSupportedOpenCLOpts() override {
Expand Down
7 changes: 5 additions & 2 deletions clang/lib/CIR/CodeGen/CIRGenBuilder.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
#include "Address.h"
#include "CIRGenRecordLayout.h"
#include "CIRGenTypeCache.h"
#include "mlir/Dialect/Ptr/IR/MemorySpaceInterfaces.h"
#include "mlir/IR/Attributes.h"
#include "mlir/IR/Builders.h"
#include "mlir/IR/BuiltinAttributes.h"
Expand Down Expand Up @@ -691,15 +692,17 @@ class CIRGenBuilderTy : public cir::CIRBaseBuilderTy {
[[nodiscard]] cir::GlobalOp
createVersionedGlobal(mlir::ModuleOp module, mlir::Location loc,
mlir::StringRef name, mlir::Type type, bool isConstant,
cir::GlobalLinkageKind linkage) {
cir::GlobalLinkageKind linkage,
mlir::ptr::MemorySpaceAttrInterface addrSpace = {}) {
// Create a unique name if the given name is already taken.
std::string uniqueName;
if (unsigned version = globalsVersioning[name.str()]++)
uniqueName = name.str() + "." + std::to_string(version);
else
uniqueName = name.str();

return createGlobal(module, loc, uniqueName, type, isConstant, linkage);
return createGlobal(module, loc, uniqueName, type, isConstant, linkage,
addrSpace);
}

cir::StackSaveOp createStackSave(mlir::Location loc, mlir::Type ty) {
Expand Down
5 changes: 3 additions & 2 deletions clang/lib/CIR/CodeGen/CIRGenClass.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -739,10 +739,11 @@ void CIRGenFunction::emitCXXAggrConstructorCall(
constantCount.erase();
} else {
// Otherwise, emit the check.
cgm.errorNYI(e->getSourceRange(), "dynamic-length array expression");
cgm.errorNYI(e->getSourceRange(),
"emitCXXAggrConstructorCall: dynamic-length array expression");
}

// Tradional LLVM codegen emits a loop here. CIR lowers to a loop as part of
// Traditional LLVM codegen emits a loop here. CIR lowers to a loop as part of
// LoweringPrepare.

// The alignment of the base, adjusted by the size of a single element,
Expand Down
2 changes: 1 addition & 1 deletion clang/lib/CIR/CodeGen/CIRGenDecl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1034,7 +1034,7 @@ void CIRGenFunction::emitArrayDestroy(mlir::Value begin,
size = constIntAttr.getUInt();
} else {
cgm.errorNYI(begin.getDefiningOp()->getLoc(),
"dynamic-length array expression");
"emitArrayDestroy: dynamic-length array expression");
}

auto arrayTy = cir::ArrayType::get(cirElementType, size);
Expand Down
4 changes: 2 additions & 2 deletions clang/lib/CIR/CodeGen/CIRGenExpr.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -298,9 +298,9 @@ static LValue emitGlobalVarDeclLValue(CIRGenFunction &cgf, const Expr *e,
// as part of getAddrOfGlobalVar.
mlir::Value v = cgf.cgm.getAddrOfGlobalVar(vd);

assert(!cir::MissingFeatures::addressSpace());
mlir::Type realVarTy = cgf.convertTypeForMem(vd->getType());
cir::PointerType realPtrTy = cgf.getBuilder().getPointerTo(realVarTy);
cir::PointerType realPtrTy = cir::PointerType::get(
realVarTy, mlir::cast<cir::PointerType>(v.getType()).getAddrSpace());
if (realPtrTy != v.getType())
v = cgf.getBuilder().createBitcast(v.getLoc(), v, realPtrTy);

Expand Down
4 changes: 2 additions & 2 deletions clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1985,7 +1985,7 @@ mlir::Value ScalarExprEmitter::emitSub(const BinOpInfo &ops) {
mlir::Value ScalarExprEmitter::emitShl(const BinOpInfo &ops) {
// TODO: This misses out on the sanitizer check below.
if (ops.isFixedPointOp()) {
assert(cir::MissingFeatures::fixedPointType());
assert(!cir::MissingFeatures::fixedPointType());
cgf.cgm.errorNYI("fixed point");
return {};
}
Expand Down Expand Up @@ -2017,7 +2017,7 @@ mlir::Value ScalarExprEmitter::emitShl(const BinOpInfo &ops) {
mlir::Value ScalarExprEmitter::emitShr(const BinOpInfo &ops) {
// TODO: This misses out on the sanitizer check below.
if (ops.isFixedPointOp()) {
assert(cir::MissingFeatures::fixedPointType());
assert(!cir::MissingFeatures::fixedPointType());
cgf.cgm.errorNYI("fixed point");
return {};
}
Expand Down
2 changes: 1 addition & 1 deletion clang/lib/CIR/CodeGen/CIRGenFunction.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1268,7 +1268,7 @@ CIRGenFunction::emitArrayLength(const clang::ArrayType *origArrayType,
// If it's a VLA, we have to load the stored size. Note that
// this is the size of the VLA in bytes, not its size in elements.
if (isa<VariableArrayType>(arrayType)) {
assert(cir::MissingFeatures::vlas());
assert(!cir::MissingFeatures::vlas());
cgm.errorNYI(*currSrcLoc, "VLAs");
return builder.getConstInt(*currSrcLoc, sizeTy, 0);
}
Expand Down
Loading
Loading