Lines Matching refs:Definition
955 // type's visibility unless it's a definition.
1910 // A declaration is a definition unless [...] it contains the 'extern'
1915 // specialization of a static data member template is a definition if the
1931 return Definition;
1936 // A definition of an identifier is a declaration for that identifier that
1941 // initializer, the declaration is an external definition for the identifier
1943 return Definition;
1946 return Definition;
1950 return Definition;
1965 // the linkage of the declared name and whether it is a definition.
1972 // a tentative definition.
1979 return Definition;
1991 if (Kind == Definition)
2002 if (I->isThisDeclarationADefinition(C) == Definition)
2014 if (Kind == Definition)
2193 // It's an ICE whether or not the definition we found is
2378 bool FunctionDecl::hasBody(const FunctionDecl *&Definition) const {
2381 Definition = I;
2403 bool FunctionDecl::isDefined(const FunctionDecl *&Definition) const {
2407 Definition = I->IsDeleted ? I->getCanonicalDecl() : I;
2415 Stmt *FunctionDecl::getBody(const FunctionDecl *&Definition) const {
2416 if (!hasBody(Definition))
2419 if (Definition->Body)
2420 return Definition->Body.get(getASTContext().getExternalSource());
2754 // libcall shouldn't affect whether a definition is externally visible.
2759 return true; // Not an inline definition
2765 /// declaration causes the definition to be externally visible.
2777 const FunctionDecl *Definition;
2778 if (hasBody(Definition) && Definition->isInlined() &&
2785 // an externally visible definition.
2799 // specified on the definition, then it is always externally visible.
2817 // then the definition in that translation unit is an inline definition.
2862 /// \brief For an inline function definition in C, or for a gnu_inline function
2863 /// in C++, determine whether the definition will be externally visible.
2867 /// attributes, the definition of an inline function may or may not be
2872 /// inline definition becomes externally visible (C99 6.7.4p6).
2875 /// definition, we use the GNU semantics for inline, which are nearly the
2880 assert(doesThisDeclarationHaveABody() && "Must have the function definition");
2889 // specified on the definition, then this inline definition is
2894 // If any declaration is 'inline' but not 'extern', then this definition
2912 // then the definition in that translation unit is an inline definition.
2919 // An inline definition does not provide an external definition for the
2920 // function, and does not forbid an external definition in another
3039 // we don't have to go hunting for a prototype definition template
3219 const FunctionDecl *Definition;
3220 if (FD->hasBody(Definition))
3221 return Definition->isOutOfLine();
3227 const FunctionDecl *Definition;
3228 if (FunTmpl->getTemplatedDecl()->hasBody(Definition))
3229 return Definition->isOutOfLine();
3446 "definition completed but not started");
3459 // If it's possible for us to have an out-of-date definition, check now.
3647 /// completeDefinition - Notes that the definition of this type is now