[PATCH] Diagnose jumping from one MS inline assembly block to another.

Ehsan Akhgari ehsan.akhgari at gmail.com
Sun Sep 28 18:53:42 PDT 2014


Hi rnk,

This addresses PR21035.  For now, we are unable to represent the
possibility of jumping between asm IR blocks in LLVM, so these kinds of
jumps don't play well with the SSA model.  This patch adds a diagnostic
that detect those kinds of jumps, based on the information that the LLVM
side patch exposes from MC.

Note that we currently lose the SourceLocation for the branch statement
and the label definition statement, so the diagnostic is at inline
assembly block granularity.  This issue will be addressed in a
follow-up.

http://reviews.llvm.org/D5516

Files:
  include/clang/AST/Stmt.h
  include/clang/Basic/DiagnosticSemaKinds.td
  include/clang/Sema/Sema.h
  lib/AST/Stmt.cpp
  lib/Parse/ParseStmtAsm.cpp
  lib/Sema/JumpDiagnostics.cpp
  lib/Sema/SemaStmtAsm.cpp
  lib/Sema/TreeTransform.h
  lib/Serialization/ASTReaderStmt.cpp
  test/Parser/ms-inline-asm.c
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D5516.14152.patch
Type: text/x-patch
Size: 16831 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140929/7e9cbcb8/attachment.bin>


More information about the cfe-commits mailing list