Anders Carlsson
ae3c5cf76a
When instantiating a class, if a base specifier is not dependent we still need to copy its attributes down to the instantiated class.
...
llvm-svn: 90463
2009-12-03 17:49:57 +00:00
Ted Kremenek
4b349cc9c5
Tweak handling of BlockDataRegions in RegionStoreManager::RemoveDeadBindings(): only the VarRegions for variables marked with the '__block' annotation should have their lifetime extended by a BlockDataRegion.
...
llvm-svn: 90462
2009-12-03 17:48:05 +00:00
Anders Carlsson
ce2cd01647
Handle static_assert inside functions.
...
llvm-svn: 90461
2009-12-03 17:26:31 +00:00
Douglas Gregor
580cd4a23e
When we're building a CXXExprWithTemporaries, only include those
...
temporaries that are within our current evaluation context. That way,
nested evaluation contexts (e.g., within a sizeof() expression) won't
see temporaries from outer contexts. Also, make sure to push a new
evaluation context when instantiating the initializer of a variable;
this may be an unevaluated context or a potentially-evaluated context,
depending on whether it's an in-class initializer or not. Fixes PR5672.
llvm-svn: 90460
2009-12-03 17:10:37 +00:00
Douglas Gregor
5f49883488
Minor cleanup to the code-completion-point logic suggested by Chris.
...
llvm-svn: 90459
2009-12-03 17:05:59 +00:00
Mike Stump
cdeb800152
Eli, I copied my code from this code... Let's fix the souce of the bad idea!
...
Thanks.
llvm-svn: 90458
2009-12-03 16:55:20 +00:00
Eli Friedman
c339081c24
Fix for PR5659: correct a rather nasty oversight in the type conversion for
...
member pointer types.
llvm-svn: 90450
2009-12-03 12:44:31 +00:00
Zhongxing Xu
39bba629f3
Add security syntactic checker for mktemp.
...
Patch by Lei Zhang!
llvm-svn: 90444
2009-12-03 09:15:23 +00:00
Daniel Dunbar
98f2067ca4
Update CMake for CallGraph.cpp move.
...
llvm-svn: 90443
2009-12-03 09:14:19 +00:00
Daniel Dunbar
6dac935b1f
Fix two more diagnostic-on-stderr instances that thought they could hide from me -- they thought wrong.
...
llvm-svn: 90442
2009-12-03 09:14:12 +00:00
Daniel Dunbar
f680e7d855
Kill a few more random stderr uses.
...
llvm-svn: 90441
2009-12-03 09:14:02 +00:00
Daniel Dunbar
7230fa5630
Convert ABIArgInfo::dump to raw_ostream.
...
llvm-svn: 90440
2009-12-03 09:13:49 +00:00
Daniel Dunbar
f5bda7b5eb
Use llvm_report_error instead of fprintf + assert + exit.
...
llvm-svn: 90438
2009-12-03 09:13:36 +00:00
Daniel Dunbar
7554699afa
Fix CompilerInstance::createOutputFile to use proper diagnostics, and (try to) update all clients to be able to handle failure.
...
llvm-svn: 90437
2009-12-03 09:13:30 +00:00
Daniel Dunbar
692bc47d25
Remove an unnecessary (I believe) exit() on error.
...
llvm-svn: 90436
2009-12-03 09:13:19 +00:00
Daniel Dunbar
34a96c842a
Convert StmtDumper to raw_ostream. I forget why.
...
llvm-svn: 90435
2009-12-03 09:13:13 +00:00
Daniel Dunbar
3b95148ce1
Switch PCHReader::getOriginalSourceFile to use proper diagnostics.
...
llvm-svn: 90434
2009-12-03 09:13:06 +00:00
Daniel Dunbar
acadc55d4e
Fix BackendConsumer to use proper diagnostics.
...
llvm-svn: 90433
2009-12-03 09:12:54 +00:00
Ted Kremenek
5bee5c4ff0
Add value invalidation logic for block-captured variables. Conceptually invoking a block (without specific reasoning of what the block does) can invalidate any value to it by reference when the block was created.
...
llvm-svn: 90431
2009-12-03 08:25:47 +00:00
Ted Kremenek
4a815fc82e
Make BlockDataRegion::referenced_vars_iterator an actual class that enforces that all MemRegions iterated over are VarRegions.
...
llvm-svn: 90430
2009-12-03 08:09:21 +00:00
Anders Carlsson
c6089fda20
Attempt to fix the MSVC build.
...
llvm-svn: 90427
2009-12-03 07:30:40 +00:00
Daniel Dunbar
19a30ca8c0
Fix layering violation by moving Analysis/CallGraph to Index
...
llvm-svn: 90424
2009-12-03 07:20:04 +00:00
Daniel Dunbar
215ca5f199
clang-cc: Honor -help and -version when using new style option parsing.
...
llvm-svn: 90422
2009-12-03 07:01:58 +00:00
Daniel Dunbar
65b9952c2e
Add OptTable::PrintHelp.
...
llvm-svn: 90420
2009-12-03 07:01:38 +00:00
Daniel Dunbar
6048e7fdc0
Add clang -cc1 support for -remap-file.
...
llvm-svn: 90414
2009-12-03 05:11:16 +00:00
Daniel Dunbar
da7a52289f
Add clang -cc1 -load option.
...
llvm-svn: 90413
2009-12-03 05:11:05 +00:00
Eli Friedman
4039f35344
Fix thunk generation for thunks with a parameter with reference type.
...
llvm-svn: 90412
2009-12-03 04:49:52 +00:00
Eli Friedman
551fe84d0e
Minor cleanup.
...
llvm-svn: 90411
2009-12-03 04:27:05 +00:00
John McCall
6e9f8f6374
Honor using declarations in overload resolution. Most of the code for
...
overloaded-operator resolution is wildly untested, but the parallel code for
methods seems to satisfy some trivial tests.
Also change some overload-resolution APIs to take a type instead of an expression,
which lets us avoid creating a spurious CXXThisExpr when resolving implicit
member accesses.
llvm-svn: 90410
2009-12-03 04:06:58 +00:00
Mike Stump
e2d4a2c3a8
Add support for thunking dtors. Oh why does this make my head hurt?
...
llvm-svn: 90409
2009-12-03 03:47:56 +00:00
Mike Stump
2842b4cf86
Reflow.
...
llvm-svn: 90407
2009-12-03 03:40:14 +00:00
Anders Carlsson
dabfa3cd8b
Revert r90402 for now, virt.cpp is failing.
...
llvm-svn: 90406
2009-12-03 03:28:24 +00:00
Ted Kremenek
e5716cbae7
Add batch version of 'StoreManager::InvalidateRegion()' for invalidating multiple regions as once. After adopting this in the CFRefCount::EvalCall(), we see a reduction in analysis time of 1.5% when analyzing all of SQLite3.
...
llvm-svn: 90405
2009-12-03 03:27:11 +00:00
Anders Carlsson
e692f7c309
Use Eli's ComputeThunkAdjustment for calculating the return adjustment.
...
llvm-svn: 90402
2009-12-03 03:15:31 +00:00
Anders Carlsson
5f91fd64b6
Add CodeGenModule::ComputeThunkAdjustment, which Eli wrote.
...
llvm-svn: 90401
2009-12-03 03:06:55 +00:00
Anders Carlsson
80bc5d5d04
Remove the index from the Thunk struct.
...
llvm-svn: 90400
2009-12-03 02:41:55 +00:00
Anders Carlsson
29a1f751b3
Change the Thunks map to use the vtable index as the key.
...
llvm-svn: 90399
2009-12-03 02:39:59 +00:00
Anders Carlsson
0e1e7632bc
Add the global decl to the Thunk struct.
...
llvm-svn: 90398
2009-12-03 02:36:40 +00:00
Anders Carlsson
9f98f7a9e5
Remove unused struct fields.
...
llvm-svn: 90397
2009-12-03 02:34:59 +00:00
Anders Carlsson
657f139abe
Delay computing the return adjustments for covariant thunks until when they are added to the vtable.
...
llvm-svn: 90396
2009-12-03 02:32:59 +00:00
Anders Carlsson
2ca285fc5c
No need to create the covariant thunk in both places now.
...
llvm-svn: 90394
2009-12-03 02:22:59 +00:00
Anders Carlsson
1157e8fc68
Whoops, forgot to save :)
...
llvm-svn: 90393
2009-12-03 02:20:26 +00:00
Anders Carlsson
06c14b6f65
Remove the index field from the CovariantThunk structure.
...
llvm-svn: 90392
2009-12-03 02:16:14 +00:00
Anders Carlsson
73295f96c5
Change the CovariantThunk map to use the vtable index as its key.
...
llvm-svn: 90391
2009-12-03 02:12:03 +00:00
Anders Carlsson
c38b40a709
Store a GlobalDecl in the return adjustment.
...
llvm-svn: 90387
2009-12-03 02:03:29 +00:00
Anders Carlsson
2bd3c0fa34
Do not include the 'this' pointer adjustment in the covariant return type. Instead, store it in the (now oddly named) Thunks map.
...
llvm-svn: 90386
2009-12-03 01:58:20 +00:00
Anders Carlsson
ca1bf68cfb
Move VtableBuilder::OverrideMethod out of line in preparation of other changes to it. No functionality change.
...
llvm-svn: 90382
2009-12-03 01:54:02 +00:00
Daniel Dunbar
59203007ac
Fix ASTUnit to allows require a (persistent) Diagnostic object be provided; propogate and simplify.
...
llvm-svn: 90379
2009-12-03 01:45:44 +00:00
Ted Kremenek
5ef26fb4fd
Add 'has_feature(cxx_exceptions)' to allow code to determine via preprocessor logic if C++ exceptions are enabled.
...
llvm-svn: 90378
2009-12-03 01:34:15 +00:00
Mike Stump
26ada867ba
Remove untrue statement.
...
llvm-svn: 90377
2009-12-03 01:34:13 +00:00