[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