Anders Carlsson
b012ca92ac
Move the check for vprintf* functions inside of SemaCheckStringLiteral. Fixes PR4470.
...
llvm-svn: 74413
2009-06-28 19:55:58 +00:00
Chris Lattner
877a48e67a
make these tests pass with the stack canary stuff even on targets where they default to on.
...
llvm-svn: 74412
2009-06-28 19:49:49 +00:00
Nate Begeman
886448d694
Fix incorrect AST's being produced, noticed by Eli.
...
The issue this was working around is no longer present in TOT clang.
llvm-svn: 74411
2009-06-28 19:12:57 +00:00
Zhongxing Xu
55e070031f
Now this test case passes.
...
llvm-svn: 74410
2009-06-28 14:25:10 +00:00
Zhongxing Xu
0628f539a8
Adjust retrieve handler priority. If a field is of array type, it should be
...
handled by RetrieveArray().
llvm-svn: 74409
2009-06-28 14:16:39 +00:00
Zhongxing Xu
6f610707cf
Invalidate a field of struct type by setting its default value to conjured
...
symbol.
llvm-svn: 74408
2009-06-28 13:59:24 +00:00
Zhongxing Xu
d260db1238
Do not crash on binding concrete integer location.
...
llvm-svn: 74407
2009-06-28 10:16:11 +00:00
Zhongxing Xu
f7a6de3a12
Simplify some code. As in region store, we always expect the location is a
...
memregion.
llvm-svn: 74406
2009-06-28 09:26:15 +00:00
Bill Wendling
d63bbadbef
Add stack protector support to clang. This generates the 'ssp' and 'sspreq'
...
function attributes. There are predefined macros that are defined when stack
protectors are used: __SSP__=1 with -fstack-protector and __SSP_ALL__=2 with
-fstack-protector-all.
llvm-svn: 74405
2009-06-28 07:36:13 +00:00
Nate Begeman
bd956c4290
OpenCL 1.0 support:
...
Handle rules for ExtVector + ExtVector and ExtVector + Scalar operations.
Fix problem Eli noticed where we were allowing pointer types to be splatted to
vector elements.
llvm-svn: 74404
2009-06-28 02:36:38 +00:00
Nate Begeman
c8961a424d
Implement feedback from Eli re: the purpose of lax vector conversions
...
llvm-svn: 74397
2009-06-27 22:05:55 +00:00
Douglas Gregor
15448f8d23
Improve support for overloaded operator templates.
...
llvm-svn: 74390
2009-06-27 21:05:07 +00:00
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