From: Matt Arsenault Date: Mon, 20 Jun 2016 18:13:09 +0000 (+0000) Subject: Update for DiagnosticInfoStackSize changes X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=55cabd988380b263f948129c468fbc0f3932abba;p=clang Update for DiagnosticInfoStackSize changes git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273178 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CodeGenAction.cpp b/lib/CodeGen/CodeGenAction.cpp index 848acb4fe0..8861840516 100644 --- a/lib/CodeGen/CodeGenAction.cpp +++ b/lib/CodeGen/CodeGenAction.cpp @@ -415,9 +415,10 @@ BackendConsumer::StackSizeDiagHandler(const llvm::DiagnosticInfoStackSize &D) { return false; if (const Decl *ND = Gen->GetDeclForMangledName(D.getFunction().getName())) { + // FIXME: Shouldn't need to truncate to uint32_t Diags.Report(ND->getASTContext().getFullLoc(ND->getLocation()), diag::warn_fe_frame_larger_than) - << D.getStackSize() << Decl::castToDeclContext(ND); + << static_cast(D.getStackSize()) << Decl::castToDeclContext(ND); return true; } diff --git a/test/Misc/backend-resource-limit-diagnostics.cl b/test/Misc/backend-resource-limit-diagnostics.cl new file mode 100644 index 0000000000..6e7619babe --- /dev/null +++ b/test/Misc/backend-resource-limit-diagnostics.cl @@ -0,0 +1,9 @@ +// REQUIRES: amdgpu-registered-target +// RUN: not %clang_cc1 -emit-codegen-only -triple=amdgcn-- %s 2>&1 | FileCheck %s + +// CHECK: error: local memory limit exceeded (480000) in use_huge_lds +kernel void use_huge_lds() +{ + volatile local int huge[120000]; + huge[0] = 2; +}