[cfe-commits] r96484 - in /cfe/trunk/lib: CodeGen/CGBlocks.cpp Sema/SemaDeclObjC.cpp
Douglas Gregor
dgregor at apple.com
Wed Feb 17 10:33:36 PST 2010
Comment below...
Sent from my iPhone
On Feb 17, 2010, at 10:11 AM, Fariborz Jahanian <fjahanian at apple.com>
wrote:
> Author: fjahanian
> Date: Wed Feb 17 12:10:54 2010
> New Revision: 96484
>
> URL: http://llvm.org/viewvc/llvm-project?rev=96484&view=rev
> Log:
> Use proper lexcial context for newly added ivars.
>
>
> Modified:
> cfe/trunk/lib/CodeGen/CGBlocks.cpp
> cfe/trunk/lib/Sema/SemaDeclObjC.cpp
>
> Modified: cfe/trunk/lib/CodeGen/CGBlocks.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGBlocks.cpp?rev=96484&r1=96483&r2=96484&view=diff
>
> ===
> ===
> ===
> =====================================================================
> --- cfe/trunk/lib/CodeGen/CGBlocks.cpp (original)
> +++ cfe/trunk/lib/CodeGen/CGBlocks.cpp Wed Feb 17 12:10:54 2010
> @@ -110,6 +110,7 @@
> /// invoke function.
> static void AllocateAllBlockDeclRefs(const
> CodeGenFunction::BlockInfo &Info,
> CodeGenFunction *CGF) {
> +#if 0
> // Always allocate self, as it is often handy in the debugger,
> even if there
> // is no codegen in the block that uses it. This is also useful
> to always do
> // this as if we didn't, we'd have to figure out all code that
> uses a self
> @@ -122,6 +123,7 @@
> SelfDecl->getType(), SourceLocation(), false);
> CGF->AllocateBlockDecl(BDRE);
> }
> +#endif
>
> // FIXME: Also always forward the this pointer in C++ as well.
>
>
> Modified: cfe/trunk/lib/Sema/SemaDeclObjC.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDeclObjC.cpp?rev=96484&r1=96483&r2=96484&view=diff
>
> ===
> ===
> ===
> =====================================================================
> --- cfe/trunk/lib/Sema/SemaDeclObjC.cpp (original)
> +++ cfe/trunk/lib/Sema/SemaDeclObjC.cpp Wed Feb 17 12:10:54 2010
> @@ -825,8 +825,8 @@
> IDecl->setLocEnd(RBrace);
> // Add ivar's to class's DeclContext.
> for (unsigned i = 0, e = numIvars; i != e; ++i) {
> - ivars[i]->setLexicalDeclContext(IDecl);
> - IDecl->addDecl(ivars[i]);
> + ivars[i]->setLexicalDeclContext(ImpDecl);
> + IDecl->makeDeclVisibleInContext(ivars[i], false);
Also,
ImpDecl->addDecl(ivars[i]);
So that this ivar is stored in the @implementation.
> }
>
> return;
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
More information about the cfe-commits
mailing list