[cfe-commits] r146669 - in /cfe/trunk: include/clang/AST/DeclObjC.h lib/AST/DeclObjC.cpp lib/Serialization/ASTReaderDecl.cpp
jahanian
fjahanian at apple.com
Thu Dec 15 10:32:31 PST 2011
On Dec 15, 2011, at 10:17 AM, Douglas Gregor wrote:
> Author: dgregor
> Date: Thu Dec 15 12:17:27 2011
> New Revision: 146669
>
> URL: http://llvm.org/viewvc/llvm-project?rev=146669&view=rev
> Log:
> Extend ObjCInterfaceDecl::DefinitionData to contain a pointer to the
> definition, and implement ObjCInterfaceDecl::getDefinition()
> efficiently based on that.
>
> Modified:
> cfe/trunk/include/clang/AST/DeclObjC.h
> cfe/trunk/lib/AST/DeclObjC.cpp
> cfe/trunk/lib/Serialization/ASTReaderDecl.cpp
>
> Modified: cfe/trunk/include/clang/AST/DeclObjC.h
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/DeclObjC.h?rev=146669&r1=146668&r2=146669&view=diff
> ==============================================================================
> --- cfe/trunk/include/clang/AST/DeclObjC.h (original)
> +++ cfe/trunk/include/clang/AST/DeclObjC.h Thu Dec 15 12:17:27 2011
>
> + /// \brief Determine whether this class has only ever been forward-declared.
> + bool isForwardDecl() const { return Data == 0; }
> +
> /// \brief Determine whether this particular declaration of this class is
> /// actually also a definition.
> - bool isThisDeclarationADefinition() const { return Definition.getInt(); }
> + bool isThisDeclarationADefinition() const {
> + return Data == 0 || Data->Definition != this;
> + }
"Data == 0" means that forward decl. is the only definition. Can you add comment about the other condition.
- Fariborz
More information about the cfe-commits
mailing list