Commit Graph

70 Commits

Author SHA1 Message Date
Benjamin Kramer eaa262b5b8 Fix ALL the markup.
llvm-svn: 148219
2012-01-15 15:26:07 +00:00
Douglas Gregor 12aa609fd9 Fix typo 'typdefs', from Nikola Smiljanic
llvm-svn: 146894
2011-12-19 19:50:23 +00:00
Richard Smith eb45aa0b2e Document the updated behaviour of __builtin_constant_p introduced in r146236.
llvm-svn: 146241
2011-12-09 03:40:28 +00:00
David Blaikie 8317245f9c Update documentation to use "C++11" instead of "C++0x"
llvm-svn: 142339
2011-10-18 05:49:30 +00:00
Peter Collingbourne a8e267b398 Internals manual: eliminate mention of System library
llvm-svn: 142074
2011-10-15 16:59:24 +00:00
Douglas Gregor a273f58c74 Fix grammaro
llvm-svn: 141927
2011-10-14 00:54:15 +00:00
Douglas Gregor e7a8e3b612 Introduce BalancedDelimiterTracker, to better track open/close
delimiter pairs and detect when we exceed the implementation limit for
nesting depth, from Aaron Ballman!

llvm-svn: 141782
2011-10-12 16:37:45 +00:00
Douglas Gregor 3984269260 Add a section detailing the steps required to add an expression or
statement to Clang.

llvm-svn: 140888
2011-09-30 21:32:37 +00:00
Jonathan D. Turner 3b1da3604f Update docs to remove reference to OverloadedFunctionDecl and replace it with DeclContext::lookup_result.
llvm-svn: 134514
2011-07-06 18:12:36 +00:00
Douglas Gregor c2e40fa681 Remove reference to the Index library
llvm-svn: 134238
2011-07-01 16:35:47 +00:00
Peter Collingbourne e4c02400ad Code modification hints have been known as fix-it hints for almost
a year now.  Update the internals manual.

llvm-svn: 127983
2011-03-21 01:45:18 +00:00
Peter Collingbourne 2f1e36bfd0 Rename tok::eom to tok::eod.
The previous name was inaccurate as this token in fact appears at
the end of every preprocessing directive, not just macro definitions.
No functionality change, except for a diagnostic tweak.

llvm-svn: 126631
2011-02-28 02:37:51 +00:00
Chris Lattner 18703d41f0 fix two broken links and some out of date writing, PR9174
llvm-svn: 125484
2011-02-14 06:42:50 +00:00
Jeffrey Yasskin f66a5283ed Document how to add an attribute to clang. This should be reviewed by someone
who actually knows how it works.

llvm-svn: 124506
2011-01-28 23:41:54 +00:00
Chris Lattner 2a6ee91619 move AdvanceToTokenCharacter and getLocForEndOfToken from
Preprocessor to Lexer where they make more sense.

llvm-svn: 119474
2010-11-17 07:05:50 +00:00
Douglas Gregor d2893dd0b9 Document how source ranges work
llvm-svn: 117450
2010-10-27 16:02:28 +00:00
Douglas Gregor c6876fe121 Document our extension to constant-fold __builtin_strlen and strlen
llvm-svn: 113699
2010-09-11 18:08:34 +00:00
John McCall e37a619715 Update the internals manual for the removal of Action, as well as other
changes that are much older.

llvm-svn: 112951
2010-09-03 05:07:55 +00:00
Sebastian Redl bbace2a63d Fix a few errors in the internals doc.
llvm-svn: 107838
2010-07-07 23:42:27 +00:00
Nick Lewycky 42f9ba3790 Fix typo.
llvm-svn: 104898
2010-05-27 23:40:55 +00:00
Nick Lewycky de2291a717 Grammar fix: s/it's/its/g in
"it's spelling location and it's instantiation location"

llvm-svn: 104746
2010-05-26 21:48:10 +00:00
mike-m 9f08a6f1a8 Reverted r103214.
llvm-svn: 103222
2010-05-07 00:42:33 +00:00
mike-m 9bb682b713 2nd part of: Overhauled llvm/clang docs builds.
llvm-svn: 103214
2010-05-06 23:46:27 +00:00
Chris Lattner ef8c6e8ba7 fix a broken link, diagnostickinds.td was fissioned.
llvm-svn: 102851
2010-05-01 17:35:19 +00:00
John McCall 98757030a4 Document the extensions I made to the diagnostics-formatting system yesterday.
llvm-svn: 93439
2010-01-14 19:12:17 +00:00
Chris Lattner f8122966a9 clang tracks multiple levels of macro expansion
llvm-svn: 81811
2009-09-14 23:44:08 +00:00
Argyrios Kyrtzidis bff082aec9 Add documentation for the Index library to clang's web page.
llvm-svn: 75222
2009-07-10 03:41:36 +00:00
Douglas Gregor 95fc37fd8f Start documenting precompiled headers
llvm-svn: 72146
2009-05-20 00:16:32 +00:00
Ted Kremenek df0d9070b8 Add link from internals manual to PTH documentation.
llvm-svn: 68717
2009-04-09 18:08:18 +00:00
Daniel Dunbar 1cd3f8c54f Some very rough Driver documentation.
llvm-svn: 68030
2009-03-30 06:50:01 +00:00
Chris Lattner 9605a55076 minor wording changes.
llvm-svn: 65648
2009-02-27 19:31:12 +00:00
Douglas Gregor 96977da72c Clean up and document code modification hints.
llvm-svn: 65641
2009-02-27 17:53:17 +00:00
Douglas Gregor 7f74112756 Implement parsing of nested-name-specifiers that involve template-ids, e.g.,
std::vector<int>::allocator_type

When we parse a template-id that names a type, it will become either a
template-id annotation (which is a parsed representation of a
template-id that has not yet been through semantic analysis) or a
typename annotation (where semantic analysis has resolved the
template-id to an actual type), depending on the context. We only
produce a type in contexts where we know that we only need type
information, e.g., in a type specifier. Otherwise, we create a
template-id annotation that can later be "upgraded" by transforming it
into a typename annotation when the parser needs a type. This occurs,
for example, when we've parsed "std::vector<int>" above and then see
the '::' after it. However, it means that when writing something like
this:

  template<> class Outer::Inner<int> { ... };

We have two tokens to represent Outer::Inner<int>: one token for the
nested name specifier Outer::, and one template-id annotation token
for Inner<int>, which will be passed to semantic analysis to define
the class template specialization.

Most of the churn in the template tests in this patch come from an
improvement in our error recovery from ill-formed template-ids.

llvm-svn: 65467
2009-02-25 19:37:18 +00:00
Daniel Dunbar 393900ef52 Grammar tweak.
llvm-svn: 64765
2009-02-17 15:49:03 +00:00
Chris Lattner 1156f18175 clarify the behavior of note.
llvm-svn: 64748
2009-02-17 07:07:29 +00:00
Chris Lattner 9d6c4408d1 document fatal
llvm-svn: 63895
2009-02-05 22:49:08 +00:00
Douglas Gregor 2ada048975 Some name-lookup-related fixes, from Piotr Rak!
- Changes Lookup*Name functions to return NamedDecls, instead of
Decls. Unfortunately my recent statement that it will simplify lot of
code, was not quite right, but it simplifies some...
- Makes MergeLookupResult SmallPtrSet instead of vector, following
Douglas suggestions.
- Adds %qN format for printing qualified names to Diagnostic.
- Avoids searching for using-directives in Scopes, which are not
DeclScope, during unqualified name lookup.

llvm-svn: 63739
2009-02-04 17:27:36 +00:00
Steve Naroff 16c8e598ae Name change (isTypeName->getTypeName).
Since it doesn't return a bool, is shouldn't be prefixed with 'is'.

llvm-svn: 63226
2009-01-28 19:39:02 +00:00
Douglas Gregor 6e6ad602e5 Remove ScopedDecl, collapsing all of its functionality into Decl, so
that every declaration lives inside a DeclContext.

Moved several things that don't have names but were ScopedDecls (and,
therefore, NamedDecls) to inherit from Decl rather than NamedDecl,
including ObjCImplementationDecl and LinkageSpecDecl. Now, we don't
store empty DeclarationNames for these things, nor do we try to insert
them into DeclContext's lookup structure.

The serialization tests are temporarily disabled. We'll re-enable them
once we've sorted out the remaining ownership/serialiazation issues
between DeclContexts and TranslationUnion, DeclGroups, etc.

llvm-svn: 62562
2009-01-20 01:17:11 +00:00
Chris Lattner 3c91971b33 rename "virtual location" of a macro to "instantiation location".
llvm-svn: 62315
2009-01-16 07:15:35 +00:00
Chris Lattner ca0c7e5a34 update for terminology change.
llvm-svn: 62310
2009-01-16 07:00:50 +00:00
Cedric Venet 9fee535c84 Fix a typo.
llvm-svn: 61815
2009-01-06 16:22:54 +00:00
Chris Lattner 479ecd7151 document annotation tokens.
llvm-svn: 61792
2009-01-06 06:02:08 +00:00
Douglas Gregor 07665a69e8 Introduce support for "transparent" DeclContexts, which are
DeclContexts whose members are visible from enclosing DeclContexts up
to (and including) the innermost enclosing non-transparent
DeclContexts. Transparent DeclContexts unify the mechanism to be used
for various language features, including C enumerations, anonymous
unions, C++0x inline namespaces, and C++ linkage
specifications. Please refer to the documentation in the Clang
internals manual for more information.

Only enumerations and linkage specifications currently use transparent
DeclContexts.

Still to do: use transparent DeclContexts to implement anonymous
unions and GCC's anonymous structs extension, and, later, the C++0x
features. We also need to tighten up the DeclContext/ScopedDecl link
to ensure that every ScopedDecl is in a single DeclContext, which
will ensure that we can then enforce ownership and reduce the memory
footprint of DeclContext.

llvm-svn: 61735
2009-01-05 19:45:36 +00:00
Chris Lattner 04397358ec Implement the final (hopefully) wrinkle to i-c-e + builtin_constant_p
processing: it allows arbitrary foldable constants as the operand of ?: when
builtin_constant_p is the condition.

llvm-svn: 60954
2008-12-12 18:00:51 +00:00
Chris Lattner 85b25bc344 implement rdar://6091492 - ?: with __builtin_constant_p as the operand is an i-c-e.
llvm-svn: 60934
2008-12-12 06:55:44 +00:00
Chris Lattner e4b95698df Rename Selector::getName() to Selector::getAsString(), and add
a new NamedDecl::getAsString() method.

Change uses of Selector::getName() to just pass in a Selector 
where possible (e.g. to diagnostics) instead of going through
an std::string.

This also adds new formatters for objcinstance and objcclass
as described in the dox.

llvm-svn: 59933
2008-11-24 03:33:13 +00:00
Chris Lattner d125393d24 inserting a qualtype adds quotes implicitly
llvm-svn: 59915
2008-11-23 20:27:13 +00:00
Chris Lattner 4e2e9f1a5d other minor edits.
llvm-svn: 59906
2008-11-23 08:32:53 +00:00
Chris Lattner c788a8bdec minor cleanups.
llvm-svn: 59905
2008-11-23 08:16:56 +00:00