]>
granicus.if.org Git - clang/log
Eli Friedman [Thu, 3 Dec 2009 12:44:31 +0000 (12:44 +0000)]
Fix for PR5659: correct a rather nasty oversight in the type conversion for
member pointer types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90450
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 3 Dec 2009 11:12:50 +0000 (11:12 +0000)]
XFAIL this on Win32 for the time being.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90448
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 3 Dec 2009 09:15:23 +0000 (09:15 +0000)]
Add security syntactic checker for mktemp.
Patch by Lei Zhang!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90444
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 3 Dec 2009 09:14:19 +0000 (09:14 +0000)]
Update CMake for CallGraph.cpp move.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90443
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 3 Dec 2009 09:14:12 +0000 (09:14 +0000)]
Fix two more diagnostic-on-stderr instances that thought they could hide from me -- they thought wrong.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90442
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 3 Dec 2009 09:14:02 +0000 (09:14 +0000)]
Kill a few more random stderr uses.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90441
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 3 Dec 2009 09:13:49 +0000 (09:13 +0000)]
Convert ABIArgInfo::dump to raw_ostream.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90440
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 3 Dec 2009 09:13:43 +0000 (09:13 +0000)]
Kill off one last exit() call.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90439
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 3 Dec 2009 09:13:36 +0000 (09:13 +0000)]
Use llvm_report_error instead of fprintf + assert + exit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90438
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 3 Dec 2009 09:13:30 +0000 (09:13 +0000)]
Fix CompilerInstance::createOutputFile to use proper diagnostics, and (try to) update all clients to be able to handle failure.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90437
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 3 Dec 2009 09:13:19 +0000 (09:13 +0000)]
Remove an unnecessary (I believe) exit() on error.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90436
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 3 Dec 2009 09:13:13 +0000 (09:13 +0000)]
Convert StmtDumper to raw_ostream. I forget why.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90435
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 3 Dec 2009 09:13:06 +0000 (09:13 +0000)]
Switch PCHReader::getOriginalSourceFile to use proper diagnostics.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90434
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 3 Dec 2009 09:12:54 +0000 (09:12 +0000)]
Fix BackendConsumer to use proper diagnostics.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90433
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Dec 2009 08:25:47 +0000 (08:25 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90431
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Dec 2009 08:09:21 +0000 (08:09 +0000)]
Make BlockDataRegion::referenced_vars_iterator an actual class that enforces that all MemRegions iterated over are VarRegions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90430
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 3 Dec 2009 07:30:40 +0000 (07:30 +0000)]
Attempt to fix the MSVC build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90427
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 3 Dec 2009 07:23:38 +0000 (07:23 +0000)]
clang-cc: Move to CompilerInvocation based command line parsing.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90426
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 3 Dec 2009 07:20:04 +0000 (07:20 +0000)]
Fix layering violation by moving Analysis/CallGraph to Index
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90424
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 3 Dec 2009 07:01:58 +0000 (07:01 +0000)]
clang-cc: Honor -help and -version when using new style option parsing.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90422
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 3 Dec 2009 07:01:46 +0000 (07:01 +0000)]
CC1Options: Normalize meta var spellings, and fix a few help texts.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90421
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 3 Dec 2009 07:01:38 +0000 (07:01 +0000)]
Add OptTable::PrintHelp.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90420
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 3 Dec 2009 05:32:40 +0000 (05:32 +0000)]
Update test and CIndex to use -FOO BAR form for -{remap-file,code-completion-at}.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90416
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 3 Dec 2009 05:11:16 +0000 (05:11 +0000)]
Add clang -cc1 support for -remap-file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90414
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 3 Dec 2009 05:11:05 +0000 (05:11 +0000)]
Add clang -cc1 -load option.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90413
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 3 Dec 2009 04:49:52 +0000 (04:49 +0000)]
Fix thunk generation for thunks with a parameter with reference type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90412
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 3 Dec 2009 04:27:05 +0000 (04:27 +0000)]
Minor cleanup.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90411
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 3 Dec 2009 04:06:58 +0000 (04:06 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90410
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 3 Dec 2009 03:47:56 +0000 (03:47 +0000)]
Add support for thunking dtors. Oh why does this make my head hurt?
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90409
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 3 Dec 2009 03:40:14 +0000 (03:40 +0000)]
Reflow.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90407
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 3 Dec 2009 03:28:24 +0000 (03:28 +0000)]
Revert r90402 for now, virt.cpp is failing.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90406
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Dec 2009 03:27:11 +0000 (03:27 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90405
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 3 Dec 2009 03:15:31 +0000 (03:15 +0000)]
Use Eli's ComputeThunkAdjustment for calculating the return adjustment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90402
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 3 Dec 2009 03:06:55 +0000 (03:06 +0000)]
Add CodeGenModule::ComputeThunkAdjustment, which Eli wrote.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90401
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 3 Dec 2009 02:41:55 +0000 (02:41 +0000)]
Remove the index from the Thunk struct.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90400
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 3 Dec 2009 02:39:59 +0000 (02:39 +0000)]
Change the Thunks map to use the vtable index as the key.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90399
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 3 Dec 2009 02:36:40 +0000 (02:36 +0000)]
Add the global decl to the Thunk struct.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90398
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 3 Dec 2009 02:34:59 +0000 (02:34 +0000)]
Remove unused struct fields.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90397
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 3 Dec 2009 02:32:59 +0000 (02:32 +0000)]
Delay computing the return adjustments for covariant thunks until when they are added to the vtable.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90396
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 3 Dec 2009 02:22:59 +0000 (02:22 +0000)]
No need to create the covariant thunk in both places now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90394
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 3 Dec 2009 02:20:26 +0000 (02:20 +0000)]
Whoops, forgot to save :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90393
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 3 Dec 2009 02:16:14 +0000 (02:16 +0000)]
Remove the index field from the CovariantThunk structure.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90392
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 3 Dec 2009 02:12:03 +0000 (02:12 +0000)]
Change the CovariantThunk map to use the vtable index as its key.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90391
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Dec 2009 02:06:43 +0000 (02:06 +0000)]
Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90390
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Dec 2009 02:05:57 +0000 (02:05 +0000)]
Add __has_feature(cxx_exceptions) and __has_feature(cxx_rtti) to table of contents.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90389
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Dec 2009 02:04:01 +0000 (02:04 +0000)]
Add section on what language features __has_feature() supports for querying if they are enabled.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90388
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 3 Dec 2009 02:03:29 +0000 (02:03 +0000)]
Store a GlobalDecl in the return adjustment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90387
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 3 Dec 2009 01:58:20 +0000 (01:58 +0000)]
Do not include the 'this' pointer adjustment in the covariant return type. Instead, store it in the (now oddly named) Thunks map.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90386
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 3 Dec 2009 01:54:28 +0000 (01:54 +0000)]
Switch clang_createTranslationUnitFromSourceFile to use ASTUnit::LoadFromCommandLine.
- This is much faster, as it avoids the overhead of dumping an AST file to disk and reloading it.
- For debugging purposes, there is a clang_setUseExternalASTGeneration hook which can be used to disable this.
On the Sketch Cocoa app, the speedup is pretty nice, especially when using a PCH file while scanning the source:
Wall time to c-index-test all files (no PCH):
Old: 23.4221
New: 12.3884
Wall time to c-index-test all files (with a PCH, and "local" mode):
Old: 10.9233
New: 1.9038
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90385
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 3 Dec 2009 01:54:02 +0000 (01:54 +0000)]
Move VtableBuilder::OverrideMethod out of line in preparation of other changes to it. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90382
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 3 Dec 2009 01:45:44 +0000 (01:45 +0000)]
Fix ASTUnit to allows require a (persistent) Diagnostic object be provided; propogate and simplify.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90379
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Dec 2009 01:34:15 +0000 (01:34 +0000)]
Add 'has_feature(cxx_exceptions)' to allow code to determine via preprocessor logic if C++ exceptions are enabled.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90378
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 3 Dec 2009 01:34:13 +0000 (01:34 +0000)]
Remove untrue statement.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90377
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Dec 2009 01:31:28 +0000 (01:31 +0000)]
Rename has_feature(rtti) to has_feature(cxx_rtti) for clarity.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90376
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 3 Dec 2009 01:22:05 +0000 (01:22 +0000)]
Note a failure I saw from the g++ testsuite:
FAIL: g++.old-deja/g++.mike/eh23.C (test for excess errors)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90374
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Dec 2009 01:17:43 +0000 (01:17 +0000)]
Add FileCheck test for '__has_feature(rtti)'.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90373
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Dec 2009 01:02:35 +0000 (01:02 +0000)]
Add "has_feature" support for C++ RTTI.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90368
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 3 Dec 2009 00:58:24 +0000 (00:58 +0000)]
Stop stripping UnresolvedUsingDecls out of LookupResults that have other
results in them (which we were doing intentionally as a stopgap). Fix
an DeclContext lookup-table ordering problem which was causing UsingDecls to
show up incorrectly when looking for ordinary results. And oh hey
Clang-Code-Syntax passes now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90367
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Dec 2009 00:46:16 +0000 (00:46 +0000)]
Add a heuristic to the dead stores checker to prune dead stores for variables annotated with '__block'. This is overly conservative, but now the analyzer doesn't report dead stores for variables that can be updated by a block call.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90364
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Thu, 3 Dec 2009 00:13:20 +0000 (00:13 +0000)]
Introduce the notion of literal types, as specified in C++0x.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90361
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 3 Dec 2009 00:03:05 +0000 (00:03 +0000)]
Work-in-progress: teach mangler how to mangle thunks for destructors.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90360
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 3 Dec 2009 00:00:22 +0000 (00:00 +0000)]
Update example link lines.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90359
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 2 Dec 2009 23:46:02 +0000 (23:46 +0000)]
Cleanups on exceptional edges don't work at all, yet. This doesn't
catch very many of them and if we caught all of them, the errors would
be annoying. I'm working on this next. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90358
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 2 Dec 2009 23:37:16 +0000 (23:37 +0000)]
Add a cleanup scope for each catch clause.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90357
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 2 Dec 2009 23:28:08 +0000 (23:28 +0000)]
Add missing branch to exit. Seemingly obvious when I look at the
code, but to track this down was laborious.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90356
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 2 Dec 2009 22:36:29 +0000 (22:36 +0000)]
Improve source location information for C++ member initializers in a
constructor, by keeping the DeclaratorInfo* rather than just the type
and a single location.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90355
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 2 Dec 2009 21:47:55 +0000 (21:47 +0000)]
Normalize CIndex/c-index-test/index-test link lines in the hopes it will fix
*something*.
- We really need to fix how LLVM's build systems manage
linking. Pretty-please-someone-else-do-this? :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90350
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 2 Dec 2009 21:47:43 +0000 (21:47 +0000)]
ASTUnit: Explicitly track whether the ASTUnit came from an actual AST or not.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90349
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 2 Dec 2009 21:47:32 +0000 (21:47 +0000)]
ASTUnit: Fix initialization of OnlyLocalDecls variable, and honor UseBumpAllocator.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90348
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 2 Dec 2009 20:32:49 +0000 (20:32 +0000)]
Fix for PR5522 and PR5666: fix a bunch of mangling issues with extern variables
and funcctions declared locally within a function.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90344
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Wed, 2 Dec 2009 20:26:00 +0000 (20:26 +0000)]
Use a more rigorous definition of 'class member'. I don't have any evidence
that this was causing a problem, but it could have.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90343
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nuno Lopes [Wed, 2 Dec 2009 20:20:47 +0000 (20:20 +0000)]
this also depends on libDriver. this almost fixes the build problems of c-index-test
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90342
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Wed, 2 Dec 2009 19:59:55 +0000 (19:59 +0000)]
Recognize that EnumConstantDecls can be found by lookup and are not instance
members. Fixes PR5667.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90341
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 2 Dec 2009 19:53:57 +0000 (19:53 +0000)]
Pull the terminate handler up so that we can use it for the catch
parameter setup code and set up the catch parameter setup code to
protect that code with terminate.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90340
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 2 Dec 2009 19:50:41 +0000 (19:50 +0000)]
Turn off for now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90339
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 2 Dec 2009 19:07:44 +0000 (19:07 +0000)]
Put the Builder classes into the anonymous namespace.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90335
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 2 Dec 2009 18:57:08 +0000 (18:57 +0000)]
Change rtti/Rtti to RTTI, as it is an acronym.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90334
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 2 Dec 2009 18:32:08 +0000 (18:32 +0000)]
Rename CGRtti.cpp to CGRTTI.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90331
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 2 Dec 2009 18:20:18 +0000 (18:20 +0000)]
Avoid warning for getTerminateFn defined but not used.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90330
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 2 Dec 2009 18:12:28 +0000 (18:12 +0000)]
Extend -remap-file=from;to to permit mapping from a non-existent
file. This is accomplished by introducing the notion of a "virtual"
file into the file manager, which provides a FileEntry* for a named
file whose size and modification time are known but which may not
exist on disk.
Added a cute little test that remaps both a .c file and a .h file it
includes to alternative files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90329
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Wed, 2 Dec 2009 17:15:43 +0000 (17:15 +0000)]
In Sema, whenever we think that a function is going to cause a vtable to be generated, we mark any virtual implicit member functions as referenced.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90327
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Dec 2009 16:42:21 +0000 (16:42 +0000)]
Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90323
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 2 Dec 2009 16:32:41 +0000 (16:32 +0000)]
Move file-remapping logic into InitPreprocesor. No functionality change
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90322
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 2 Dec 2009 09:21:34 +0000 (09:21 +0000)]
Extend the CIndex code-completion API to perform code completion
involving unsaved files, using the -remap-file= functionality recently
added to clang-cc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90314
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Wed, 2 Dec 2009 08:47:38 +0000 (08:47 +0000)]
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
Daniel Dunbar [Wed, 2 Dec 2009 08:44:24 +0000 (08:44 +0000)]
Fix relative ordering of Analyis library.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90312
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 2 Dec 2009 08:44:16 +0000 (08:44 +0000)]
Fix ASTUnit::getOriginalSourceFileName() when using ASTUnit's derived from
source files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90311
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 2 Dec 2009 08:43:56 +0000 (08:43 +0000)]
ASTUnit: Don't create an LLVMContext, it shouldn't be needed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90310
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Wed, 2 Dec 2009 08:25:40 +0000 (08:25 +0000)]
Rip out the last remaining implicit use of OverloadedFunctionDecl in Sema:
LookupResult::getAsSingleDecl() is no more. Shift Sema::LookupSingleName to
return null on overloaded results.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90309
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 2 Dec 2009 08:18:09 +0000 (08:18 +0000)]
terminate doesn't throw.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90308
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 2 Dec 2009 08:08:39 +0000 (08:08 +0000)]
Introduce a new clang-cc option
-remap-file=from;to
which takes the file "from" and transparently replaces its contents
with the contents of the file "to" from the source manager's
perspective. This is the moral equivalent of
cp from saved
cp to from
<call clang>
cp saved from
rm saved
without all of the pesky file copying.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90307
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Wed, 2 Dec 2009 08:04:21 +0000 (08:04 +0000)]
Push overloaded function templates through the parser using a totally different
leaked data structure than before. This kills off the last remaining
explicit uses of OverloadedFunctionDecl in Sema.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90306
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 2 Dec 2009 07:41:41 +0000 (07:41 +0000)]
More exception handling improvements... WIP.
Highlights include:
Add a helper to generate __cxa_free_exception and _ZSt9terminatev.
Add a region to handle EH object deallocation for ctor failures for throw.
Add a terminate handler for __cxa_end_catch.
A framework for adding cleanup actions for the exceptional edges only.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90305
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 2 Dec 2009 07:16:50 +0000 (07:16 +0000)]
Fix another "operator delete missing" crash: make sure we don't check
isVirtual() before we've actually calculated whether the destructor is
virtual.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90303
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 2 Dec 2009 07:04:32 +0000 (07:04 +0000)]
Tweak test to check for a bit more.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90302
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 2 Dec 2009 06:59:20 +0000 (06:59 +0000)]
Make sure to call AddOverriddenMethods for implicit copy assignment operators;
it's rare, but possible, for the difference to be significant.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90301
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 2 Dec 2009 06:49:09 +0000 (06:49 +0000)]
Extend the source manager with the ability to override the contents of
files with the contents of an arbitrary memory buffer. Use this new
functionality to drastically clean up the way in which we handle file
truncation for code-completion: all of the truncation/completion logic
is now encapsulated in the preprocessor where it belongs
(<rdar://problem/
7434737 >).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90300
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Wed, 2 Dec 2009 05:49:12 +0000 (05:49 +0000)]
Hard bifurcate the state into nil receiver and non-nil receiver, so that
we don't need to use the DoneEvaluation hack when check for
ObjCMessageExpr.
PreVisitObjCMessageExpr() only checks for undefined receiver or arguments.
Add checker interface EvalNilReceiver(). This is a 'once-and-done' interface.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90296
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Wed, 2 Dec 2009 05:45:19 +0000 (05:45 +0000)]
libFrontend depends on libDriver now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90295
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 2 Dec 2009 05:34:39 +0000 (05:34 +0000)]
Eliminate the unnecessary FirstFID cache variable from the source manager's ContentCache
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90294
91177308 -0d34-0410-b5e6-
96231b3b80d8