]> granicus.if.org Git - clang/log
clang
15 years agoThese are done.
Mike Stump [Thu, 3 Dec 2009 22:55:42 +0000 (22:55 +0000)]
These are done.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90494 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoImprove catch parameter bindings for scalar non-pointers. WIP.
Mike Stump [Thu, 3 Dec 2009 22:38:15 +0000 (22:38 +0000)]
Improve catch parameter bindings for scalar non-pointers.  WIP.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90492 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoLift the ObjCPropertyCallback out of local scope to unbreak VS2005 builds.
John McCall [Thu, 3 Dec 2009 22:31:13 +0000 (22:31 +0000)]
Lift the ObjCPropertyCallback out of local scope to unbreak VS2005 builds.
Make it an inner class of Parser to assuage access control.
No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90491 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd recursion guards to ice-checking and evaluation for declrefs, so we
Eli Friedman [Thu, 3 Dec 2009 20:31:57 +0000 (20:31 +0000)]
Add recursion guards to ice-checking and evaluation for declrefs, so we
don't infinitely recurse for cases we can't evaluate.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90480 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTry to make the output of PlistDiagnostics more deterministic by sorting PathDiagnost...
Ted Kremenek [Thu, 3 Dec 2009 19:35:02 +0000 (19:35 +0000)]
Try to make the output of PlistDiagnostics more deterministic by sorting PathDiagnostics before they are emitted.  Fixes <rdar://problem/7439668>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90478 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoConvert some methods in PathDiagnostic to return StringRefs instead of std::string&.
Ted Kremenek [Thu, 3 Dec 2009 19:34:02 +0000 (19:34 +0000)]
Convert some methods in PathDiagnostic to return StringRefs instead of std::string&.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90477 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoA new helper function to set various bits in the class when
Fariborz Jahanian [Thu, 3 Dec 2009 18:44:40 +0000 (18:44 +0000)]
A new helper function to set various bits in the class when
a new virtual function is declared/instantiated. it is used
in couple of places.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90470 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix Clang tool translation to forward -fvisibility as separate arguments, the
Daniel Dunbar [Thu, 3 Dec 2009 18:42:11 +0000 (18:42 +0000)]
Fix Clang tool translation to forward -fvisibility as separate arguments, the
old syntax isn't supported.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90469 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd utils/TestUtils, and sink pch-test.pl there.
Daniel Dunbar [Thu, 3 Dec 2009 18:40:58 +0000 (18:40 +0000)]
Add utils/TestUtils, and sink pch-test.pl there.

Also, add a test for generator a C file with a very deep call stack.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90468 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUnify the end-of-class code paths used by the parser and template
Douglas Gregor [Thu, 3 Dec 2009 18:33:45 +0000 (18:33 +0000)]
Unify the end-of-class code paths used by the parser and template
instantiation, to ensure that we mark class template specilizations as
abstract when we need to and perform checking of abstract classes.

Also, move the checking that determines whether we are creating a
variable of abstract class type *after* we check whether the type is
complete. Otherwise, we won't see when we have an abstract class
template specialization that is implicitly instantiated by this
declaration. This is the "something else" that Sebastian had noted
earlier.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90467 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd another blocks test case illustrating how parameters passed-by-reference in block...
Ted Kremenek [Thu, 3 Dec 2009 18:29:20 +0000 (18:29 +0000)]
Add another blocks test case illustrating how parameters passed-by-reference in block invocations are invalidated (just like function calls).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90466 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoWhen instantiating a class, if a base specifier is not dependent we still need to...
Anders Carlsson [Thu, 3 Dec 2009 17:49:57 +0000 (17:49 +0000)]
When instantiating a class, if a base specifier is not dependent we still need to copy its attributes down to the instantiated class.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90463 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTweak handling of BlockDataRegions in RegionStoreManager::RemoveDeadBindings(): ...
Ted Kremenek [Thu, 3 Dec 2009 17:48:05 +0000 (17:48 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90462 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoHandle static_assert inside functions.
Anders Carlsson [Thu, 3 Dec 2009 17:26:31 +0000 (17:26 +0000)]
Handle static_assert inside functions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90461 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoWhen we're building a CXXExprWithTemporaries, only include those
Douglas Gregor [Thu, 3 Dec 2009 17:10:37 +0000 (17:10 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90460 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMinor cleanup to the code-completion-point logic suggested by Chris.
Douglas Gregor [Thu, 3 Dec 2009 17:05:59 +0000 (17:05 +0000)]
Minor cleanup to the code-completion-point logic suggested by Chris.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90459 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoEli, I copied my code from this code... Let's fix the souce of the bad idea!
Mike Stump [Thu, 3 Dec 2009 16:55:20 +0000 (16:55 +0000)]
Eli, I copied my code from this code...  Let's fix the souce of the bad idea!

Thanks.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90458 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMake test 64 bit safe.
Benjamin Kramer [Thu, 3 Dec 2009 13:09:24 +0000 (13:09 +0000)]
Make test 64 bit safe.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90452 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix for PR5659: correct a rather nasty oversight in the type conversion for
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

15 years agoXFAIL this on Win32 for the time being.
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

15 years agoAdd security syntactic checker for mktemp.
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

15 years agoUpdate CMake for CallGraph.cpp move.
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

15 years agoFix two more diagnostic-on-stderr instances that thought they could hide from me...
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

15 years agoKill a few more random stderr uses.
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

15 years agoConvert ABIArgInfo::dump to raw_ostream.
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

15 years agoKill off one last exit() call.
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

15 years agoUse llvm_report_error instead of fprintf + assert + exit.
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

15 years agoFix CompilerInstance::createOutputFile to use proper diagnostics, and (try to) update...
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

15 years agoRemove an unnecessary (I believe) exit() on error.
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

15 years agoConvert StmtDumper to raw_ostream. I forget why.
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

15 years agoSwitch PCHReader::getOriginalSourceFile to use proper diagnostics.
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

15 years agoFix BackendConsumer to use proper diagnostics.
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

15 years agoAdd value invalidation logic for block-captured variables. Conceptually invoking...
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

15 years agoMake BlockDataRegion::referenced_vars_iterator an actual class that enforces that...
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

15 years agoAttempt to fix the MSVC build.
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

15 years agoclang-cc: Move to CompilerInvocation based command line parsing.
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

15 years agoFix layering violation by moving Analysis/CallGraph to Index
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

15 years agoclang-cc: Honor -help and -version when using new style option parsing.
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

15 years agoCC1Options: Normalize meta var spellings, and fix a few help texts.
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

15 years agoAdd OptTable::PrintHelp.
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

15 years agoUpdate test and CIndex to use -FOO BAR form for -{remap-file,code-completion-at}.
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

15 years agoAdd clang -cc1 support for -remap-file.
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

15 years agoAdd clang -cc1 -load option.
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

15 years agoFix thunk generation for thunks with a parameter with reference type.
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

15 years agoMinor cleanup.
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

15 years agoHonor using declarations in overload resolution. Most of the code for
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

15 years agoAdd support for thunking dtors. Oh why does this make my head hurt?
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

15 years agoReflow.
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

15 years agoRevert r90402 for now, virt.cpp is failing.
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

15 years agoAdd batch version of 'StoreManager::InvalidateRegion()' for invalidating multiple...
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

15 years agoUse Eli's ComputeThunkAdjustment for calculating the return adjustment.
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

15 years agoAdd CodeGenModule::ComputeThunkAdjustment, which Eli wrote.
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

15 years agoRemove the index from the Thunk struct.
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

15 years agoChange the Thunks map to use the vtable index as the key.
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

15 years agoAdd the global decl to the Thunk struct.
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

15 years agoRemove unused struct fields.
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

15 years agoDelay computing the return adjustments for covariant thunks until when they are added...
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

15 years agoNo need to create the covariant thunk in both places now.
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

15 years agoWhoops, forgot to save :)
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

15 years agoRemove the index field from the CovariantThunk structure.
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

15 years agoChange the CovariantThunk map to use the vtable index as its key.
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

15 years agoFix typo.
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

15 years agoAdd __has_feature(cxx_exceptions) and __has_feature(cxx_rtti) to table of contents.
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

15 years agoAdd section on what language features __has_feature() supports for querying if they...
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

15 years agoStore a GlobalDecl in the return adjustment.
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

15 years agoDo not include the 'this' pointer adjustment in the covariant return type. Instead...
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

15 years agoSwitch clang_createTranslationUnitFromSourceFile to use ASTUnit::LoadFromCommandLine.
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

15 years agoMove VtableBuilder::OverrideMethod out of line in preparation of other changes to...
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

15 years agoFix ASTUnit to allows require a (persistent) Diagnostic object be provided; propogate...
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

15 years agoAdd 'has_feature(cxx_exceptions)' to allow code to determine via preprocessor logic...
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

15 years agoRemove untrue statement.
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

15 years agoRename has_feature(rtti) to has_feature(cxx_rtti) for clarity.
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

15 years agoNote a failure I saw from the g++ testsuite:
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

15 years agoAdd FileCheck test for '__has_feature(rtti)'.
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

15 years agoAdd "has_feature" support for C++ RTTI.
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

15 years agoStop stripping UnresolvedUsingDecls out of LookupResults that have other
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

15 years agoAdd a heuristic to the dead stores checker to prune dead stores for variables annotat...
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

15 years agoIntroduce the notion of literal types, as specified in C++0x.
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

15 years agoWork-in-progress: teach mangler how to mangle thunks for destructors.
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

15 years agoUpdate example link lines.
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

15 years agoCleanups on exceptional edges don't work at all, yet. This doesn't
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

15 years agoAdd a cleanup scope for each catch clause.
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

15 years agoAdd missing branch to exit. Seemingly obvious when I look at the
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

15 years agoImprove source location information for C++ member initializers in a
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

15 years agoNormalize CIndex/c-index-test/index-test link lines in the hopes it will fix
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

15 years agoASTUnit: Explicitly track whether the ASTUnit came from an actual AST or not.
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

15 years agoASTUnit: Fix initialization of OnlyLocalDecls variable, and honor UseBumpAllocator.
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

15 years agoFix for PR5522 and PR5666: fix a bunch of mangling issues with extern variables
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

15 years agoUse a more rigorous definition of 'class member'. I don't have any evidence
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

15 years agothis also depends on libDriver. this almost fixes the build problems of c-index-test
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

15 years agoRecognize that EnumConstantDecls can be found by lookup and are not instance
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

15 years agoPull the terminate handler up so that we can use it for the catch
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

15 years agoTurn off for now.
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

15 years agoPut the Builder classes into the anonymous namespace.
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

15 years agoChange rtti/Rtti to RTTI, as it is an acronym.
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

15 years agoRename CGRtti.cpp to CGRTTI.cpp.
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

15 years agoAvoid warning for getTerminateFn defined but not used.
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

15 years agoExtend -remap-file=from;to to permit mapping from a non-existent
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

15 years agoIn Sema, whenever we think that a function is going to cause a vtable to be generated...
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

15 years agoUpdate checker build.
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