ef8225444452a1486bd721f3285301fe84643b00 |
|
21-Jul-2014 |
Stephen Hines <srhines@google.com> |
Update Clang for rebase to r212749. This also fixes a small issue with arm_neon.h not being generated always. Includes a cherry-pick of: r213450 - fixes mac-specific header issue r213126 - removes a default -Bsymbolic on Android Change-Id: I2a790a0f5d3b2aab11de596fc3a74e7cbc99081d
/external/clang/lib/AST/TypePrinter.cpp
|
6bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89 |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update Clang for 3.5 rebase (r209713). Change-Id: I8c9133b0f8f776dc915f270b60f94962e771bc83
/external/clang/lib/AST/TypePrinter.cpp
|
651f13cea278ec967336033dd032faef0e9fc2ec |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Updated to Clang 3.5a. Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/lib/AST/TypePrinter.cpp
|
9fe529f15723018a2fecdcc35611210f92ed2b82 |
|
09-Oct-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
ObjectiveC migrator. Introduce a new print policy for suppression of strong lifetime qualifiers when inferring property. // rdar://15082812 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192305 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
4d4032206c9f966d991c73000e8816b910fb2fd7 |
|
02-Sep-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Mark that qualifiers can prefix the auto type. This seems to just have been an oversight, as it definitely works. Every test which changed had the const written on the LHS of the auto already. Notably, this also makes things like cpp11-migrate's formation of 'const auto &' variables much more familiar. Yes, many people feel that 'const' and other qualifiers belong on the RHS of the type. I'm not going to argue about that because Clang already *overwhelming* places the qualifiers on the LHS when it can and on the RHS when it must. We shouldn't diverge for auto. We should add a tool to clang-tidy that fixes this in either direction, and then wire up clang-tidy to tools like cpp11-migrate to fix their placement after transforms. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189769 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
e8519c31a6ef853b627d557702ac1890f18ce2c9 |
|
30-Aug-2013 |
Charles Davis <cdavis5x@gmail.com> |
Add ms_abi and sysv_abi attribute handling. Based on a patch by Benno Rice! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189644 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
ef072033876e295ec5d3402f8730a3ae358ad815 |
|
28-Aug-2013 |
Reid Kleckner <reid@kleckner.net> |
Delete CC_Default and use the target default CC everywhere Summary: Makes functions with implicit calling convention compatible with function types with a matching explicit calling convention. This fixes things like calls to qsort(), which has an explicit __cdecl attribute on the comparator in Windows headers. Clang will now infer the calling convention from the declarator. There are two cases when the CC must be adjusted during redeclaration: 1. When defining a non-inline static method. 2. When redeclaring a function with an implicit or mismatched convention. Fixes PR13457, and allows clang to compile CommandLine.cpp for the Microsoft C++ ABI. Excellent test cases provided by Alexander Zinenko! Reviewers: rsmith Differential Revision: http://llvm-reviews.chandlerc.com/D1231 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189412 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
42acc0c357557574514814863cab950f23cbff5e |
|
12-Aug-2013 |
Eli Friedman <eli.friedman@gmail.com> |
Fix pretty-printing for unnamed unions. This is just a couple of minor fixes to account for the existence of ElaboratedType. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188209 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
5b92696c8f1f8ef943ad87397b95c031b5787305 |
|
19-Jul-2013 |
Reid Kleckner <reid@kleckner.net> |
Create calling convention AttributedType sugar nodes Canonical types are unchanged. The type printer had to be changed to avoid printing any non-default implicit calling convention as well as the calling convention attribute. Reviewers: rjmccall Differential Revision: http://llvm-reviews.chandlerc.com/D1132 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186714 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
12df246d6dea2ee1f92c186f922f1afcf499647a |
|
24-Jun-2013 |
Reid Kleckner <reid@kleckner.net> |
[AST] Introduce a new DecayedType sugar node The goal of this sugar node is to be able to look at an arbitrary FunctionType and tell if any of the parameters were decayed from an array or function type. Ultimately this is necessary to implement Microsoft's C++ name mangling scheme, which mangles decayed arrays differently from normal pointers. Reviewers: rsmith Differential Revision: http://llvm-reviews.chandlerc.com/D1014 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184763 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
35178dc09d97bb2e0612813def09833866e3ad82 |
|
22-Jun-2013 |
David Blaikie <dblaikie@gmail.com> |
DebugInfo: Support (using GNU extensions) for template template parameters and parameter packs git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184644 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
aa9df09729fb8aee3e645549e95fcb413306a7aa |
|
23-May-2013 |
Aaron Ballman <aaron@aaronballman.com> |
Adding in parsing and the start of semantic support for __sptr and __uptr pointer type qualifiers. This patch also fixes the correlated __ptr32 and __ptr64 pointer qualifiers so that they are truly type attributes instead of declaration attributes. For more information about __sptr and __uptr, see MSDN: http://msdn.microsoft.com/en-us/library/aa983399.aspx Patch reviewed by Richard Smith. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182535 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
dc7a4f5d7a7e3b60d4dc4a80338d7a2728540998 |
|
30-Apr-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Don't treat a non-deduced 'auto' type as being type-dependent. Instead, there are now two distinct canonical 'AutoType's: one is the undeduced 'auto' placeholder type, and the other is a deduced-but-dependent type. All deduced-to-a-non-dependent-type cases are still non-canonical. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180789 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
a2c3646c35dd09d21b74826240aa916545b1873f |
|
26-Apr-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Implement C++1y decltype(auto). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180610 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
7728cddd7866fadd07f1191eee40985e3cdbc6bf |
|
23-Feb-2013 |
Peter Collingbourne <peter@pcc.me.uk> |
Revert r175912, "Add support for coldcc to clang" at John's request. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175936 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
4c67aa96401b67b5200e701cff87485067ab0792 |
|
22-Feb-2013 |
Peter Collingbourne <peter@pcc.me.uk> |
Add support for coldcc to clang git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175912 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
5eada844fa70b6e2bc941dd7306f7a4fb1e8529d |
|
22-Feb-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
Streamify getNameForDiagnostic and remove the string versions of PrintTemplateArgumentList. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175894 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
9d4df46b6c78825303ffbdd01bbe8d4b4513ed89 |
|
22-Feb-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
StmtPrinter: Directly print types to the stream instead of taking a detour through getAsString. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175891 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
38980086c0f791e8c23cc882574f18e5b4a87db6 |
|
25-Dec-2012 |
Guy Benyei <guy.benyei@intel.com> |
Add intel_ocl_bicc calling convention as a function attribute to clang. The calling convention is already implemented in LLVM. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171056 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
55fc873017f10f6f566b182b70f6fc22aefa3464 |
|
04-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Sort all of Clang's files under 'lib', and fix up the broken headers uncovered. This required manually correcting all of the incorrect main-module headers I could find, and running the new llvm/utils/sort_includes.py script over the files. I also manually added quite a few missing headers that were uncovered by shuffling the order or moving headers up to be main-module-headers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169237 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
a45451d0959501c7d82582c61571a29cfdacdb0b |
|
24-Oct-2012 |
Eli Friedman <eli.friedman@gmail.com> |
Don't print scope qualifiers for references to a type defined locally in a function. Patch by Grzegorz Jablonski. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166617 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
eafa9d4d0d8b97f006dbd19c1e51d14663c8c5c3 |
|
18-Oct-2012 |
Eli Friedman <eli.friedman@gmail.com> |
Remove check which incorrectly suppressed printing an identifier in type printing. Patch by Benoit Perrot. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166227 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
263366f9241366f29ba65b703120f302490c39ff |
|
17-Oct-2012 |
Derek Schuff <dschuff@google.com> |
Add pnaclcall convention to Native Client targets. Because PNaCl bitcode must be target-independent, it uses some different bitcode representations from other targets (e.g. byval and sret for structures). This means that without additional type information, it cannot meet some native ABI requirements for some targets (e.g. passing structures containing unions by value on x86-64). To allow generation of code which uses the correct native ABIs, we also support triples such as x86_64-nacl, which uses target-dependent IR (as opposed to le32-nacl, which uses byval and sret). To allow interoperation between the two types of code, this patch adds a calling convention attribute to be used in code compiled with the target-dependent triple, which will generate code using the le32-style bitcode. This calling convention does not need to be explicitly supported in the backend because it determines bitcode representation rather than native conventions (the backend just needs to undersand how to handle byval and sret for the Native Client OS). This patch implements __attribute__((pnaclcall)) to generate calls in bitcode according to the le32 bitcode conventions, an attribute which is accepted by any Native Client target, but issues a warning otherwise. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166065 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
023bd7d6ff3bf9ad6c9fa2e404924195e4f31584 |
|
27-Sep-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Pass PrintingPolicy by reference, copying it isn't cheap. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164781 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
838925dc841f0968ac5daf941aed5d2331775a59 |
|
13-Jul-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Provide a special-case diagnostic when two class member functions instantiate to the same signature. Fix a bug in the type printer which would cause this diagnostic to print wonderful types like 'const const int *'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160161 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
471c8b49982d1132f30b0b0da27fef94fd6e4f67 |
|
04-Jul-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Drop the ASTContext.h include from DeclFriend.h and DeclTemplate.h. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159723 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
16d0078d2a4b1024cbeca8e1ebe7c0ed45554f11 |
|
29-Jun-2012 |
Axel Naumann <Axel.Naumann@cern.ch> |
From Philippe Canal: Update the two function overloads void TemplateSpecializationType::PrintTemplateArgumentList(raw_ostream &OS,.... to behave like std::string TemplateSpecializationType::PrintTemplateArgumentList(const TemplateArgument *Args,... hence making sure that clang consistently adds a space between two '>' at the end of nested template arguments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159412 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
7ad5c996e9519ed4e9afd1f0166be1cd2be8415a |
|
05-May-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Use raw_ostream in TypePrinter and eliminate uses of temporary std::strings. Part of rdar://10796159 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156228 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.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/AST/TypePrinter.cpp
|
d2008e2c80d6c9282044ec873a937a17a0f33579 |
|
07-Apr-2012 |
Douglas Gregor <dgregor@apple.com> |
Implement support for null non-type template arguments for non-type template parameters of pointer, pointer-to-member, or nullptr_t type in C++11. Fixes PR9700 / <rdar://problem/11193097>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154219 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
e4e68d45f89ff4899d30cbd196603d09b7fbc150 |
|
15-Feb-2012 |
Douglas Gregor <dgregor@apple.com> |
When overload resolution picks an implicitly-deleted special member function, provide a specialized diagnostic that indicates the kind of special member function (default constructor, copy assignment operator, etc.) and that it was implicitly deleted. Add a hook where we can provide more detailed information later. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150611 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
eefb3d5b49c844347f212073a7e975b8118fe8e9 |
|
10-Feb-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Track whether a function type has a trailing return type as type sugar. Use this to pretty-print such function types better, and to fix a case where we were not instantiating templates in lexical order. In passing, move the Variadic bit from Type's bitfields to FunctionProtoType to get the Type bitfields down to 32 bits. Also ensure that we always substitute the return type of a function when substituting explicitly-specified arguments, since that can cause us to bail out with a SFINAE error before we hit a hard error in parameter substitution. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150241 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
200fa53fd420aa8369586f569dbece04930ad6a3 |
|
08-Feb-2012 |
John McCall <rjmccall@apple.com> |
Revise the SplitQualType interface to make it its own thing instead of a typedef of std::pair. This slightly improves type-safety, but mostly makes code using it clearer to read as well as making it possible to add methods to the type. Add such a method for efficiently single-step desugaring a split type. Add a method to single-step desugaring a locally-unqualified type. Implement both the SplitQualType and QualType methods in terms of that. Also, fix a typo ("ObjCGLifetime"). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150028 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
01d08018b7cf5ce1601707cfd7a84d22015fc04e |
|
07-Feb-2012 |
Douglas Gregor <dgregor@apple.com> |
Introduce basic ASTs for lambda expressions. This covers: - Capturing variables by-reference and by-copy within a lambda - The representation of lambda captures - The creation of the non-static data members in the lambda class that store the captured variables - The initialization of the non-static data members from the captured variables - Pretty-printing lambda expressions There are a number of FIXMEs, both explicit and implied, including: - Creating a field for a capture of 'this' - Improved diagnostics for initialization failures when capturing variables by copy - Dealing with temporaries created during said initialization - Template instantiation - AST (de-)serialization - Binding and returning the lambda expression; turning it into a proper temporary - Lots and lots of semantic constraints - Parameter pack captures git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149977 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.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/AST/TypePrinter.cpp
|
561d3abc881033776ece385a01a510e1cbc1fa92 |
|
17-Jan-2012 |
David Blaikie <dblaikie@gmail.com> |
Remove unnecessary default cases in switches over enums. This allows -Wswitch-enum to find switches that need updating when these enums are modified. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148281 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
63cf68a4fcb93b502934d0d9c4e2ea407180ceb9 |
|
08-Nov-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
TypePrinter: print OpenCL address space names. Patch by Richard Membarth, test case by myself. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144063 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
25270b6e6a8416b7532cfe552b41794418ea19b1 |
|
03-Nov-2011 |
Douglas Gregor <dgregor@apple.com> |
Add a printing policy flag to suppress printing "<anonymous>::" prior to types. Enable this flag for code completion, where knowing whether something is in an anonymous or inline namespace is actually not useful, since you don't have to type it anyway. Fixes <rdar://problem/10208818>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143599 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.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/AST/TypePrinter.cpp
|
30c42404202d2e2512e51efc6066bd614cfdb5a4 |
|
28-Sep-2011 |
Douglas Gregor <dgregor@apple.com> |
When 'bool' is not a built-in type but is defined as a macro, print 'bool' rather than '_Bool' within types, to make things a bit more readable. Fixes <rdar://problem/10063263>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140650 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
b8b0313e84700b5c6d597b3be4de41c97b7550f1 |
|
24-Jun-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Rename objc_lifetime -> objc_ownership, and modify diagnostics to talk about 'ownership', not 'lifetime'. rdar://9477613. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.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/AST/TypePrinter.cpp
|
319b4a609156faabf0bb86e368026afcd30893ee |
|
25-May-2011 |
Francois Pichet <pichet2000@gmail.com> |
Fix MSVC warning: <unsafe use of type 'bool' in operation> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132058 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.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/AST/TypePrinter.cpp
|
b7efff4bae117604f442bb6859c844f90b15f3ff |
|
01-May-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Switch the interface name for both TemplateTypeParmType and SubstTemplateTypeParmType to be 'getIdentifier' instead of 'getName' as it returns an identifier. This makes them more consistent with the NamedDecl interface. Also, switch back to using this interface to acquire the indentifier in TypePrinter.cpp. I missed this in r130628. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130629 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
4fb86f8c4585e53c21c847ad3de9e3b2de123cd9 |
|
01-May-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Re-applies the patch first applied way back in r106099, with accompanying fixes to make it work today. The core of this patch is to provide a link from a TemplateTypeParmType back to the TemplateTypeParmDecl node which declared it. This in turn provides much more precise information about the type, where it came from, and how it functions for AST consumers. To make the patch work almost a year after its first attempt, it needed serialization support, and it now retains the old getName() interface. Finally, it requires us to not attempt to instantiate the type in an unsupported friend decl -- specifically those coming from template friend decls but which refer to a specific type through a dependent name. A cleaner representation of the last item would be to build FriendTemplateDecl nodes for these, storing their template parameters etc, and to perform proper instantation of them like any other template declaration. They can still be flagged as unsupported for the purpose of access checking, etc. This passed an asserts-enabled bootstrap for me, and the reduced test case mentioned in the original review thread no longer causes issues, likely fixed at somewhere amidst the 24k revisions that have elapsed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130628 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
162e1c1b487352434552147967c3dd296ebee2f7 |
|
15-Apr-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Support for C++11 (non-template) alias declarations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129567 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
414d8967e1d760ea1e19a4aca96b13777a8cf8c5 |
|
14-Apr-2011 |
Anton Korobeynikov <asl@math.spbu.ru> |
Implement ARM pcs attribute. Basically it's another way of calling convention selection (AAPCS or AAPCS+VFP), similar to fastcall / stdcall / whatevercall seen on x86. In particular, all library functions should always be AAPCS regardless of floating point ABI used. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129534 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
0daaf32723ac78549c507c2a68a5300502703673 |
|
16-Mar-2011 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Use ElaboratedType also for C. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127755 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
60618fa7f88d5162bb5b40988b6b38d4d75d6fc6 |
|
12-Mar-2011 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Propagate the new exception information to FunctionProtoType. Change the interface to expose the new information and deal with the enormous fallout. Introduce the new ExceptionSpecificationType value EST_DynamicNone to more easily deal with empty throw specifications. Update the tests for noexcept and fix the various bugs uncovered, such as lack of tentative parsing support. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127537 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.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/AST/TypePrinter.cpp
|
a88f09f34e86125ee4e6949a757aaed314012664 |
|
28-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
Eliminate the last remains of TemplateSpecializationTypes with dependent template names. There is still a lot of redundant code in TreeTransform to cope with TemplateSpecializationTypes, which I'll remove in stages. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126656 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.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/AST/TypePrinter.cpp
|
c6daf0b29d6c48a99cb1ad707973a7e6dfcafd58 |
|
17-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
When printing a qualified type, look through a substituted template parameter type to see what's behind it, so that we don't end up printing silly things like "float const *" when "const float *" would make more sense. Also, replace the pile of "isa" tests with a simple switch enumerating all of the cases, making a few more obvious cases use prefix qualifiers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125729 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
c938c1668b4fd12af154e965dd935a89e4801a70 |
|
26-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
Rvalue references for *this: - Add ref-qualifiers to the type system; they are part of the canonical type. Print & profile ref-qualifiers - Translate the ref-qualifier from the Declarator chunk for functions to the function type. - Diagnose mis-uses of ref-qualifiers w.r.t. static member functions, free functions, constructors, destructors, etc. - Add serialization and deserialization of ref-qualifiers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124281 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
c3069d618f4661d923cb1b5c4525b082fce73b04 |
|
14-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
Start implementing support for substitution into pack expansions that involve template parameter packs at multiple template levels that occur within the signatures members of class templates (and partial specializations thereof). This is a work-in-progress that is deficient in several ways, notably: - It only works for template type parameter packs, but we need to also support non-type template parameter packs and template template parameter packs. - It doesn't keep track of the lengths of the substituted argument packs in the expansion, so it can't properly diagnose length mismatches. However, this is a concrete step in the right direction. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123425 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
b5bc7d04447026252b5181537ab4edcfdbeb3587 |
|
09-Jan-2011 |
Francois Pichet <pichet2000@gmail.com> |
Don't crash if SpecString is an empty string. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123134 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
170464b7c0a2c0c86f2821f14a46f0d540cb5e94 |
|
07-Jan-2011 |
Francois Pichet <pichet2000@gmail.com> |
Prefix all attribute enumerators with attr_ for consistency. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122992 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
3cd47e7883dbfce73189b583850cea81e1d1d261 |
|
07-Jan-2011 |
Francois Pichet <pichet2000@gmail.com> |
Do not use cdecl, fastcall, stdcall etc.. as identifier name. They are reserved keywords at least on MSVC. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122991 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.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/AST/TypePrinter.cpp
|
dace95b13e2ceb0c3ec8de6babd926dc5114e1e5 |
|
20-Dec-2010 |
Douglas Gregor <dgregor@apple.com> |
Clean up the printing of template argument packs; previously, we were getting extra "<>" delimiters around template argument packs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122280 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
87dd697dcc8ecb64df73ae64d61b8c80ff0c157c |
|
20-Dec-2010 |
Douglas Gregor <dgregor@apple.com> |
Clean up the handling of template argument packs, especially in the area of printing template arguments. The functionality changes here are limited to cases of variadic templates that aren't yet enabled. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122250 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
7536dd5e6c99584481b7dab68b7e7d8df9c54054 |
|
20-Dec-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce a new type, PackExpansionType, to capture types that are pack expansions, e.g. given template<typename... Types> struct tuple; template<typename... Types> struct tuple_of_refs { typedef tuple<Types&...> types; }; the type of the "types" typedef is a PackExpansionType whose pattern is Types&. This commit introduces support for creating pack expansions for template type arguments, as above, but not for any other kind of pack expansion, nor for any form of instantiation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122223 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.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/AST/TypePrinter.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/AST/TypePrinter.cpp
|
ec33cbeab96f33007ac19a57bab454519cd94fe9 |
|
16-Nov-2010 |
Bob Wilson <bob.wilson@apple.com> |
Update TypePrinter::PrintVector to handle new Neon vector types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119302 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
cb7b1e17b63967317ab5cc55682168cf0380519a |
|
12-Nov-2010 |
Douglas Gregor <dgregor@apple.com> |
Make sure to always check the result of SourceManager::getPresumedLoc(), so that we don't try to make use of an invalid presumed location. Doing so can cause crashes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118885 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
e86d78cf4754a6aef2cf9a33d847aa15338e276f |
|
10-Nov-2010 |
Bob Wilson <bob.wilson@apple.com> |
Add a variant of GCC-style vector types for ARM NEON. NEON vector types need to be mangled in a special way to comply with ARM's ABI, similar to some of the AltiVec-specific vector types. This patch is mostly just renaming a bunch of "AltiVecSpecific" things, since they will no longer be specific to AltiVec. Besides that, it just adds the new "NeonVector" enum. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118724 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.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/AST/TypePrinter.cpp
|
d7e52b8141c8fbff1b9f9e7960c925a00953cc12 |
|
05-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
"const id<NSFoo> *" instead of "id<NSFoo> const *". I think this wraps up all the legal cases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113096 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
78643b050cd6d6370e5a9a686ab6bc942959137f |
|
05-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
"const id<NSFoo> *" not "id<NSFoo> const*" git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113095 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
2f69a816a0986caa24d8e4273a3f83420b05f707 |
|
05-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
"const std::vector<int>*" not "std::vector<int> const*" git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113094 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
219b9e46f8ca5ec4441e4a449f449e246c4770a2 |
|
05-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
"const _Complex float *" not "_Complex float const *" git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113093 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
0c42bb653dc40b1caae010618831e320af824b18 |
|
05-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
'const std::type_info*' instead of 'std::type_info const*' git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113092 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
66cf2d1290c598fcbaf1c6b50411f2513daf3b3e |
|
05-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
print "const intptr_t" instead of "intptr_t const" git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113091 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
58f9e13e87e57236fee4b914eea9be6f92a1c345 |
|
05-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
make clang print types as "const int *" instead of "int const*", which is should have done from the beginning. As usual, the most fun with this sort of change is updating all the testcases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113090 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
59742de0f9d4fbd421b69ed0c1b6c7a6d83339fb |
|
05-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
revert this, it isn't safe. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113088 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
37edc00b6a08dcb094d812782ea4bfedab3b6445 |
|
05-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
tidy up git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113087 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
52fc314e1b5e1baee6305067cf831763d02bd243 |
|
03-Sep-2010 |
Dawn Perchik <dawn@burble.org> |
Add symantic support for the Pascal calling convention via "__attribute((pascal))" or "__pascal" (and "_pascal" under -fborland-extensions). Support still needs to be added to llvm. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112939 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
c7acc66050a96571739eeb017a867df27e6bcfc3 |
|
28-Aug-2010 |
Chris Lattner <sabre@nondot.org> |
improve comment, patch by Vladimir Kirillov! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112374 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
55c6570bf6f4342203eb0ff0816fe28e6c55964a |
|
26-Jul-2010 |
Dan Gohman <gohman@apple.com> |
It's not necessary to call flush() on a raw_ostream immediately prior to deleting it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109441 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
788b0fd67e1992f23555454efcdb16a19dfefac3 |
|
23-Jun-2010 |
Chris Lattner <sabre@nondot.org> |
improve altivec vector bool/pixel support, patch by Anton Yartsev with several tweaks by me. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106619 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
efed5c832de630715dd42211dd3b2aab5dd97a1b |
|
16-Jun-2010 |
Douglas Gregor <dgregor@apple.com> |
Revert r106099; it broke self-host. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106100 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
6cd8087e66d706f2317865f86c865fd9bc6969c9 |
|
16-Jun-2010 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Added TemplateTypeParmType::getDecl(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106099 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
33500955d731c73717af52088b7fc0e7a85681e7 |
|
11-Jun-2010 |
John McCall <rjmccall@apple.com> |
Split DependentNameType into two types. DependentNameType represents the case of an elaborated-type-specifier like 'typename A<T>::foo', and DependentTemplateSpecializationType represents the case of an elaborated-type-specifier like 'typename A<T>::template B<T>'. The TypeLoc representation of a DependentTST conveniently exactly matches that of an ElaboratedType wrapping a TST. Kill off the explicit rebuild methods for RebuildInCurrentInstantiation; the standard implementations work fine because the nested name specifier is computable in the newly-entered context. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105801 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
16834e88b9102b7c6562a6bb8a8931a58ebda900 |
|
28-May-2010 |
Douglas Gregor <dgregor@apple.com> |
Only provide a source location for an anonymous tag if the location is valid git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105010 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
f813a2c03fcb05381b3252010435f557eb6b3cde |
|
18-May-2010 |
Douglas Gregor <dgregor@apple.com> |
Add support for Microsoft's __thiscall, from Steven Watanabe! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104026 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.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/AST/TypePrinter.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/AST/TypePrinter.cpp
|
493ec51db3a0cfa6f32e612c92c8eb0580dc9ebc |
|
27-Apr-2010 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Removed spaces at end of line. (Test commit.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102465 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.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/AST/TypePrinter.cpp
|
84139d6ef8967cfdb70d37378a7a65cc4827d44d |
|
05-Apr-2010 |
Douglas Gregor <dgregor@apple.com> |
Extend the type printing policy to allow one to turn off the printing of file locations for anonymous tag types (e.g., "enum <anonymous at t.h:15:6>"), which can get rather long. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100470 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
4a2023f5014e82389d5980d307b89c545dbbac81 |
|
31-Mar-2010 |
Douglas Gregor <dgregor@apple.com> |
Extend DependentNameType with a keyword enum that specifies whether this was parsed as a typename-specifier, elaborated-type-specifier (including the kind), or just a dependent qualified type name. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100039 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
4714c12a1ab759156b78be8f109ea4c12213af57 |
|
31-Mar-2010 |
Douglas Gregor <dgregor@apple.com> |
Rename TypenameType to DependentNameType in anticipation of some refactoring work in this area. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100019 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
425ef72306d4ff6b3698b744353e5f0e56b4b884 |
|
31-Mar-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remember the regparm attribute in FunctionType::ExtInfo. Fixes PR3782. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99940 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
264ba48dc98f3f843935a485d5b086f7e0fdc4f1 |
|
30-Mar-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
the big refactoring bits of PR3782. This introduces FunctionType::ExtInfo to hold the calling convention and the noreturn attribute. The next patch will extend it to include the regparm attribute and fix the bug. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99920 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
73061d054128e486e70e0f2874b23d6eca067e5b |
|
19-Mar-2010 |
John McCall <rjmccall@apple.com> |
Pretty-print anonymous types using their kind and presumed location. Fixes PR6643. Patch by Mike M! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98946 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
327fb2d32243e1206b69c5f05d4fa2e3d89a0dcb |
|
10-Mar-2010 |
John McCall <rjmccall@apple.com> |
Suppress the tag when printing an ElaboratedType if the language options claim this is C. We don't make ElaboratedTypes in C, but sometimes the language options during pretty-print lie to us. The rewriter should really be fixed to not rely on how types are pretty-printed, though. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98189 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
7c2342dd4c9947806842e5aca3d2bb2e542853c9 |
|
10-Mar-2010 |
John McCall <rjmccall@apple.com> |
When pretty-printing tag types, only print the tag if we're in C (and therefore not creating ElaboratedTypes, which are still pretty-printed with the written tag). Most of these testcase changes were done by script, so don't feel too sorry for my fingers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98149 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.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/AST/TypePrinter.cpp
|
82287d19ded35248c4ce6a425ce74116a13ce44e |
|
05-Feb-2010 |
John Thompson <John.Thompson.JTSoftware@gmail.com> |
First stage of adding AltiVec support git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95335 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
f82b4e85b1219295cad4b5851b035575bc293010 |
|
04-Feb-2010 |
John McCall <rjmccall@apple.com> |
Allow calling convention attributes to apply to types. Patch by Chip Davis! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95291 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
48026d26fb58e413544874eead5491b1452e2ebf |
|
11-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement name lookup for conversion function template specializations (C++ [temp.mem]p5-6), which involves template argument deduction based on the type named, e.g., given struct X { template<typename T> operator T*(); } x; when we call x.operator int*(); we perform template argument deduction to determine that T=int. This template argument deduction is needed for template specialization and explicit instantiation, e.g., template<> X::operator float*() { /* ... */ } and when calling or otherwise naming a conversion function (as in the first example). This fixes PR5742 and PR5762, although there's some remaining ugliness that's causing out-of-line definitions of conversion function templates to fail. I'll look into that separately. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93162 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.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/AST/TypePrinter.cpp
|
0ae7b3f1d5403265f693ed75384603ca8fbba74d |
|
08-Dec-2009 |
Douglas Gregor <dgregor@apple.com> |
Implement template instantiation for exception specifications. Also, print exception specifications on function types and declarations. Fixes <rdar://problem/7450999>. There is some poor source-location information here, because we don't track locations of the types in exception specifications. Filed PR5719. Failures during template instantiation of the signature of a function or function template have wrong point-of-instantiation location information. I'll tackle that with a separate commit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90863 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
ed97649e9574b9d854fa4d6109c9333ae0993554 |
|
04-Dec-2009 |
John McCall <rjmccall@apple.com> |
Fix "using typename" and the instantiation of non-dependent using declarations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90614 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
6e132aab867c189b1c3ee7463ef9d2b1f03a294d |
|
04-Dec-2009 |
John Thompson <John.Thompson.JTSoftware@gmail.com> |
Fix for PR5650 - Revised vector_size attribute handling to be done earlier before declaration is finalized. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90600 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
e7cb7e4570842297f698bd7fd8d85520fc008acd |
|
03-Dec-2009 |
Daniel Dunbar <daniel@zuster.org> |
Kill a few more random stderr uses. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90441 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
d5532b6cfff2977e0c59fa6ead7f7973984a620d |
|
23-Nov-2009 |
John McCall <rjmccall@apple.com> |
Encapsulate "an array of TemplateArgumentLocs and two angle bracket locations" into a new class. Use it pervasively throughout Sema. My fingers hurt. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89638 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
13dcd00615de5c4279d97bdf63cd5f0a14fd9dcc |
|
21-Nov-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
This patch implements objective-c's 'SEL' type as a built-in type and fixes a long-standing code gen. crash reported in at least two PRs and a radar. (radar 7405040 and pr5025). There are couple of remaining issues that I would like for Ted. and Doug to look at: Ted, please look at failure in Analysis/MissingDealloc.m. I have temporarily added an expected-warning to make the test pass. This tests has a declaration of 'SEL' type which may not co-exist with the new changes. Doug, please look at a FIXME in PCHWriter.cpp/PCHReader.cpp. I think the changes which I have ifdef'ed out are correct. They need be considered for in a few Indexer/PCH test cases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89561 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.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/AST/TypePrinter.cpp
|
fb898e17cff919bd28b88e9d93301d6e2cc5cbd1 |
|
12-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
When comparing template parameter lists, distinguish between three cases: - Comparing template parameter lists to determine if we have a redeclaration - Comparing template parameter lists to determine if we have equivalent template template parameters - Comparing template parameter lists to determine whether a template template argument is valid for a given template template parameter. Previously, we did not distinguish between the last two cases, which got us into trouble when we were looking for exact type matches between the types of non-type template parameters that were dependent types. Now we do, so we properly delay checking of template template arguments until instantiation time. Also, fix an accidental fall-through in a case statement that was causing crashes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86992 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
788cd06cf8e868a67158aafec5de3a1f408d14f3 |
|
11-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Introduce a new representation for template template parameters. Rather than storing them as either declarations (for the non-dependent case) or expressions (for the dependent case), we now (always) store them as TemplateNames. The primary change here is to add a new kind of TemplateArgument, which stores a TemplateName. However, making that change ripples to every switch on a TemplateArgument's kind, also affecting TemplateArgumentLocInfo/TemplateArgumentLoc, default template arguments for template template parameters, type-checking of template template arguments, etc. This change is light on testing. It should fix several pre-existing problems with template template parameters, such as: - the inability to use dependent template names as template template arguments - template template parameter default arguments cannot be instantiation However, there are enough pieces missing that more implementation is required before we can adequately test template template parameters. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86777 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|
fee8a3c003a8894002810a6373bd5b895290974e |
|
10-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Move all of the type-printing logic to its own C++ source file git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86629 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/TypePrinter.cpp
|