diff options
author | Chris Lattner <sabre@nondot.org> | 2007-12-02 01:40:18 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2007-12-02 01:40:18 +0000 |
commit | fb97b03e42d397405f617be0252be83e77a66f6e (patch) | |
tree | 4db6feaf8cdd07a20e50e41585bb42e377eda0c4 /CodeGen/CGStmt.cpp | |
parent | bbb75f63001af0d9b62995d3a5d62f7469bd74d3 (diff) |
Warn about unsupported codegen with the diags machinery, giving us:
t.c:3322:5: warning: cannot codegen this yet
__asm__ ("bswap %0" : "+r" (_data));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
instead of:
Unimplemented stmt!
(AsmStmt 0x80eaa0 <t.c:3331:5, line:3334:28>)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44501 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'CodeGen/CGStmt.cpp')
-rw-r--r-- | CodeGen/CGStmt.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/CodeGen/CGStmt.cpp b/CodeGen/CGStmt.cpp index b010e81009..d41d2dec69 100644 --- a/CodeGen/CGStmt.cpp +++ b/CodeGen/CGStmt.cpp @@ -19,6 +19,9 @@ using namespace clang; using namespace CodeGen; +#include "clang/Basic/Diagnostic.h" +#include "CodeGenModule.h" + //===----------------------------------------------------------------------===// // Statement Emission //===----------------------------------------------------------------------===// @@ -38,8 +41,11 @@ void CodeGenFunction::EmitStmt(const Stmt *S) { else EmitAggExpr(E, 0, false); } else { - fprintf(stderr, "Unimplemented stmt!\n"); - S->dump(getContext().SourceMgr); + + unsigned DiagID = CGM.getDiags().getCustomDiagID(Diagnostic::Warning, + "cannot codegen this yet"); + SourceRange Range = S->getSourceRange(); + CGM.getDiags().Report(S->getLocStart(), DiagID, 0, 0, &Range, 1); } break; case Stmt::NullStmtClass: break; |