Skip to content
  • Quentin Colombet's avatar
    Add warning capabilities in LLVM. · 66673f40
    Quentin Colombet authored
    The patch adds a new LLVMContext::diagnose that can be used to communicate to
    the front-end, if any, that something of interest happened.
    The diagnostics are supported by a new abstraction, the DiagnosticInfo class.
    The base class contains the following information:
    - The kind of the report: What this is about.
    - The severity of the report: How bad this is.
    
    This patch also adds 2 classes:
    - DiagnosticInfoInlineAsm: For inline asm reporting. Basically, this diagnostic
    will be used to switch to the new diagnostic API for LLVMContext::emitError.
    - DiagnosticStackSize: For stack size reporting. Comes as a replacement of the
    hard coded warning in PEI.
    
    This patch also features dynamic diagnostic identifiers. In other words plugins
    can use this infrastructure for their own diagnostics (for more details, see
    getNextAvailablePluginDiagnosticKind).
    
    This patch introduces a new DiagnosticHandlerTy and a new DiagnosticContext in
    the LLVMContext that should be set by the front-end to be able to map these
    diagnostics in its own system.
    
    http://llvm-reviews.chandlerc.com/D2376
    <rdar://problem/15515174>
    
    llvm-svn: 197438
    66673f40
Loading