From 554bcb69c2d785a011a30e7db87a36a87fe7db10 Mon Sep 17 00:00:00 2001 From: dim Date: Wed, 15 Aug 2012 20:02:54 +0000 Subject: Vendor import of clang trunk r161861: http://llvm.org/svn/llvm-project/cfe/trunk@161861 --- docs/InternalsManual.html | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) (limited to 'docs/InternalsManual.html') diff --git a/docs/InternalsManual.html b/docs/InternalsManual.html index bd6af8d..3f3e124 100644 --- a/docs/InternalsManual.html +++ b/docs/InternalsManual.html @@ -357,6 +357,12 @@ Clang:

Example:"candidate found by name lookup is %q0" Class:NamedDecl* Description

This formatter indicates that the fully-qualified name of the declaration should be printed, e.g., "std::vector" rather than "vector".

+ +"diff" format +Example:"no known conversion %diff{from | to | }1,2" +Class:QualType +Description

This formatter takes two QualTypes and attempts to print a template difference between the two. If tree printing is off, the text inside the braces before the pipe is printed, with the formatted text replacing the $. If tree printing is on, the text after the pipe is printed and a type tree is printed after the diagnostic message. +

@@ -441,6 +447,18 @@ href="#DiagnosticClient">Other diagnostic clients might choose to render the code differently (e.g., as markup inline) or even give the user the ability to automatically fix the problem.

+

Fix-it hints on errors and warnings need to obey these rules:

+ + + +

If a fix-it can't obey these rules, put the fix-it on a note. Fix-its on +notes are not applied automatically.

+

All fix-it hints are described by the FixItHint class, instances of which should be attached to the diagnostic using the << operator in the same way that highlighted source ranges and @@ -1686,7 +1704,7 @@ interacts with constant evaluation:

  • __extension__: The expression form of this extension causes any evaluatable subexpression to be accepted as an integer constant expression.
  • -
  • __builtin_constant_p: This returns true (as a integer +
  • __builtin_constant_p: This returns true (as an integer constant expression) if the operand evaluates to either a numeric value (that is, not a pointer cast to integral type) of integral, enumeration, floating or complex type, or if it evaluates to the address of the first @@ -1751,18 +1769,6 @@ then __attribute__((myattribute("Hello", 3))) will be a valid use.

    Boilerplate

    -

    Add an element to the AttributeList::Kind enum in include/clang/Sema/AttributeList.h -named AT_lower_with_underscores. That is, a CamelCased -AttributeName in Attr.td name should become -AT_attribute_name.

    - -

    Add a case to the StringSwitch in AttributeList::getKind() -in lib/Sema/AttributeList.cpp -for each spelling of your attribute. Less common attributes should come toward -the end of that list.

    -

    Write a new HandleYourAttr() function in lib/Sema/SemaDeclAttr.cpp, and add a case to the switch in ProcessNonInheritableDeclAttr() or -- cgit v1.1