History log of /external/clang/include/clang/Basic/SourceLocation.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
6bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89 29-May-2014 Stephen Hines <srhines@google.com> Update Clang for 3.5 rebase (r209713).

Change-Id: I8c9133b0f8f776dc915f270b60f94962e771bc83
/external/clang/include/clang/Basic/SourceLocation.h
651f13cea278ec967336033dd032faef0e9fc2ec 24-Apr-2014 Stephen Hines <srhines@google.com> Updated to Clang 3.5a.

Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/include/clang/Basic/SourceLocation.h
877e6a6fb05660a3cc3fc24bcbef4df5e4702423 08-Oct-2013 Reid Kleckner <reid@kleckner.net> Explicitly request unsigned enum types when desired

This fixes repeated -Wmicrosoft warnings when self-hosting clang on
Windows, and gets us real unsigned enum types with MSVC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192228 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
1216015de0a958860082a7fa8b504547197686c3 16-Feb-2013 James Dennett <jdennett@google.com> Documentation cleanup: use \brief, and don't repeat the identifier being
declared.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175339 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
4a2ef80d896c1bac38ce113ec19a8d509a619288 07-Jan-2013 Nico Weber <nicolasweber@gmx.de> Simplify. No behavior change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171680 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
30a2e16f6c27f888dd11eba6bbbae1e980078fcb 04-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Sort #include lines for all files under include/...

This is a simpler sort, entirely automatic with the help of
llvm/utils/sort_includes.py -- no manual edits here.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169238 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
1f19c76253ae95153d84355c80342e8eaab81fe1 01-Dec-2012 Michael Han <Michael.Han@autodesk.com> Fix a typo in comment.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169078 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
b328ee55d86acaafd55ebf0e0c84766b29459530 09-Nov-2012 Chad Rosier <mcrosier@apple.com> Add string to try and fix build from r167629.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167631 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
9410928fb8434e8d26364cee45ebc1b798aafe41 09-Nov-2012 Argyrios Kyrtzidis <akyrtzi@gmail.com> Add a SourceLocation::printToString() that returns in a std::string what dump()
writes to stderr; for debugging purposes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167629 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
4a0beb20655ae9f28d519e088c6ec8dceec59edd 07-Jul-2012 Jordan Rose <jordan_rose@apple.com> Constify the argument to SourceLocation::getFromPtrEncoding.

This allows SourceLocations to be stored in generic "data" fields
that are typed as "const void *" and are also used to point to
const objects.

Really we should probably be returning a const pointer from
getPtrEncoding as well, but in some places we want to store
SourceLocations in the same generic "data" field as proper
pointers to /mutable/ objects. Oh well.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159868 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
af50aab0c317462129d73ae8000c6394c718598d 03-Jul-2012 James Dennett <jdennett@google.com> Documentation cleanup:
* Primarily, added \brief to most of include/clang/Basic, instead of prefixing
the comments with "DeclaredName - ";
* Made some brief summaries significantly briefer;
* Fixed up some erroneous uses of \see and \arg;
* Fixed up some extraneous backslashes in \code...\endcode blocks;
* Fixed up some typos/spelling errors.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159616 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
2f7f5b1f5ff023cb8c4008ae53a12b09e3ea2622 02-Jul-2012 James Dennett <jdennett@google.com> Documentation cleanup: reformatting/fixing up file comments so that they have
\file and \brief markup and appear in Doxygen's summaries (and eventually at
http://clang.llvm.org/doxygen/files.html). Fixed up another couple of minor
glitches in the docs at the same time.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159517 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
4bd495c2a4fc742dde435115f66c722217975bd2 22-Jun-2012 James Dennett <jdennett@google.com> Documentation cleanup:
* Add \brief summaries;
* Escaped # characters in Doxygen comments;
* Added some \see cross-references.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158975 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
a6c10681e57c292e16a18bdb9891c8db6ebe5c83 26-Feb-2012 Benjamin Kramer <benny.kra@googlemail.com> Move FullSourceLoc::dump into the .cpp file, the used attribute made us emit this into every TU that includes SourceLocation.h.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151493 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
0ee7d94ece918f22e67d0f09fcbc631c91091adc 21-Feb-2012 Argyrios Kyrtzidis <akyrtzi@gmail.com> Mark a few 'dump' methods as 'used' to make sure they are included in libclang
and useable while debugging.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151033 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
a83f4d2315dbeb3914868f1ccb8e74fb2ccdbb0c 03-Feb-2012 Argyrios Kyrtzidis <akyrtzi@gmail.com> Change Lexer::makeFileCharRange() to have it accept a CharSourceRange
instead of a SourceRange, and handle the case where the range is
a char (not token) range.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149677 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
a64ccefdf0ea4e03ec88805d71b0af74950c7472 19-Sep-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> Rename SourceLocation::getFileLocWithOffset -> getLocWithOffset.

It already works (and is useful with) macro locs as well.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140057 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
5a4374812c56aa60672e291b07e14d3696bbb5a6 19-Sep-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> Make ASTReader/ASTWriter friends of SourceLocation. They already
depend on internal knowledge of SourceLocation.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140056 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
3201f382956ed9beee9fb31229c2835c1208889c 26-Jul-2011 Chandler Carruth <chandlerc@gmail.com> Clean up as many of the comments in Basic I can find to talk in terms of
'expansion' rather than 'instantiation' for macro source locations.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136058 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
642116259e8df6286063a17361c20e95b5017a0a 25-Jul-2011 Chandler Carruth <chandlerc@gmail.com> Rename getInstantiationLineNumber to getExpansionLineNumber in both
SourceManager and FullSourceLoc.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135969 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
a77c031cb66f75d22672070052cc6e0205289ff8 25-Jul-2011 Chandler Carruth <chandlerc@gmail.com> Rename getInstantiationColumnNumber to getExpansionColumnNumber in both
SourceManager and FullSourceLoc.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135965 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
402785357ab053dd53f4fdd858b9630a5e0f8bad 25-Jul-2011 Chandler Carruth <chandlerc@gmail.com> Mechanically rename SourceManager::getInstantiationLoc and
FullSourceLoc::getInstantiationLoc to ...::getExpansionLoc. This is part
of the API and documentation update from 'instantiation' as the term for
macros to 'expansion'.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135914 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
db999aad8a1b9dc265b2e627be334be6580a86a3 20-Jul-2011 Chris Lattner <sabre@nondot.org> remove some now-redundant forward declarations.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
8cc488fefb2fb04bc8d5398da29f0182f97934cf 20-Jul-2011 Chris Lattner <sabre@nondot.org> add raw_ostream and Twine to LLVM.h, eliminating a ton of llvm:: qualifications.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135577 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
686775deca8b8685eb90801495880e3abdd844c2 20-Jul-2011 Chris Lattner <sabre@nondot.org> now that we have a centralized place to do so, add some using declarations for
some common llvm types: stringref and smallvector. This cleans up the codebase
quite a bit.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135576 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
f62d43d2afe1960755a1b5813cae1e5983bcac1b 19-Jul-2011 Douglas Gregor <dgregor@apple.com> Revamp the SourceManager to separate the representation of parsed
source locations from source locations loaded from an AST/PCH file.

Previously, loading an AST/PCH file involved carefully pre-allocating
space at the beginning of the source manager for the source locations
and FileIDs that correspond to the prefix, and then appending the
source locations/FileIDs used for parsing the remaining translation
unit. This design forced us into loading PCH files early, as a prefix,
whic has become a rather significant limitation.

This patch splits the SourceManager space into two parts: for source
location "addresses", the lower values (growing upward) are used to
describe parsed code, while upper values (growing downward) are used
for source locations loaded from AST/PCH files. Similarly, positive
FileIDs are used to describe parsed code while negative FileIDs are
used to file/macro locations loaded from AST/PCH files. As a result,
we can load PCH/AST files even during parsing, making various
improvemnts in the future possible, e.g., teaching #include <foo.h> to
look for and load <foo.h.gch> if it happens to be already available.

This patch was originally written by Sebastian Redl, then brought
forward to the modern age by Jonathan Turner, and finally
polished/finished by me to be committed.




git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135484 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
31d375f056447d4e2418275d4913661d3bfedb3e 06-May-2011 Douglas Gregor <dgregor@apple.com> Keep track of the file ID corresponding to the original file used to
build a precompiled header. Use this information to eliminate the call
to SourceManager::getLocation() while loading a precompiled preamble,
since SourceManager::getLocation() itself causes unwanted
deserialization.

Fixed <rdar://problem/9399352>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131021 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
8f89652be7bb85bdac83c37fec85f20cdd2dfc83 07-Apr-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> Add FullSourceLoc::BeforeThanCompare. a comparison function class, useful for sorting FullSourceLocs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129084 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
dec0984fce504a39a7f085774fb67cfd9957be58 18-Jan-2011 Jeffrey Yasskin <jyasskin@google.com> Fix warnings found by gcc-4.6, from -Wunused-but-set-variable and
-Wint-to-pointer-cast.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123719 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
0827408865e32789e0ec4b8113a302ccdc531423 15-Dec-2010 Argyrios Kyrtzidis <akyrtzi@gmail.com> Fix diagnostic pragmas.

Diagnostic pragmas are broken because we don't keep track of the diagnostic state changes and we only check the current/latest state.
Problems manifest if a diagnostic is emitted for a source line that has different diagnostic state than the current state; this can affect
a lot of places, like C++ inline methods, template instantiations, the lexer, etc.

Fix the issue by having the Diagnostic object keep track of the source location of the pragmas so that it is able to know what is the diagnostic state at any given source location.

Fixes rdar://8365684.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121873 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
7ef5c27eb6e8ebe58b52013246c06753c3613263 17-Nov-2010 Chris Lattner <sabre@nondot.org> move AdvanceToTokenCharacter and getLocForEndOfToken from
Preprocessor to Lexer where they make more sense.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119474 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
0a76aae8c03cb7dd7bdbe683485560afaf695959 19-Jun-2010 Chris Lattner <sabre@nondot.org> introduce a new CharSourceRange class, and enhance the diagnostics routines
to use them instead of SourceRange. CharSourceRange is just a SourceRange
plus a bool that indicates whether the range has the end character resolved
or whether the end location is the start of the end token. While most of
the compiler wants to think of ranges that have ends that are the start of
the end token, the printf diagnostic stuff wants to highlight ranges within
tokens.

This is transparent to the diagnostic stuff. To start taking advantage of
the new capabilities, you can do something like this:
Diag(..) << CharSourceRange::getCharRange(Begin,End)





git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106338 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
5c5db4e94bd1243ba92563acba51ba66afa94917 20-Apr-2010 Chris Lattner <sabre@nondot.org> change FullSourceLoc to have a *const* SourceManager&, eliminating
a const_cast.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101940 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
0cc70f1586874aed3337c57cb255b112cdac0948 30-Mar-2010 Daniel Dunbar <daniel@zuster.org> Fix FileEntry declaration.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99896 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
64e462dff03492c586be0349ec6aa3ad5cd92720 16-Mar-2010 Douglas Gregor <dgregor@apple.com> Update get*LineNumber() and get*ColumnNumber() functions to pass the
Invalid bit through; there are no safety-critical callers of these
functions.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98674 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
a543016fe07030f695d6d56fd22c8c8da617e0d7 16-Mar-2010 Douglas Gregor <dgregor@apple.com> Audit all callers of SourceManager::getCharacterData(); update some of
them to recover more gracefully on failure.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98672 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
aae58b0c3efb5fa9f97a3e4b1c1a2d31077efe5b 16-Mar-2010 Douglas Gregor <dgregor@apple.com> Audit all getBuffer() callers (for both the FullSourceLoc and
SourceManager versions), updating those callers that need to recover
gracefully from failure.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98665 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
ceafc4b63599d14f0b5b10ff92e22bf242682dce 16-Mar-2010 Benjamin Kramer <benny.kra@googlemail.com> Switch another function to StringRef instead of char pointer pairs.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98631 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
782f2f52b78d8ca785110398a7f7b56b830b9ac7 07-Jan-2010 Ted Kremenek <kremenek@apple.com> Change ObjCContainerDecl to contain the entire range for the '@end'
piece of the declaration. The '@' and the 'end' are separate tokens,
and require two SourceLocations to accurately track.

This change was motivated because ObjCContainerDecl::getSourceRange()
would previously not return the entire range of the declaration (the
'end' would be left off).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92891 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
06159e878569e5f39bf0e8f11b84ac3ad0970597 15-Dec-2009 Chris Lattner <sabre@nondot.org> update to match LLVM API change:

Remove isPod() from DenseMapInfo, splitting it out to its own
isPodLike type trait. This is a generally useful type trait for
more than just DenseMap, and we really care about whether something
acts like a pod, not whether it really is a pod.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91422 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
1eb4433ac451dc16f4133a88af2d002ac26c58ef 09-Sep-2009 Mike Stump <mrs@apple.com> Remove tabs, and whitespace cleanups.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81346 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
6cd4d8795b8058d289d92c0698c0012cd313fa5c 23-Jun-2009 Argyrios Kyrtzidis <akyrtzi@gmail.com> Remove operator '<=' overload for SourceLocation.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73933 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
06c27ee259dc8dbd20a3c4a7e7dec8de2844f895 20-Jun-2009 Argyrios Kyrtzidis <akyrtzi@gmail.com> Add operator '<=' for comparing SourceLocations.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73820 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
370187c8a3e96517c943329f2511737a04b85450 22-Apr-2009 Douglas Gregor <dgregor@apple.com> Remove the serialization code that predates precompiled
headers. Future approaches to (de-)serializing ASTs will be based on
the PCH infrastructure.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69828 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
a898283deb689b2454f3a966ef1cbf81bcb3e3e4 28-Mar-2009 Ted Kremenek <kremenek@apple.com> Add comparison operators for SourceRange.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67946 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
321abd4583dc02a254489132c5ccbe125d18ce4f 10-Mar-2009 Ted Kremenek <kremenek@apple.com> Add FullSourceLoc::getDecomposedLoc.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66522 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
ae50fa0a9e7217b043ed4ffe175af4b26dc90f34 05-Mar-2009 Chris Lattner <sabre@nondot.org> Include information about compound statements when crashing in sema or the
parser. For example, we now print out:

0. t.c:5:10: in compound statement {}
1. t.c:3:12: in compound statement {}
2. clang t.c -fsyntax-only



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66108 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
30fc933e5fbbb5f0ea60c47976d435254e378536 04-Feb-2009 Chris Lattner <sabre@nondot.org> lower the interface to getLineNumber like we did for
getColumnNumber. This fixes a FIXME in
SourceManager::getPresumedLoc because we now just decompose
the sloc once.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63701 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
7da5aea7669e6db3e593162b8a123aef06a04d07 04-Feb-2009 Chris Lattner <sabre@nondot.org> make SM::getColumnNumber take a predecomposed FileID/offset, which
makes it clear to clients that they have to pick an instantiation
or spelling location before calling it and allows optimization based
on that.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63698 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
3632a35e811096da86d957c3e6ba0e73d75782f5 28-Jan-2009 Ted Kremenek <kremenek@apple.com> Add method FullSourceLoc::getBufferData().

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63229 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
b9c3f966b103f7cfe8e5e60007c4c8b38f7298eb 27-Jan-2009 Chris Lattner <sabre@nondot.org> Introduce a new PresumedLoc class to represent the concept of a location
as reported to the user and as manipulated by #line. This is what __FILE__,
__INCLUDE_LEVEL__, diagnostics and other things should follow (but not
dependency generation!).

This patch also includes several cleanups along the way:

- SourceLocation now has a dump method, and several other places
that did similar things now use it.
- I cleaned up some code in AnalysisConsumer, but it should probably be
simplified further now that NamedDecl is better.
- TextDiagnosticPrinter is now simplified and cleaned up a bit.

This patch is a prerequisite for #line, but does not actually provide
any #line functionality.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63098 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
de7aeefc5573d669ed476d7bda7a8940d3bcadb7 26-Jan-2009 Chris Lattner <sabre@nondot.org> Check in the long promised SourceLocation rewrite. This lays the
ground work for implementing #line, and fixes the "out of macro ID's"
problem.

There is nothing particularly tricky about the code, other than the
very performance sensitive SourceManager::getFileID() method.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62978 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
b21e5a0fdd9bd6e6c6885428798070f0a9f71295 19-Jan-2009 Chris Lattner <sabre@nondot.org> remove the SourceManager:: and FullSourceLoc::getFileEntryForLoc methods.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62496 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
6fda54c19321673965536b0a8f7236f635cf9730 19-Jan-2009 Chris Lattner <sabre@nondot.org> privatize getChunkID/getMacroID, and move operator< out of the class.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62493 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
9ebac5e0dab6f99717e3ff169c45048966146b2e 19-Jan-2009 Chris Lattner <sabre@nondot.org> Make some enums in SourceLocation private, remove a useless assertion from ScratchBuffer.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62492 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
4d10ef18c32eae35be07e0d8d18b5ff485b4c5f9 19-Jan-2009 Chris Lattner <sabre@nondot.org> make a bunch of more SourceLocation methods private.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62491 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
bcc2a67e5180612417727cbdd8afd0f79fdf726d 19-Jan-2009 Chris Lattner <sabre@nondot.org> Make SourceLocation::getFileLoc private to reduce the API exposure of
SourceLocation. This requires making some cleanups to token pasting
and _Pragma expansion.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62490 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
3b4d5e955e819dd3a4bed37ea2e47d6e4cb05274 17-Jan-2009 Chris Lattner <sabre@nondot.org> Rename SourceLocation::getFileID to getChunkID, because it returns
the chunk ID not the file ID. This exposes problems in
TextDiagnosticPrinter where it should have been using the canonical
file ID but wasn't. Fix these along the way.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62427 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
2b2453a7d8fe732561795431f39ceb2b2a832d84 17-Jan-2009 Chris Lattner <sabre@nondot.org> this massive patch introduces a simple new abstraction: it makes
"FileID" a concept that is now enforced by the compiler's type checker
instead of yet-another-random-unsigned floating around.

This is an important distinction from the "FileID" currently tracked by
SourceLocation. *That* FileID may refer to the start of a file or to a
chunk within it. The new FileID *only* refers to the file (and its
#include stack and eventually #line data), it cannot refer to a chunk.

FileID is a completely opaque datatype to all clients, only SourceManager
is allowed to poke and prod it.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
0b7a158d120ac8d78c114a823e17eedfec6b6658 17-Jan-2009 Douglas Gregor <dgregor@apple.com> Teach DeclContext how to find the primary declaration for any TagDecl
even when we are still defining the TagDecl. This is required so that
qualified name lookup of a class name within its definition works (see
the new bits in test/SemaCXX/qualified-id-lookup.cpp).

As part of this, move the nested redefinition checking code into
ActOnTag. This gives us diagnostics earlier (when we try to perform
the nested redefinition, rather than when we try to complete the 2nd
definition) and removes some code duplication.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62386 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
59ddeabc4c0aa2fdeef5a9183e8af69db07b5e74 17-Jan-2009 Chris Lattner <sabre@nondot.org> eliminate FullSourceLoc::getLocation() now that FullSourceLoc
*is* the location. This eliminates some weird X.getLocation().getLocation()'s.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62376 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
a50bd54164393ca3cd08016e7099bdeb531b5014 17-Jan-2009 Chris Lattner <sabre@nondot.org> Make FullSourceLoc derive from SourceLocation instead of
containing one. Containment is generally better than derivation,
but in this case FullSourceLoc really 'isa' SourceLocation.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62375 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
4abb87ef149b98b5762eadaaf10c1ccf35dc7c41 16-Jan-2009 Chris Lattner <sabre@nondot.org> elimiante FullSourceLoc::getCanonicalFileID



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62374 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
0cf7bb937d5ed21118eeb45a93eb916723cc75a1 16-Jan-2009 Chris Lattner <sabre@nondot.org> remove FullSourceLoc::isFileID


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62371 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
f7cf85b330bedd2877e1371fb0a83e99751ae162 16-Jan-2009 Chris Lattner <sabre@nondot.org> more SourceLocation lexicon change: instead of referring to the
"logical" location, refer to the "instantiation" location.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62316 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
df7c17a8d02fe09a3466786bae3e40fc3252687a 16-Jan-2009 Chris Lattner <sabre@nondot.org> Change some terminology in SourceLocation: instead of referring to
the "physical" location of tokens, refer to the "spelling" location.
This is more concrete and useful, tokens aren't really physical objects!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62309 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
cff9cc95de367a3aea885a7f8fee304fe2707b92 12-Oct-2008 Chris Lattner <sabre@nondot.org> start implementing a token rewriter. At this point, it just reads in a file
and lets a client iterate over it.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
5c38b6388dc44dcb8467a9e0f22d93db7221717e 29-Sep-2008 Chris Lattner <sabre@nondot.org> Make some methods const, add some helpers to FullSourceLoc,
and add a dump method to FullSourceLoc! Patch by Nico Weber!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56806 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
7bfaaaecb3113f955db31e8d8a51acffd1bc0c27 10-Aug-2008 Nico Weber <nicolasweber@gmx.de> * Remove isInSystemHeader() from DiagClient, move it to SourceManager
* Move FormatError() from TextDiagnostic up to DiagClient, remove now
empty class TextDiagnostic
* Make DiagClient optional for Diagnostic

This fixes the following problems:

* -html-diags (and probably others) does now output the same set of
warnings as console clang does
* nothing crashes if one forgets to call setHeaderSearch() on
TextDiagnostic
* some code duplication is removed




git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54620 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
9fd87b1db485e2f31d0e5687f9168b370d546847 14-Apr-2008 Ted Kremenek <kremenek@apple.com> Added "getCanonicalID()", "isFromSameFile", and "isFromMainFile" to compare
the files of different SourceLocations. These methods correctly handle the
case where a file may have multiple FileIDs due to it being large enough
to be spread across several chunks.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49682 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
1758b07ef7c554b06c48a43df2edaba85e918031 03-Apr-2008 Ted Kremenek <kremenek@apple.com> Added "getLogicalLineNumber" and "getLogicalColumnNumber" to FullSourceLoc.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49177 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
ec5d81b73fc8b7bceaf7a8ad3c7a1ffd6dca78b8 03-Apr-2008 Ted Kremenek <kremenek@apple.com> Added "isFileID()" to FullSourceLoc.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49148 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
9f68fa52543e04736cf6f40d82f3d6d49a3a0989 18-Mar-2008 Ted Kremenek <kremenek@apple.com> Fix comment.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48501 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
f8484542bbd9f3445b22fe8d240a1eac790cd8ca 03-Feb-2008 Chris Lattner <sabre@nondot.org> the macro start and macro end bits in source location are dead, remove them.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46685 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
0bc735ffcfb223c0186419547abaa5c84482663e 29-Dec-2007 Chris Lattner <sabre@nondot.org> Don't attribute in file headers anymore. See llvmdev for the
discussion of this change.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45410 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
9c728dc4d8da89c73fcae74c9e72d7a83ffd7b6d 12-Dec-2007 Ted Kremenek <kremenek@apple.com> TargetInfo no longer includes a reference to SourceManager.

Moved all clients of Diagnostics to use FullSourceLoc instead of SourceLocation.
Added many utility methods to FullSourceLoc to provide shorthand for:

FullLoc.getManager().someMethod(FullLoc.getLocation());

instead we have:

FullLoc.someMethod();

Modified TextDiagnostics (and related classes) to use this short-hand.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44957 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
21584fe015705ca1ea2d852b7ad188c4baf9ffcf 12-Dec-2007 Ted Kremenek <kremenek@apple.com> Removed "NULL" from default construction of FullSourceLoc (compilation errors on
some systems).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44953 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
1b924fd6a9730e7de1b175fb82434de6e7e0f0f8 12-Dec-2007 Ted Kremenek <kremenek@apple.com> Changes to FullSourceLoc:
- Added cstor that takes no arguments to create an "invalid" location.
- Removed non-const version of getSourceManager().
- Renamed getSourceManager() to getManager.
- Remover operator SourceLocatio().


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44950 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
e03a2f39accad260c021b7f24f082363578e7a93 12-Dec-2007 Ted Kremenek <kremenek@apple.com> Renamed FullContextSourceLocation to FullSourceLoc.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44947 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
b71d5f8111d750ba4b3c70aee45bf04a081c6329 12-Dec-2007 Ted Kremenek <kremenek@apple.com> Added utility static method to FullContextSourceLocation
for creating "invalid" location objects.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44946 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
25bb23aa20b69b107bbb4526b2d156599c2434ca 12-Dec-2007 Ted Kremenek <kremenek@apple.com> Constified a predicate method.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44943 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
a9793ed6a77946c988ee38035baf4cde6ff2e864 12-Dec-2007 Ted Kremenek <kremenek@apple.com> Added class FullContextSourceLocation: a tuple class that
contains both a SourceLocation and its associated
SourceManager. This class is useful for argument passing to
functions that expect both objects.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44942 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
b7489d8129136437953d412e2a6cf0ef87f4a461 10-Nov-2007 Chris Lattner <sabre@nondot.org> change source location to have two bits for macros, tracking
whether the location is the start and/or end of an expansion.
These are currently not set or used by anything.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43968 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
beb7713c6102687f7e49e27b8228e84a69d8f6c6 01-Nov-2007 Ted Kremenek <kremenek@apple.com> Simplified Serialization code for SourceLocation and SourceRange, and
updated it to the recently updated Serialization API.

Changed clients of SourceLocation serialization to call the
appropriate new methods.

Updated Decl serialization code to put new skeleton serialization code
in place that is much better than the older trait-specialization
approach.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43625 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
0a449eed1dd2439b4b9c0a6291084816eab390c1 25-Oct-2007 Ted Kremenek <kremenek@apple.com> changed #include of Serialization.h to SerializationFwd.h to reduce
compilation time.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43354 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
19a95bcf3561ed977c48d5f2a2793b60a8c8e573 25-Oct-2007 Ted Kremenek <kremenek@apple.com> Implemented serialization of SourceLocation and SourceRange objects.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43343 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
311ff02fae0392bee6abe7723cdf5a69b2899a47 17-Oct-2007 Chris Lattner <sabre@nondot.org> Add a new Rewriter::getRangeSize method.
Rename SourceRange::Begin()/End() to getBegin()/getEnd() for
consistency with other code.
Start building the rewriter towards handling @encode.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
2c64b7b9381be4ff62fbdc404ed3f14c8086898d 16-Oct-2007 Chris Lattner <sabre@nondot.org> Push the rewriter forward a bit more. Now it rewrites
#import to #include's as a test.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43041 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
4cabcfea26bc3465d8723fe7997ab4a1a657aea8 02-Aug-2007 Chris Lattner <sabre@nondot.org> switch a fixme to an assert.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@40717 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
e80a59cc41d42a970466cb020b6f44c5b8831d70 25-Jul-2007 Chris Lattner <sabre@nondot.org> Fix a couple of bugs, add some new cool stuff.

1. Fix a todo in Parser::ParseTag, to recover better. On code like
that in test/Sema/decl-invalid.c it causes us to return a single
error instead of multiple.
2. Fix an error in Sema::ParseDeclarator, where it would crash if the
declarator didn't have an identifier. Instead, diagnose the problem.
3. Start adding infrastructure to track the range of locations covered
by a declspec or declarator. This is mostly implemented for declspec,
but could be improved, it is missing for declarator.

Thanks to Neil for pointing out this crash.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@40482 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
d1623a81992a24abbfcd5520b32a0dd90857b8a8 21-Jul-2007 Chris Lattner <sabre@nondot.org> Add support for reusing macroid's with negative physical loc deltas. This
keeps the MacroInfo table more compact.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@40281 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
31bb8be680ee2facf7fbb3c6c87b9bbd20248328 20-Jul-2007 Chris Lattner <sabre@nondot.org> improve comments, implement a trivial single-entry cache in
SourceManager::getInstantiationLoc. With this change, every token
expanded from a macro doesn't get its own MacroID. :)

This reduces # macro IDs in carbon.h from 16805 to 9197



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@40108 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
9dc1f530c086d2c16f8cba758b0f59a5bf41323a 20-Jul-2007 Chris Lattner <sabre@nondot.org> Reimplement SourceLocation. Instead of having a
fileid/offset pair, it now contains a bit discriminating between
mapped locations and file locations. This separates the tables for
macros and files in SourceManager, and allows better separation of
concepts in the rest of the compiler. This allows us to have *many*
macro instantiations before running out of 'addressing space'.

This is also more efficient, because testing whether something is a
macro expansion is now a bit test instead of a table lookup (which
also used to require having a srcmgr around, now it doesn't).

This is fully functional, but there are several refinements and
optimizations left.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@40103 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h
5f016e2cb5d11daeb237544de1c5d59f20fe1a6e 11-Jul-2007 Reid Spencer <rspencer@reidspencer.com> Stage two of getting CFE top correct.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39734 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/SourceLocation.h