Go to file
Quentin Colombet b4c44d239c Add warning capabilities in LLVM.
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
2013-12-17 17:47:22 +00:00
clang Fix indentation from r197490 plus some typos 2013-12-17 17:25:19 +00:00
clang-tools-extra Fix the usage of the CommonOptionsParser ctor changed in r197139. 2013-12-12 10:01:39 +00:00
compiler-rt Fix gen_dynamic_list.py for Python 3. Patch by Marcoen Hirschberg. 2013-12-17 12:19:16 +00:00
debuginfo-tests don't use CHECK-NEXT because it may be on the same line. 2013-09-18 23:01:54 +00:00
libclc Fix a C&P error in r195021 (65a950abab3cb8435ccb2646ac4773986c995c81) 2013-11-28 00:17:29 +00:00
libcxx Fix GCC unknown pragma warning in libc++. 2013-12-14 06:45:09 +00:00
libcxxabi Fix demangling crasher. The crasher involved nested <encoding> involving parameter packs, which exposed a logic bug causing an empty vector<string> to be accessed with back(). In addition to fixing the bug, I've inserted numerous preemptive checks for similar bugs in the hopes that if another bug is uncovered, the bug results in an invalid mangled string instead of a demangler crash. Test suite updated with string that was causing the crash. 2013-12-11 19:44:25 +00:00
lld [PECOFF] Truncate long section name. 2013-12-17 06:15:09 +00:00
lldb Test commit: added comment to tools makefile. 2013-12-14 07:21:51 +00:00
llvm Add warning capabilities in LLVM. 2013-12-17 17:47:22 +00:00
openmp Update web pages to include style sheets and referenced documents missed before. 2013-10-03 11:55:28 +00:00
polly ScopValidator: smax expressions are no parameters 2013-12-09 21:51:46 +00:00