Skip to content
  1. Dec 17, 2013
    • Quentin Colombet's avatar
      [DiagnosticPrinter] Use the appropriate method to print a Twine object in a · 98e79a06
      Quentin Colombet authored
      raw_ostream.
      
      llvm-svn: 197531
      98e79a06
    • Quentin Colombet's avatar
      Add warning capabilities in LLVM. · b4c44d23
      Quentin Colombet authored
      This reapplies r197438 and fixes the link-time circular dependency between
      IR and Support. The fix consists in moving the diagnostic support into IR.
      
      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: 197508
      b4c44d23
Loading