]>
granicus.if.org Git - clang/log
Douglas Gregor [Fri, 26 Jun 2009 23:10:12 +0000 (23:10 +0000)]
During template argument deduction from a function call, allow
deduction from pointer and pointer-to-member types to work even in the
presence of a qualification conversion (C++ [temp.deduct.type]p3
bullet 2).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74354
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 26 Jun 2009 22:18:59 +0000 (22:18 +0000)]
More auto work.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74339
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 26 Jun 2009 21:54:43 +0000 (21:54 +0000)]
Fix test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74335
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 26 Jun 2009 21:40:05 +0000 (21:40 +0000)]
A little template argument deduction test uncovered an "oops". As part
of template instantiation, we were dropping cv-qualifiers on the
instantiated type in a few places. This change reshuffles the
type-instantiation code a little bit so that there's a single place
where we add qualifiers to the instantiated type, so that we won't end
up with this same bug in the future.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74331
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 26 Jun 2009 21:12:50 +0000 (21:12 +0000)]
OpenCL 1.0 Support: fix a bug with lvalue swizzles
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74324
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 26 Jun 2009 20:57:09 +0000 (20:57 +0000)]
Template argument deduction is no longer responsible for checking
non-dependent parameter types. Instead, class template partial
specializations perform a final check of all of the instantiated
arguments. This model is cleaner, and works better for function
templates where the "final check" occurs during overload resolution.
Also, cope with cv-qualifiers when the parameter type was originally a
reference type, so that the deduced argument can be more qualified
than the transformed argument.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74323
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 26 Jun 2009 19:33:28 +0000 (19:33 +0000)]
Can't have arrays of auto.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74314
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 26 Jun 2009 19:16:07 +0000 (19:16 +0000)]
An auto variable can't appear in its own initializer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74312
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 26 Jun 2009 18:41:36 +0000 (18:41 +0000)]
Implement enough of the 'auto' keyword so we can claim to support N2546.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74307
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 26 Jun 2009 18:33:42 +0000 (18:33 +0000)]
typo
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74305
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 26 Jun 2009 18:32:22 +0000 (18:32 +0000)]
Revrt PR4228 fix for now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74304
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 26 Jun 2009 18:32:06 +0000 (18:32 +0000)]
Simplify, and fix a possible crash (never happens however, because we don't ever
take this path with non-builtin floating point types).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74303
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 26 Jun 2009 18:29:52 +0000 (18:29 +0000)]
Fix bar title in graphs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74302
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 26 Jun 2009 18:27:22 +0000 (18:27 +0000)]
Improve template argument deduction for reference parameters when
deducing template arguments from a function call. Plus, add a bunch of
tests.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74301
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 26 Jun 2009 18:22:18 +0000 (18:22 +0000)]
OpenCL 1.0 Support:
Add support for scalar to vector and partially initialized vector constant initializers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74299
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 26 Jun 2009 18:15:47 +0000 (18:15 +0000)]
Update performance numbers (missed a link)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74297
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 26 Jun 2009 18:14:41 +0000 (18:14 +0000)]
Update performance numbers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74296
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 26 Jun 2009 16:08:57 +0000 (16:08 +0000)]
Minor change per Doug's comments.
- Fariborz
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74287
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 26 Jun 2009 06:32:41 +0000 (06:32 +0000)]
OpenCL 1.0 support: attributes
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74280
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 26 Jun 2009 06:29:23 +0000 (06:29 +0000)]
Add NamedDecl::getUnderlyingDecl that can see through UsingDecl and ObjCCompatibleAliasDecl.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74279
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 26 Jun 2009 05:26:50 +0000 (05:26 +0000)]
See through UsingDecls in more places.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74269
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 26 Jun 2009 05:14:36 +0000 (05:14 +0000)]
Fix failing test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74268
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 26 Jun 2009 05:13:13 +0000 (05:13 +0000)]
Fix build break.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74267
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 26 Jun 2009 04:45:06 +0000 (04:45 +0000)]
Improve error recovery in C++: when we hit 'implicit int' cases in C++,
these are usually because the parser was thoroughly confused. In addition
to typing the value being declared as an int and hoping for the best, we
mark the value as invalid so we don't get chains of errors when it is
used downstream. In C, implicit int actually is valid, so typing the thing
as int is good and marking it invalid is bad. :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74266
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 26 Jun 2009 04:27:47 +0000 (04:27 +0000)]
fix PR4452, a crash on invalid. The error recovery is still terrible in this case
but at least we don't crash :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74264
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 26 Jun 2009 04:10:17 +0000 (04:10 +0000)]
oink is dead.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74263
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 26 Jun 2009 03:54:13 +0000 (03:54 +0000)]
Fix another assert related to using decls.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74262
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 26 Jun 2009 03:52:38 +0000 (03:52 +0000)]
rearrange more code, this avoids a token lookahead for foo<
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74261
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 26 Jun 2009 03:47:46 +0000 (03:47 +0000)]
move some code around, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74260
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 26 Jun 2009 03:45:46 +0000 (03:45 +0000)]
simplify some code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74259
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 26 Jun 2009 03:37:05 +0000 (03:37 +0000)]
When creating LookupResults, see through UsingDecls. Fixes PR4450.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74258
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 26 Jun 2009 03:02:18 +0000 (03:02 +0000)]
Fix PR4448.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74257
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 26 Jun 2009 00:50:28 +0000 (00:50 +0000)]
OpenCL 1.0 support: explicit casts to ext-vector types
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74247
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 26 Jun 2009 00:43:22 +0000 (00:43 +0000)]
Remove '#include <sstream>' from libAnalysis.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74245
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 26 Jun 2009 00:41:43 +0000 (00:41 +0000)]
Update method signature.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74244
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 26 Jun 2009 00:25:05 +0000 (00:25 +0000)]
Unbreak build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74238
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 26 Jun 2009 00:15:05 +0000 (00:15 +0000)]
Add missing header file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74233
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 26 Jun 2009 00:10:03 +0000 (00:10 +0000)]
Implicit instantiation for function template specializations.
For a FunctionDecl that has been instantiated due to template argument
deduction, we now store the primary template from which it was
instantiated and the deduced template arguments. From this
information, we can instantiate the body of the function template.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74232
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 26 Jun 2009 00:08:20 +0000 (00:08 +0000)]
Remove orphaned header file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74231
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 26 Jun 2009 00:05:51 +0000 (00:05 +0000)]
Introduce a new concept to the static analyzer: SValuator.
GRTransferFuncs had the conflated role of both constructing SVals (symbolic
expressions) as well as handling checker-specific logic. Now SValuator has the
role of constructing SVals from expressions and GRTransferFuncs just handles
checker-specific logic. The motivation is by separating these two concepts we
will be able to much more easily create richer constraint-generating logic
without coupling it to the main checker transfer function logic.
We now have one implementation of SValuator: SimpleSValuator.
SimpleSValuator is essentially the SVal-related logic that was in GRSimpleVals
(which is removed in this patch). This includes the logic for EvalBinOp,
EvalCast, etc. Because SValuator has a narrower role than the old
GRTransferFuncs, the interfaces are much simpler, and so is the implementation
of SimpleSValuator compared to GRSimpleVals. I also did a line-by-line review of
SVal-related logic in GRSimpleVals and cleaned it up while moving it over to
SimpleSValuator.
As a consequence of removing GRSimpleVals, there is no longer a
'-checker-simple' option. The '-checker-cfref' did everything that option did
but also ran the retain/release checker. Of course a user may not always wish to
run the retain/release checker, nor do we wish core analysis logic buried in the
checker-specific logic. The next step is to refactor the logic in CFRefCount.cpp
to separate out these pieces into the core analysis engine.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74229
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Thu, 25 Jun 2009 23:25:15 +0000 (23:25 +0000)]
OpenCL 1.0 Support: support "bool, true, false" tokens when compiling for OpenCL
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74224
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Thu, 25 Jun 2009 23:01:11 +0000 (23:01 +0000)]
Write/Read new Language Options
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74221
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Thu, 25 Jun 2009 22:57:40 +0000 (22:57 +0000)]
PCH support for OpenCL language options
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74220
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Thu, 25 Jun 2009 22:43:10 +0000 (22:43 +0000)]
OpenCL 1.0 patch 2/N: Language options & file extension
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74217
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 25 Jun 2009 22:40:36 +0000 (22:40 +0000)]
Test case for my last patch.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74216
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Thu, 25 Jun 2009 22:15:12 +0000 (22:15 +0000)]
Check that index-test uses an up-to-date AST file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74214
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 25 Jun 2009 22:08:12 +0000 (22:08 +0000)]
Improved semantic analysis and AST respresentation for function
templates.
For example, this now type-checks (but does not instantiate the body
of deref<int>):
template<typename T> T& deref(T* t) { return *t; }
void test(int *ip) {
int &ir = deref(ip);
}
Specific changes/additions:
* Template argument deduction from a call to a function template.
* Instantiation of a function template specializations (just the
declarations) from the template arguments deduced from a call.
* FunctionTemplateDecls are stored directly in declaration contexts
and found via name lookup (all forms), rather than finding the
FunctionDecl and then realizing it is a template. This is
responsible for most of the churn, since some of the core
declaration matching and lookup code assumes that all functions are
FunctionDecls.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74213
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Thu, 25 Jun 2009 21:54:50 +0000 (21:54 +0000)]
Add some comments and clean-up some leftover code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74207
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 25 Jun 2009 21:45:19 +0000 (21:45 +0000)]
Patch to diagnose and Mark use of implicit default assignment operator.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74205
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Thu, 25 Jun 2009 21:06:09 +0000 (21:06 +0000)]
OpenCL 1.0 Support, patch 1/N: upper case swizzle operator and hex element index.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74202
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Thu, 25 Jun 2009 18:22:52 +0000 (18:22 +0000)]
Introduce tools/index-test.
This tool will be the test bed for indexing related operations. It basically reads PCH files passed by the command line and performs various operations.
Currently it can accept a file:line:column which resolves to a declaration/statement and displays some information about them.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74198
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Thu, 25 Jun 2009 18:22:41 +0000 (18:22 +0000)]
Introduce the ResolveLocationInAST function which takes an ASTContext and a SourceLocation and it resolves it into a <Decl*, Stmt*> pair.
Decl* is the declaration associated with this source location and Stmt* is the statement/expression that the location points to.
If the location does not point to a statement node, Stmt* is null.
ResolveLocationInAST (along with converting a file:line:column triplet to a SourceLocation) will be useful for an IDE client and for clang's test suite.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74197
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Thu, 25 Jun 2009 18:22:30 +0000 (18:22 +0000)]
Handle PCHReader::IgnorePCH, it gets returned for when the file does not exist.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74196
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Thu, 25 Jun 2009 18:22:24 +0000 (18:22 +0000)]
Set the end range location of a FunctionDecl to the right paren.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74195
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Thu, 25 Jun 2009 18:22:16 +0000 (18:22 +0000)]
Fix column checking for SourceManager::getLocation().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74194
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 25 Jun 2009 17:25:49 +0000 (17:25 +0000)]
Remove declaration for unused and unimplemented static method.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74182
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 25 Jun 2009 16:06:43 +0000 (16:06 +0000)]
Extra asserts never hurt anybody, right?
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74177
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 25 Jun 2009 15:00:34 +0000 (15:00 +0000)]
Decltype needs to have a dependent type if the expr passed to it is type dependent. Fixes PR4444.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74175
91177308 -0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Thu, 25 Jun 2009 09:03:06 +0000 (09:03 +0000)]
Explicit braces to avoid ambiguous ‘else’.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74171
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 25 Jun 2009 05:52:16 +0000 (05:52 +0000)]
remove RegionKills GDM. Now UnknownVal is bound to regions explicitly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74168
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 25 Jun 2009 05:29:39 +0000 (05:29 +0000)]
Move element region retrieving logic into a separate function.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74166
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 25 Jun 2009 05:07:31 +0000 (05:07 +0000)]
Make sure install Clang headers when building clang-cc
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74163
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 25 Jun 2009 05:03:29 +0000 (05:03 +0000)]
Add missing dependencies to the CMake build system
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74162
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 25 Jun 2009 04:50:44 +0000 (04:50 +0000)]
Move all logic for retrieving ElementRegion binding into a separate method.
Revert to setting default value approach for handling struct initialization.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74160
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 24 Jun 2009 23:06:47 +0000 (23:06 +0000)]
Remove uses of std::ostream from libAnalysis.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74136
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 24 Jun 2009 22:26:16 +0000 (22:26 +0000)]
Remove unneeded #includes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74131
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 24 Jun 2009 22:15:30 +0000 (22:15 +0000)]
Remove GRStateManager::GetSValAsScalarOrLoc()/GetSVal().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74128
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Wed, 24 Jun 2009 22:10:19 +0000 (22:10 +0000)]
We now support decltype (as far as I know :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74127
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 24 Jun 2009 22:09:44 +0000 (22:09 +0000)]
Backed out my last patch which caused a clang-test breakage. Will
look at it later.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74126
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Wed, 24 Jun 2009 21:24:56 +0000 (21:24 +0000)]
C++ decltype support (N2343)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74118
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Wed, 24 Jun 2009 20:59:53 +0000 (20:59 +0000)]
Type::getDesugaredType needs to handle decltype types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74115
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 24 Jun 2009 19:24:38 +0000 (19:24 +0000)]
Added a missing else part to my previous patche(s).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74108
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 24 Jun 2009 19:20:24 +0000 (19:20 +0000)]
Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74107
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 24 Jun 2009 19:19:18 +0000 (19:19 +0000)]
Reference the correct image...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74106
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 24 Jun 2009 19:17:54 +0000 (19:17 +0000)]
Add scan-build screenshot for attribute 'nonnull' example.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74104
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 24 Jun 2009 19:12:56 +0000 (19:12 +0000)]
Fix broken HTML tag.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74103
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 24 Jun 2009 19:12:07 +0000 (19:12 +0000)]
Remove reference to using 'clang' directly to analyze projects.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74102
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 24 Jun 2009 19:08:56 +0000 (19:08 +0000)]
Tighten screenshot.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74100
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Wed, 24 Jun 2009 19:06:50 +0000 (19:06 +0000)]
Add a DecltypeType type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74099
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 24 Jun 2009 19:04:37 +0000 (19:04 +0000)]
Replace 'clang --analyze' example for attribute cf_returns_retained with screenshots.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74098
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 24 Jun 2009 18:50:14 +0000 (18:50 +0000)]
Replace 'clang --analyze' example (in text) with screenshot from scan-build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74095
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Wed, 24 Jun 2009 17:47:40 +0000 (17:47 +0000)]
Parse the C++0x decltype specifier.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74086
91177308 -0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 24 Jun 2009 17:37:55 +0000 (17:37 +0000)]
Update for LLVM API changes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74085
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 24 Jun 2009 17:12:15 +0000 (17:12 +0000)]
fix the type of wchar_t for windows, PR4417
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74083
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 24 Jun 2009 17:00:18 +0000 (17:00 +0000)]
Fix a clang crash caused by incorrect user code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74080
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 24 Jun 2009 16:50:40 +0000 (16:50 +0000)]
Implement matching of function templates, so that one can declare overloaded function templates. C++ [temp.over.link] paragraphs 4-8.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74079
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Wed, 24 Jun 2009 02:03:09 +0000 (02:03 +0000)]
Nested classes are now complete.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74052
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Wed, 24 Jun 2009 02:00:28 +0000 (02:00 +0000)]
Add test for [class.local]p2.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74051
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Wed, 24 Jun 2009 01:12:41 +0000 (01:12 +0000)]
use a concrete type instead of a trait type to make code more readable.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74047
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Wed, 24 Jun 2009 00:56:31 +0000 (00:56 +0000)]
RegionStore: revert to the default value approach for array initialization.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74043
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 24 Jun 2009 00:54:41 +0000 (00:54 +0000)]
Make sure that the template parameter lists get from the parser down to ActOnFunctionDeclarator for function template definitions
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74040
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Wed, 24 Jun 2009 00:32:04 +0000 (00:32 +0000)]
class.nested.type is done.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74034
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Wed, 24 Jun 2009 00:30:37 +0000 (00:30 +0000)]
Add test for [class.nested.type]p1
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74033
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Wed, 24 Jun 2009 00:28:53 +0000 (00:28 +0000)]
Support for [class.local]p4.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74030
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 24 Jun 2009 00:23:40 +0000 (00:23 +0000)]
When declaring a function template, create a FunctionTemplateDecl node
and associate it with the FunctionDecl.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74028
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Wed, 24 Jun 2009 00:10:43 +0000 (00:10 +0000)]
[class.local] p1 and p3. Also, add back the xcodeproj file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74027
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 23 Jun 2009 23:42:10 +0000 (23:42 +0000)]
Some changes to accomodate Doug's comment for
implicit copy constructor definition determination.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74025
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 23 Jun 2009 23:11:28 +0000 (23:11 +0000)]
Start propagating template parameter lists to the right places to
handle function templates. There's no actual code for function
templates yet, but at least we complain about typedef templates.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74021
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 23 Jun 2009 23:09:58 +0000 (23:09 +0000)]
Fix warning when building w/o asserts.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74020
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Tue, 23 Jun 2009 22:01:48 +0000 (22:01 +0000)]
Introduce SourceManager::ísBeforeInTranslationUnit() which can compare 2 source locations and determine which one comes before the other, relative to the translation unit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74014
91177308 -0d34-0410-b5e6-
96231b3b80d8