Home | History | Annotate | Download | only in docs

Lines Matching full:clang

3 <title>"Clang" CFE Internals Manual</title>
18 <h1>"Clang" CFE Internals Manual</h1>
23 <li><a href="#libbasic">The Clang 'Basic' Library</a>
68 <li><a href="#Constants">Constant Folding in the Clang AST</a></li>
85 decisions made in the Clang C front-end. The purpose of this document is to
88 Clang, not for end-users. The description below is categorized by
101 <h2 id="libbasic">The Clang 'Basic' Library</h2>
122 <p>The Clang Diagnostics subsystem is an important part of how the compiler
124 when the code is incorrect or dubious. In Clang, each diagnostic produced has
131 <p>In this section, we'll be giving examples produced by the Clang command line
157 clang/Basic/Diagnostic*Kinds.td</tt> files, depending on what library will
171 severities are used for extensions to the language that Clang accepts. This
172 means that Clang fully understands and can represent them in the AST, but we
182 subsystem based on various configuration options. Clang internally supports a
226 Clang uses the "%...[digit]" sequences to specify where and how arguments to
258 this prevents <a href="#translation">translating</a> the Clang diagnostics to
276 Clang :).</p>
279 Clang:</p>
367 <p>It is really easy to add format specifiers to the Clang diagnostics system,
378 new diagnostic. Various components of Clang (e.g. the preprocessor, Sema,
420 Clang tries very hard to emit the diagnostic and recover gracefully
473 the relevant information, Clang needs to know what to do with it. As previously
480 example, the normal Clang DiagnosticClient (named 'TextDiagnosticPrinter') turns
487 'TextDiagnosticBuffer' class, which is used when Clang is in -verify mode.
503 <h4><a name="translation">Adding Translations to Clang</a></h4>
543 <p>The Clang front-end inherently depends on the location of a token being
546 Clang depends on being able to find the original input characters for the token.
556 <p>Clang represents most source ranges by [first, last], where first and last
577 <p>The clang Driver and library are documented <a
584 <p>Clang supports two implementations of precompiled headers. The
587 of Clang's internal data structures, encoded with the <a
600 tools on top of the clang libraries, for example several methods for
1021 declaration in Clang. Declarations in the C family of languages can
1035 subclasses of Clang's common <code>NamedDecl</code>
1129 function. Declaration contexts in Clang are represented by
1392 <p>In Clang's representation, the source-centric view of declaration
1599 <h3 id="Constants">Constant Folding in the Clang AST</h3>
1603 the Clang front-end. First, in general, we prefer the AST to retain the source
1615 is non-negative and that case statements aren't duplicated). We aim for Clang
1687 <p>This section describes how some of the various extensions Clang supports
1715 <h2 id="Howtos">How to change Clang</h2>
1731 href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/Attr.td?view=markup">include/clang/Basic/Attr.td</a></h4>
1755 href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/AttributeList.h?view=markup">include/clang/Sema/AttributeList.h</a>
1773 href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticGroups.td?view=markup">include/clang/Basic/DiagnosticGroups.td</a>
1777 href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td?view=markup">DiagnosticSemaKinds.td</a></p>
1781 <p>Find an appropriate place in Clang to do whatever your attribute needs to do.
1784 <p>Update the <a href="LanguageExtensions.html">Clang Language Extensions</a>
1794 expression or statement kind into Clang requires some care. The following list
1795 details the various places in Clang where an expression or statement needs to be
1806 want it later to produce great diagnostics and support Clang's
1904 <li>Inspect the generated AST by printing it using <tt>clang -cc1
1907 <li>Inspect the generated AST under <tt>clang -cc1 -ast-dump</tt>
1929 Clang's types (<tt>clang::Type*</tt> or <tt>clang::QualType</tt>)
1951 <li>Testing is extremely important in IR generation. Use <tt>clang
1993 integration into Clang: