2be460723940f8184ec36529b6f6ddf59c04e411 |
|
14-Oct-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Misc fixes for atomics. Biggest fix is doing alignment correctly for _Atomic types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142002 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
276b061970939293f1abaf694bd3ef05b2cbda79 |
|
11-Oct-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Initial implementation of __atomic_* (everything except __atomic_is_lock_free). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
5cee1195584fa8672253139c86e922daeda69b9e |
|
27-Jul-2011 |
Douglas Gregor <dgregor@apple.com> |
Add support for C++0x unicode string and character literals, from Craig Topper! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
91a5755ad73c5dc1dfb167e448fdd74e75a6df56 |
|
15-Jul-2011 |
John McCall <rjmccall@apple.com> |
Create a new expression node, SubstNonTypeTemplateParmExpr, to represent a fully-substituted non-type template parameter. This should improve source fidelity, as well as being generically useful for diagnostics and such. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135243 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
0894976ba1384a34357e333846adedc6a42334fd |
|
22-Jun-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Fix a missing space noticed by matthewbg in code review. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133577 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
03e80030515c800d1ab44125b9052dfffd1bd04c |
|
21-Jun-2011 |
Douglas Gregor <dgregor@apple.com> |
Introduce a new AST node describing reference binding to temporaries. MaterializeTemporaryExpr captures a reference binding to a temporary value, making explicit that the temporary value (a prvalue) needs to be materialized into memory so that its address can be used. The intended AST invariant here is that a reference will always bind to a glvalue, and MaterializeTemporaryExpr will be used to convert prvalues into glvalues for that binding to happen. For example, given const int& r = 1.0; The initializer of "r" will be a MaterializeTemporaryExpr whose subexpression is an implicit conversion from the double literal "1.0" to an integer value. IR generation benefits most from this new node, since it was previously guessing (badly) when to materialize temporaries for the purposes of reference binding. There are likely more refactoring and cleanups we could perform there, but the introduction of MaterializeTemporaryExpr fixes PR9565, a case where IR generation would effectively bind a const reference directly to a bitfield in a struct. Addresses <rdar://problem/9552231>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133521 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
b11382497a923b0d7009e85a1d8eb7bf93ec6d0d |
|
16-Jun-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Make the Stmt::Profile method const, and the StmtProfile visitor a ConstStmtVisitor. This also required adding some const iteration support for designated initializers and making some of the getters on the designators const. It also made the formatting of StmtProfile.cpp rather awkward. I'm happy to adjust any of the formatting if folks have suggestions. I've at least fitted it all within 80 columns. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133152 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.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/StmtProfile.cpp
|
61eee0ca33b29e102f11bab77c8b74cc00e2392b |
|
04-Jun-2011 |
Tanya Lattner <tonic@nondot.org> |
Add support for builtin astype: __builtin_astype(): Used to reinterpreted as another data type of the same size using for both scalar and vector data types. Added test case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132612 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
fb44de956f27875def889482b5393475060392af |
|
02-May-2011 |
John McCall <rjmccall@apple.com> |
Store a parameter index and function prototype depth in every parameter node and use this to correctly mangle parameter references in function template signatures. A follow-up patch will improve the storage usage of these fields; here I've just done the lazy thing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130669 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
28bbe4b8acc338476fe0825769b41fb32b423c72 |
|
28-Apr-2011 |
John Wiegley <johnw@boostpro.com> |
Parsing/AST support for Structured Exception Handling Patch authored by Sohail Somani. Provide parsing and AST support for Windows structured exception handling. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
21ff2e516b0e0bc8c1dbf965cb3d44bac3c64330 |
|
28-Apr-2011 |
John Wiegley <johnw@boostpro.com> |
Implementation of Embarcadero array type traits Patch authored by John Wiegley. These are array type traits used for parsing code that employs certain features of the Embarcadero C++ compiler: __array_rank(T) and __array_extent(T, Dim). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130351 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
552622067dc45013d240f73952fece703f5e63bd |
|
25-Apr-2011 |
John Wiegley <johnw@boostpro.com> |
t/clang/expr-traits Patch authored by David Abrahams. These two expression traits (__is_lvalue_expr, __is_rvalue_expr) are used for parsing code that employs certain features of the Embarcadero C++ compiler. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130122 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
f111d935722ed488144600cea5ed03a6b5069e8f |
|
15-Apr-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
C1X: implement generic selections As an extension, generic selection support has been added for all supported languages. The syntax is the same as for C1X. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129554 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
ad762fcdc16b9e4705b12b09d92b8c026212b906 |
|
15-Apr-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Add support for C++0x's range-based for loops, as specified by the C++11 draft standard (N3291). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129541 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
f4e3cfbe8abd124be6341ef5d714819b4fbd9082 |
|
11-Mar-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
Add support for the OpenCL vec_step operator, by generalising and extending the existing support for sizeof and alignof. Original patch by Guy Benyei. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127475 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
56ca35d396d8692c384c785f9aeebcf22563fe1e |
|
17-Feb-2011 |
John McCall <rjmccall@apple.com> |
Change the representation of GNU ?: expressions to use a different expression class and to bind the shared value using OpaqueValueExpr. This fixes an unnoticed problem with deserialization of these expressions where the deserialized form would lose the vital pointer-equality trait; or rather, it fixes it because this patch also does the right thing for deserializing OVEs. Change OVEs to not be a "temporary object" in the sense that copy elision is permitted. This new representation is not totally unawkward to work with, but I think that's really part and parcel with the semantics we're modelling here. In particular, it's much easier to fix things like the copy elision bug and to make the CFG look right. I've tried to update the analyzer to deal with this in at least some obvious cases, and I think we get a much better CFG out, but the printing of OpaqueValueExprs probably needs some work. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125744 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
ad8dcf4a9df0e24051dc31bf9e6f3cd138a34298 |
|
17-Feb-2011 |
Chris Lattner <sabre@nondot.org> |
Step #1/N of implementing support for __label__: split labels into LabelDecl and LabelStmt. There is a 1-1 correspondence between the two, but this simplifies a bunch of code by itself. This is because labels are the only place where we previously had references to random other statements, causing grief for AST serialization and other stuff. This does cause one regression (attr(unused) doesn't silence unused label warnings) which I'll address next. This does fix some minor bugs: 1. "The only valid attribute " diagnostic was capitalized. 2. Various diagnostics printed as ''labelname'' instead of 'labelname' 3. This reduces duplication of label checking between functions and blocks. Review appreciated, particularly for the cindex and template bits. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125733 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
7502c1d3ce8bb97bcc4f7bebef507040bd93b26f |
|
13-Feb-2011 |
John McCall <rjmccall@apple.com> |
Give some convenient idiomatic accessors to Stmt::child_range and Stmt::const_child_range, then make a bunch of places use them instead of the individual iterator accessors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125450 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
e08ce650a2b02410eddd1f60a4aa6b3d4be71e73 |
|
09-Feb-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
AST, Sema, Serialization: add CUDAKernelCallExpr and related semantic actions git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125217 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.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/AST/StmtProfile.cpp
|
c7793c73ba8a343de3f2552d984851985a46f159 |
|
15-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
Introduce a new expression kind, SubstNonTypeTemplateParmPackExpr, that captures the substitution of a non-type template argument pack for a non-type template parameter pack within a pack expansion that cannot be fully expanded. This follows the approach taken by SubstTemplateTypeParmPackType. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123506 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
4ba2a17694148e16eaa8d3917f657ffcd3667be4 |
|
12-Jan-2011 |
Jay Foad <jay.foad@gmail.com> |
PR3558: mark "logically const" accessor methods in ASTContext as const, and mark the fields they use as mutable. This allows us to remove a few const_casts. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123314 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
a7fc901a2e39bfe55bfcff5934b2d9fdf9656491 |
|
05-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
Replace the representation of template template argument pack expansions with something that is easier to use correctly: a new template argment kind, rather than a bit on an existing kind. Update all of the switch statements that deal with template arguments, fixing a few latent bugs in the process. I"m happy with this representation, now. And, oh look! Template instantiation and deduction work for template template argument pack expansions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122896 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
61c4d28e36cd3f1be392cb77f07436d1fa6b0f9f |
|
05-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
Implement support for template template parameter packs, e.g., template<template<class> class ...Metafunctions> struct apply_to_each; git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122874 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
ee8aff06f6a96214731de17b2cb6df407c6c1820 |
|
04-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
Implement the sizeof...(pack) expression to compute the length of a parameter pack. Note that we're missing proper libclang support for the new SizeOfPackExpr expression node. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122813 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
be230c36e32142cbdcdbe9c97511d097beeecbab |
|
03-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
Implement support for pack expansions whose pattern is a non-type template argument (described by an expression, of course). For example: template<int...> struct int_tuple { }; template<int ...Values> struct square { typedef int_tuple<(Values*Values)...> type; }; It also lays the foundation for pack expansions in an initializer-list. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
56bc9832bc8f80604bfddc2c93f81537df6930a1 |
|
24-Dec-2010 |
Douglas Gregor <dgregor@apple.com> |
When instantiating a non-type template parameter pack, be sure to extract the appropriate argument from the argument pack (based on the current substitution index, of course). Simple instantiation of pack expansions involving non-type template parameter packs now works. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122532 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
f187237d916afa97c491ac32fe98be7d335c5b63 |
|
08-Dec-2010 |
Francois Pichet <pichet2000@gmail.com> |
Remove the TypesCompatibleExprClass AST node. Merge its functionality into BinaryTypeTraitExpr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
6ad6f2848d7652ab2991286eb48be440d3493b28 |
|
07-Dec-2010 |
Francois Pichet <pichet2000@gmail.com> |
Type traits intrinsic implementation: __is_base_of(T, U) New AST node introduced: BinaryTypeTraitExpr; to be reused for more intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121074 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
4765fa05b5652fcc4356371c2f481d0ea9a1b007 |
|
06-Dec-2010 |
John McCall <rjmccall@apple.com> |
Rename CXXExprWithTemporaries -> ExprWithCleanups; there's no theoretical reason this is limited to C++, and it's certainly not limited to temporaries. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
12f78a6741a4cb3d904340f8d3d2714568b50e7a |
|
02-Dec-2010 |
John McCall <rjmccall@apple.com> |
Simplify the ASTs by consolidating ObjCImplicitGetterSetterExpr and ObjCPropertyRefExpr into the latter. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120643 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
7cd7d1ad33fdf49eef83942e8855fe20d95aa1b9 |
|
16-Nov-2010 |
John McCall <rjmccall@apple.com> |
Add a new expression kind, OpaqueValueExpr, which is useful for certain internal type-checking procedures as well as for representing certain implicitly-generated operations. Uses to follow. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119289 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
8ac2d449820fd0df00fcbde5bf82165c1f49854d |
|
14-Oct-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Eliminate usage of ObjCSuperExpr used for 'super' as receiver of property or a setter/getter methods. //rdar: //8525788 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116483 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
2e156225a29407a50dd19041aa5750171ad44ea3 |
|
10-Sep-2010 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Define and implement CXXNoexceptExpr. Create it in Sema. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113623 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
01b7c3028da5bbcb9f8e52ba67e4613070de0e60 |
|
08-Sep-2010 |
Francois Pichet <pichet2000@gmail.com> |
Microsoft's __uuidof operator implementation part 1. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113356 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
e2ca6d4a2f41876930fbd304caa706452d2569d8 |
|
02-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Eliminate CXXBindReferenceExpr, which was used in a ton of well-intentioned but completely unused code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112868 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
6cf750298d3621d8a10a6dd07fcee8e274b9d94d |
|
30-Aug-2010 |
Sean Hunt <scshunt@csclub.uwaterloo.ca> |
Revert my user-defined literal commits - r1124{58,60,67} pending some issues being sorted out. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112493 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
0016d519b831859526b79405cdae4c64c73731c8 |
|
29-Aug-2010 |
Sean Hunt <scshunt@csclub.uwaterloo.ca> |
Implement C++0x user-defined string literals. The extra data stored on user-defined literal Tokens is stored in extra allocated memory, which is managed by the PreprocessorLexer because there isn't a better place to put it that makes sure it gets deallocated, but only after it's used up. My testing has shown no significant slowdown as a result, but independent testing would be appreciated. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112458 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
2de56d1d0c3a504ad1529de2677628bdfbb95cd4 |
|
25-Aug-2010 |
John McCall <rjmccall@apple.com> |
GCC didn't care for my attempt at API compatibility, so brute-force everything to the new constants. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
5baba9d98364a3525d6afa15a04cdad82fd6dd30 |
|
25-Aug-2010 |
John McCall <rjmccall@apple.com> |
More incremental progress towards not including Expr.h in Sema.h. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112044 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
7b3e3f6bf69780ac0bd85f55fc71c0c084367977 |
|
15-Aug-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Call the base class in StmtProfiler::VisitOverloadExpr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111110 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
c35919b637e6a95147d6df3f25521f1a423ef033 |
|
15-Aug-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Call the correct base class in StmtProfiler::VisitUnresolvedLookupExpr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111089 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
906082edf2aea1c6de2926f93a8d7121e49d2a54 |
|
20-Jul-2010 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Update ImplicitCastExpr to be able to represent an XValue. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108807 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
218f47ff746b2216e949e79a287c034fd0bd8713 |
|
13-Jul-2010 |
Douglas Gregor <dgregor@apple.com> |
When computing the canonical profile of a DeclRefExpr or MemberExpr, don't include the nested-name-specifier or template arguments: they were only relevant when resolving the declaration. Fixes PR7460. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108235 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
ed8abf18329df67b0abcbb3a10458bd8c1d2a595 |
|
08-Jul-2010 |
Douglas Gregor <dgregor@apple.com> |
Reinstate the fix for PR7556. A silly use of isTrivial() was suppressing copies of objects with trivial copy constructors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107857 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
84745677f64863e025a6733cb29d0b94bc3a6ae2 |
|
08-Jul-2010 |
Douglas Gregor <dgregor@apple.com> |
Revert r107828 and r107827, the fix for PR7556, which seems to be breaking bootstrap on Linux. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107837 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
016a4a90c8e75d59de731fa3aa98f0a55656e66c |
|
08-Jul-2010 |
Douglas Gregor <dgregor@apple.com> |
Rename CXXZeroInitValueExpr to CXXScalarValueInitExpr, to reflect its newly-narrowed scope. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107828 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
89f9d3a7651d1225f3f56ae3387c83b98a26da00 |
|
04-Jun-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Added a field to BlockDeclRefExpr for future use. No functionality change yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105479 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
8f43d52b46b600b2eb4e62550f7a6d7a78fd001b |
|
19-May-2010 |
Douglas Gregor <dgregor@apple.com> |
Fill in some silly defaults to silence a GCC warning git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104140 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
a89064aa4695d9a2fec24efcc74ca0e795aaa17c |
|
19-May-2010 |
Douglas Gregor <dgregor@apple.com> |
Profile type-dependent uses of overloaded operators in C++ the same way regardless of whether some overloaded operator functions were found by name lookup within the template. Fixes PR6851. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104107 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
4bfe1968410ea8ffe3b4f629addd7c4bcf484765 |
|
05-May-2010 |
Sean Hunt <rideau3@gmail.com> |
Reapplying patch to change StmtNodes.def to StmtNodes.td, this time with no whitespace. This will allow statements to be referred to in attribute TableGen files. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103087 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
c302113179a1c2b1254224ea9b6f5316ceeb375c |
|
05-May-2010 |
Sean Hunt <rideau3@gmail.com> |
Revert r103072; I accidentally ended up deleting a bunch of trailing whitespace which makes this patch unreadable. Will recommit without the whitespace. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103086 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
9d90d62e1661720d9cf533290b4227c4fde780a4 |
|
05-May-2010 |
Sean Hunt <rideau3@gmail.com> |
Change StmtNodes.def to StmtNodes.td in anticipation of a rewrite of attributes git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
cc8a5d5f90bbbbcb46f342117b851b7e07ec34f1 |
|
29-Apr-2010 |
Douglas Gregor <dgregor@apple.com> |
Teach __builtin_offsetof to compute the offsets of members of base classes, since we only warn (not error) on offsetof() for non-POD types. We store the base path within the OffsetOfExpr itself, then evaluate the offsets within the constant evaluator. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102571 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
8ecdb65716cd7914ffb2eeee993fa9039fcd31e8 |
|
29-Apr-2010 |
Douglas Gregor <dgregor@apple.com> |
Completely reimplement __builtin_offsetof, based on a patch by Roberto Amadini. This change introduces a new expression node type, OffsetOfExpr, that describes __builtin_offsetof. Previously, __builtin_offsetof was implemented using a unary operator whose subexpression involved various synthesized array-subscript and member-reference expressions, which was ugly and made it very hard to instantiate as a template. OffsetOfExpr represents the AST more faithfully, with proper type source information and a more compact representation. OffsetOfExpr also has support for dependent __builtin_offsetof expressions; it can be value-dependent, but will never be type-dependent (like sizeof or alignof). This commit introduces template instantiation for __builtin_offsetof as well. There are two major caveats to this patch: 1) CodeGen cannot handle the case where __builtin_offsetof is not a constant expression, so it produces an error. So, to avoid regressing in C, we retain the old UnaryOperator-based __builtin_offsetof implementation in C while using the shiny new OffsetOfExpr implementation in C++. The old implementation can go away once we have proper CodeGen support for this case, which we expect won't cause much trouble in C++. 2) __builtin_offsetof doesn't work well with non-POD class types, particularly when the designated field is found within a base class. I will address this in a subsequent patch. Fixes PR5880 and a bunch of assertions when building Boost.Python tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102542 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
eb60edffa147e061278c436e513b0df9b4c4e7f6 |
|
29-Jan-2010 |
Anders Carlsson <andersca@mac.com> |
Add an CXXBindReferenceExpr (not used just yet). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94791 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
0ece491d8f62ce67f047491a6703fac0d3bd4ff4 |
|
15-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
ShouldDestroyTemporaries? I don't think so. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91450 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
51fa86f738a9768fac4e1cad7bdde53774b5b322 |
|
02-Dec-2009 |
John McCall <rjmccall@apple.com> |
r90313, in which OverloadedFunctionDecl is removed and never spoken of again. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90313 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
aa81e1658d87b9011125c632aa902d154ae4b02c |
|
01-Dec-2009 |
John McCall <rjmccall@apple.com> |
Rework how we support C++ implicit member accesses. If we can resolve an implicit member access to a specific declaration, go ahead and create it as a DeclRefExpr or a MemberExpr (with implicit CXXThisExpr base) as appropriate. Otherwise, create an UnresolvedMemberExpr or DependentScopeMemberExpr with a null base expression. By representing implicit accesses directly in the AST, we get the ability to correctly delay the decision about whether it's actually an instance member access or not until resolution is complete. This permits us to correctly avoid diagnosing the 'problem' of 'MyType::foo()' where the relationship to the type isn't really known until instantiation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90266 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
129e2df52ed7e0434b3f1cf1867fd6a5cb083ff6 |
|
30-Nov-2009 |
John McCall <rjmccall@apple.com> |
Eliminate the use of OverloadedFunctionDecl in member expressions. Create a new UnresolvedMemberExpr for these lookups. Assorted hackery around qualified member expressions; this will all go away when we implement the correct (i.e. extremely delayed) implicit-member semantics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90161 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
770b4a8834670e9427d3ce5a1a8472eb86f45fd2 |
|
28-Nov-2009 |
Benjamin Kramer <benny.kra@googlemail.com> |
Remove VISIBILITY_HIDDEN from lib/AST. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90043 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
99e9b4d172f6877e6ba5ebe75bb8238721f5e01c |
|
25-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Eliminate CXXConditionDeclExpr with extreme prejudice. All statements that involve conditions can now hold on to a separate condition declaration (a VarDecl), and will use a DeclRefExpr referring to that VarDecl for the condition expression. ForStmts now have such a VarDecl (I'd missed those in previous commits). Also, since this change reworks the Action interface for if/while/switch/for, use FullExprArg for the full expressions in those expressions, to ensure that we're emitting Note that we are (still) not generating the right cleanups for condition variables in for statements. That will be a follow-on commit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89817 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
f7a1a744eba4b29ceb0f20af8f34515d892fdd64 |
|
24-Nov-2009 |
John McCall <rjmccall@apple.com> |
Rip out TemplateIdRefExpr and make UnresolvedLookupExpr and DependentScopeDeclRefExpr support storing templateids. Unite the common code paths between ActOnDeclarationNameExpr and ActOnTemplateIdExpr. This gets us to a point where we don't need to store function templates in the AST using TemplateNames, which is critical to ripping out OverloadedFunction. Also resolves a few FIXMEs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89785 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
ba13543329afac4a0d01304ec2ec4924d99306a6 |
|
21-Nov-2009 |
John McCall <rjmccall@apple.com> |
"Incremental" progress on using expressions, by which I mean totally ripping into pretty much everything about overload resolution in order to wean BuildDeclarationNameExpr off LookupResult::getAsSingleDecl(). Replace UnresolvedFunctionNameExpr with UnresolvedLookupExpr, which generalizes the idea of a non-member lookup that we haven't totally resolved yet, whether by overloading, argument-dependent lookup, or (eventually) the presence of a function template in the lookup results. Incidentally fixes a problem with argument-dependent lookup where we were still performing ADL even when the lookup results contained something from a block scope. Incidentally improves a diagnostic when using an ObjC ivar from a class method. This just fell out from rewriting BuildDeclarationNameExpr's interaction with lookup, and I'm too apathetic to break it out. The only remaining uses of OverloadedFunctionDecl that I know of are in TemplateName and MemberExpr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89544 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
865d447ac6a4721ab58e898d014a21f2eff74b06 |
|
19-Nov-2009 |
John McCall <rjmccall@apple.com> |
Draw a brighter line between "unresolved" expressions, where we have done the appropriate lookup and simply can't resolve the referrent yet, and "dependent scope" expressions, where we can't do the lookup yet because the entity we need to look into is a dependent type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89402 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.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/StmtProfile.cpp
|
833ca991c1bfc967f0995974ca86f66ba1f666b5 |
|
29-Oct-2009 |
John McCall <rjmccall@apple.com> |
Track source information for template arguments and template specialization types. Preserve it through template instantiation. Preserve it through PCH, although TSTs themselves aren't serializable, so that's pretty much meaningless. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85500 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
a2813cec2605ce7878d1b13471d685f689b251af |
|
23-Oct-2009 |
Douglas Gregor <dgregor@apple.com> |
Eliminate QualifiedDeclRefExpr, which captured the notion of a qualified reference to a declaration that is not a non-static data member or non-static member function, e.g., namespace N { int i; } int j = N::i; Instead, extend DeclRefExpr to optionally store the qualifier. Most clients won't see or care about the difference (since QualifierDeclRefExpr inherited DeclRefExpr). However, this reduces the number of top-level expression types that clients need to cope with, brings the implementation of DeclRefExpr into line with MemberExpr, and simplifies and unifies our handling of declaration references. Extended DeclRefExpr to (optionally) store explicitly-specified template arguments. This occurs when naming a declaration via a template-id (which will be stored in a TemplateIdRefExpr) that, following template argument deduction and (possibly) overload resolution, is replaced with a DeclRefExpr that refers to a template specialization but maintains the template arguments as written. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84962 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
932eb6dd3fcb3dc2d43ed3e042d12d4c9172ac71 |
|
22-Sep-2009 |
Daniel Dunbar <daniel@zuster.org> |
Add safe part of previous (reverted) commit, necessary to update to LLVM API change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82540 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
f015b034159d40e7033309e50036804eb1971787 |
|
22-Sep-2009 |
Daniel Dunbar <daniel@zuster.org> |
Revert "Switch a few clients over to StringLiteral::getString.", this is breaking some projects, but I don't have a test case yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82539 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
df4eee9b035cc4b95b1ea72635e7429d06b0ecc8 |
|
22-Sep-2009 |
Daniel Dunbar <daniel@zuster.org> |
Switch a few clients over to StringLiteral::getString. - Switching all of them out-of-my-current-scope-of-interest, sorry. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82515 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.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/AST/StmtProfile.cpp
|
a71d819bb8f50c28938db0f2867d3fb6e2ce5910 |
|
04-Sep-2009 |
Douglas Gregor <dgregor@apple.com> |
Implement AST, semantics, and CodeGen for C++ pseudo-destructor expressions, e.g., p->~T() when p is a pointer to a scalar type. We don't currently diagnose errors when pseudo-destructor expressions are used in any way other than by forming a call. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81009 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
a38c687ef5354678b9d76a7b29354159f2b83736 |
|
03-Sep-2009 |
Douglas Gregor <dgregor@apple.com> |
Improved handling for dependent, qualified member access expressions, e.g., t->Base::f where t has a dependent type. We save the nested-name-specifier in the CXXUnresolvedMemberExpr then, during instantiation, substitute into the nested-name-specifier with the (transformed) object type of t, so that we get name lookup into the type of the object expression. Note that we do not yet retain information about name lookup into the lexical scope of the member access expression, so several regression tests are still disabled. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80925 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
83f6faf37d9bf58986bedc9bc0ea897a56b4dbad |
|
01-Sep-2009 |
Douglas Gregor <dgregor@apple.com> |
Eliminate CXXAdornedMemberExpr entirely. Instead, optionally allocate space within the MemberExpr for the nested-name-specifier and its source range. We'll do the same thing with explicitly-specified template arguments, assuming I don't flip-flop again. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80642 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
0979c805475d1ba49b5d6ef93c4d2ce6d2eab6ed |
|
31-Aug-2009 |
Douglas Gregor <dgregor@apple.com> |
Rename CXXQualifiedMemberExpr -> CXXAdornedMemberExpr, since we will also be adding explicit template arguments as an additional "adornment". No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80628 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
bd4c4aebe6035e7a7125470cc9f0f92511230ee3 |
|
27-Aug-2009 |
Douglas Gregor <dgregor@apple.com> |
When a member reference expression includes a qualifier on the member name, e.g., x->Base::f() retain the qualifier (and its source range information) in a new subclass of MemberExpr called CXXQualifiedMemberExpr. Provide construction, transformation, profiling, printing, etc., for this new expression type. When a virtual function is called via a qualified name, don't emit a virtual call. Instead, call that function directly. Mike, could you add a CodeGen test for this, too? git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80167 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
09105f52b1f28cbb1374c27c3c70f5517e2c465d |
|
20-Aug-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Using "ObjCImplicitSetterGetterRefExpr" instead of "ObjCImplctSetterGetterRefExpr". A field rename and more comments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79537 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
d2ae5aa732e8587816fd7a7be911460e337c178e |
|
18-Aug-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Renamed ClassProp data member of ObjCImplctSetterGetterRefExpr to InterfaceDecl, as it is unrelated to any property and holds the InterfaceDecl needed for accessing class getter/setter methods using the dot-syntax. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79371 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
154440e6a8fa6ac5bca395876d79b530b39a2c1c |
|
18-Aug-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Renamed ObjCKVCRefExpr to ObjCImplctSetterGetterRefExpr. Removed an unnecessary loop to get to setters incoming argument. Added DoxyGen comments. Still more work to do in this area (WIP). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79365 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
2ef13e5abef0570a9f567b4671367275c05d4d34 |
|
11-Aug-2009 |
Nate Begeman <natebegeman@mac.com> |
Take 2 on AltiVec-style vector initializers. Fixes PR4704 problems Addresses Eli's patch feedback re: ugly cast code Updates all postfix operators to remove ParenListExprs. While this is awful, no better solution (say, in the parser) is obvious to me. Better solutions welcome. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78621 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
1df5109f475bcbc528eb1fb9fdb179dcadbb33a6 |
|
10-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
Revert r78535, it is causing a number of failures to build projects. --- Reverse-merging r78535 into '.': D test/Sema/altivec-init.c U include/clang/Basic/DiagnosticSemaKinds.td U include/clang/AST/Expr.h U include/clang/AST/StmtNodes.def U include/clang/Parse/Parser.h U include/clang/Parse/Action.h U tools/clang-cc/clang-cc.cpp U lib/Frontend/PrintParserCallbacks.cpp U lib/CodeGen/CGExprScalar.cpp U lib/Sema/SemaInit.cpp U lib/Sema/Sema.h U lib/Sema/SemaExpr.cpp U lib/Sema/SemaTemplateInstantiateExpr.cpp U lib/AST/StmtProfile.cpp U lib/AST/Expr.cpp U lib/AST/StmtPrinter.cpp U lib/Parse/ParseExpr.cpp U lib/Parse/ParseExprCXX.cpp git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78551 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
25b4fdb9d63095448e6cbc97b8865b36b0c8cbb6 |
|
09-Aug-2009 |
Nate Begeman <natebegeman@mac.com> |
AltiVec-style vector initializer syntax, vec4 a = (vec4)(a, b, c, d); In addition to being defined by the AltiVec PIM, this is also the vector initializer syntax used by OpenCL, so that vector literals are compatible with macro arguments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78535 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
6f2c46b58894d5a81ad7ed7654e3768c72aa0d74 |
|
31-Jul-2009 |
Douglas Gregor <dgregor@apple.com> |
Make canonicalization of overloaded function declarations match the Itanium C++ ABI's name mangling, since both are related to the notion of "equivalent" function templates. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
a2ffb983a4db32e11860a65309e8e2b72f556763 |
|
31-Jul-2009 |
Douglas Gregor <dgregor@apple.com> |
Canonicalize template template parameters. We can't test this yet, but it's "obviously correct" :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77677 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
4a3f780f4f74a80f9b4bc42e38ad60170d5ebd0c |
|
31-Jul-2009 |
Douglas Gregor <dgregor@apple.com> |
Canonicalize function parameters git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77676 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
6ebd15e81a4d44ac51c24bffe2705586d5edffee |
|
31-Jul-2009 |
Douglas Gregor <dgregor@apple.com> |
Canonicalization and profiling for overloaded function declarations, for those extra-esoteric cases. Not that any two given C++ compilers agree on this test case, but this change gives us a strong definition of equivalent types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77664 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
b197572cf1cd70a817a1f546478cb2cb9112c48e |
|
31-Jul-2009 |
Douglas Gregor <dgregor@apple.com> |
Canonicalization for dependent typeof(expr) types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77639 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
828e226ab7ed08b3eb766549e9d3306432137460 |
|
29-Jul-2009 |
Douglas Gregor <dgregor@apple.com> |
Use the new statement/expression profiling code to unique dependent template arguments, as in template specialization types. This permits matching out-of-line definitions of members for class templates that involve non-type template parameters. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77462 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
00aa3a64b48278a490344f72eb2405e58849b051 |
|
28-Jul-2009 |
Douglas Gregor <dgregor@apple.com> |
Fix a typo in a comment git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77324 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
d584eb25189a545d20eb196273f1f85f9a17f92a |
|
28-Jul-2009 |
Douglas Gregor <dgregor@apple.com> |
Profiling the pointer of a canonical type is sufficient to uniquely identify the type git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77321 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
3fe81fc59ce984e968e9dc91b232cc2740a74aa0 |
|
28-Jul-2009 |
Douglas Gregor <dgregor@apple.com> |
Finish profile support for statements. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77320 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
071f4ebbc9bc4ee6f73f9529d7997ae674b1eacb |
|
28-Jul-2009 |
Douglas Gregor <dgregor@apple.com> |
Complete profile support for C++ and Objective-C expressions git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77318 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|
41ef0c3472a3d09c29bc1792f3d26842f2b8a695 |
|
28-Jul-2009 |
Douglas Gregor <dgregor@apple.com> |
Add a Profile function for statements so that we can (eventually) determine when statements and expressions are equivalent. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77284 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/StmtProfile.cpp
|