Eli Friedman
5e774b1333
Fix the parser error hanlding for __builtin_offsetof to actually print
...
out an error for a malformed __builtin_offsetof.
llvm-svn: 74388
2009-06-27 20:38:33 +00:00
Douglas Gregor
0799d916e1
Add a Last Updated field to the C++ status page
...
llvm-svn: 74387
2009-06-27 19:33:58 +00:00
Fariborz Jahanian
3fe6b61b23
Renamed MarcDestructorReferenced -> MarkDestructorReferenced
...
llvm-svn: 74386
2009-06-27 15:05:11 +00:00
Eli Friedman
d95e1cda9e
Fix screwup with my previous patch which broke tests. (The patch is
...
making sure we return true when annotating a function template with
explicit template arguments, but not when we don't annotate anything.)
llvm-svn: 74383
2009-06-27 08:17:02 +00:00
Eli Friedman
9fe1bb40ae
Fix a crash with constructs like x<false>() in C++. No testcase because
...
it doesn't actually work yet; we just error out a bit more gracefully.
llvm-svn: 74381
2009-06-27 06:24:06 +00:00
Eli Friedman
173e0b7a96
Fix a bogus error overloading an operator where the only class
...
parameter has a dependent type.
llvm-svn: 74380
2009-06-27 05:59:59 +00:00
Anders Carlsson
f0a7f3b089
Implement support for the format_arg attribute. Fixes PR4442.
...
llvm-svn: 74369
2009-06-27 04:05:33 +00:00
Anders Carlsson
74d7f0dd65
Make it possible for using decls to point to operators. Fixes PR4441.
...
llvm-svn: 74362
2009-06-27 00:27:47 +00:00
Ted Kremenek
8e5f6951eb
Remove the last 'GetXXX' methods from GRStateManager.
...
llvm-svn: 74361
2009-06-27 00:24:54 +00:00
Douglas Gregor
1e880602ad
Make a note of improvements to function templates
...
llvm-svn: 74360
2009-06-27 00:08:54 +00:00
Fariborz Jahanian
24a175b37c
Patch to mark destructors when they are used.
...
llvm-svn: 74359
2009-06-26 23:49:16 +00:00
Anders Carlsson
bae2737202
Fix test.
...
llvm-svn: 74358
2009-06-26 23:44:14 +00:00
Douglas Gregor
fc516c93c1
Set the rest of the flags we need to perform template argument
...
deduction using a base class of the argument type. No actual
functionality change; this is just a hook.
llvm-svn: 74356
2009-06-26 23:27:24 +00:00
Douglas Gregor
cf0b47d179
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).
llvm-svn: 74354
2009-06-26 23:10:12 +00:00
Anders Carlsson
94ff77a356
More auto work.
...
llvm-svn: 74339
2009-06-26 22:18:59 +00:00
Anders Carlsson
f82bb6b4ed
Fix test.
...
llvm-svn: 74335
2009-06-26 21:54:43 +00:00
Douglas Gregor
febe45a727
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.
llvm-svn: 74331
2009-06-26 21:40:05 +00:00
Nate Begeman
ea12f6ebb5
OpenCL 1.0 Support: fix a bug with lvalue swizzles
...
llvm-svn: 74324
2009-06-26 21:12:50 +00:00
Douglas Gregor
705c900d23
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.
llvm-svn: 74323
2009-06-26 20:57:09 +00:00
Anders Carlsson
6bd992d1c3
Can't have arrays of auto.
...
llvm-svn: 74314
2009-06-26 19:33:28 +00:00
Anders Carlsson
364035d1a8
An auto variable can't appear in its own initializer.
...
llvm-svn: 74312
2009-06-26 19:16:07 +00:00
Anders Carlsson
082acded44
Implement enough of the 'auto' keyword so we can claim to support N2546.
...
llvm-svn: 74307
2009-06-26 18:41:36 +00:00
Devang Patel
2872df839d
typo
...
llvm-svn: 74305
2009-06-26 18:33:42 +00:00
Devang Patel
0d425350b2
Revrt PR4228 fix for now.
...
llvm-svn: 74304
2009-06-26 18:32:22 +00:00
Daniel Dunbar
c7d0e6525d
Simplify, and fix a possible crash (never happens however, because we don't ever
...
take this path with non-builtin floating point types).
llvm-svn: 74303
2009-06-26 18:32:06 +00:00
Daniel Dunbar
e5ebf02e0e
Fix bar title in graphs.
...
llvm-svn: 74302
2009-06-26 18:29:52 +00:00
Douglas Gregor
cceb97559e
Improve template argument deduction for reference parameters when
...
deducing template arguments from a function call. Plus, add a bunch of
tests.
llvm-svn: 74301
2009-06-26 18:27:22 +00:00
Nate Begeman
2ffd384441
OpenCL 1.0 Support:
...
Add support for scalar to vector and partially initialized vector constant initializers.
llvm-svn: 74299
2009-06-26 18:22:18 +00:00
Daniel Dunbar
3ecc92147d
Update performance numbers (missed a link)
...
llvm-svn: 74297
2009-06-26 18:15:47 +00:00
Daniel Dunbar
5b165e4930
Update performance numbers.
...
llvm-svn: 74296
2009-06-26 18:14:41 +00:00
Fariborz Jahanian
ebe772e2f2
Minor change per Doug's comments.
...
- Fariborz
llvm-svn: 74287
2009-06-26 16:08:57 +00:00
Nate Begeman
f275870014
OpenCL 1.0 support: attributes
...
llvm-svn: 74280
2009-06-26 06:32:41 +00:00
Anders Carlsson
6915bf6158
Add NamedDecl::getUnderlyingDecl that can see through UsingDecl and ObjCCompatibleAliasDecl.
...
llvm-svn: 74279
2009-06-26 06:29:23 +00:00
Anders Carlsson
f057cb2310
See through UsingDecls in more places.
...
llvm-svn: 74269
2009-06-26 05:26:50 +00:00
Anders Carlsson
288dcd1158
Fix failing test.
...
llvm-svn: 74268
2009-06-26 05:14:36 +00:00
Zhongxing Xu
3d0fc146f9
Fix build break.
...
llvm-svn: 74267
2009-06-26 05:13:13 +00:00
Chris Lattner
d86a13e02e
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. :)
llvm-svn: 74266
2009-06-26 04:45:06 +00:00
Chris Lattner
5558e9fc55
fix PR4452, a crash on invalid. The error recovery is still terrible in this case
...
but at least we don't crash :)
llvm-svn: 74264
2009-06-26 04:27:47 +00:00
Chris Lattner
6dde0bfef7
oink is dead.
...
llvm-svn: 74263
2009-06-26 04:10:17 +00:00
Anders Carlsson
5f212cbb73
Fix another assert related to using decls.
...
llvm-svn: 74262
2009-06-26 03:54:13 +00:00
Chris Lattner
e2355f70fa
rearrange more code, this avoids a token lookahead for foo<
...
llvm-svn: 74261
2009-06-26 03:52:38 +00:00
Chris Lattner
0eed3a6813
move some code around, no functionality change.
...
llvm-svn: 74260
2009-06-26 03:47:46 +00:00
Chris Lattner
704edfb095
simplify some code.
...
llvm-svn: 74259
2009-06-26 03:45:46 +00:00
Anders Carlsson
8d0f6b7c87
When creating LookupResults, see through UsingDecls. Fixes PR4450.
...
llvm-svn: 74258
2009-06-26 03:37:05 +00:00
Anders Carlsson
5140b3c4a6
Fix PR4448.
...
llvm-svn: 74257
2009-06-26 03:02:18 +00:00
Nate Begeman
c69b740df4
OpenCL 1.0 support: explicit casts to ext-vector types
...
llvm-svn: 74247
2009-06-26 00:50:28 +00:00
Ted Kremenek
bb597cdfc2
Remove '#include <sstream>' from libAnalysis.
...
llvm-svn: 74245
2009-06-26 00:43:22 +00:00
Ted Kremenek
af1ac826f6
Update method signature.
...
llvm-svn: 74244
2009-06-26 00:41:43 +00:00
Ted Kremenek
18e1caa6bf
Unbreak build.
...
llvm-svn: 74238
2009-06-26 00:25:05 +00:00
Ted Kremenek
27433af0ee
Add missing header file.
...
llvm-svn: 74233
2009-06-26 00:15:05 +00:00