Skip to content

Commit b5839c9

Browse files
author
git apple-llvm automerger
committed
Merge commit '17fdcda3790c' from llvm.org/main into next
2 parents 2ddc5c8 + 17fdcda commit b5839c9

File tree

1 file changed

+84
-2
lines changed

1 file changed

+84
-2
lines changed

clang/lib/CIR/CodeGen/CIRGenDecl.cpp

Lines changed: 84 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -268,11 +268,87 @@ void CIRGenFunction::emitExprAsInit(const Expr *init, const ValueDecl *d,
268268

269269
void CIRGenFunction::emitDecl(const Decl &d) {
270270
switch (d.getKind()) {
271-
case Decl::LinkageSpec:
271+
case Decl::BuiltinTemplate:
272+
case Decl::TranslationUnit:
273+
case Decl::ExternCContext:
272274
case Decl::Namespace:
275+
case Decl::UnresolvedUsingTypename:
276+
case Decl::ClassTemplateSpecialization:
277+
case Decl::ClassTemplatePartialSpecialization:
278+
case Decl::VarTemplateSpecialization:
279+
case Decl::VarTemplatePartialSpecialization:
280+
case Decl::TemplateTypeParm:
281+
case Decl::UnresolvedUsingValue:
282+
case Decl::NonTypeTemplateParm:
283+
case Decl::CXXDeductionGuide:
284+
case Decl::CXXMethod:
285+
case Decl::CXXConstructor:
286+
case Decl::CXXDestructor:
287+
case Decl::CXXConversion:
288+
case Decl::Field:
289+
case Decl::MSProperty:
290+
case Decl::IndirectField:
291+
case Decl::ObjCIvar:
292+
case Decl::ObjCAtDefsField:
293+
case Decl::ParmVar:
294+
case Decl::ImplicitParam:
295+
case Decl::ClassTemplate:
296+
case Decl::VarTemplate:
297+
case Decl::FunctionTemplate:
298+
case Decl::TypeAliasTemplate:
299+
case Decl::TemplateTemplateParm:
300+
case Decl::ObjCMethod:
301+
case Decl::ObjCCategory:
302+
case Decl::ObjCProtocol:
303+
case Decl::ObjCInterface:
304+
case Decl::ObjCCategoryImpl:
305+
case Decl::ObjCImplementation:
306+
case Decl::ObjCProperty:
307+
case Decl::ObjCCompatibleAlias:
308+
case Decl::PragmaComment:
309+
case Decl::PragmaDetectMismatch:
310+
case Decl::AccessSpec:
311+
case Decl::LinkageSpec:
312+
case Decl::Export:
313+
case Decl::ObjCPropertyImpl:
314+
case Decl::FileScopeAsm:
315+
case Decl::Friend:
316+
case Decl::FriendTemplate:
317+
case Decl::Block:
318+
case Decl::OutlinedFunction:
319+
case Decl::Captured:
320+
case Decl::UsingShadow:
321+
case Decl::ConstructorUsingShadow:
322+
case Decl::ObjCTypeParam:
323+
case Decl::Binding:
324+
case Decl::UnresolvedUsingIfExists:
273325
llvm_unreachable("Declaration should not be in declstmts!");
274326

327+
case Decl::Function: // void X();
328+
case Decl::EnumConstant: // enum ? { X = ? }
329+
case Decl::StaticAssert: // static_assert(X, ""); [C++0x]
330+
case Decl::Label: // __label__ x;
331+
case Decl::Import:
332+
case Decl::MSGuid: // __declspec(uuid("..."))
333+
case Decl::TemplateParamObject:
334+
case Decl::OMPThreadPrivate:
335+
case Decl::OMPAllocate:
336+
case Decl::OMPCapturedExpr:
337+
case Decl::OMPRequires:
338+
case Decl::Empty:
339+
case Decl::Concept:
340+
case Decl::LifetimeExtendedTemporary:
341+
case Decl::RequiresExprBody:
342+
case Decl::UnnamedGlobalConstant:
343+
// None of these decls require codegen support.
344+
return;
345+
346+
case Decl::Enum: // enum X;
275347
case Decl::Record: // struct/union/class X;
348+
case Decl::CXXRecord: // struct/union/class X; [C++]
349+
case Decl::NamespaceAlias:
350+
case Decl::Using: // using X; [C++]
351+
case Decl::UsingEnum: // using enum X; [C++]
276352
case Decl::UsingDirective: // using namespace X; [C++]
277353
assert(!cir::MissingFeatures::generateDebugInfo());
278354
return;
@@ -297,7 +373,13 @@ void CIRGenFunction::emitDecl(const Decl &d) {
297373
cgm.errorNYI(d.getSourceRange(), "emitDecl: variably modified type");
298374
return;
299375
}
300-
default:
376+
case Decl::ImplicitConceptSpecialization:
377+
case Decl::HLSLBuffer:
378+
case Decl::TopLevelStmt:
379+
case Decl::UsingPack:
380+
case Decl::Decomposition: // This could be moved to join Decl::Var
381+
case Decl::OMPDeclareReduction:
382+
case Decl::OMPDeclareMapper:
301383
cgm.errorNYI(d.getSourceRange(),
302384
std::string("emitDecl: unhandled decl type: ") +
303385
d.getDeclKindName());

0 commit comments

Comments
 (0)