-
- Downloads
Add '#pragma platina guard "..."' to clang
This commit adds a custom pragma to the clang frontend: `#pragma platina guard "..."` It degrades to the llvm's intrinisc::platina, which stores the annotation string in the associated metadata node. Rational is to use that pragma to mark viable, but effectively dead code paths, e.g. code paths that are only entered during an initialisation phase.
Showing
- include/clang/Basic/Attr.td 14 additions, 0 deletionsinclude/clang/Basic/Attr.td
- include/clang/Basic/DiagnosticParseKinds.td 9 additions, 0 deletionsinclude/clang/Basic/DiagnosticParseKinds.td
- include/clang/Basic/DiagnosticSemaKinds.td 2 additions, 0 deletionsinclude/clang/Basic/DiagnosticSemaKinds.td
- include/clang/Basic/TokenKinds.def 5 additions, 0 deletionsinclude/clang/Basic/TokenKinds.def
- include/clang/Parse/Parser.h 10 additions, 0 deletionsinclude/clang/Parse/Parser.h
- include/clang/Sema/PlatinaGuard.h 35 additions, 0 deletionsinclude/clang/Sema/PlatinaGuard.h
- lib/CodeGen/CGStmt.cpp 26 additions, 0 deletionslib/CodeGen/CGStmt.cpp
- lib/CodeGen/CodeGenFunction.h 2 additions, 0 deletionslib/CodeGen/CodeGenFunction.h
- lib/Parse/ParsePragma.cpp 81 additions, 1 deletionlib/Parse/ParsePragma.cpp
- lib/Parse/ParseStmt.cpp 32 additions, 0 deletionslib/Parse/ParseStmt.cpp
- lib/Sema/SemaStmtAttr.cpp 20 additions, 0 deletionslib/Sema/SemaStmtAttr.cpp
Loading
Please register or sign in to comment