History log of /external/clang/lib/CodeGen/CGDebugInfo.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
31ba6135375433b617a8587ea6cc836a014ebd86 06-Sep-2012 Roman Divacky <rdivacky@freebsd.org> Dont cast away const needlessly. Found by gcc48 -Wcast-qual.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163325 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
17d35c36fbae764fcd68fa8b31624078a033aabc 01-Sep-2012 Joao Matos <ripzonetriton@gmail.com> Normalize line endings of r163013 (part 2).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163032 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
6666ed4ed2e2bc13da5ac5d0a4947019137d45be 31-Aug-2012 Joao Matos <ripzonetriton@gmail.com> Improved MSVC __interface support by adding first class support for it, instead of aliasing to "struct" which had some incorrect behaviour. Patch by David Robins.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163013 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
bf3a96650c449a5f8dd1a818b3ce1afa8dddfc39 21-Aug-2012 Eric Christopher <echristo@apple.com> Reapply:

Author: Eric Christopher <echristo@apple.com>
Date: Thu Aug 16 23:50:46 2012 +0000

Add some caching here for the builtin types.

rdar://12117935

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162066 91177308-0d34-0410-b5e6-96231b3b80d8

after fixing a thinko.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162243 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
003e7569fd6f5d38aa0f411483ee5ffabddec50f 18-Aug-2012 Eric Christopher <echristo@apple.com> Reapply:

Make isa part of objc_object at metadata generation time.

Noticed on inspection.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162145 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
1dc7ab0bbe6ef1b179f450eaa536323b0c3ba034 17-Aug-2012 Eric Christopher <echristo@apple.com> Temporarily revert r162066 and r162062 to see if it brings the gdb
bots back.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162080 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
e7259aad3fc6db0c9add85d486cafa6eeb53585d 17-Aug-2012 Richard Smith <richard-llvm@metafoo.co.uk> Fix undefined behavior in debug info emission: operator* on WeakVH returns a
reference, so &* on an empty WeakVH binds a reference to a dereferenced null
pointer. So don't do that; we have a perfectly good implicit conversion to
Value*.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162079 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
8bf4ab319e232f185e9965c5bb417dee62706c8f 17-Aug-2012 Eric Christopher <echristo@apple.com> Add some caching here for the builtin types.

rdar://12117935

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162066 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
c076ef6dd87d4507ac4f276ec4d7881fb6f2a7fd 17-Aug-2012 Eric Christopher <echristo@apple.com> Make isa part of objc_object at metadata generation time.

Noticed on inspection.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162062 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
860de6b4223c789a149b7d042c44a66c3e021c52 13-Aug-2012 Eric Christopher <echristo@apple.com> This is always going to be true so the cast isn't necessary.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161744 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
c7fb74806190220ba46bc175568f5c0edd49b810 07-Aug-2012 Eric Christopher <echristo@apple.com> If we don't have a complete type for the array type yet either then
just let the alignment be zero.

PR13531

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d0a97c49c28608a6f4471855de2941c40f11ae4e 07-Aug-2012 Eric Christopher <echristo@apple.com> Remove some unintended changes from my last patch.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161369 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
363e5acfd93aa62d94e02b674e753257389643b1 07-Aug-2012 Eric Christopher <echristo@apple.com> Make sure when we get the replacement type for a template argument
that we attach the lost qualifiers.

Fixes rdar://11882155

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161368 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
65263b4ec184212155c92740ab0bd363bb85c49e 04-Aug-2012 Benjamin Kramer <benny.kra@googlemail.com> Simplify code, no functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161303 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
aa6eccce0cd6e15229cdee52177477371890d3c4 04-Aug-2012 Eric Christopher <echristo@apple.com> Fix the name of this variable.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161287 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
3e07881cdb0acfad9fc7ce6c2b37ca1ca98e7c7d 04-Aug-2012 Eric Christopher <echristo@apple.com> Update comment to accurately reflect what should happen.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161286 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
c852e9ff06f7089405265c53af33cf06fdc36e52 11-Jul-2012 Eric Christopher <echristo@apple.com> Temporarily revert this to see if it brings the gdb bot back.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160049 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
3d40f96394fb30b70ba83bdfd10f3ed69530b0e5 11-Jul-2012 Eric Christopher <echristo@apple.com> The end of a block doesn't necessarily need a line table entry unless
there's something going on there. Remove the unconditional line entry
and only add one if we're emitting cleanups (any other statements
would be handled normally).

Fixes rdar://9199234

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160033 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d4f5198ae07d9a4958d8191bac694ded12173ad9 04-Jul-2012 Benjamin Kramer <benny.kra@googlemail.com> Remove get(V)BaseClassOffsetInBits, the CharUnit functions should be used instead.

No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159719 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
da970d2fe086ed44198e1edd5d7d59ff19e747fe 28-Jun-2012 Eric Christopher <echristo@apple.com> Fix grammar.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159321 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
527e616722f45986883cbc20e4bbb5d1651e75f4 20-Jun-2012 Benjamin Kramer <benny.kra@googlemail.com> Don't circumvent the debug info type cache when emitting info for EnumConstantDecl.

CreateEnumType doesn't participate in caching so the descriptor for the enum
gets recomputed for every reference of an element of an enum, only to get
discarded when it gets turned into an MDNode.

No functionality change except performance.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158832 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
260611a32535c851237926bfcf78869b13c07d5b 20-Jun-2012 John McCall <rjmccall@apple.com> Restructure how the driver communicates information about the
target Objective-C runtime down to the frontend: break this
down into a single target runtime kind and version, and compute
all the relevant information from that. This makes it
relatively painless to add support for new runtimes to the
compiler. Make the new -cc1 flag, -fobjc-runtime=blah-x.y.z,
available at the driver level as a better and more general
alternative to -fgnu-runtime and -fnext-runtime. This new
concept of an Objective-C runtime also encompasses what we
were previously separating out as the "Objective-C ABI", so
fragile vs. non-fragile runtimes are now really modelled as
different kinds of runtime, paving the way for better overall
differentiation.

As a sort of special case, continue to accept the -cc1 flag
-fobjc-runtime-has-weak, as a sop to PLCompatibilityWeak.

I won't go so far as to say "no functionality change", even
ignoring the new driver flag, but subtle changes in driver
semantics are almost certainly not intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158793 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
645161f7f58068ef336c651f4dfaa6a38ce48e40 12-Jun-2012 Bill Wendling <isanbard@gmail.com> Remove unused variable.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158353 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
50e3faaebfdbbc3b0a3f4f401c6e75d4a83ad346 09-Jun-2012 Michael J. Spencer <bigcheesegs@gmail.com> [C++11 Compat] Fix breaking change in C++11 pair copyctor.

While this code is valid C++98, it is not valid C++11. The problem can be
reduced to:

class MDNode;

class DIType {
operator MDNode*() const {return 0;}
};

class WeakVH {
WeakVH(MDNode*) {}
};

int main() {
DIType di;
std::pair<void*, WeakVH> p(std::make_pair((void*)0, di)));
}

This was not detected by any of the bots we have because they either compile
C++98 with libstdc++ (which allows it), or C++11 with libc++ (which incorrectly
allows it). I ran into the problem when compiling with VS 2012 RC.

Thanks to Richard for explaining the issue.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158245 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
855243789cb44799c03f4c7216d3d6308805f549 07-Jun-2012 Benjamin Kramer <benny.kra@googlemail.com> Plug a long standing memory leak in TemplateArgument.

The integral APSInt value is now stored in a decomposed form and the backing
store for large values is allocated via the ASTContext. This way its not
leaked as TemplateArguments are never destructed when they are allocated in
the ASTContext. Since the integral data is immutable it is now shared between
instances, making copying TemplateArguments a trivial operation.

Currently getting the integral data out of a TemplateArgument requires creating
a new APSInt object. This is cheap when the value is small but can be expensive
if it's not. If this turns out to be an issue a more efficient accessor could
be added.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158150 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
581deb3da481053c4993c7600f97acf7768caac5 06-Jun-2012 David Blaikie <dblaikie@gmail.com> Revert Decl's iterators back to pointer value_type rather than reference value_type

In addition, I've made the pointer and reference typedef 'void' rather than T*
just so they can't get misused. I would've omitted them entirely but
std::distance likes them to be there even if it doesn't use them.

This rolls back r155808 and r155869.

Review by Doug Gregor incorporating feedback from Chandler Carruth.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158104 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
3de00ce9075c197b1fcaca69f3b5870a32176349 05-Jun-2012 Eric Christopher <echristo@apple.com> Reapply "Only emit debug information for methods that are user defined, there's"

As the failing testcase has been fixed.

This reverts commit 0637f407e6ee7fdccde17fbf9a5fcc4853187b3e.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158009 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
0637f407e6ee7fdccde17fbf9a5fcc4853187b3e 05-Jun-2012 John McCall <rjmccall@apple.com> Revert "Only emit debug information for methods that are user defined, there's"

This reverts r157970, which was not passing on
clang-x86_64-darwin10-nobootstrap-RA

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157983 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
9b26efe7b62cf6dcb27ce60824e03856cedbea2f 05-Jun-2012 Eric Christopher <echristo@apple.com> Only emit debug information for methods that are user defined, there's
not much reason to emit for constructors and destructors that aren't
user defined.

rdar://11593099

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157970 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
5a2eff85d185ad94b6272a6f6c869496d8c23ced 01-Jun-2012 Eric Christopher <echristo@apple.com> Support C++11 enum forward declarations.

Part of rdar://11570854

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157787 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
9ee5f4641ee0d018cb6a2ce16611bfa170a5ecea 23-May-2012 Eric Christopher <echristo@apple.com> Emit C++11 enum class information if it exists.

Part of rdar://11496790

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
e6d11975d7182ee63ceb6a4f3ece4ee27efbba68 22-May-2012 Eric Christopher <echristo@apple.com> Revert r115805. An array type is required to have a range type,
however, the range can be unknown for the upper bound.

Testcase to follow.

Part of rdar://11457152

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157212 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
37e4cea0f548fc8a4b3c46aa92c925d6ea49d071 19-May-2012 Eric Christopher <echristo@apple.com> Update API usage for llvm DIBuilder changes for rvalue reference
types and ensure we are actually creating the type.

rdar://11479676

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157095 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d9f07d45f16769cd7f8521b549c889a517492fd5 17-May-2012 Eric Christopher <echristo@apple.com> Remove unnecessary temporary.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156953 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
a135f2ca67172940dd1dd9414f17b9397e4517ef 08-May-2012 Eric Christopher <echristo@apple.com> The address of a vla is actually complex and requires a dereference.

Part of rdar://11352000

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
3a89bfbeedcc4ae0226d591cfdfd26615556e148 08-May-2012 Eric Christopher <echristo@apple.com> Whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156406 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
27a00970bf4ababdc115e54383e6252cc3276dfa 05-May-2012 Argyrios Kyrtzidis <akyrtzi@gmail.com> Make BuiltinType::getName return a StringRef and introduce BuiltinType::getNameAsCString
to get a const char* if necessary.

This avoids unnecessary conversions when we want to use the result of getName as
a StringRef.

Part of rdar://10796159

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156227 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
fd00eecad6fa5400cf37269d84361a0551d0e6d3 04-May-2012 Alexey Samsonov <samsonov@google.com> This patch adds a new Clang compiler flag "-gline-tables-only".
It reduces the amount of emitted debug information:
1) DIEs in .debug_info have types DW_TAG_compile_unit, DW_TAG_subprogram,
DW_TAG_inlined_subroutine (for opt builds) and DW_TAG_lexical_block only.
2) .debug_str contains only function names.
3) No debug data for types/namespaces/variables is emitted.
4) The data in .debug_line is enough to produce valid stack traces with
function names and line numbers.

Reviewed by Eric Christopher.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156160 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
262bc18e32500558af7cb0afa205b34bd37bafed 30-Apr-2012 David Blaikie <dblaikie@gmail.com> Remove the ref/value inconsistency in filter_decl_iterator.

filter_decl_iterator had a weird mismatch where both op* and op-> returned T*
making it difficult to generalize this filtering behavior into a reusable
library of any kind.

This change errs on the side of value, making op-> return T* and op* return
T&.

(reviewed by Richard Smith)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155808 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
3a70cd6e1cc414856e41ce5509aa61c89bf472dc 27-Apr-2012 Alexey Samsonov <samsonov@google.com> Use enum to set debug info size generated by Clang

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155697 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
87380aaf4273b2259fa75790f2f544c4514cc763 23-Apr-2012 Eric Christopher <echristo@apple.com> Forward declarations should take a context. This helps the debugger
find forward declarations in the context that the actual definition
will occur.

rdar://11291658

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155381 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
c6b468e46d467eb8d0bcfdbbcc776ef9650133a0 13-Apr-2012 Benjamin Kramer <benny.kra@googlemail.com> Avoid string thrashing when we can concatenate them in the final buffer.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
43443de48bd7f69bba033566abd9ca33abea6d67 12-Apr-2012 Eric Christopher <echristo@apple.com> static functions have a need for mangled name debug information too.
The mangler doesn't like non-prototyped functions so only use a mangled
name for prototyped functions.

rdar://11079003

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154570 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
be6c6869a993536d4cd007f04e84ef74a1c3b229 11-Apr-2012 Eric Christopher <echristo@apple.com> Enable debug info for objective c implementations that may not have
an explicit instance variable.

rdar://10590352

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154481 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
78af8fd568f05aa872194756c96d8ba73d8c4956 06-Apr-2012 Eric Christopher <echristo@apple.com> Only emit the getter and setter names if they're not the default
synthesized ones. Reasonable debug info size reduction for objc.

rdar://11179756

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154129 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
ea32047660159811a4c14d008a4b7e3807a705d6 03-Apr-2012 Eric Christopher <echristo@apple.com> Change location information for synthesized properties to be at the
property file/line rather than the @synthesize file/line. Avoids
some nasty confusing-ness with conflating the file from the scope
and the line from the original declaration. Use the current scope
location as a separate parameter so that we can match it up
better in the line table with the beginning of the scope.

Update a couple of testcases accordingly since I had to change
that we actually use the passed in location in EmitFunctionStart
and for the new metadata parameter and add a new testcase to
make sure we've got the right line numbers for synthesized
properties.

Part of rdar://11026482

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153917 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
96579c43e777b9dea81dc56c8074b3755df00e27 30-Mar-2012 Eric Christopher <echristo@apple.com> Revert previous commit changing location information to see if this
is causing the gdb test failures on the bots.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153727 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
7435054a965eefb7ab29c0a8caa6698ec435b9f7 30-Mar-2012 Eric Christopher <echristo@apple.com> Change location information for synthesized properties to be at the
property file/line rather than the @synthesize file/line. Avoids
some nasty confusing-ness with conflating the file from the scope
and the line from the original declaration.

Update a couple of testcases accordingly since I had to change
that we actually use the passed in location in EmitFunctionStart.

Fixes rdar://11026482

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153714 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
ecae5965cf0c95a357e47227eeb2ec391672840d 29-Mar-2012 Eric Christopher <echristo@apple.com> Go back to using just the selector name for the getter and setter
in the property debug info. Any more isn't necessary after all.

rdar://11144023

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
51c0371816edadfe6275945b4e2155efb9451b3a 29-Mar-2012 Eric Christopher <echristo@apple.com> Add support for objc property decls according to the page at:

http://llvm.org/docs/SourceLevelDebugging.html#objcproperty

including type and DECL. Expand the getter and setter names
into the fully qualified names.

rdar://11144023

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
7e42392eb2ea29ddeb6d125417fb4c17d847b5e0 24-Mar-2012 Benjamin Kramer <benny.kra@googlemail.com> Simplify some users of DenseMap::erase.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153389 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
451b4414543d23f6281f888f8f79b6e5b3684833 21-Mar-2012 Eric Christopher <echristo@apple.com> Update comment.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153149 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
6181e56a44ecc31dfca8baea2ae8738957003496 20-Mar-2012 Benjamin Kramer <benny.kra@googlemail.com> Debug info: Tighten up uses of plain MDNode pointers which don't survive replaceOperandWith.

TrackingVH notices when it gets RAUW'd. Fixes PR12305 and PR12315.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153115 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
167174518cc9bdd84b27bfad581028f4092cd68c 14-Mar-2012 Eric Christopher <echristo@apple.com> Add support to mangle templated member function names with template
args.

Fixes rdar://11042577

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152691 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
3b10cfe6b804cef041ddf85854d2d536f7a82cb6 14-Mar-2012 Eric Christopher <echristo@apple.com> When adding member functions to a class add any specializations of
function templates as well.

A future commit will mangle the added name with the template args
like classes are mangled.

Fixes rdar://10986010

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152683 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
4e4d08403ca5cfd4d558fa2936215d3a4e5a528d 11-Mar-2012 David Blaikie <dblaikie@gmail.com> Unify naming of LangOptions variable/get function across the Clang stack (Lex to AST).

The member variable is always "LangOpts" and the member function is always "getLangOpts".

Reviewed by Chris Lattner

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152536 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
ad8de5142a592db1d947e4883b64f63936d5d682 01-Mar-2012 Eric Christopher <echristo@apple.com> Reapply r151702 with a small fix for a failure to cut and paste
correctly.

Still rdar://10900684

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151838 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
956ecbd2c8d3558230300754d5abf72e9eb9afc1 29-Feb-2012 Daniel Dunbar <daniel@zuster.org> Revert r151702, "Add support for handling captured variables in lambda debug
info.", which broke some -O0 -g tests.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151730 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
0a0714ddd3a5bd1a8147735ae7fe20b8c4b656fa 29-Feb-2012 Eric Christopher <echristo@apple.com> Add support for handling captured variables in lambda debug info.
This currently doesn't handle capturing the 'this' pointer for any
enclosing class.

Steal the lambda-expressions.cpp testcase and debugify it and try
to use more variables to proof it against random changes.

Part of rdar://10900684

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151702 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
af3db7d9e4a702d8f072ae97f793be42177e898b 27-Feb-2012 Eric Christopher <echristo@apple.com> ObjcInterfaceTypes are also complete types for the type cache.

Fixes rdar://10934887

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151519 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
b45cfead07d9f0143970d24f5c8a0c4f232b8163 23-Feb-2012 Eric Christopher <echristo@apple.com> Add a quick TODO.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151217 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
e86b9eaccdbdba1ec798064840913f3e6d8703b8 21-Feb-2012 Eric Christopher <echristo@apple.com> Formatting.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
86211df4d28f6fb3c48ab09f02a011e8570d8b1c 20-Feb-2012 Eric Christopher <echristo@apple.com> Remove the type retaining from the clang frontend. This is now
handled by the caching and rauw. Also fix one cache that wasn't
being added to highlighted by this patch. Update all testcases
accordingly.

This should fix the deall failure.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150977 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
917bc8d55e9c172b5985a7cc57ccf02d8439464f 20-Feb-2012 Eric Christopher <echristo@apple.com> Make forward declarations for objective-c types use the new
temporary forward declaration nodes. Fixes a problem building
Chrome.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150976 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
7ff0c5d30d365ba5d4f08e1d2fcea0370b21699b 18-Feb-2012 Eric Christopher <echristo@apple.com> Add in a caching mechanism so that forward declarations are replaced
with full types if they exist.

rdar://10809898 and rdar://10209967 and rdar://10400981

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150858 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
1486d2c5d73302bdfdb1cece09d95958052c9cdb 18-Feb-2012 Eric Christopher <echristo@apple.com> Formatting.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150857 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
51b2f6bae6847ccf4c48960c925316dccfb10190 18-Feb-2012 Eric Christopher <echristo@apple.com> Remove UpdateCompletedType from the debug info emission. We now
emit less than complete types on purpose on occasion and so
our caches aren't useful for this kind of lazy emitting.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150856 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
1e009d594325390eda1e3c89e4930b30d8b828dc 17-Feb-2012 Eric Christopher <echristo@apple.com> Index "12" holds the vtable, not "9".

Fixes lots of gdb testsuite failures.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150797 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
9965deaad40b08203e4cfacf9253fbe494dce81f 16-Feb-2012 Eric Christopher <echristo@apple.com> Reapply r150631:

"Add a completed/incomplete type difference. This allows us to have
partial types for contexts and forward decls while allowing us to
complete types later on for debug purposes.

This piggy-backs on the metadata replacement and rauw changes
for temporary nodes and takes advantage of the incremental
support I added in earlier. This allows us to, if we decide,
to limit adding methods and variables to structures in order
to limit the amount of debug information output into a .o file.

The caching is a bit complicated though so any thoughts on
untangling that are welcome."

with a fix:

- Remove all RAUW during type construction by adding stub versions
of types that we later complete.

and some TODOs:

- Add an RAUW cache for forward declared types so that we can replace
them at the end of compilation.
- Remove the code that updates on completed types because we no
longer need to have that happen. We emit incomplete types on
purpose and only want to know when we want to complete them.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150752 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
64a043045874c9a054f9dfb8d37daf6e5e8d054c 16-Feb-2012 Eric Christopher <echristo@apple.com> Revert "Add a completed/incomplete type difference. This allows us to have"

This reverts commit 9a68d4584afcd0853b930bd80235b58736e785b4.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150637 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
9a68d4584afcd0853b930bd80235b58736e785b4 16-Feb-2012 Eric Christopher <echristo@apple.com> Add a completed/incomplete type difference. This allows us to have
partial types for contexts and forward decls while allowing us to
complete types later on for debug purposes.

This piggy-backs on the metadata replacement and rauw changes
for temporary nodes and takes advantage of the incremental
support I added in earlier. This allows us to, if we decide,
to limit adding methods and variables to structures in order
to limit the amount of debug information output into a .o file.

The caching is a bit complicated though so any thoughts on
untangling that are welcome.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150631 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
e88a71f00e9dce979dfb409459d54c92e5075a42 13-Feb-2012 Eric Christopher <echristo@apple.com> Add back in the code to create forward decls using temporary mdnodes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150390 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
42e75daaefc11922c585053bfa5e5db6ff312c3e 13-Feb-2012 Eric Christopher <echristo@apple.com> Temporarily walk back a few of my recent debug info limiting changes
while reworking how we handle wanting to emit only parts of structures.

Fixes PR11970.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150388 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
3b8e197bbfd2c9a1a5fc3ab6509f89cc274e77f8 09-Feb-2012 Eric Christopher <echristo@apple.com> Don't cache the artificial type for the this pointer, there's no
difference in the qual type. This is a workaround for the fact that
the type isn't artificial but the this decl is, however, we don't
have any way of representing it in the current metadata. For now,
however, just don't cache the full type.

Fixes rdar://10831526 and probably a couple of others.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150159 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
9caf440928c16a8862de932fd19744dc8a6f4157 08-Feb-2012 Eric Christopher <echristo@apple.com> Constify the getClassName routine and variables that come out of it,
and then use it for forward decl names.

Part of rdar://10209967 and rdar://10400981

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150040 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
2f764a91225ae8e34110243071177c545072fa0e 08-Feb-2012 Eric Christopher <echristo@apple.com> Use the new forward declaration scheme for records. Also add more
caching of results after we create them.

Fixes rdar://10809898

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150025 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
53bc51871a7937f49b80ea8a1b22dc7d15ad86dc 08-Feb-2012 Devang Patel <dpatel@apple.com> Remove tabs.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150021 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d7a3e2c5f61cd4893f95b69a424fe4def3aa0f69 07-Feb-2012 Benjamin Kramer <benny.kra@googlemail.com> Revert my patches which removed Diagnostic.h includes by moving some operator overloads out of line.

This seems to negatively affect compile time onsome ObjC tests
(which use a lot of partial diagnostics I assume). I have to come
up with a way to keep them inline without including Diagnostic.h
everywhere. Now adding a new diagnostic requires a full rebuild
of e.g. the static analyzer which doesn't even use those diagnostics.

This reverts commit 6496bd10dc3a6d5e3266348f08b6e35f8184bc99.
This reverts commit 7af19b817ba964ac560b50c1ed6183235f699789.
This reverts commit fdd15602a42bbe26185978ef1e17019f6d969aa7.
This reverts commit 00bd44d5677783527d7517c1ffe45e4d75a0f56f.
This reverts commit ef9b60ffed980864a8db26ad30344be429e58ff5.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150006 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
7fb8630e76fe2c4e7e048c7c8a448baf282390cd 07-Feb-2012 Devang Patel <dpatel@apple.com> Remove tabs.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
693fcaa99933b47056447099ab6e0d1ea3a12d0d 07-Feb-2012 Devang Patel <dpatel@apple.com> Emit debug info for properites that are not backed by an ivar.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149995 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
8b418685e9e4f02f4eb2a76e1ec063e07552b68d 07-Feb-2012 Chris Lattner <sabre@nondot.org> simplify a bunch of code to use the well-known LLVM IR types computed by CodeGenModule.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149943 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
362ed2a95b70aaea4869bfa9ecaf581a6c180b40 07-Feb-2012 Devang Patel <dpatel@apple.com> Relax valid location check. This fixes a clang crash while emitting debug info for properties that are synthesized by the compiler by default.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149929 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
5f3c7faa398e64a94d0757e19c69441e04819166 06-Feb-2012 Devang Patel <dpatel@apple.com> Let an ivar directly refer property TAG.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149881 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
f7ccbad5d9949e7ddd1cbef43d482553b811e026 05-Feb-2012 Dylan Noblesmith <nobled@dreamwidth.org> Basic: import SmallString<> into clang namespace

(I was going to fix the TODO about DenseMap too, but
that would break self-host right now. See PR11922.)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149799 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
00bd44d5677783527d7517c1ffe45e4d75a0f56f 04-Feb-2012 Benjamin Kramer <benny.kra@googlemail.com> Move various diagnostic operator<< overloads out of line and remove includes of Diagnostic.h.

Fix all the files that depended on transitive includes of Diagnostic.h.
With this patch in place changing a diagnostic no longer requires a full rebuild of the StaticAnalyzer.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149781 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
693a70dfb1515cb62178861fb6c318c0ff484130 04-Feb-2012 Devang Patel <dpatel@apple.com> Create new tag for the property. This is a work in progress.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149734 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
245da28bd2629c7bcd0d30f389ac6b1fb7e33fd7 02-Feb-2012 Andrew Trick <atrick@apple.com> unnecessary include of TargetMachine.h?

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149638 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
271ce5454ba525931b8b773bb3d03b1893093f9d 02-Feb-2012 Eric Christopher <echristo@apple.com> r149474 went a bit too far when combined with type caching. If we want
a full type go ahead and emit it if we currently only have a forward
declaration.

Fixes gdb bots for gdb1090.exp and call-ar-st.exp.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149560 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
ef81e0f8f18cc6fb05d37b8d3d399bc95f936c5b 01-Feb-2012 Eric Christopher <echristo@apple.com> Remove duplicated comment.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149544 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
0086a5b44af6384b369f8660da69cf2775d09733 01-Feb-2012 Eric Christopher <echristo@apple.com> For pass-by-value record arguments to functions emit a forward decl
instead of the entire class definition.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149474 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
5b78a244ef213835337a5a860fe7c3f2fa90a943 26-Jan-2012 Eric Christopher <echristo@apple.com> Use createRecordFwdDecl here since that's what we're doing.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149051 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
1c081d97b6f1785013e2294bcc5209d468c0765e 26-Jan-2012 Eric Christopher <echristo@apple.com> Revert previous patch unifying all of the C++ record prep in one area,
the gdb testsuite complains too much about the ordering of items printed,
even if the offsets in the debug info are correct.

This reverts commit 027cb30af828f07750f9185782822297a5c57231.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149049 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
3ee8c913ebe776a0b8b973c74be2ea9cc8ad6305 26-Jan-2012 Eric Christopher <echristo@apple.com> Remove another duplicated variable.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
de983d868f35d20c46152f9aabbc41f0d3dca8e7 26-Jan-2012 Eric Christopher <echristo@apple.com> Tidy and remove some unused variables.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149015 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
027cb30af828f07750f9185782822297a5c57231 26-Jan-2012 Eric Christopher <echristo@apple.com> Collect this information together. No reason to have it split.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149013 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
6faa5540dfd17388c62bef8e69f91b0e6bd86e9c 26-Jan-2012 Eric Christopher <echristo@apple.com> Refactor into its own function.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149012 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
51cb75a62511905ffa6dc9712493c50a8f3ebcd2 25-Jan-2012 Eric Christopher <echristo@apple.com> Clean up comment.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148982 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
5d613b57972a761973861f7c38b3e6442243a6ab 25-Jan-2012 Eric Christopher <echristo@apple.com> Refactor the record decl forward declaration code a bit.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148904 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
4ddca8ab795be2bb239a80b48a57d09f54dc07ba 20-Jan-2012 Eric Christopher <echristo@apple.com> When adding types to the context chain for record types, just emit
a forward declaration unless we already have a type. We can fill it in
later if it's actually used.

Fixes PR11345

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148584 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
3026348bd4c13a0f83b59839f64065e0fcbea253 20-Jan-2012 David Blaikie <dblaikie@gmail.com> More dead code removal (using -Wunreachable-code)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148577 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
2d6a5670465cb3f1d811695a9f23e372508240d2 14-Jan-2012 Richard Smith <richard-llvm@metafoo.co.uk> constexpr irgen: Add irgen support for APValue::Struct, APValue::Union,
APValue::Array and APValue::MemberPointer. All APValue values can now be emitted
as constants.

Add new CGCXXABI entry point for emitting an APValue MemberPointer. The other
entrypoints dealing with constant member pointers are no longer necessary and
will be removed in a later change.

Switch codegen from using EvaluateAsRValue/EvaluateAsLValue to
VarDecl::evaluateValue. This performs caching and deals with the nasty cases in
C++11 where a non-const object's initializer can refer indirectly to
previously-initialized fields within the same object.

Building the intermediate APValue object incurs a measurable performance hit on
pathological testcases with huge initializer lists, so we continue to build IR
directly from the Expr nodes for array and record types outside of C++11.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148178 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
121c67d7ecab148f1ce24ab2b7e56460d1c47e7a 12-Jan-2012 Eric Christopher <echristo@apple.com> Formatting.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147989 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
7c9b2fdf1920b2e7b9f8f353dd70041cfc44473f 12-Jan-2012 Eric Christopher <echristo@apple.com> Formatting.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147988 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
80d4b55db94db2172a04617d1a80feca6bbcea5c 28-Dec-2011 Richard Smith <richard-llvm@metafoo.co.uk> Small refactoring and simplification of constant evaluation and some of its
clients. No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147318 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
973bbb6a8abdc8af99c9a0b78cdbf6e7adb684eb 17-Dec-2011 Eric Christopher <echristo@apple.com> When in a limited debug information situation if we can find the original
declaration for the type then go ahead and use that, it's still smaller
than creating an all new derived type.

Part of rdar://10335756 and others.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
435e106f94a4e17bbbf6b1ad82185b305943ad3f 17-Dec-2011 Eric Christopher <echristo@apple.com> Start down the path of getting clang to internally agree on structs versus
classes.

Part of rdar://10520586 and a couple others.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146778 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
7c1f1f158205efd07ab169772079ab527aed34dc 16-Dec-2011 Douglas Gregor <dgregor@apple.com> When generating debug info for an ObjCInterfaceDecl, try to dig out the definition.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146705 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
7723fec9b45b7258c0eddf4cbfd0d335348f5edc 15-Dec-2011 Douglas Gregor <dgregor@apple.com> Keep track of all declarations of an Objective-C class (both forward
declarations and definitions) as ObjCInterfaceDecls within the same
redeclaration chain. This new representation matches what we do for
C/C++ variables/functions/classes/templates/etc., and makes it
possible to answer the query "where are all of the declarations of
this class?"



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146679 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d5a3b7804f1594c9f21c7f2cee0920a66feeb93a 30-Nov-2011 Eric Christopher <echristo@apple.com> Make sure that forward declarations are marked as such in the debug info
for the structure type.

rdar://10499337

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
deae6a8bbcfd6bd2f919a8e8aabeb28cd10d101b 18-Nov-2011 Eric Christopher <echristo@apple.com> Use the canonical decl to index so that we can really find it later.

Fixes rdar://10433202

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144938 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
bf97947c4c467e72b97f8623f84c9bccb03e9448 14-Nov-2011 Eric Christopher <echristo@apple.com> Fixup comment.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144548 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
7480d96830ab80547da28f585e522958b001de52 10-Nov-2011 Nick Lewycky <nicholas@mxc.ca> Reflow lines, remove else-if after returns, rename variable "TydefContext" to
"TypedefContext". No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144248 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
7b3819dfb88df33fdaba4d879044b2cdfeb0e0d2 09-Nov-2011 Nick Lewycky <nicholas@mxc.ca> Reflow one line I missed in previous cleanup commit. No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144168 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d4c100e98d34e13fc6bd4f3a005533419f03a808 09-Nov-2011 Nick Lewycky <nicholas@mxc.ca> Minor cleanup, mostly reindenting. Remove one helper function that just called
the other helper functions, since we already differentiated the cases it was
testing between. No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144167 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
51f4708c00110940ca3f337961915f2ca1668375 29-Oct-2011 Richard Smith <richard-llvm@metafoo.co.uk> Rename Expr::Evaluate to Expr::EvaluateAsRValue to make it clear that it will
implicitly perform an lvalue-to-rvalue conversion if used on an lvalue
expression. Also improve the documentation of Expr::Evaluate* to indicate which
of them will accept expressions with side-effects.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143263 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
ef8857dfdd4d6b4d139278c52d32e3f2e055c5d7 28-Oct-2011 Devang Patel <dpatel@apple.com> In case of template specialization, do not try to delay emitting debug info for concrete type in -flimit-debug-info mode. This fixes some of the failures from bs15503.exp tests in gdb testsuite.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143227 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
41422511e80e05d42bbf2d8460ca1b8b59db68ae 25-Oct-2011 Devang Patel <dpatel@apple.com> Do not drop type qualifiers in -flimit-debug-info mode.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142873 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
7c4fd9121f5885096fd3258d20a984e3f08f8603 21-Oct-2011 Nick Lewycky <nicholas@mxc.ca> Take DW_AT_comp_dir from $PWD when it's present and starts with a '/'. This is
closer to what GCC does, except that GCC also checks that the inodes for $PWD
and '.' match.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142633 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
e0a22d06888c13989b3f72db319f1d498bf69153 18-Oct-2011 John McCall <rjmccall@apple.com> Macro metaprogramming for builtin types.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142420 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
0ddaeb9b031070ec64afe92d9892875ac44df427 17-Oct-2011 John McCall <rjmccall@apple.com> Add a new placeholder type to represent "unbridged"
casts in ARC.

No semantic analysis yet.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142208 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
aa4a99b4a62615db243f7a5c433169f2fc704420 15-Oct-2011 Anton Korobeynikov <asl@math.spbu.ru> Provide half floating point support as a storage only type.
Lack of half FP was a regression compared to llvm-gcc.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142016 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
2b5cfbc0b074ef77ccac407533d27778ace4028c 14-Oct-2011 Benjamin Kramer <benny.kra@googlemail.com> Simplify code to avoid a useless string copy.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141970 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
bcbca75e94c8eb7073482fa0c5c8940f39f66849 14-Oct-2011 Benjamin Kramer <benny.kra@googlemail.com> Upgrade to PathV2.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141969 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
c95ff94a2d67093a696a0c70dbb272bcf8b97146 14-Oct-2011 Benjamin Kramer <benny.kra@googlemail.com> Add parens to pacify GCC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141968 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
73fb35003aad027492e661a3749e921b5d1ecaf9 13-Oct-2011 Eric Christopher <echristo@apple.com> Recommit:

Start handling debug line and scope information better:

Migrate most of the location setting within the larger API in CGDebugInfo and
update a lot of callers.
Remove the existing file/scope change machinery in UpdateLineDirectiveRegion
and replace it with DILexicalBlockFile usage.

Finishes off the rest of rdar://10246360

after fixing a few bugs that were exposed in gdb testsuite testing.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141893 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
28e06354b5d4dd539be6781e388ff27c0dffd807 12-Oct-2011 Eric Christopher <echristo@apple.com> Revert file/scope handling patches. gdb testing revealed a couple of bugs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141796 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
c6bfbca5733f1fc090b2149c4fff0548f1f15526 12-Oct-2011 Eric Christopher <echristo@apple.com> Remember to set the location in EmitGlobalVariable to the current decl
if we're going to delete the setLocation as we did in 141732.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141762 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
4b2d5498729a74a8e952bdf762e6f2d8c6b52690 12-Oct-2011 Eric Christopher <echristo@apple.com> Start handling debug line and scope information better:

Migrate most of the location setting within the larger API in CGDebugInfo and
update a lot of callers.
Remove the existing file/scope change machinery in UpdateLineDirectiveRegion
and replace it with DILexicalBlockFile usage.

Finishes off the rest of rdar://10246360

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141732 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
ab5278e0ead5697ff27ef69d960c3e138b299ce6 12-Oct-2011 Eric Christopher <echristo@apple.com> 80-column and tab cleanup.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141731 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
944542e29c2d796049be1db12160e232fb28aebf 12-Oct-2011 Eric Christopher <echristo@apple.com> Reorder this to make it easier to add more changes for a location set.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141730 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
a6b8b2c09610b8bc4330e948ece8b940c2386406 10-Oct-2011 Richard Smith <richard-llvm@metafoo.co.uk> Constant expression evaluation refactoring:
- Remodel Expr::EvaluateAsInt to behave like the other EvaluateAs* functions,
and add Expr::EvaluateKnownConstInt to capture the current fold-or-assert
behaviour.
- Factor out evaluation of bitfield bit widths.
- Fix a few places which would evaluate an expression twice: once to determine
whether it is a constant expression, then again to get the value.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141561 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
b001de7458d17c17e6d8b8034c7cfcefd3b70c00 07-Oct-2011 Eli Friedman <eli.friedman@gmail.com> Support for C1x _Atomic specifier (see testcase). This is primarily being committed at the moment to help support C++0x <atomic>, but it should be a solid base for implementing the full specification of C1x _Atomic.

Thanks to Jeffrey Yasskin for the thorough review!



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141330 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d1ab1a2dffa66a88e5215216893adcfc658d3e7e 06-Oct-2011 Eric Christopher <echristo@apple.com> When constructing debug information for synthesized variables for the
non-fragile ABI we may not be able to lay out the type and the debugger
would ignore us even if we did put in the offset. Go ahead and just
put any value there and don't look up the offset since it may not exist.

rdar://10210157

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141261 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
1cd1d74b5c376ad1e9ab5f6b87fbcc54cc816e08 06-Oct-2011 Eric Christopher <echristo@apple.com> Reformat comment.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141260 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
491306a83c4f0f49f95a3bcbca8580cb98a91c7a 03-Oct-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> Allow getting all source locations of selector identifiers in a ObjCMethodDecl.

Instead of always storing all source locations for the selector identifiers
we check whether all the identifiers are in a "standard" position; "standard" position is

-Immediately before the arguments: -(id)first:(int)x second:(int)y;
-With a space between the arguments: -(id)first: (int)x second: (int)y;
-For nullary selectors, immediately before ';': -(void)release;

In such cases we infer the locations instead of storing them.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140989 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
aa2164cc2aecafb9efbddd72e6f25cea4995b330 29-Sep-2011 Eric Christopher <echristo@apple.com> Change "Regions" to be "LexicalBlocks" since that's what they
correspond to.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140740 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
5321bc492b2f29deecb6cb0bc68b7887164ee8a6 29-Sep-2011 Eric Christopher <echristo@apple.com> Rename EmitStopPoint in CGDebugInfo to EmitLocation. "stop points" don't
exist anymore.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140739 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
69a1b749ed44d59a86a9b10f21259b3a222ba068 29-Sep-2011 Eric Christopher <echristo@apple.com> Reorder functions in the file.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140738 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
414ee4bb74957b4c5fe05e11848028e4701b51f7 29-Sep-2011 Eric Christopher <echristo@apple.com> Call UpdateLineDirectiveRegion every time we want to emit a stop
point in the code. Ensures that we don't miss any places and the
check is reasonably cheap.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140737 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
441937c9be818279f68003071ea2cefc5da7d25d 29-Sep-2011 Eric Christopher <echristo@apple.com> Update comment.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140736 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
43202aee91646c9b5cd6d5cbea690b479075b67b 26-Sep-2011 Eric Christopher <echristo@apple.com> Update comments.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140531 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
1d2b31710539d705a3850c9fc3aa1804c2a5efee 26-Sep-2011 Peter Collingbourne <peter@pcc.me.uk> Create a VTableContext class and start moving CodeGenVTables methods to it

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140502 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d6471f7c1921c7802804ce3ff6fe9768310f72b9 26-Sep-2011 David Blaikie <dblaikie@gmail.com> Rename Diagnostic to DiagnosticsEngine as per issue 5397


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140478 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
eb2d1f1c88836bd5382e5d7aa8f6b85148a88b27 23-Sep-2011 David Blaikie <dblaikie@gmail.com> Removing a bunch of dead returns/breaks after llvm_unreachables.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
b219cfc4d75f0a03630b7c4509ef791b7e97b2c8 23-Sep-2011 David Blaikie <dblaikie@gmail.com> Switch assert(0/false) llvm_unreachable.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140367 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
8c6f9c49e6b1af5917f5879aed5496d0886b4e90 19-Sep-2011 Devang Patel <dpatel@apple.com> Tighten check to match an ivar with corresponding property by using ObjCImplementationDecl.
Radar 10139522 - Part 1.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140038 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
f60dca355d3e754b7a51726c7455d1e7583a65ba 15-Sep-2011 Devang Patel <dpatel@apple.com> Emit debug info for c++0x nullptr.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139752 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
2121cdaa41dbf4f64a1f2979af242b54987d661e 14-Sep-2011 Eric Christopher <echristo@apple.com> Formatting.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139681 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
edc9592b2d100f841ae0ba69f07a5eaaccb08900 14-Sep-2011 Eric Christopher <echristo@apple.com> Fix typo.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139668 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
e7566cf6e194946c2b6540444e99452e3e678349 12-Sep-2011 Devang Patel <dpatel@apple.com> By popular demand, enumerate all builtin types!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139521 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
3d3aa19232cef951193e087b8d11ae9fe02be69d 12-Sep-2011 Devang Patel <dpatel@apple.com> Add an assert so that new builtins do not sneak without proper debug info.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139514 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
e8ee3f2cda32818f30004226f7d8d27bada9b509 12-Sep-2011 Devang Patel <dpatel@apple.com> Fix debug info encodings for char16_t and char32_t.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139502 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
68f76b112cb50b6dd6cf6935680bc8f242f43441 10-Sep-2011 Devang Patel <dpatel@apple.com> Emit debug info for wchar_t.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139443 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
bcfd1f55bfbb3e5944cd5e03d07b343e280838c4 02-Sep-2011 Douglas Gregor <dgregor@apple.com> Extend the ASTContext constructor to delay the initialization of
builtin types (When requested). This is another step toward making
ASTUnit build the ASTContext as needed when loading an AST file,
rather than doing so after the fact. No actual functionality change (yet).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138985 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
7803ec829d1cc657e21bb0d1afb8596a81bfd542 01-Sep-2011 Nick Lewycky <nicholas@mxc.ca> Don't try to emit unsupported templated friend declarations. They're unsupported
and may very well be dependent-types, triggering an assertion in debug info
codegen.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138970 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
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/lib/CodeGen/CGDebugInfo.cpp
5f9e272e632e951b1efe824cd16acb4d96077930 23-Jul-2011 Chris Lattner <sabre@nondot.org> remove unneeded llvm:: namespace qualifiers on some core types now that LLVM.h imports
them into the clang namespace.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135852 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
cb2a07e33789df99d28c3b9cd0770b4e3a8f31b5 19-Jul-2011 Devang Patel <dpatel@apple.com> Simplify.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135456 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
478b94b9454361446a981851a00f2f92062d4b66 19-Jul-2011 Devang Patel <dpatel@apple.com> Check column number also.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135437 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
2acc6e3feda5e4f7d9009bdcf8b1cd777fecfe2d 18-Jul-2011 Chris Lattner <sabre@nondot.org> de-constify llvm::Type, patch by David Blaikie!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d15608e9861ae4c2667780e5f5b59d6b10472aec 13-Jul-2011 Devang Patel <dpatel@apple.com> Emit debug info for extended vectors.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135083 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
1d323e0482889ad5f9637d62899f35f41a05df46 25-Jun-2011 Devang Patel <dpatel@apple.com> Fix struct member's scope. Patch by Xi Wang.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133829 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
f85e193739c953358c865005855253af4f68a497 16-Jun-2011 John McCall <rjmccall@apple.com> Automatic Reference Counting.

Language-design credit goes to a lot of people, but I particularly want
to single out Blaine Garst and Patrick Beard for their contributions.

Compiler implementation credit goes to Argyrios, Doug, Fariborz, and myself,
in no particular order.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133103 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
c490312704c87841c2f9646478ff4d93c3bc90f1 03-Jun-2011 Devang Patel <dpatel@apple.com> Simplify.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132560 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
2fd5a0f3eafe65c73b737a1cd995dfda7302ed81 03-Jun-2011 Devang Patel <dpatel@apple.com> Fix typedef's context.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132557 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d127bcbaab6411a6d1a79c1e01abd0320f366cc5 01-Jun-2011 Devang Patel <dpatel@apple.com> Robustify objc method type description (subroutine type) by walking parameters directly.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132368 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
c478f21820a187458c60c7d023a32c81eba24e42 31-May-2011 Devang Patel <dpatel@apple.com> List objective-c ineterfaces as public types in dwarf debug info output.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132361 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
1c29652fbcd097aa6c21511c9f4f886bb3f3a8af 31-May-2011 Devang Patel <dpatel@apple.com> List c++ class type as public type in dwarf debug info output.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132357 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
ca63c200346c0ca9e00194ec6e34a5a7b0ed9321 25-May-2011 Sean Hunt <scshunt@csclub.uwaterloo.ca> Implement a new type node, UnaryTransformType, designed to represent a
type that turns one type into another. This is used as the basis to
implement __underlying_type properly - with TypeSourceInfo and proper
behavior in the face of templates.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132017 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
bc6a191a1575fa3b7785fe5cbe01463d220553a7 17-May-2011 Devang Patel <dpatel@apple.com> Set up appropriate context for member function.
Radar 9440721



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131441 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
aad16096f49e670aecc92beaa49b33d1c9aba4f2 12-May-2011 Devang Patel <dpatel@apple.com> Doug convinced me that DW_AT_APPLE_objc_complete_type is more appropriate name.
s/DW_AT_APPLE_objc_class_extension/DW_AT_APPLE_objc_complete_type/g



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131245 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
f568b6459dd6df59b809a798cb198b4438c13abe 12-May-2011 Devang Patel <dpatel@apple.com> Do not add AT_APPLE_objc_class_extension attribute if @implementation is not seen.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131242 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
707b1e9566776ca26b099685bd7ba5b440bb2acd 12-May-2011 Devang Patel <dpatel@apple.com> Use DW_AT_APPLE_objc_class_extension attribute to identify interfaces that represent class extension.
Radar 9423077.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131239 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
31c79b470bf609028b585266a3127e7fb5f0a534 05-May-2011 Devang Patel <dpatel@apple.com> Do not drop uint128 on the floor.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130929 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
855a8e79f42e670b405b31efd3963f4d89732aff 03-May-2011 Fariborz Jahanian <fjahanian@apple.com> Finish off rules for z-length bitfields in ms_struct
structs. // rdar://8823265


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130783 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
a87a2b2d18b7482f91994e2bba769cddea8bd0ee 03-May-2011 Devang Patel <dpatel@apple.com> Function with internal linkage name do not have mangled name.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130736 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
2df74c000cb031e9e92a9402a8a39301218fca95 03-May-2011 Devang Patel <dpatel@apple.com> Do not try to get mangled name of block helpers. Apply a stopgap measure to fix SingleSource/UnitTests/block-copied-in-cxxobj compile time crash.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130734 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
340fa242130c2d8d74c83edca0952e771aebe0e6 02-May-2011 Fariborz Jahanian <fjahanian@apple.com> More rule enforcement of zero bitfields for ms_struct.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130696 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
7d4b159c0e47f4e78e25cb298430be4fdf415bb7 02-May-2011 Nick Lewycky <nicholas@mxc.ca> Remove unused variable spotted by GCC.

Devang, can we remove this call entirely? If I try that, "make check" passes
but the call has a side-effect of ensuring that the block's context exists in
the debug info. getContextDescriptor() is used in a void context for that side-
effect elsewhere in this file. Please take a look!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130679 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
22a5cdf326a55739078c0930fe42116a93d6c930 30-Apr-2011 Devang Patel <dpatel@apple.com> Tie constructor defintion with its declaration using AT_specification.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130561 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
fbc3cc69d2028eccb85bb456d762457b38a65e3b 29-Apr-2011 Fariborz Jahanian <fjahanian@apple.com> Fixes debug info generation problem for ms_struct structs.
// rdar://8823265


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130458 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
37833b00d282cacb7dd1b9889e2a113eed9190ff 26-Apr-2011 Devang Patel <dpatel@apple.com> We need pointer size in bits here.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130244 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
50811d2e8939d3dc79f1ce30985c7cfcb17eda19 26-Apr-2011 Devang Patel <dpatel@apple.com> Emit intrinsic at current insert point, not at the end of current block.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130177 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
e2d0191afbe95f46abd21c3511a02a5a76106da4 26-Apr-2011 Devang Patel <dpatel@apple.com> Simplify. There is no need to have a method to just call another method.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130175 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
c556ef293692cf4cb40e11e816656ac23e5567db 24-Apr-2011 Jay Foad <jay.foad@gmail.com> PR9214: Convert the DIBuilder API to use ArrayRef.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130086 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
120bf32525829be4622fc85b67e38b2ff0276744 23-Apr-2011 Devang Patel <dpatel@apple.com> Tie debug information for method declaration with debug information for method definition.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130037 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
0ebce0e15ad5cb0f3e346b35643c7f054a23c6b0 22-Apr-2011 Ken Dyck <kd@kendyck.com> Eliminate some literal 8s from EmitDeclare by converting to CharUnits. No
change in functionality intended.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129999 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
573be633903ecae1f75aeb762f68963379d5ae43 22-Apr-2011 Ken Dyck <kd@kendyck.com> Use CharUnits to eliminate some literal 8s in
EmitTypeForVarWithBlocksAttr(). No change in functionality intended.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129998 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
1f15c19005861b77cc52c14a3b294c6908b603bd 18-Apr-2011 Devang Patel <dpatel@apple.com> Fix typo in comment.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129703 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
10292cc239df9f78ff76ef1e4476fadead971709 17-Apr-2011 Eli Friedman <eli.friedman@gmail.com> Hack to turn the valgrind buildbot green, until Devang can address it
properly.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129657 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
90c1eedd060b33946a0c3ed7d25b6ae435c4aac9 16-Apr-2011 Devang Patel <dpatel@apple.com> Emit proper selector name in debug info.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129626 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
fa936d8304a014f0d0a8382183fb3370ced3bc0a 16-Apr-2011 Devang Patel <dpatel@apple.com> Emit debug info for Objective-C properties.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129625 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
3894c073fea642d54237d83e94be8797d0b54151 09-Apr-2011 Nick Lewycky <nicholas@mxc.ca> Apply explicit braces to avoid ambiguous 'else' [-Wparentheses]


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129176 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
6cf37dd1fd7280dbe4208bab7169ccafc816c768 08-Apr-2011 Devang Patel <dpatel@apple.com> Do not use zero as an upper bound for unbounded array because upper bound zero also indicates one element array.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129157 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
14c65ca4cd914f3090d7eedb9bff4deb0ffc7927 07-Apr-2011 Ken Dyck <kd@kendyck.com> [Reapply r128776, modified so that it does not break debug info.]

Change the return type of CodeGenVTables::getVirtualBaseOffsetOffset() to
CharUnits. No change in functionality intended.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
ddd72ac675d0d7ecc1172fa5c98ab846f983103c 06-Apr-2011 Devang Patel <dpatel@apple.com> Simplify.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128957 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
5ecb1dfb303c58138fdabeea00e73bee075b21ee 06-Apr-2011 Devang Patel <dpatel@apple.com> Emit debug info for function template parameters.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128948 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
89054fb972f5f93a6d29a6701f8ad4a5d38030d4 05-Apr-2011 Devang Patel <dpatel@apple.com> Remove unintentional check-in.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128928 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
12e6d838e22be421b8870b0b3d4069569ee669a5 05-Apr-2011 Devang Patel <dpatel@apple.com> Fix typo.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128921 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
c5ce297007527038884673d6eb9d174ae036f586 05-Apr-2011 Devang Patel <dpatel@apple.com> Use TemplateParameterList to extract template parameter name.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128915 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
9c1714ba3d668b6519f8211927976d777d716b95 05-Apr-2011 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128893 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
ab868e2b409e73516dd83c44e1a32c122c460757 05-Apr-2011 Devang Patel <dpatel@apple.com> Eliminate conservative check that is covered by isIncompleteType() check.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128857 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
ba690a4112be4f0abde48ce51d41e92c79f96f3e 05-Apr-2011 Devang Patel <dpatel@apple.com> Incomplete type does not have any size.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128855 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
62c117db25cf7142e149fce82d2b3caa1237674c 04-Apr-2011 Devang Patel <dpatel@apple.com> Revert r128770, r128771, r128773 and r128776 for now. It breaks debug info.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128842 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
4fbabd37fd107e0e477b45146499d38a77bf9335 02-Apr-2011 Ken Dyck <kd@kendyck.com> Change the return type of CodeGenVTables::getVirtualBaseOffsetOffset() to
CharUnits. No change in functionality intended.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128776 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
ae503df62bde42440a9c4495d26d6142c4af7bcb 01-Apr-2011 Devang Patel <dpatel@apple.com> Do not try calculate the size of forward-declared template type array.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128725 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
e80d56771736c85fd8365c394a6731923b17e91d 23-Mar-2011 Devang Patel <dpatel@apple.com> Update type cache when a type is completed.
Radar 9168773


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128150 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
207f4d8543529221932af82836016a2ef066c917 18-Mar-2011 Peter Collingbourne <peter@pcc.me.uk> Add support for language-specific address spaces. On top of that,
add support for the OpenCL __private, __local, __constant and
__global address spaces, as well as the __read_only, _read_write and
__write_only image access specifiers. Patch originally by ARM;
language-specific address space support by myself.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127915 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
ebc327977645f03e12aaeba82f7f53299e47ad3a 06-Mar-2011 Anders Carlsson <andersca@mac.com> Correctly unwrap 'auto' types. Fixes PR9414.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127121 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
14aa2175416f79ef17811282afbf425f87d54ebf 04-Mar-2011 John McCall <rjmccall@apple.com> Make AttributedTypes for GC-qualified types and fix some miscellaneous
bugs with such types. Not sure this is quite how I want the desugaring
and a.k.a. logic to go, but it suffices.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126986 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
093ac461b37a573dcf226fa55faed96f318169b9 03-Mar-2011 Devang Patel <dpatel@apple.com> Encode argument numbering in debug info so that code generator can emit them in order.
This fixes few blocks.exp regressions.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126960 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
41ba26701de859128ebe48a957c286e5dc01475f 02-Mar-2011 Devang Patel <dpatel@apple.com> revert r126858.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126874 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
810b07ccf7b19f532402d24064df543bb0518acd 02-Mar-2011 Devang Patel <dpatel@apple.com> Encode argument numbering in debug info so that code generator can emit them in order.
This fixes few blocks.exp regressions.

Reapply r126795 with a fix (one character change) for gdb testsuite regressions.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126858 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
3da5cb2d6e582ab3acb5dd0d2fd8ab31922750be 02-Mar-2011 Devang Patel <dpatel@apple.com> Revert r126794.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126848 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d113a6fb6d09778bfc2e6edfd7c8b978a366f013 02-Mar-2011 John McCall <rjmccall@apple.com> Hack in something so that we emit better debug information about
captured __block variables in the block-literal type.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126834 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
8a04585eba8a87a660c9030c9cdef34c8c9f85c6 01-Mar-2011 Devang Patel <dpatel@apple.com> Encode argument numbering in debug info so that code generator can emit them in order.
This fixes few blocks.exp regressions.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126795 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
5c5b5878d88767500e06a114c53434e637bbba6b 28-Feb-2011 Devang Patel <dpatel@apple.com> Use single code path to handle c++ structs and classes while generating debug info.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126691 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
8178df3b39ab923ff5d24538812628abee33df79 22-Feb-2011 John McCall <rjmccall@apple.com> Emit the structure layout of the block literal parameter to a block
invocation function into the debug info. Rather than faking up a class,
which is tricky because of the custom layout we do, we just emit a struct
directly from the layout information we've already got.

Also, don't emit an unnecessarily parameter alloca for this "variable".



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126255 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
16674e887bf0c40e29975f6258a3a2fa096ea45d 22-Feb-2011 Devang Patel <dpatel@apple.com> Use LLVM coding standard.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126232 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
34b41d939a1328f484511c6002ba2456db879a29 20-Feb-2011 Richard Smith <richard-llvm@metafoo.co.uk> Implement the C++0x deduced 'auto' feature.

This fixes PR 8738, 9060 and 9132.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126069 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
4a4e2efb908b17e79d95b5b4fccf58b4cd1dddb1 19-Feb-2011 Devang Patel <dpatel@apple.com> Start using enums from DIBuilder.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125990 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
bb6f54833cda9197511678d078f7d95d8da6f27e 16-Feb-2011 Devang Patel <dpatel@apple.com> If preprocessed token introduced empty filename then use main translation unit's filename for debug info entries.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125672 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
34753802931fddcf57bd62c5b83bdca1a23017d7 16-Feb-2011 Devang Patel <dpatel@apple.com> Simplify test to check an aggregate argument that has non trivial constructor or destructor.
This patch rewrites r125142.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
6354d68cbbbda2ede44f68bb2cfe0f31795e8844 16-Feb-2011 Devang Patel <dpatel@apple.com> Only c++ class arguments with non trivial constructor or destructor needs a reference.
C struct arguments do not need this adjustment.
This fixes 7 failures in callfuncs.exp from gdb testsuite.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125615 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
0691f93ac23978e2b28b031e5c4a0b3c6dc94798 10-Feb-2011 Devang Patel <dpatel@apple.com> If an aggregate is returned as 'sret' argument then let debugger know about this.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125249 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
eb4c45b383b4a8f69d23e4b9cfb6dd3e6f8ff641 09-Feb-2011 Devang Patel <dpatel@apple.com> Do not emit AT_MIPS_linkage_name for Objective-C method static variable i.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
6e108ced4a5f199d0f5da09344df2c03caa4b667 09-Feb-2011 Devang Patel <dpatel@apple.com> Emit debug info for objc_selector.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125163 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
570729e71654f0564bf2ce6504f8629a96850914 09-Feb-2011 Devang Patel <dpatel@apple.com> If an aggregate argument is passed indirectly because it has non trivial
destructor or copy constructor than let debug info know about it.

Radar 8945514.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125142 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d16c2cf1cafa413709aa487cbbd5dc392f1ba1ff 08-Feb-2011 John McCall <rjmccall@apple.com> Reorganize CodeGen{Function,Module} to eliminate the unfortunate
Block{Function,Module} base class. Minor other refactorings.

Fixed a few address-space bugs while I was there.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125085 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
6b5a61b6dc400027fd793dcadceeb9da944a37ea 07-Feb-2011 John McCall <rjmccall@apple.com> A few more tweaks to the blocks AST representation:
- BlockDeclRefExprs always store VarDecls
- BDREs no longer store copy expressions
- BlockDecls now store a list of captured variables, information about
how they're captured, and a copy expression if necessary

With that in hand, change IR generation to use the captures data in
blocks instead of walking the block independently.

Additionally, optimize block layout by emitting fields in descending
alignment order, with a heuristic for filling in words when alignment
of the end of the block header is insufficient for the most aligned
field.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125005 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
0ce34c6ba0aa79708a62179c0fdf96891b62b5dc 02-Feb-2011 Devang Patel <dpatel@apple.com> Emit debug info for template value parameters.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124756 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
fa275dfad7c4eb053ffef423a863afbe15534476 02-Feb-2011 Devang Patel <dpatel@apple.com> Emit debug info for template type parameters.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124753 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
36b8ee6325b709dd301681fb281b6cf102a5e51a 22-Jan-2011 Douglas Gregor <dgregor@apple.com> Debug info generation for rvalue references

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124020 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
f4c7371fb1d3cebcfb40abad4537bb82515704ea 19-Jan-2011 John McCall <rjmccall@apple.com> Change QualType::getTypePtr() to return a const pointer, then change a
thousand other things which were (generally inadvertantly) relying on that.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123814 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
31f7d02f0d46207b077f9687fbfbf273dda4d5f5 17-Jan-2011 Devang Patel <dpatel@apple.com> Simplify.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123682 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
b1fd0eb8abe0b972ab793edab1d6f5e976217178 11-Jan-2011 Devang Patel <dpatel@apple.com> Fix debug info for __block variable referenced outside of block.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123199 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
9d156a7b1b2771e191f2f5a45a7b7a694129463b 06-Jan-2011 John McCall <rjmccall@apple.com> Introduce an AttributedType, but don't actually use it anywhere yet.
The initial TreeTransform is a cop-out, but it's more-or-less equivalent
to what we were doing before, or rather what we're doing now and might
eventually stop doing in favor of using this type.
I am simultaneously intrigued by the possibilities of rebuilding a
dependent Attri



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122942 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
075f8f1b6bed4d1b224c74f87508534cc6392ce6 10-Dec-2010 Abramo Bagnara <abramo.bagnara@gmail.com> Added ParenType type node.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121488 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
49f4e1cbd839da27ff4814b4ea6d85a79f786cbd 10-Dec-2010 John McCall <rjmccall@apple.com> It's kindof silly that ExtQuals has an ASTContext&, and we can use that
space better. Remove this reference. To make that work, change some APIs
(most importantly, getDesugaredType()) to take an ASTContext& if they
need to return a QualType. Simultaneously, diminish the need to return a
QualType by introducing some useful APIs on SplitQualType, which is
just a std::pair<const Type *, Qualifiers>.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121478 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
170cef3bff5b5659fac13e13bd824e1d61a64f5d 09-Dec-2010 Devang Patel <dpatel@apple.com> Remove unused parameter. getContextDescriptor() and getOrCreateNameSpace().


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121333 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
344ff5d3dee44490abd7f4e767dd7b99c2050780 09-Dec-2010 Devang Patel <dpatel@apple.com> Remove unused parameter.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121326 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
823d8e96cf3ff11775b8beb7f4d817a578972dc4 08-Dec-2010 Devang Patel <dpatel@apple.com> Start using DIBuilder. It provides cleaner interface.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121302 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
a6a28972472d002ea9edd095f966c1eaaa9cb69b 30-Nov-2010 Douglas Gregor <dgregor@apple.com> Harden CGDebugInfo::CreateType() a bit for cases where we couldn't generate type info for its component types

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120401 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
03013fa9a0bf1ef4b907f5fec006c8f4000fdd21 29-Nov-2010 Michael J. Spencer <bigcheesegs@gmail.com> Merge System into Support.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120297 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
c9e814ba193f38a7b08268612248f63beb279bb3 25-Nov-2010 Anders Carlsson <andersca@mac.com> Rename RecordLayout::getPrimaryBaseWasVirtual to isPrimaryBaseVirtual.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120133 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
33e4e70c8c0a17e0ccb7465d96556b077a68ecb1 18-Nov-2010 Argyrios Kyrtzidis <akyrtzi@gmail.com> Refactoring of Diagnostic class.

-Move the stuff of Diagnostic related to creating/querying diagnostic IDs into a new DiagnosticIDs class.
-DiagnosticIDs can be shared among multiple Diagnostics for multiple translation units.
-The rest of the state in Diagnostic object is considered related and tied to one translation unit.
-Have Diagnostic point to the SourceManager that is related with. Diagnostic can now accept just a
SourceLocation instead of a FullSourceLoc.
-Reflect the changes to various interfaces.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119730 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
8c457a8395676692225cd4c90bfb54d430199fdf 11-Nov-2010 Douglas Gregor <dgregor@apple.com> Teach debug-info generation that SourceManager::getPresumedLoc() can
produce an invalid location even when given a valid location, if the
file system has changed underneath us. Recovery more gracefully.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118834 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
910f8008fea79120489a53593fe971b0b8a4a740 08-Nov-2010 Douglas Gregor <dgregor@apple.com> Remove broken support for variadic templates, along with the various
abstractions (e.g., TemplateArgumentListBuilder) that were designed to
support variadic templates. Only a few remnants of variadic templates
remain, in the parser (parsing template type parameter packs), AST
(template type parameter pack bits and TemplateArgument::Pack), and
Sema; these are expected to be used in a future implementation of
variadic templates.

But don't get too excited about that happening now.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118385 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
f1d1d9ad72507a8ef1e97d2dccad8445f035e762 01-Nov-2010 Devang Patel <dpatel@apple.com> Simplify. Builtin types' context is always implied.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117928 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
a14f5979572aa25c03d24750ee4724d2031d4ede 01-Nov-2010 Anders Carlsson <andersca@mac.com> Rename getBaseClassOffset to getBaseClassOffsetInBits and introduce a getBaseClassOffset which returns the offset in CharUnits. Do the same thing for getVBaseClassOffset.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117881 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
f4dd962e6828f790cefc09a5b15bdbd282ebc1ee 29-Oct-2010 Devang Patel <dpatel@apple.com> After processing named unions do not fall through to handle anonymous unions.
This is tested by funcargs.exp in gdb testsuite.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
532105f0257ec73e9bf75a3036bac1b37b5a5643 29-Oct-2010 Devang Patel <dpatel@apple.com> Basic types are language defined builtins. They are always defined at top most level.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117613 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
8c37668762d85ef83e59580bf188ded99179ecc4 28-Oct-2010 Devang Patel <dpatel@apple.com> Directly use NamespaceDecl->getLocation() to find the source file.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117576 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
a2e57698e2af5fd5ff37fde0ea7bcab4761534f3 28-Oct-2010 Devang Patel <dpatel@apple.com> Stay within 80 columns.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117561 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
4bc48877db95b2afd6207fdb54ce271169c994f9 28-Oct-2010 Devang Patel <dpatel@apple.com> Fix context info for enums.
Radar 8595129


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117507 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
33133579550f97f33f05dad257b18b7961ff1ef1 22-Oct-2010 Devang Patel <dpatel@apple.com> Revert unintentional check-in.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117120 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
58faf20b459f33c33f752d6d9ee910e59e0ea1bb 22-Oct-2010 Devang Patel <dpatel@apple.com> Tidy up MIPS_linkage name. Provide it only if it does not match regular name, otherwise it confuses debugger.
This is tested by local.C in llvmgcc testsuite.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117107 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
1a4c93777982210306223e9f92bc30c27625208e 18-Oct-2010 Fariborz Jahanian <fjahanian@apple.com> patch fixes class names missing from method names in debug information for
synthesized property. // rdar: //8498026


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116717 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
5bc794ff3034bad2b231b0841ea6d0a711c4af59 15-Oct-2010 Devang Patel <dpatel@apple.com> Use root non-virtual primary base class, not just immediate primary base class, for AT_containing_type.
This is tested by virtfunc.exp in gdb testsuite.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116535 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
cebbedd237d4560099de3b5b7f7c03a1689b700e 13-Oct-2010 Devang Patel <dpatel@apple.com> Fix debug info for anon union.
This is tested by anon-union.exp.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116372 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
fe8fdba52d89ea72aba6efbb6346394277224db4 12-Oct-2010 Fariborz Jahanian <fjahanian@apple.com> Fixes a typo which caused byte offset in debug info
for ivars to be 0. Fixes pr8353.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116273 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
0692f838794fc8d2d5692dd31209af891c40ebf1 11-Oct-2010 Devang Patel <dpatel@apple.com> Fix debug info for functions whose context is a namespace.
This is tested by namespace.exp in gdb testsuite.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116248 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
189d6ef40eff11b83b2cda941d5ed89a5cef09b2 09-Oct-2010 John McCall <rjmccall@apple.com> Permit constant evaluation of const floating-point variables with
constant initializers.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116138 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
3951e7106c849db72301a1ef05f99511e4818ef0 08-Oct-2010 Devang Patel <dpatel@apple.com> Identify functions with prototype appropriately in debug info.
This is tested by callfuncs.exp in gdb testsuite.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115989 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
af164bbd5acc20c6f20ff4cf11b654c342d31eaa 06-Oct-2010 Devang Patel <dpatel@apple.com> Mark FunctionNoProtoType's argument as unspecified parameters.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115834 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
cdf523ca1fc81c18fccb4757714f7cd27288a580 06-Oct-2010 Devang Patel <dpatel@apple.com> Do not emit subrange for incomplete array type.
This is tested by ptype.exp in gdb testsuite.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115805 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d2829b76a87a70791184b3cac89900d2cda46ce4 06-Oct-2010 Devang Patel <dpatel@apple.com> Remove unused argument.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115789 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d78a01906d2a1edb572a99c11f0901beddbcd8c0 02-Oct-2010 Devang Patel <dpatel@apple.com> Mark explict methods as explict in debug info.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
9747739d0dd3077763100c28a134cc1f332df3d4 01-Oct-2010 Fariborz Jahanian <fjahanian@apple.com> Output debug info. for ivars declared in class
extension and implementation.
Fixes rdar://8493239.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115248 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
c69e1cf04323f2e786d40e8a5ba84e77ee1c6827 30-Sep-2010 Devang Patel <dpatel@apple.com> Introduce -flimit-debug-info.
In this experimental mode try avoiding debug info emission for classes as much as possible. The goal is to reduce size of produced debuginfo without reducing quality of debug info in general. This is a work in progress.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115188 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
aca745b8b2eb58dc149ea7e65dfe133df2b0ab93 30-Sep-2010 Devang Patel <dpatel@apple.com> Attach aritifical attribute with implicit parameters.
Radar 8493141.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115104 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
10a7a6a7ec20179b51544f093aee816a1a41793e 29-Sep-2010 Devang Patel <dpatel@apple.com> Emit method access specifier.
Radar 8490416.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115090 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
e24724893a2f9cb1d660b2e1d5b7b8b899aedb3d 29-Sep-2010 Devang Patel <dpatel@apple.com> Update to reflect DIFactory::CreateSubprogram() interface change from r115084.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115085 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
43228a4f6723856c22c610d70a8d46006ce65902 29-Sep-2010 Devang Patel <dpatel@apple.com> Remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115079 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
3475cfeebe00908af47396d5a055237a0ad7cb8d 21-Sep-2010 Benjamin Kramer <benny.kra@googlemail.com> Adjust for debug info API change.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114438 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
38c9b1765c56406e97510889b465b7885ccb59f3 18-Sep-2010 Gabor Greif <ggreif@gmail.com> do not rely on the implicit-dereference semantics of dyn_cast_or_null

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114281 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
424a5c63bb337926f3a1bfa20cc9f7c944aacbb0 15-Sep-2010 Devang Patel <dpatel@apple.com> While handling change of file, check if _current_ file is already seen or not. If current file is seen then it indicates that end of previous file's lexical scope.
This fixes radar 8396182.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114018 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
52044a2cb6d33705cb69577e5f202e794123ce81 02-Sep-2010 David Chisnall <csdavec@swan.ac.uk> Tidy up last commit, as per Devang's comments.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112840 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
70b9b448efbebddddb3faa3a68b31ee1682bcd5c 02-Sep-2010 David Chisnall <csdavec@swan.ac.uk> Use the unmangled name for the display name in Objective-C debug info. This should have no effect with the Mac runtime where clang (unlike GCC) uses the display name symbol name.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112833 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
2ed8f000869103b1adc05d6bc4c635604b6e66a7 27-Aug-2010 Devang Patel <dpatel@apple.com> Debug info for friends!
Patch originally by Alexander Herz.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112275 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
ffc52e78a27564d0512d42ed5c98a5588cf906b5 24-Aug-2010 Devang Patel <dpatel@apple.com> Fix enum size and align. Tested by setvar.exp in gdb testsuite.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111936 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
19f1983c425ccf2b66b5e301daaef6086108d917 24-Aug-2010 Daniel Dunbar <daniel@zuster.org> Debug Info: Put full Clang version into the debug info, to make it easier to
identify what version of the compiler was used to build something.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111927 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
6237cea785144d4cdbe2a5e722788e0b4b9b30f9 24-Aug-2010 Devang Patel <dpatel@apple.com> Emit debug info for enum constants.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111852 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
45f7c78ea33e0b1b1575ca6e6f7a094be5f77e32 23-Aug-2010 Dan Gohman <gohman@apple.com> Reinstate the code for emitting an initial debug type for a struct,
to handle the case where the struct is only forward-declared. In
this case, a temporary MDNode is not needed and not desired.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111842 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
a7e6845660f91ec611427e1db842780e1ec12bdb 22-Aug-2010 Eli Friedman <eli.friedman@gmail.com> Detabify.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111768 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
e60586297dbe976653d42f15ef2089a13c64d951 21-Aug-2010 Dan Gohman <gohman@apple.com> Delete an obsolete comment.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111711 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
869683782e0da7a5fb7aca04b681a31d1b7ae355 21-Aug-2010 Dan Gohman <gohman@apple.com> CreateTemporaryType doesn't needs its Context argument.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111688 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
4cac5b48e379a209d87aa9df191e6bb418e44a0f 21-Aug-2010 Dan Gohman <gohman@apple.com> Introduce a new temporary MDNode concept. Temporary MDNodes are
not part of the IR, are not uniqued, and may be safely RAUW'd.
This replaces a variety of alternate mechanisms for achieving
the same effect.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111682 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
dabc3e90cc385214a53064d8c44edbece9891ddf 12-Aug-2010 Devang Patel <dpatel@apple.com> Emit debug info for static const class member.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110885 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
4c4acc0352037528c710d798c0d2bc771a6782ac 10-Aug-2010 Devang Patel <dpatel@apple.com> Simplify


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110716 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
0317ab0f54e7884b072ed359447e078d067fc9e9 10-Aug-2010 Devang Patel <dpatel@apple.com> Do not use DIGlobalVariable to emit debugging information for enums.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110697 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
25c2c8fb9309050612009a6571e2660e75531348 10-Aug-2010 Devang Patel <dpatel@apple.com> Simplify code and add comments, in code that generate debug info for constant integer globals, based on Chris's feedback.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110694 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
8d308384a220c7dc81755c47cdcbdd87dac25d5b 10-Aug-2010 Devang Patel <dpatel@apple.com> Even if a constant's evaluated value is used, emit debug info for the constant variable.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110660 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
05127ca8559d28e1a56742fed3ebecbf711c8a31 29-Jul-2010 Devang Patel <dpatel@apple.com> Override selected builtin names (e.g. "long int" instead of "long") to match names used by gcc in debug info. This makes gdb testsuite happy.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109694 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
c8972c61d13c67e69eb7d992560aac7613eacd37 28-Jul-2010 Devang Patel <dpatel@apple.com> construct debug info for "id" by hand.
Tested by mi1-var-obj.exp in gdb testsuite.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109571 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
58115009ba6406c2a0bcc5a5033592bd5f2fad30 27-Jul-2010 Devang Patel <dpatel@apple.com> Always use current working directory for DW_AT_comp_dir.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109535 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
ac4d13c0cc78a3b28a8af8001e4da6b18fa9029d 27-Jul-2010 Devang Patel <dpatel@apple.com> Reapply 109303.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109507 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
e9b711c39827d7dcba0fc4cb787a4a7395285634 26-Jul-2010 Devang Patel <dpatel@apple.com> Revert 109303.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109426 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
05b0f4195edf62af76795c92703a1d0c0fa936d9 24-Jul-2010 Devang Patel <dpatel@apple.com> Untangle filename/dirname confusion. Store constructed strings on the side. Avoid use of Path.makeAbsolute().

DW_TAG_compile_unit uses two attributes DW_AT_name and DW_AT_comp_dir. Their expected values are:

$ clang foo.c -g
DW_AT_name - foo.c
DW_AT_comp_dir - `pwd`

$ clang one/two/foo.c -g
DW_AT_name - one/two/foo.c
DW_AT_comp_dir - `pwd`

$ clang /tmp/one/foo.c -g
DW_AT_name - /tmp/one/foo.c
DW_AT_comp_dir - empty



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109303 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
6e6bc39acd7a1f05fe8ce562cae643aaa40c31b7 24-Jul-2010 Devang Patel <dpatel@apple.com> Revert r109263.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109284 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
ab2e020d80afb6d8c88515f6a7e9d371dcc6f2e4 23-Jul-2010 Devang Patel <dpatel@apple.com> There is no need to use separate dir name for AT_comp_dir attribute. Using absolute path for filename allows clients to query complete file location info from gdb breakpoints. Save constructed full file name.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109263 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
5a6fbcfd8c15a2296f94a0473a68ec09d429827f 23-Jul-2010 Devang Patel <dpatel@apple.com> Keep track of artificial scopes introduced by line directives. For example,

#line 41 "bar.c"
dummy (1, i);
#line 24 "bar.h"
i = f2 (i);
#line 44 "bar.c"

This is tested by step-line.exp in gdb testsuite.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109189 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
eaf5ee9ba8d46aba90b4e824c04e8ed8affb1bd4 22-Jul-2010 Devang Patel <dpatel@apple.com> ObjCId is special "struct objc_object". Make this explicit in debug info.
This is tested by objc-rbreak.exp in gdb testsuite.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109050 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
ec5ea2bc6d81c2e896ffff64821c7993ee74060e 21-Jul-2010 Devang Patel <dpatel@apple.com> Remove unintended code that was checked in as part of r108916.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108951 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
4d939e64142126b872e39c11dc995aa993f137fe 21-Jul-2010 Devang Patel <dpatel@apple.com> Remove unused argument.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108946 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
700a1cb1d207e660fcd9c234cccfc78553f06802 20-Jul-2010 Devang Patel <dpatel@apple.com> Print template argument names for template class.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108916 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
257d1d360282ad075f762991707f07525e898758 20-Jul-2010 Stuart Hastings <stuart@apple.com> Correct line info for declarations/definitions. Radar 8063111.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108785 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
15a3d7df1ad667c6c09e34def34d546124c9efac 16-Jul-2010 Devang Patel <dpatel@apple.com> Set "optimization is ON" and supply other optional parameters. This helps codegenerator preserve info in case the symbol is deleted.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108471 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
4089491e354a8718f3953b0ef72da0ad6ca98d89 16-Jul-2010 Devang Patel <dpatel@apple.com> Mark implementation generated methods as artificial.
Tested by namespace.exp and virtfunc.exp from gdb testsuite.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108468 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
db30c0f5cfcda4483bf4d2a02d6a94289984a4a9 15-Jul-2010 Devang Patel <dpatel@apple.com> Revert 108220 and subsequent patch.
This is not required (I am not 100% sure why) but method.exp from gdb testsuite flagged regression due to this patch.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108434 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
2ecebc2232d73efa80dd65bb176053f98899d069 13-Jul-2010 Devang Patel <dpatel@apple.com> Add volatile qualifiers for "this".


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108245 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
769640e30d1e8ec2a6667daff1c2d0a28811138b 13-Jul-2010 Devang Patel <dpatel@apple.com> const qualify debug info for "this" for const methods.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108220 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
a5c5babb9974aaf07568e90086af52b91edc2c16 13-Jul-2010 Devang Patel <dpatel@apple.com> While collecting members for a class, always create delcaration entry for methods. Debug info for method definition will be generated while generating code for method body.
Tested by classes.exp in gdb testsuite.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108205 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
0b89799b6fdc6bf88f4800bd0801fe6ed5dffc59 08-Jul-2010 Devang Patel <dpatel@apple.com> Handle forward declarations properly in debug info.
Patch by Alexander Kabaev.
PR 7595.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107900 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
9a20d55807cc2f6534a9c51a46cc8143ed16786d 22-Jun-2010 Anders Carlsson <andersca@mac.com> Switch over to the new caching version of getMangledName.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106549 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
06057cef0bcd7804e80f3ce2bbe352178396c715 16-Jun-2010 Chandler Carruth <chandlerc@gmail.com> Move CodeGenOptions.h *back* into Frontend. This should have been done when the
dependency edge was reversed such that CodeGen depends on Frontend.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106065 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
44eeebaa53c0137447f9bac5f55755e480d59597 05-Jun-2010 Devang Patel <dpatel@apple.com> Preserve type info for local variables in optimized builds.
llvm-gcc enabled this couple of weeks ago.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105516 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
c12c5bba6ceb6acd4e51e7a0fc03257da9cfd44e 15-May-2010 John McCall <rjmccall@apple.com> Substantially alter the design of the Objective C type AST by introducing
ObjCObjectType, which is basically just a pair of
one of {primitive-id, primitive-Class, user-defined @class}
with
a list of protocols.
An ObjCObjectPointerType is therefore just a pointer which always points to
one of these types (possibly sugared). ObjCInterfaceType is now just a kind
of ObjCObjectType which happens to not carry any protocols.

Alter a rather large number of use sites to use ObjCObjectType instead of
ObjCInterfaceType. Store an ObjCInterfaceType as a pointer on the decl rather
than hashing them in a FoldingSet. Remove some number of methods that are no
longer used, at least after this patch.

By simplifying ObjCObjectPointerType, we are now able to easily remove and apply
pointers to Objective-C types, which is crucial for a certain kind of ObjC++
metaprogramming common in WebKit.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103870 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
0fd3d1f5664149f0a6b62fc847eeabf4d8659360 14-May-2010 Devang Patel <dpatel@apple.com> Fix thinko in yesterday's fix.
Providing linkage name for function static variable confuses gdb, so don't do that.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
8b90a7804b15b0d203650df123fb236b86da8cc0 14-May-2010 Devang Patel <dpatel@apple.com> Fix context in class static variable's debugging information entry.
This fixes bunch of failures in gdb testsuite.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103745 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
8ab870d34f02921e117e61de9ef7e78548635655 13-May-2010 Devang Patel <dpatel@apple.com> If given location is invalid then use current location.
This fixes recent regressions reported by gdb testsuite.
Tighter verification of debug info generated by FE found these regressions.

Refactor code to extract line number and column number from SourceLocation.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
465d41b92b2c862f3062c412a0538db65c6a2661 11-May-2010 Abramo Bagnara <abramo.bagnara@gmail.com> Merged Elaborated and QualifiedName types.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103517 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
f8e10a5d408b59946ce66edbaba251f0c6f16d60 11-May-2010 Devang Patel <dpatel@apple.com> Initialize Column.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103448 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
258cf2766859f706bcd231a48593fbb6a1a1d0fe 10-May-2010 Devang Patel <dpatel@apple.com> If variable location is invalid then use current location.
This fixes radar 7959934.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103408 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
f4e54a2ddf50d81cb761be12ec1381a9f77a9ea9 08-May-2010 Devang Patel <dpatel@apple.com> If there is not any debug info for type then do not emit debug info for this variable.
A recent change to tightly verify debug info prepared by FE caught this.
This fixes unittest build.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103320 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
ab699798f72225f1735b60b35a7db7c8022c50c6 07-May-2010 Devang Patel <dpatel@apple.com> Avoid use of DIDescriptor::getNode(). Use overloaded operators instead.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103273 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
5f970eee81372dfc6a1457c3d6d052af04e32a38 04-May-2010 Douglas Gregor <dgregor@apple.com> When instantiating a function that was declared via a typedef, e.g.,

typedef int functype(int, int);
functype func;

also instantiate the synthesized function parameters for the resulting
function declaration.

With this change, Boost.Wave builds and passes all of its regression
tests.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103025 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
5d822f06e84196c8bf80641d793d35e8cc7adb0e 29-Apr-2010 Devang Patel <dpatel@apple.com> Use clang::VarDecl name instead of llvm::GlobalVariable name.
llvm::GLobalVariable name may not match user visibile name for function static variables.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102644 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
31f17ecbef57b5679c017c375db330546b7b5145 27-Apr-2010 John McCall <rjmccall@apple.com> Make the InjectedClassNameType the canonical type of the current instantiation
of a class template or class template partial specialization. That is to
say, in
template <class T> class A { ... };
or
template <class T> class B<const T*> { ... };
make 'A<T>' and 'B<const T*>' sugar for the corresponding InjectedClassNameType
when written inside the appropriate context. This allows us to track the
current instantiation appropriately even inside AST routines. It also allows
us to compute a DeclContext for a type much more efficiently, at some extra
cost every time we write a template specialization (which can be optimized,
but I've left it simple in this patch).



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
2b594b9b62e914770d736cc51a18598202d90945 27-Apr-2010 Devang Patel <dpatel@apple.com> Enable debug info for local variables at -O1+.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102398 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d3651cc24fbcffd8f187c82e6a91e6e3de7fe26e 24-Apr-2010 Benjamin Kramer <benny.kra@googlemail.com> Fix pasto, add a comment.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102263 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
48c70f62dd7233a0ce5242dfb933b0d4638b3923 24-Apr-2010 Benjamin Kramer <benny.kra@googlemail.com> Factor code. No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102262 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
970c618c3f9ce7e010a30587118afc03434cfd99 24-Apr-2010 Devang Patel <dpatel@apple.com> Revert accidental check-in.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102226 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
f0bf4d554f2513cbb4bec952c81ced59279ad91e 24-Apr-2010 Devang Patel <dpatel@apple.com> Revert r102215. This causes clang crash while compiling a test case from gdb testsuite.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102224 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
71f4ff62bcff31c67808adb08691103b469ce9be 22-Apr-2010 Devang Patel <dpatel@apple.com> Encode field accessibility.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102033 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
046c294a43024874ff35656c6e785b64e72f1f36 17-Apr-2010 Anders Carlsson <andersca@mac.com> Vtable -> VTable renames across the board.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101666 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
4800ea6ff8017cf803c32a5fd63b94c0614014e3 05-Apr-2010 Devang Patel <dpatel@apple.com> Emit debug info for objc getters and setters.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100462 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
e541d01cc886e4a3c16c98ee7d9921757727adf1 02-Apr-2010 Chris Lattner <sabre@nondot.org> NewDebugLoc got renamed to DebugLoc.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100219 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
c60346388d60b1756f3675dabb60dc58da0728ec 01-Apr-2010 Chris Lattner <sabre@nondot.org> adjust to IRBuilder change and use faster DebugLoc apis.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100093 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
aaa210cf82141968b59eff28ae448d0e383c46a3 31-Mar-2010 Chris Lattner <sabre@nondot.org> use the new optimized debug info metadata accessors. In
addition to the inherent win, this eliminates the pointless
cost of going through the name -> mdkind stringmap that we
were paying.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99983 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
ad4688669579d5d7b025137a095be66936d7ea31 30-Mar-2010 Benjamin Kramer <benny.kra@googlemail.com> Replace some constant-sized SmallVectors.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99884 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
9c25039c4b93faf9cd09b62d41552cc3c5986d12 30-Mar-2010 Ted Kremenek <kremenek@apple.com> Cache results computed by CGDebugInfo::getOrCreateFile() in a DenseMap.
This reduces '-c -g' time on one file in 403.gcc by 12%.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99857 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
590838badd46e0559a6b709857fb87530e546276 29-Mar-2010 Ted Kremenek <kremenek@apple.com> Change 'TypeCache' from being an std::map to a llvm::DenseMap. This reduces codegen time
on one .i file from 403.gcc by 0.5%.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99823 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
af4403545a50a60d208e6fcae057308d576a92e0 23-Mar-2010 Anders Carlsson <andersca@mac.com> Rename CGVtableInfo to CodeGenVTables in preparation of adding another VTableInfo class.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99250 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
f6728fcbec62be94469a6e80c7e7e32e3f2c3329 22-Mar-2010 Douglas Gregor <dgregor@apple.com> Comment the reasons for the strange little dance we do with the main file name for debug information

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99215 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
f746aa6a8f538be914173a4aef2d9a2fd9f99d17 20-Mar-2010 John McCall <rjmccall@apple.com> Change CodeGenModule to rely on the Module's symbol table instead of
shadowing it in the GlobalDeclMap. Eliminates the string-uniquing
requirement for mangled names, which should help C++ codegen times a little.
Forces us to do string lookups instead of pointer lookups, which might hurt
codegen times a little across the board. We'll see how it plays out.

Removing the string-uniquing requirement implicitly fixes any bugs like
PR6635 which arose from the fact that we had multiple uniquing tables for
different kinds of identifiers.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99012 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
f7ad50026074776bde13fdf790bcf2f647904f1b 19-Mar-2010 Douglas Gregor <dgregor@apple.com> Try to improve computation of the main file name for debug
information, to address recent gdb failures.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98959 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
ac91b4c7063615da6797031f5ac46a906e6b8166 19-Mar-2010 Douglas Gregor <dgregor@apple.com> For debug information, get the main file name from the source manager
rather than from the -main-file-name flag, since the source manager
has proper path information. Fixes <rdar://problem/7769538>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98898 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
fea3d4dd1a0cebafba7d85cfcb1724b644e2b8e2 13-Mar-2010 Benjamin Kramer <benny.kra@googlemail.com> Use raw_ostream instead of sprintf.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98438 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
22fe585bd689c2ff64af193e207901aba14cadd5 12-Mar-2010 Devang Patel <dpatel@apple.com> If main file name is empty then use "<unknown>".


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98385 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
e4c1ea0c23ce994e5d8084c6a9d41b18c803fcf3 11-Mar-2010 Devang Patel <dpatel@apple.com> Keep track of Record context to ensure that record elements are properly nested in debug info.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98283 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
bba16079eed1f3c8cd141685ecfaec9e78e07e35 11-Mar-2010 Anders Carlsson <andersca@mac.com> Rename getVirtualBaseOffsetIndex to getVirtualBaseOffsetOffset to reflect what it actually does.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98248 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
3cb0ebd5f76abcb776f7cb4062bd79e3268c0dc4 10-Mar-2010 John McCall <rjmccall@apple.com> Create a new InjectedClassNameType to represent bare-word references to the
injected class name of a class template or class template partial specialization.
This is a non-canonical type; the canonical type is still a template
specialization type. This becomes the TypeForDecl of the pattern declaration,
which cleans up some amount of code (and complicates some other parts, but
whatever).

Fixes PR6326 and probably a few others, primarily by re-establishing a few
invariants about TypeLoc sizes.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98134 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
f33837022e000c383527fa560d4b5381b6563fcd 10-Mar-2010 Devang Patel <dpatel@apple.com> Use SmallString instead of alloca.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98112 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d58562e84f54f0d2c9f2cd0f8b589201f3add2ec 09-Mar-2010 Devang Patel <dpatel@apple.com> Fix file reference for derived and composite types. Now, dwarf writer uses strict verifier that ignores debug info for such types if their file info is unknown.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98096 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
7573f8b2f90ef65a253f7355fc466c93f0bc9832 09-Mar-2010 Devang Patel <dpatel@apple.com> More then one anonymous aggregates on one line creates chaos when MDNode uniquness is combined with RAUW operation. Right solution is to avoid using RAUW.

This fixes PR 6554.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98083 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
683f6db0b7f0475123f66887f333c40fb2d791a2 09-Mar-2010 Devang Patel <dpatel@apple.com> Use getLast() instead of getBasename().



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
1780055f6dacd44ae9bd896c47a6424470b3ea2b 09-Mar-2010 Devang Patel <dpatel@apple.com> Start using DIFile. Corresponding llvm patch is r98020.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98021 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
0804e6e0ad2862826497677a4c26c6a9d7c3d66c 08-Mar-2010 Devang Patel <dpatel@apple.com> Avoid using DIDescriptor.isNull().



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97976 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
dd7b0d5d2763be1061cc99ca3e55a99cdee70816 08-Mar-2010 Devang Patel <dpatel@apple.com> Revert r97949.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97964 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
ff03ab10bde75a142a944cbaa5cbf8757fe3e71c 08-Mar-2010 Devang Patel <dpatel@apple.com> Avoid DIDescriptor.isNull() checks.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
67b14f0077d6cc508b933100d601ae8e6524b72f 25-Feb-2010 Sanjiv Gupta <sanjiv.gupta@microchip.com> Targets (like pic16) may have mangled the name of global variables,
so get the name from Var rather than the original decl.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97114 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
70c23cdf12822edbbd04901f80133b2db9728226 23-Feb-2010 Devang Patel <dpatel@apple.com> Emit debug info for VectorType.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96999 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d19429f01a4169b573cafa466dd7a09a51e5fd92 16-Feb-2010 Devang Patel <dpatel@apple.com> Distinguish two lexical blocks at the same level.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96397 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
4835fdd4b14376fcaed71c96df1086151a4c055d 12-Feb-2010 Devang Patel <dpatel@apple.com> Do not ignore anonymous records.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95953 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
4cb159ccc67a2b9814c412a47ca751995f8d3b64 12-Feb-2010 Devang Patel <dpatel@apple.com> Cache new compile unit.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95952 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
952b017601f9c82b51119c3a1600f1312a833db9 11-Feb-2010 Douglas Gregor <dgregor@apple.com> Eliminate the ASTContext parameter from RecordDecl::getDefinition()
and CXXRecordDecl::getDefinition(); it's totally unnecessary. No
functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95836 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
809b9bb733d6b65883a89eae0cf20c1635cff141 10-Feb-2010 Devang Patel <dpatel@apple.com> Refactor code that generates debug info for variables that has BlocksAttr.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95786 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d263e7bb725c7d7600948c4ea8f38715998e598e 10-Feb-2010 Devang Patel <dpatel@apple.com> Use current location as the location of compiler generated arguments, e.g. self, _cmd etc.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95743 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d5322da6ba08728fe4ee9b14f468961eddc915dc 09-Feb-2010 Devang Patel <dpatel@apple.com> Fix virtual bases' debug info.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
337472dcb74e302717f16bc5a4ef3763228c49e4 09-Feb-2010 Devang Patel <dpatel@apple.com> Mark implicit "this" argument as an artificial argument.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95673 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
ce78c9743aa8272b880a2874393fceff766c3fa3 01-Feb-2010 Devang Patel <dpatel@apple.com> Fix FIXME and surrounding comment.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95023 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
411894b96fdf5a1ae67742b1fdce552802a6a5bb 01-Feb-2010 Devang Patel <dpatel@apple.com> Use appropriate context descriptor in RecordDecl's debug info.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95016 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d6c5a26b331367f4d85de9dfc9f99748057b1ba1 01-Feb-2010 Devang Patel <dpatel@apple.com> Do not use clang type name to name a local variable, e.g. Decl.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95010 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
239cec6179ec419e9e4f83f4a9fe78b6d3276902 01-Feb-2010 Devang Patel <dpatel@apple.com> Do not use clang type name to name a local variable, e.g. Decl.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95009 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
eb6d79b5900f0fa9bcea98de662f2668ebc32623 01-Feb-2010 Devang Patel <dpatel@apple.com> Use DeclContext as getContextDescriptor() argument.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95008 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
abb485f0b58dd3d2da20f9b34f99695899a68cf2 01-Feb-2010 Devang Patel <dpatel@apple.com> Emit debug info for namespaces.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94991 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d528905966546edaabbf90d88c8d754faf961d8a 29-Jan-2010 Devang Patel <dpatel@apple.com> Use appropriate context for typedefs.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94849 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
3dd96a1489498deb03208f7011f48b9f3d7901db 29-Jan-2010 Devang Patel <dpatel@apple.com> Maintain a map of regions (lexical scopes) and use it to find context for a global variable.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94817 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
335830555806629d53c00a80ec3ecb61ead86f03 29-Jan-2010 Devang Patel <dpatel@apple.com> s/CGDebugInfo::getContext/CGDebugInfo::getContextDescriptor/g to avoid confusion.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94760 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
ca7daeddfad1be5a517ff93649af7de8d4c6b50b 28-Jan-2010 Devang Patel <dpatel@apple.com> Fix indentation.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94758 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d774d1e697694f39bdfbea499cd852564cf81107 28-Jan-2010 Devang Patel <dpatel@apple.com> Static methods do not need "this" pointer argument.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94756 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
3064afebf823e3909d19b9cea5c1ddadb1d12b0e 28-Jan-2010 Devang Patel <dpatel@apple.com> Emit base classes info first, as expected by the debugger.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94755 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
89f05f80233082b55aa7a8706c04be7e63ef78b3 28-Jan-2010 Devang Patel <dpatel@apple.com> s/FunctionNames/DebugInfoNames/g


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94753 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
4ce3f2026a8f1422e549089a58aa0a4d1cc76f99 28-Jan-2010 Devang Patel <dpatel@apple.com> Emit vtable info.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
0ac8f31af4a8f669700ab8fcad4ae1afc3517373 28-Jan-2010 Devang Patel <dpatel@apple.com> While emitting debugging infor for a C++ class, identify the holder of class's vtable, if any.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94712 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
a6da192bbb3cb2b99200f60726b78e2d3d1f1598 28-Jan-2010 Devang Patel <dpatel@apple.com> Include "this" pointer argument while emitting debug info for a C++ method.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94710 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
8b752f10c394b140f9ef89e049cbad1a7676fc25 27-Jan-2010 Ken Dyck <ken.dyck@onsemi.com> Change the return type of ASTContext::getDeclAlignInBytes() to CharUnits and,
now that the "InBytes" part of the name is implied by the return type, rename
it to getDeclAlign().



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94681 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
e70d391ed56839841e4ace189d22ae3ee789b044 26-Jan-2010 Anders Carlsson <andersca@mac.com> Fix another debug info crash with virtual bases.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94520 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
4433f1cf8a2704395e509d020d8f79da4e273458 26-Jan-2010 Anders Carlsson <andersca@mac.com> Fix the test I broke, and also fix a crash when declaring a virtual destructor. Add debug info support for pure virtual member functions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94519 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d6f9a0d14b47e7ea9739623544d967682f41b86d 26-Jan-2010 Anders Carlsson <andersca@mac.com> Factor creating the DISubprogram for a member function out into a separate function.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94513 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
bea9b2375a6c5c121dcd83d4f2d544803bacd962 26-Jan-2010 Anders Carlsson <andersca@mac.com> Simplify CGDebugInfo::CollectCXXMemberFunctions a little. More to come.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94511 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
a245c5b36a12e7a879abc038964d0b9821c7e901 26-Jan-2010 Devang Patel <dpatel@apple.com> First cut at emitting inheritance info.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94473 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
c002464ae56bbd069cb0c204ce2b766c7ae5063a 26-Jan-2010 Devang Patel <dpatel@apple.com> Emit debug info for virtual functions.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94467 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
165714e026f96e6014d190f166feecc0b1fb80f8 25-Jan-2010 Chris Lattner <sabre@nondot.org> fix rdar://7556129 a crash in blocks debug info codegen.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94402 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
14b1a363fbc42f3bac7e6a08a5a7bc425d3537bf 25-Jan-2010 Chris Lattner <sabre@nondot.org> simplify code.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94401 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
1b627dc566f9f6fd7b8acfbb47fef4bedab688cf 23-Jan-2010 Benjamin Kramer <benny.kra@googlemail.com> No need to terminate this buffer.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94313 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d0f251b4cd60c9746bbd5ebbed5058cd7769d8c3 21-Jan-2010 Devang Patel <dpatel@apple.com> A Decl->getName() is not unique. However, the debug info descriptors
are uniqued. The debug info descriptor describing record's context is
necessary to keep two Decl's descriptor unique if their name match.

There is more work to do to create descriptors for DeclContext.
As a temp. step use type's name in FwdDecl.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94050 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
6d012768a291a62d901d34f115eca36cbc1a3652 19-Jan-2010 Devang Patel <dpatel@apple.com> Emit human readable names for operators.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93837 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
4125fd20ef7e5ad6436c7b02bbbbe2e82c342c36 19-Jan-2010 Devang Patel <dpatel@apple.com> First cut at emitting debugging information for C++ member functions.
There is lot more work to do in this area.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93836 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
17584204c2f527d4ed06ddb74afdd7622e70545d 19-Jan-2010 Devang Patel <dpatel@apple.com> Use llvm::Function name as the linkage name, but strip off leading '01' from display name.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93822 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
428deb524a262709095d5e5a088e924b9fd47202 19-Jan-2010 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93814 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
0d0d327aeb2c823ce0363a9b584662f9b03c52a6 19-Jan-2010 Devang Patel <dpatel@apple.com> llvm::Function name is the linkage name. If it has a '01' as a prefix then probably there is a reason.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93808 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
3364e626147dd6fc5e33d12cda0eaaa50baf2206 16-Jan-2010 Eli Friedman <eli.friedman@gmail.com> Fix crash generating debug info for constructor for anonymous struct.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93601 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
aa97d7051ed3517c7b64787bcb65ae04e1a52594 14-Jan-2010 Devang Patel <dpatel@apple.com> Emit linkage name even if it matches regular name. The code generator uses linkage name to find subprogram entry for the current function.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
98a200bfe19f4cf255bd3ca0220e2f68e616ee2c 14-Jan-2010 Devang Patel <dpatel@apple.com> Add comment.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93434 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
bca10069a9d5243da33cfc9a471ea239bb49e1b8 14-Jan-2010 Devang Patel <dpatel@apple.com> Because CurLoc is the current source location as far as CGDebugInfo is concerned. It is expected that this is set (usually left bracket location of function body compound statement) before EmitfunctionStart() is used.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93389 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
9c6c3a0e3ae09626d2d4b04e4ffa42c3d7cab32b 14-Jan-2010 Devang Patel <dpatel@apple.com> Emit human readable names for c/c++ functions. Avoid emitting linkage name if it matches regular name.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93383 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
199c3d6cd16aebbb9c7f0d42af9d922c9628bf70 11-Jan-2010 Ken Dyck <ken.dyck@onsemi.com> Roll out ASTContext::getTypeSizeInChars(), replacing instances of
"ASTContext::getTypeSize() / 8". Replace [u]int64_t variables with CharUnits
ones as appropriate.

Also rename RawType, fromRaw(), and getRaw() in CharUnits to QuantityType,
fromQuantity(), and getQuantity() for clarity.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93153 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
f5f7d864f5067d1ea4bff7fcf41b53a43b7b48ba 29-Dec-2009 Anders Carlsson <andersca@mac.com> Get rid of FixedWidthIntType, as suggested by Chris and Eli.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92246 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
23e92c059ccb9ed7bb3129b5ff3c5ecae1b3c256 29-Dec-2009 Chris Lattner <sabre@nondot.org> adjust for llvm api changes.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92236 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d5b8902c0329d80a216803b58dc3b689349a0c11 28-Dec-2009 Chris Lattner <sabre@nondot.org> this form of SetDebugLocation is about to go away, add some #includes that
are about to not come in implicitly.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92228 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
840943d633fa6e1ea25419022f936cc20abb2148 21-Dec-2009 Douglas Gregor <dgregor@apple.com> Improve on my previous fix for debug information. Rather than
recursing in CGDebugInfo::CreateTypeNode, teach
CanonicalizeTypeForDebugInfo---now called UnwrapTypeForDebugInfo---to
keep unwrapping the type until we hit something that can be
represented by debug information. Thanks to Anders for pointing this out!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91840 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
2101a821df49884df6d78d8770400a48ed3c8ef6 21-Dec-2009 Douglas Gregor <dgregor@apple.com> Teach debug info generation to handle TemplateSpecializationType,
ElaboratedType, QualifiedNameType, and SubstTemplateTypeParmType type
nodes. Also, produce an "unsupported" diagnostic for C++0x type nodes
and "typeof" nodes, rather than asserting nondescriptly.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91837 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
f2d8b9f967a1ab53ee9fdbcc3ac0a4ee0a83a26e 18-Dec-2009 Daniel Dunbar <daniel@zuster.org> Add -dwarf-debug-flags, which provides a way to embed the cc1 level options used
to compile a translation unit into the debug info for that file.
- Used by parts of Darwin build process to check compiler flags, etc.
- <rdar://problem/7256886> clang does not emit AT_APPLE_flags

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91661 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
155fd79b3a6dd25fbac1716fa3f8148de1e53c49 08-Dec-2009 Benjamin Kramer <benny.kra@googlemail.com> Use StringRef in CGDebugInfo::EmitFunctionStart.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90856 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
47daf68c15bb80c8feb1d49962a33daa0d228a07 08-Dec-2009 Benjamin Kramer <benny.kra@googlemail.com> Use Path.makeAbsolute() and make a constant std::string a const char*.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90851 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
e3fdca2ee0346a41d9cc5ee417a75e66274216f5 08-Dec-2009 Jeffrey Yasskin <jyasskin@google.com> Remove several .c_str() to be forward-compatible with StringRef.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90822 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
20f12a20ba9cfa6f8d53c8304e24f50903c45184 06-Dec-2009 Anders Carlsson <andersca@mac.com> Add rudimentary support for member pointers to CGDebugInfo.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90711 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
7d065d0f21b35f445cee13730398bc2bec6edff2 29-Nov-2009 Daniel Dunbar <daniel@zuster.org> Move MainFileName option variable into CodeGenOptions instead of LangOptions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90051 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
7362162e635942fc6efa1a5bd63fe734479e0eb6 25-Nov-2009 Devang Patel <dpatel@apple.com> Use StringRef (again) in DebugInfo interface.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89867 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
a4923eb7c4b04d360cb2747641a5e92818edf804 16-Nov-2009 Douglas Gregor <dgregor@apple.com> First part of changes to eliminate problems with cv-qualifiers and
sugared types. The basic problem is that our qualifier accessors
(getQualifiers, getCVRQualifiers, isConstQualified, etc.) only look at
the current QualType and not at any qualifiers that come from sugared
types, meaning that we won't see these qualifiers through, e.g.,
typedefs:

typedef const int CInt;
typedef CInt Self;

Self.isConstQualified() currently returns false!

Various bugs (e.g., PR5383) have cropped up all over the front end due
to such problems. I'm addressing this problem by splitting each
qualifier accessor into two versions:

- the "local" version only returns qualifiers on this particular
QualType instance
- the "normal" version that will eventually combine qualifiers from this
QualType instance with the qualifiers on the canonical type to
produce the full set of qualifiers.

This commit adds the local versions and switches a few callers from
the "normal" version (e.g., isConstQualified) over to the "local"
version (e.g., isLocalConstQualified) when that is the right thing to
do, e.g., because we're printing or serializing the qualifiers. Also,
switch a bunch of

Context.getCanonicalType(T1).getUnqualifiedType() == Context.getCanonicalType(T2).getQualifiedType()

expressions over to

Context.hasSameUnqualifiedType(T1, T2)




git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88969 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
e705641ba59a7eb6b211057865ea894b99c9e602 16-Nov-2009 Devang Patel <dpatel@apple.com> revert r88963.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88965 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
9464ec45f97c2b7dccbac4f5fd5b30d30e2cfc60 16-Nov-2009 Devang Patel <dpatel@apple.com> Use TrackingVH to hold forward decl. This one is for RecordType.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88963 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
14d6365b6d927ec6f42293b05a713e3f2a262677 16-Nov-2009 Eli Friedman <eli.friedman@gmail.com> Parallel fix to r88951: use TrackingVH to hold forward decl.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88962 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
1468ac71124bc689d95e07a048505a21e8980269 16-Nov-2009 Eli Friedman <eli.friedman@gmail.com> Fix valgrind uninitialized error.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88952 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
ffffb03de0f6d7e162f461c03d954df50277a476 16-Nov-2009 Devang Patel <dpatel@apple.com> Use TrackingVH to hold forward decl.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88951 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
5b6117a7727565be9fcaf709706c7d720bf191ad 14-Nov-2009 Anders Carlsson <andersca@mac.com> Canonicalize the type before trying to create a debug type.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88808 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
0dd57c6cf8c6f6e4ee1a8e42daccf8ad1bb6fa4a 14-Nov-2009 Anders Carlsson <andersca@mac.com> Have CGDebugInfo::getOrCreateType cache the QualType instead of having every ConvertType overload do it.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88807 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
8fae060d6ef78d4cdd19ebff7dea9c3a566f8b23 13-Nov-2009 Devang Patel <dpatel@apple.com> Do not store DIDescriptor directly into a container. Store MDNode directly, through TrackingVH.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88677 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
23908b8a43adefd42b3635364cfab44de1064942 12-Nov-2009 Devang Patel <dpatel@apple.com> "Attach debug info with llvm instructions" mode was enabled a month ago. Now make it permanent and remove old way of inserting intrinsics to encode debug info for locations and types.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@87007 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
11169adf2114e9e1f40fb9c12b7d99cc91323bdb 12-Nov-2009 Devang Patel <dpatel@apple.com> Use getNameAsCString() instead of getName().data()


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@87001 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
2811ccf48d6d898c42cc4cfad37abedb36236d20 12-Nov-2009 Chandler Carruth <chandlerc@gmail.com> Move CompileOptions -> CodeGenOptions, and sink it into the CodeGen library.
This resolves the layering violation where CodeGen depended on Frontend.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86998 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
ab71ff5cbaf6a4ab1df32221afbb0186c6fbbf0e 12-Nov-2009 Devang Patel <dpatel@apple.com> Do not use StringRef while using DebugInfo interface.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86915 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
ebf16e864de3a535a14f13ed263e37c156496dbb 11-Nov-2009 Devang Patel <dpatel@apple.com> Do not eagerly set stop point for arguments. This misleads the debugger in identifying beginning of function body. Instead, create new location to attach with llvm.dbg.declare. This location is only used to find the context of the variable by the code generator, and it is not used to emit line number info.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86862 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
a0203800ea2f93b2ce00fae24d6deac57617268d 11-Nov-2009 Devang Patel <dpatel@apple.com> Attach location info with llvm.dbg.declare.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86750 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
ba578cb7b25357c479b2b5530546a9f153a525c0 07-Nov-2009 Anders Carlsson <andersca@mac.com> Revert r86315 and add Type::FixedWidthInt to the FIXME cases.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86320 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
e468611c125854a2eff59f699700cdd916737819 07-Nov-2009 Devang Patel <dpatel@apple.com> Do not assert if debug info for certain type is not generated.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86315 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
0284fdc5855c21545c58f0fe8edd5a680e0b29ea 07-Nov-2009 Devang Patel <dpatel@apple.com> Do not emit linkage name for global variables. It confuses gdb, because it picks up AT_MIPS_linkage_name and ignores AT_name.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86308 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
a031b35ba4da13e105a349493f5351014cfb3354 06-Nov-2009 Anders Carlsson <andersca@mac.com> Simplify the debug info code, handle lvalue references and template specializations.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86277 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
ba397fe24468fae6cb46f259a3f946770163bfe2 06-Nov-2009 Anders Carlsson <andersca@mac.com> Handle QualifiedNameType and SubstTemplateTypeParmType types in CGDebugInfo::CreateTypeNode.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86274 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
bfe69955a2efb969839b6d87d7e118044ea3cbb4 06-Nov-2009 Anders Carlsson <andersca@mac.com> Don't assert when trying to generate debug info for vector types. This needs to be fixed eventually...

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86268 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
b93811847d3db2759de44a4746ca257810eeb3ff 06-Nov-2009 Anders Carlsson <andersca@mac.com> Instead of returning a null DIType for unhandled types, assert.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86254 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
2e09db7aa9485a28455efe9759cf1408c1385e18 05-Nov-2009 Devang Patel <dpatel@apple.com> Enable debug info for global variables at -O1+


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86156 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
91cc815ffd13d4a78ae1b5bd617e19dd555de4f4 23-Oct-2009 Mike Stump <mrs@apple.com> Fixup the return type of functions.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84922 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
ca80a5fc5bbc377c2c70901839a3fb37d5716879 20-Oct-2009 Devang Patel <dpatel@apple.com> Do not eagerly cache DITypes because it allows real struct type to be shadowed by forward declared struct type.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
f6a39b71a4d57ef339073277ca0cfe9376268274 20-Oct-2009 Devang Patel <dpatel@apple.com> Encode global variable name in debug info.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84653 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
46a617a792bfab0d9b1e057371ea3b9540802226 16-Oct-2009 John McCall <rjmccall@apple.com> Remove the ConstantArrayType subtypes. This information is preserved in the
TypeLoc records for declarations; it should not be necessary to represent it
directly in the type system.

Please complain if you were using these classes and feel you can't replicate
previous functionality using the TypeLoc API.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84222 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
2d7bc3e59517bf42ae855669c55844d868f4b21a 14-Oct-2009 Sanjiv Gupta <sanjiv.gupta@microchip.com> Few targets like PIC16 mangle the names of global variables, so retrieve the name
from Var itself rather than the decl for DebugInfo metadata.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84102 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
7c173cbcd7830546b4d5ba58559716c096875b0e 13-Oct-2009 Devang Patel <dpatel@apple.com> Encode long double.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83912 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d8945d6ae0b4a40fd73b45dcc729215c5cfe1f5e 09-Oct-2009 Mike Stump <mrs@apple.com> Allow customization for the producer information in the debug output.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
6e461bf75359b4eb2ae59058741c3c8ba898d60f 06-Oct-2009 Devang Patel <dpatel@apple.com> InsertSubprogramStart if ATTACH_DEBUG_INFO_TO_AN_INSN is not defined.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83419 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
bbd9fa4b4a0fea47f94ac3eb4eaf5cc8079defe1 06-Oct-2009 Devang Patel <dpatel@apple.com> Add support to attach debug info to an instruction.
This is not yet enabled.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83399 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
979ec2e5ee9e1a648e13c35510bb1cd437f90d24 06-Oct-2009 Devang Patel <dpatel@apple.com> Set appropriate context for a global variable while emitting debug info.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83352 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
3d363c596d295b38cae765eae510fbc2e7c80e1a 02-Oct-2009 Mike Stump <mrs@apple.com> More magic pixie dust.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83232 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
944e705766490162a5c56b2d4452a8b23f5e632e 02-Oct-2009 Mike Stump <mrs@apple.com> Fix up debug information for block pointers a bit more.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83231 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
b289b3f324eb10d416b87080e39b315f6c17a695 02-Oct-2009 Mike Stump <mrs@apple.com> Implement a FIXME. This improves codegen just a tad.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83221 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
b1a6e687967105bf1e18dfba196d0248e6700a4e 30-Sep-2009 Mike Stump <mrs@apple.com> Improve debugging information for BlockDeclRefExpr. WIP. Given this
scheme, we can switch the previous scheme over to using this code
path. There's a bit of simplifications yet to do as well.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83138 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
a180529e3d5d08dff2e2154d6a33a6c09f6af959 25-Sep-2009 John McCall <rjmccall@apple.com> Fix an infinite loop arising when trying to generate debug information
for a ObjC class with an ivar of weak self type.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82745 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
0953e767ff7817f97b3ab20896b229891eeff45b 24-Sep-2009 John McCall <rjmccall@apple.com> Refactor the representation of qualifiers to bring ExtQualType out of the
Type hierarchy. Demote 'volatile' to extended-qualifier status. Audit our
use of qualifiers and fix a few places that weren't dealing with qualifiers
quite right; many more remain.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82705 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
fd47b31be0f835ea15dc1f9407940980bb50ddcf 22-Sep-2009 Mike Stump <mrs@apple.com> Fix some typos. WIP. Large alignments don't work yet.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82512 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
39605b4eab472a37cec287f9d4663805e60346f3 22-Sep-2009 Mike Stump <mrs@apple.com> Improve debug info generation for __block variables.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82508 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
65f13c3381a31eae8a7219477c37c247ac9838fc 19-Sep-2009 Daniel Dunbar <daniel@zuster.org> Ok, an AssertingVH definitely doesn't work for now because we free our cache after the optimizer may have hacked on the module. Use a WeakVH instead.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82324 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
23e81bae8c91ccd408e31ca472dca25faed85028 19-Sep-2009 Daniel Dunbar <daniel@zuster.org> Switch CGDebugInfo type cache to using an AssertingVH.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82321 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
03faac3b8c85263804ffe501a01eb3da7c5198e9 19-Sep-2009 Daniel Dunbar <daniel@zuster.org> Factor out CGDebugInfo::CreateTypeNode method.
- No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82320 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
5a8621732d9464ad18b39391b1efbcbdb226f7ef 15-Sep-2009 Mike Stump <mrs@apple.com> Be sure to use the correct version instead of inventing the wrong one.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81924 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
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/lib/CodeGen/CGDebugInfo.cpp
7da2431c23ef1ee8acb114e39692246e1801afc2 05-Sep-2009 John McCall <rjmccall@apple.com> Basic support for representing elaborated type specifiers
directly in the AST. The current thinking is to create these
only in C++ mode for efficiency. But for now, they're not being
created at all; patch to follow.

This will let us do things like verify that tags match during
template instantation, as well as signal that an elaborated type
specifier was used for clients that actually care.

Optimally, the TypeLoc hierarchy should be adjusted to carry tag
location information as well.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81057 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
49a8b984474f7f36c53cbd11bb7db6043e9ef1de 01-Sep-2009 Devang Patel <dpatel@apple.com> Rename DIBlock as DILexicalBlock.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80634 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
1bb8a45f7386a23871598d05141a07af03067925 19-Aug-2009 Argyrios Kyrtzidis <akyrtzi@gmail.com> Introduce LocInfoType which is a Sema-specific implementation detail.

This is a Type subclass that can hold a DeclaratorInfo* when we have type source info coming
out of a declarator that we want to preserve. This is used only at the "border" of Parser/Sema for
passing/getting QualTypes, it does not participate in the type system semantics in any way.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79394 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
5a6bfe35051c1c14b63e1fa103c2cc512dab66b8 14-Aug-2009 Devang Patel <dpatel@apple.com> Do now overflow while calulating upper bound for zero sized array.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79043 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
6c1fddf9f2186166daf524682681c6510b069774 27-Jul-2009 Devang Patel <dpatel@apple.com> Use DICompositeType->replaceAllUsesWith()


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77228 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
0ce73f64ca98469856327480f0f3925d59ac409f 22-Jul-2009 Devang Patel <dpatel@apple.com> Use DICompositeType->replaceAllUsesWith().

This requires llvm rev. 76769 or higher.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76770 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
19cc4abea06a9b49e0e16a50d335c064cd723572 18-Jul-2009 Anders Carlsson <andersca@mac.com> Revert r75641.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76327 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
c15cb2af27514ecc879daba9aa01389c5203685d 18-Jul-2009 Steve Naroff <snaroff@apple.com> Remove ObjCQualifiedInterfaceType:-)


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76321 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
6dba432c7b862c2219e5d6e52b0cd188fbf84b01 14-Jul-2009 Devang Patel <dpatel@apple.com> Revert 75648 for now. It is causing test failures.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75684 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
991b515cf1b2dc38eeca67192e3829f955f000c0 14-Jul-2009 Chris Lattner <sabre@nondot.org> [llvm up] adjust to match mainline.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75647 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
3d598a5ab3c8aabce0a03a2f5dea65eee643e5ac 14-Jul-2009 Anders Carlsson <andersca@mac.com> Rename RecordLayout.h to ASTRecordLayout.h

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75641 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
a1a5e8a1604c89d0c9f7ae9d06b8a9ae81e6bb10 14-Jul-2009 Daniel Dunbar <daniel@zuster.org> Revert r75614 which depend on r75610 (for LLVM), which was reverted.

--- Reverse-merging r75614 into '.':
U lib/CodeGen/CGDebugInfo.cpp


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75639 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
127bf318068659471bce3b08c462d2eab6a5e6a5 14-Jul-2009 Chris Lattner <sabre@nondot.org> use new name for method.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75614 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
61b5f3e12c0ab5dd2e8b98bb827855420bb9869b 14-Jul-2009 Devang Patel <dpatel@apple.com> Use LLVM mangler to get mangled name for debug info entry.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75589 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
9df4bb32dfafd963396155df8472904dde6a6827 14-Jul-2009 Daniel Dunbar <daniel@zuster.org> Update debug info generation for ObjCObjectPointer changes.
- Previously this would crash on recursive types, and it was also incorrectly
stripping off a level of indirection.
- I'm not 100% convinced this is all correct, but it should be a monotonic
improvment.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75582 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
fe09eab8095da4d3a3c68441e1566671dc9568d3 13-Jul-2009 Devang Patel <dpatel@apple.com> Update debug info type cache after fwd decl is replaced by real decl.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75473 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
0ae3d60731abb4c75eb9e993f8492527f4e51c70 13-Jul-2009 Devang Patel <dpatel@apple.com> Fix comment.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75471 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
14108da7f7fc059772711e4ffee1322a27b152a7 11-Jul-2009 Steve Naroff <snaroff@apple.com> This patch includes a conceptually simple, but very intrusive/pervasive change.

The idea is to segregate Objective-C "object" pointers from general C pointers (utilizing the recently added ObjCObjectPointerType). The fun starts in Sema::GetTypeForDeclarator(), where "SomeInterface *" is now represented by a single AST node (rather than a PointerType whose Pointee is an ObjCInterfaceType). Since a significant amount of code assumed ObjC object pointers where based on C pointers/structs, this patch is very tedious. It should also explain why it is hard to accomplish this in smaller, self-contained patches.

This patch does most of the "heavy lifting" related to moving from PointerType->ObjCObjectPointerType. It doesn't include all potential "cleanups". The good news is additional cleanups can be done later (some are noted in the code). This patch is so large that I didn't want to include any changes that are purely aesthetic.

By making the ObjC types truly built-in, they are much easier to work with (and require fewer "hacks"). For example, there is no need for ASTContext::isObjCIdStructType() or ASTContext::isObjCClassStructType()! We believe this change (and the follow-up cleanups) will pay dividends over time.

Given the amount of code change, I do expect some fallout from this change (though it does pass all of the clang tests). If you notice any problems, please let us know asap! Thanks.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75314 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
563a03b1338d31c2462def43253a722bc885d384 10-Jul-2009 Anders Carlsson <andersca@mac.com> Fix a problem that Eli noticed, and that Doug helped me fix.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75265 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
7e7eb3da052a6d80ddf2377cab0384c798f73f75 06-Jul-2009 Douglas Gregor <dgregor@apple.com> Keep track of the Expr used to describe the size of an array type,
from Enea Zaffanella!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74831 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
17945a0f64fe03ff6ec0c2146005a87636e3ac12 30-Jun-2009 Argyrios Kyrtzidis <akyrtzi@gmail.com> De-ASTContext-ify DeclContext.

Remove ASTContext parameter from DeclContext's methods. This change cascaded down to other Decl's methods and changes to call sites started "escalating".
Timings using pre-tokenized "cocoa.h" showed only a ~1% increase in time run between and after this commit.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74506 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
e4f2142d00fa5fdb580c4e2413da91882d955381 30-Jun-2009 Chris Lattner <sabre@nondot.org> Key decisions about 'bool' vs '_Bool' to be based on a new flag in langoptions.

This is simple enough, but then I thought it would be nice to make PrintingPolicy
get a LangOptions so that various things can key off "bool" and "C++" independently.
This spiraled out of control. There are many fixme's, but I think things are slightly
better than they were before.

One thing that can be improved: CFG should probably have an ASTContext pointer in it,
which would simplify its clients.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74493 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
72240d78e2510d981e7d986b9a1e50b1e09e10f0 26-Jun-2009 Devang Patel <dpatel@apple.com> Revrt PR4228 fix for now.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
395b475a4474f1c7574d927ad142ca0c7997cbca 24-Jun-2009 Anders Carlsson <andersca@mac.com> Add a DecltypeType type.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74099 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d1b3c2dd5bc1f3103bee6137957aa7c5f8f2f0bc 18-Jun-2009 Steve Naroff <snaroff@apple.com> First step toward fixing <rdar://problem/6613046> refactor clang objc type representation.

Add a type (ObjCObjectPointerType) and remove a type (ObjCQualifiedIdType).

This large/tedious patch is just a first step. Next step is to remove ObjCQualifiedInterfaceType. After that, I will remove the magic TypedefType for 'id' (installed by Sema). This work will enable various simplifications throughout clang (when dealing with ObjC types).

No functionality change.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73649 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
998316908cf1f0d50257dcaf60dc8154a1e294c9 16-Jun-2009 Devang Patel <dpatel@apple.com> It is possible that main input file does not have any symbol with debug info. To handle this edge case, always create main compile unit first.
This fixes PR 4228.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73520 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d249e1d1f1498b81314459ceda19d6ff25c278ad 29-May-2009 Douglas Gregor <dgregor@apple.com> Create a new PrintingPolicy class, which we pass down through the AST
printing logic to help customize the output. For now, we use this
rather than a special flag to suppress the "struct" when printing
"struct X" and to print the Boolean type as "bool" in C++ but "_Bool"
in C.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72590 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
ca308dfd9b2ded10458b95a980b0674896867ebb 26-May-2009 Daniel Dunbar <daniel@zuster.org> Use .data() instead of &...[0].
- Just SmallVectors this time.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72432 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
beaaccd8e2a8748f77b66e2b330fb9136937e14c 21-May-2009 Jay Foad <jay.foad@gmail.com> Use v.data() instead of &v[0] when SmallVector v might be empty.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d86d3361924a89d6c67ddbb3a2307af4008889ab 18-May-2009 Daniel Dunbar <daniel@zuster.org> Debug info: Initialize runtime language field correctly for Objective-C
interface types.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72036 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
9bc093c9309e04ebfff4123790405241513da1b4 14-May-2009 Mike Stump <mrs@apple.com> Enhance debug information for block literals. Radar 6867696


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71763 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
bbd53af03e4c0d055a312521d97126cd86583c30 14-May-2009 Daniel Dunbar <daniel@zuster.org> We need to specify the "linkage name" to the subprogram now that we
emit the correct "display name". I suspect we need more work here, see
FIXME for example.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71761 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
a289393513d32f463a165a4b2990b11f5c6ab959 14-May-2009 Daniel Dunbar <daniel@zuster.org> Make sure not to include the LLVM asm prefix in function names for
debug info.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71736 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d37d9b5bf9dd5addf6d8d3b20c4d828218c99d23 05-May-2009 Chris Lattner <sabre@nondot.org> fix some more cases where we'd emit a file with a line of 0 for implicit
types. In this case, it was objc_selector and objc_class. This fixes
rdar://6852754 - clang sometimes generates incorrect/unknown file/line info for DW_TAG__structure_type dies


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70969 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
9e55b8a8b34ca1f401425cd14a32ba55d4f7aa73 05-May-2009 Chris Lattner <sabre@nondot.org> Do not generate bogus location info for DW_TAG_inheritance
DIEs. We were generating a loc with line of 0 and a file.
These tags do not need locations at all, just remove it.
this fixes rdar://6852792 - Clang generates incorrect (and unnecessary) file and line info for DW_TAG_inheritance dies


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70966 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
650cea9cc5ceb9fbcf8897db0e252e5bdb5c5179 05-May-2009 Chris Lattner <sabre@nondot.org> Fix generated debug info for decls with no location (which include self/_cmd
in ObjC) to not emit file/line location information. Previously
we would output a file with bogus line information. This fixes:
rdar://6852814 - Clang generates incorrect file & line info for automatic/understood formal parameters for objc-programs


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70965 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
3189e4be4f79f22e0e076e21615b9526de529b43 04-May-2009 Eli Friedman <eli.friedman@gmail.com> PR4143: don't crash generating debug info for incomplete enum types.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70825 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
ac7c814d817bbfafd924586b9025f2dffc655708 02-May-2009 Chris Lattner <sabre@nondot.org> When creating a dwarf record type for an objc interface, make sure to propagate
the runtime version number onto it, so that the debugger knows it's an objc
interface, not a C struct. rdar://6848435


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70618 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
b95ee58f6c9838695b1704e879e263aec49bfa88 02-May-2009 Chris Lattner <sabre@nondot.org> capture whether optimizations are enabled or not in debug info


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70617 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
4c2577a31f460afc1f0110b937a250b8e2a1b789 02-May-2009 Chris Lattner <sabre@nondot.org> encode the version of the objc runtime into the dwarf compile unit. rdar://6848435,
several other fixes coming.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70616 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
de13502158c6577aaff251abff30999417dabfe1 28-Apr-2009 Devang Patel <dpatel@apple.com> While generating debug info ignore unnamed fields.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70266 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
9a901bb63990574ff0bcc12ff851d7a71cff8ddb 26-Apr-2009 Eli Friedman <eli.friedman@gmail.com> Remove getIntegerConstantExprValue in favor of using EvaluateAsInt.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70145 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
87de6497f45243fbcef6dac5be6a641ca9331f61 23-Apr-2009 Devang Patel <dpatel@apple.com> Handle corner case where clang-cc is invoked directly to compile preprocessed source file without -main-file-name. In this case, CDDebugInfo is not able identify correct main source file becase SM.isFromMainFile() returns true for locations from header files as well as locations from main source file.
This patch takes conservative approach by not emitting more then one compile unit with isMain bit set.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69902 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
b700377f850a29a4fc8cb3e1b07809ef1afdcce5 23-Apr-2009 Chris Lattner <sabre@nondot.org> implement debug info for _Complex.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69873 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
aa2b5799d2dc2c02f71a19cf846f8fd22ccbf5ef 22-Apr-2009 Chris Lattner <sabre@nondot.org> implement debug info support for id<proto> and interface<proto>


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69784 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
068360e16fa4504a6fb80affebae5c5713629a96 22-Apr-2009 Chris Lattner <sabre@nondot.org> ObjCQualifiedClass is dead, remove it.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69783 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
adb1a6fae75a70bc4572ea1188612e2f9f78bd5e 19-Apr-2009 Chris Lattner <sabre@nondot.org> silence a warning, I need to talk to Devang about this code.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69517 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
4f6fa233be8e7d1d10445c704c8cfb1869ce8c4c 17-Apr-2009 Devang Patel <dpatel@apple.com> Use PresumedLoc to record line number in debug info entries.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69389 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
446c619f37349815a3ccfb703b1ac08684279ae1 17-Apr-2009 Devang Patel <dpatel@apple.com> Appropriately set file name and directory name in debug info compile units.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69387 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
6ab3524f72a6e64aa04973fa9433b5559abb3525 09-Apr-2009 Douglas Gregor <dgregor@apple.com> Propagate the ASTContext to various AST traversal and lookup functions.
No functionality change (really).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68726 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
0f78feaecf91143b498e22cbbf860fd0e40d9671 08-Apr-2009 Devang Patel <dpatel@apple.com> Use presumed location to get line number info.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68630 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
c9abc043af88f90d177a5bd147f627b78ca49fde 08-Apr-2009 Daniel Dunbar <daniel@zuster.org> Make debug info work when using -save-temps.
- This is pretty ugly, but the most obvious solution. Chime in if you
have a nicer one.

- The problem is that with -save-temps, clang-cc has no idea what the
name of the original input file is. However, the user expects to be
able to set breakpoints based on the input file name.

- We support this by providing a new option -main-file-name (similar
to -dumpbase used by gcc) which allows the driver to pass in the
original file name.

- <rdar://problem/6753383> building with clang using --save-temps
gets the compile unit name from the .i file...


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68595 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
03d9f34a96ea28eaa698cc779462a1ce1dc79105 01-Apr-2009 Chris Lattner <sabre@nondot.org> remove ASTContext::buildObjCInterfaceType, which breaks canonical
types. It is no longer needed now that the code generator
re-lays-out interfaces if they are defines after being laid out
from a forward decl.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68194 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
7532dc66648cfe7432c9fe66dec5225f0ab301c6 31-Mar-2009 Douglas Gregor <dgregor@apple.com> Improve the representation of template names in the AST. This
representation handles the various ways in which one can name a
template, including unqualified references ("vector"), qualified
references ("std::vector"), and dependent template names
("MetaFun::template apply").

One immediate effect of this change is that the representation of
nested-name-specifiers in type names for class template
specializations (e.g., std::vector<int>) is more accurate. Rather than
representing std::vector<int> as

std::(vector<int>)

we represent it as

(std::vector)<int>

which more closely follows the C++ grammar.

Additionally, templates are no longer represented as declarations
(DeclPtrTy) in Parse-Sema interactions. Instead, I've introduced a new
OpaquePtr type (TemplateTy) that holds the representation of a
TemplateName. This will simplify the handling of dependent
template-names, once we get there.






git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68074 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
0773903975631a4baa41e495e8654e2f88a6f3dd 28-Mar-2009 Devang Patel <dpatel@apple.com> Do not emit debug information for variables while generating optimized code. The llvm optimizer and code generator are not yet ready to support optimized code debugging.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67876 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
515455ac32e2accac51c33ceaa7e2dd7c36ef3f2 25-Mar-2009 Chris Lattner <sabre@nondot.org> simplify some conditionals, don't copy LangOptions.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67674 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
8d9aefcb479cf2d1a5e397114ed3e22429ab9ac0 24-Mar-2009 Devang Patel <dpatel@apple.com> Encode language.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67650 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
99c20ebfbd7261bc4b92d617ada412b4ffe4f717 20-Mar-2009 Devang Patel <dpatel@apple.com> Fix ivar's size encoding.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67389 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
c20482b10ee4ffcea31f67392743ccdf6df1f7f4 19-Mar-2009 Devang Patel <dpatel@apple.com> Encode ivar access control info.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67267 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
e4e5b054b4917f0ee493bb2fda5b1ec749bfb9a1 19-Mar-2009 Douglas Gregor <dgregor@apple.com> Introduce a representation for types that we referred to via a
qualified name, e.g.,

foo::x

so that we retain the nested-name-specifier as written in the source
code and can reproduce that qualified name when printing the types
back (e.g., in diagnostics). This is PR3493, which won't be complete
until finished the other tasks mentioned near the end of this commit.

The parser's representation of nested-name-specifiers, CXXScopeSpec,
is now a bit fatter, because it needs to contain the scopes that
precede each '::' and keep track of whether the global scoping
operator '::' was at the beginning. For example, we need to keep track
of the leading '::', 'foo', and 'bar' in

::foo::bar::x

The Action's CXXScopeTy * is no longer a DeclContext *. It's now the
opaque version of the new NestedNameSpecifier, which contains a single
component of a nested-name-specifier (either a DeclContext * or a Type
*, bitmangled).

The new sugar type QualifiedNameType composes a sequence of
NestedNameSpecifiers with a representation of the type we're actually
referring to. At present, we only build QualifiedNameType nodes within
Sema::getTypeName. This will be extended to other type-constructing
actions (e.g., ActOnClassTemplateId).

Also on the way: QualifiedDeclRefExprs will also store a sequence of
NestedNameSpecifiers, so that we can print out the property
nested-name-specifier. I expect to also use this for handling
dependent names like Fibonacci<I - 1>::value.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67265 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
ec9b5d510b4068bf6cf87cc8729ee7d5018c2b32 17-Mar-2009 Devang Patel <dpatel@apple.com> Fix struct field's debug info.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67062 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
7c80bd64032e610c0dbd74fc0ef6ea334447f2fd 17-Mar-2009 Sebastian Redl <sebastian.redl@getdesigned.at> Almost complete implementation of rvalue references. One bug, and a few unclear areas. Maybe Doug can shed some light on some of the fixmes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67059 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
fbe899f7143d85f11d16423568fee5ebd99beab1 10-Mar-2009 Devang Patel <dpatel@apple.com> Emit super class debug info.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66580 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
4db4c9cc3e668ab713a5d1a9bad342c939ec61c6 05-Mar-2009 Devang Patel <dpatel@apple.com> Set isMain bit for MainFile.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66120 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
e798706bd20e514fcfeba5a7bd7200392d0e6231 02-Mar-2009 Devang Patel <dpatel@apple.com> Enable Objective-C interface debug info.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65850 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
c1efaecf0373f1a55c5ef4c234357cf726fc0600 28-Feb-2009 Douglas Gregor <dgregor@apple.com> Eliminate CXXRecordType

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65671 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
00524e3c12bf1319121db8fba076b29e13b32dcf 28-Feb-2009 Eli Friedman <eli.friedman@gmail.com> Fix enumeration in switch warnings. No behavior change.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
72564e73277e29f6db3305d1f27ba408abb7ed88 27-Feb-2009 Douglas Gregor <dgregor@apple.com> Create a new TypeNodes.def file that enumerates all of the types,
giving them rough classifications (normal types, never-canonical
types, always-dependent types, abstract type representations) and
making it far easier to make sure that we've hit all of the cases when
decoding types.

Switched some switch() statements on the type class over to using this
mechanism, and filtering out those things we don't care about. For
example, CodeGen should never see always-dependent or non-canonical
types, while debug info generation should never see always-dependent
types. More switch() statements on the type class need to be moved
over to using this approach, so that we'll get warnings when we add a
new type then fail to account for it somewhere in the compiler.

As part of this, some types have been renamed:

TypeOfExpr -> TypeOfExprType
FunctionTypeProto -> FunctionProtoType
FunctionTypeNoProto -> FunctionNoProtoType

There shouldn't be any functionality change...


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65591 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
9ca36b66410f2f9155df9d573f6da3114ac685a2 26-Feb-2009 Devang Patel <dpatel@apple.com> Add support to emit debug info for objective-c interfaces.
(This is not yet used.)


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65573 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
65e99f219a627a31eede53eebfd952d18cf0596a 25-Feb-2009 Devang Patel <dpatel@apple.com> Fix comments.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65423 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
7782022c0c9c4721b097953f49378aa34358cea1 25-Feb-2009 Devang Patel <dpatel@apple.com> If Loc is invalid (e.g. "self" in Objective-C) then use MainFileID's compile unit.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65403 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
f11284ac87daa613bc7b30db9f54bd716d123222 17-Feb-2009 Fariborz Jahanian <fjahanian@apple.com> Renamed ASQualType to ExtQualType to reflect its more
general use; as for, objc2's gc type attributes. No
change in functionality.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64778 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
f8e58d0b94b03d6662d9a9529cee108c64bcd0b2 07-Feb-2009 Daniel Dunbar <daniel@zuster.org> When making dummy file entries, the directory name should also be
non-empty.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63986 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
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/lib/CodeGen/CGDebugInfo.cpp
010d5143800f6dc986f90169a694ccfec3d52038 28-Jan-2009 Nuno Lopes <nunoplopes@sapo.pt> fix PR3427: fix debuginfo for incomplete array types

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63158 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
831570cc6f01ce04bb8e1d3a03944e5d864e5cdd 22-Jan-2009 Daniel Dunbar <daniel@zuster.org> Allow creation of "dummy" compile units for debug information.
- Although gross, this is needed currently to ensure that we produce
well formed debug information (to match pace with the assertions
being added to DebugInfo in LLVM).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62734 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
f4f6f219423a67a969de7b3e0c28bcefdb3c0a10 20-Jan-2009 Daniel Dunbar <daniel@zuster.org> Update for new SourceLocation API.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62556 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
a11d61793341fea195c29a0dab3fbd74f2b39a8c 19-Jan-2009 Chris Lattner <sabre@nondot.org> Rename SourceManager::getCanonicalFileID -> getFileID. There is
no longer such thing as a non-canonical FileID.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62499 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
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/lib/CodeGen/CGDebugInfo.cpp
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/lib/CodeGen/CGDebugInfo.cpp
835c909696ecd1e1f128297089d1def8d1a6f7cd 05-Jan-2009 Anders Carlsson <andersca@mac.com> Generate debug info for VLA types

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61661 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
a4c46df1cd63e06af2a094b68b902a3eb232f056 11-Dec-2008 Douglas Gregor <dgregor@apple.com> Actually distinguish between RecordDecl::field_iterator and RecordDecl::field_const_iterator, propagating the constness down to the FieldDecls.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60883 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
44b4321feab46299d3f5cfd404680884752a0fcf 11-Dec-2008 Douglas Gregor <dgregor@apple.com> Unifies the name-lookup mechanisms used in various parts of the AST
and separates lexical name lookup from qualified name lookup. In
particular:
* Make DeclContext the central data structure for storing and
looking up declarations within existing declarations, e.g., members
of structs/unions/classes, enumerators in C++0x enums, members of
C++ namespaces, and (later) members of Objective-C
interfaces/implementations. DeclContext uses a lazily-constructed
data structure optimized for fast lookup (array for small contexts,
hash table for larger contexts).

* Implement C++ qualified name lookup in terms of lookup into
DeclContext.

* Implement C++ unqualified name lookup in terms of
qualified+unqualified name lookup (since unqualified lookup is not
purely lexical in C++!)

* Limit the use of the chains of declarations stored in
IdentifierInfo to those names declared lexically.

* Eliminate CXXFieldDecl, collapsing its behavior into
FieldDecl. (FieldDecl is now a ScopedDecl).

* Make RecordDecl into a DeclContext and eliminates its
Members/NumMembers fields (since one can just iterate through the
DeclContext to get the fields).



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
4d6e8dd587f6ae0080b0d3acc9ac6a6a02b1ac3b 26-Nov-2008 Anders Carlsson <andersca@mac.com> Convert incomplete array types before emitting debug info for them, fixes PR3134.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60109 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d9d22dd9c94618490dbffb0e2caf222530ca39d3 24-Nov-2008 Chris Lattner <sabre@nondot.org> Rename NamedDecl::getName() to getNameAsString(). Replace a bunch of
uses of getName() with uses of getDeclName(). This upgrades a bunch of
diags to take DeclNames instead of std::strings.

This also tweaks a couple of diagnostics to be cleaner and changes
CheckInitializerTypes/PerformInitializationByConstructor to pass
around DeclarationNames instead of std::strings.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59947 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
8ec03f58c33c33a917f54bb7f2cd61b6d7ffe0ca 24-Nov-2008 Chris Lattner <sabre@nondot.org> Rename NamedDecl::getIdentifierName() to ::getNameAsCString() and make it
assert if the name is not an identifier. Update callers to do the right
thing and avoid this method in unsafe cases. This also fixes an objc
warning that was missing a space, and migrates a couple more to taking
IdentifierInfo and QualTypes instead of std::strings.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59936 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
2e1cd4264d363ca869bf37ef160902f211d21b8c 17-Nov-2008 Douglas Gregor <dgregor@apple.com> Introduction the DeclarationName class, as a single, general method of
representing the names of declarations in the C family of
languages. DeclarationName is used in NamedDecl to store the name of
the declaration (naturally), and ObjCMethodDecl is now a NamedDecl.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59441 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
3cc5c406c436a90c8dd61f545552b844391ebf5b 11-Nov-2008 Chris Lattner <sabre@nondot.org> implement debug info for typeof()



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59032 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
f2528e045c12dd743a83b5141eba36d6aa947cbb 10-Nov-2008 Chris Lattner <sabre@nondot.org> Fix even more bugs in debug info support:
1. emit proper debug info for forward decls of structs.
2. emit DW_TAG_member nodes around members of a field like llvm-gcc does.

This slows down debug info generation, but is required for correctness.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58973 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
9c85ba33ac85bbf5915f300a4b228bad7c693ee7 10-Nov-2008 Chris Lattner <sabre@nondot.org> reimplement debug info generation in terms of DebugInfo.h instead of
using MachineModuleInfo. This runs at about the same speed as the old
code, but fixes a bunch of bugs and is simpler and shorter.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58971 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
960627da5a98e788045b81cb32a7db7290c76c35 08-Nov-2008 Daniel Dunbar <daniel@zuster.org> Avoid redundant cast<>s / simplify type dispatch.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58892 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
d7f6050113598797078f2718bc9f76c3ae35f0df 08-Nov-2008 Daniel Dunbar <daniel@zuster.org> "Fix" PR3021, don't crash on generating record types when we can't
generate the type of a member.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58889 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
45d196b8387dcefc4df26cda114fa34c6528e928 01-Nov-2008 Daniel Dunbar <daniel@zuster.org> Move IRBuilder type definition to common file.
- No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58546 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
9881cf0f09aeada2894b203c854bd12b1babfd5d 31-Oct-2008 Daniel Dunbar <daniel@zuster.org> Debug info: Bug fix, function types should always include the return
type.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58497 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
bea06e4adb9fb7c2372058ee078c18db451b5a07 31-Oct-2008 Daniel Dunbar <daniel@zuster.org> Quick fix for PR2950, infinite loop generating debug info for
recursive types.
- Style will be clean up in further patches.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58490 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
3845f86d05e151ebb89a4d4e110c5cd12ececde9 31-Oct-2008 Daniel Dunbar <daniel@zuster.org> Formatting tweaks.
- No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58488 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
25f51dda883d8b08d99e30fcec3b274599264712 24-Oct-2008 Daniel Dunbar <daniel@zuster.org> Don't crash on invalid source locations in
CGDebugInfo::getOrCreateCompileUnit.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58081 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
2104bf96271cb1b57e2af817acbdf4db63b4b171 24-Oct-2008 Daniel Dunbar <daniel@zuster.org> Map compilation units using FileEntry pointers instead of
FileIDs. This seems better conceptually and lets the SourceManager
handle details of mapping the location to a file ID.
- In practice, fixes an assert because this code wasn't using
getPhysicalLoc.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58055 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
2284ac9ec80299fcdefae9a2787cf85105a0f203 18-Oct-2008 Daniel Dunbar <daniel@zuster.org> Debug info bug fix, function start wasn't getting generated correctly
for Obj-C methods.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57769 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
66031a5594bc9a7dc0dc5137c3e7955f835e4639 17-Oct-2008 Daniel Dunbar <daniel@zuster.org> Change CGDebugInfo::setLocation to just ignore invalid locations. This
simplifies clients.

Also, add assert that RegionStack is empty when the CGDebugInfo is
destroyed.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57684 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
5273f514a1e8dd5f5ebd0f94d2c59f7e0e88a674 17-Oct-2008 Daniel Dunbar <daniel@zuster.org> Quick patch for PR2784, assert genereting debug info for opaque
structure.
- I'm not sure yet about the behavior, but this at least prevents the
crash.

Add some asserts on RegionStack usage.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57661 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
e91593ef084479340582b2ba177b44be50a717b7 11-Aug-2008 Daniel Dunbar <daniel@zuster.org> More #include cleaning
- Drop Expr.h,RecordLayout.h from ASTContext.h (for DeclBase.h and
SourceLocation.h)
- Move ASTContext constructor into implementation


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54627 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
85e356825b291f86c6e926638914222b834b71a3 08-Aug-2008 Chris Lattner <sabre@nondot.org> update to make IRBuilder API change.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54548 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
c63a1f276f7b324fd9a4be82098b1c8f7bf30733 04-Aug-2008 Chris Lattner <sabre@nondot.org> Finally fix PR2189. This makes a fairly invasive but important change to
move getAsArrayType into ASTContext instead of being a method on type.
This is required because getAsArrayType(const AT), where AT is a typedef
for "int[10]" needs to return ArrayType(const int, 10).

Fixing this greatly simplifies getArrayDecayedType, which is a good sign.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54317 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
21cb712be47ec21ffa314d7c9856160fa4de440a 04-Jul-2008 Bill Wendling <isanbard@gmail.com> Remove removed header.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53121 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
58cbd06887c94d98fe4138d15c64db19d36a4af9 27-Jun-2008 Cedric Venet <cedric.venet@laposte.net> Add missing include file (due to a file splitting in llvm).
Add new file to Sema Project for VS.
this unbreak the build for VS2005 (with the associated patch on llvm).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52830 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
9ea5884420683d51446c964a6166704a62e40e56 19-Jun-2008 Mike Stump <mrs@apple.com> Remove tabs.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52507 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
507de85bc1cee904123ef99c58159c97df40a3ae 09-Jun-2008 Sanjiv Gupta <sanjiv.gupta@microchip.com> Generate debug descriptors for array types while generating the debug info.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52140 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
3cd1a2dc07014aa6b675030823690cf06619a745 08-Jun-2008 Nuno Lopes <nunoplopes@sapo.pt> fix compiler warnings

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52089 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
f58c27a64de75b152b54b88a7aee07867aaeda17 07-Jun-2008 Sanjiv Gupta <sanjiv.gupta@microchip.com> Create debug type descriptors for aggregate/enum types.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52070 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
686226b538e72c5059ab7c9a8f87eb883193b645 05-Jun-2008 Sanjiv Gupta <sanjiv.gupta@microchip.com> Emit debug information for global and static variables when -g is specified.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51993 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
cc9b16394fe6c9245dc4f8661a63d0c3937b62f0 30-May-2008 Sanjiv Gupta <sanjiv.gupta@microchip.com> Emit parameter and local variable debug information with -g.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51765 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
32ea35fee916ed73fe343bad2de9a609eb2cca38 29-May-2008 Eli Friedman <eli.friedman@gmail.com> A couple minor fixes to make debug info usable for arbitrary code: don't
emit incomplete types, because they crash llc, and always use the
logical location as the current location so we don't crash doing invalid
queries on CurLoc.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51675 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
1c6a38bcea17801e9a4738753aee845381af2b6c 25-May-2008 Sanjiv Gupta <sanjiv.gupta@microchip.com> Generate subprogram debug info with -g.
Also take care of freeing memory at the right places.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51553 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
3f2af1002249c8acc9ce17f1fc50324864feb8e1 22-May-2008 Eli Friedman <eli.friedman@gmail.com> Make debugging information usable. This is barebones, but it makes -g
actually work (instead of crashing llc), and there's enough info emitted
to get line number information in gdb. This should hopefully be helpful
for debugging non-working programs.

I got rid of the begin/endregion calls because the implementation wasn't
working; someone who knows the debugging info a bit better might try to
add it. I really have no clue how a compiler is supposed to emit them.

This commit shouldn't have any effect without -g.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51404 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
86eb3116f9eb1ded8a834207aafde3413f7ed884 13-May-2008 Eli Friedman <eli.friedman@gmail.com> Detabify.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51042 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp
e8b9f5b8ea60983c4a74cb8b63879616b914b65a 08-May-2008 Sanjiv Gupta <sanjiv.gupta@microchip.com> Added -g command line options to clang for generating source level debug information. This patch currently enables generation of line number debug information (stoppoints) and region begin/end debug information. The new files CGDebugInfo.h and CGDebugInfo.cpp implements the debug info manager class CGDebugInfo.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50848 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGDebugInfo.cpp