Home | History | Annotate | Download | only in Sema

Lines Matching refs:Function

184     // We assume that we'll preserve the qualifier from a function
295 // or function template.
639 // -- pointer to object or pointer to function,
641 // -- reference to object or reference to function,
658 // "function returning T" is adjusted to be of type "pointer to
659 // T" or "pointer to function returning T", respectively.
939 // [...] When looking for a prior declaration of a class or a function
941 // function is neither a qualified name nor a template-id, scopes outside
1022 // template, class, function, object, enumeration, enumerator,
1168 // function template declaration or a function template
1170 // If a friend function template declaration specifies a default
1172 // the only declaration of the function template in the translation unit.
1198 // for friend function templates if there is only a single
1267 // declarations in scope in the same way default function
2284 // foo<int> could identify a single function unambiguously
3181 // got a partial argument list for a function template, so just bail out.
3659 /// of an object or function according to C++ [temp.arg.nontype]p1.
3694 // -- the address of an object or function with external
3695 // linkage, including function templates and function
3698 // the name refers to a function or array, or if the
3786 // A non-type template argument must refer to an object or function.
3812 // If the template parameter has pointer type, the function decays.
3934 // function with external linkage. We now need to check whether the
4128 // If, in the declaration of a function template with a non-type
4130 // in an expression in the function parameter-list and, if the
4310 // Handle pointer-to-function, reference-to-function, and
4311 // pointer-to-member-function all in (roughly) the same way.
4313 // function, only the function-to-pointer conversion (4.3) is
4316 // function is selected from the set (13.4).
4320 // function, no conversions apply. If the template-argument
4322 // function is selected from the set (13.4).
4326 // member function, no conversions apply. If the
4328 // functions, the matching member function is selected from
4473 "Only function templates are possible here");
4501 // "function returning T" is adjusted to be of type "pointer to
4502 // T" or "pointer to function returning T", respectively.
4927 if (FunctionDecl *Function = dyn_cast<FunctionDecl>(D))
4928 return Function->getTemplateSpecializationKind();
4945 /// may be a kind of template (class template, function template, etc.) or
4946 /// a member of a class template (member function, static data member,
4991 // function, member class or static data member of a class
5044 // An explicit specialization of a member function, member class or
5079 // specializations of function templates, static data members, and member
5633 assert(getCurFunctionDecl() == 0 && "Function parsing confused");
5862 /// \brief Perform semantic analysis for the given dependent function
5865 /// The only possible way to get a dependent function template specialization
5881 // Remove anything from Previous that isn't a function template in
5902 /// \brief Perform semantic analysis for the given function template
5906 /// explicit function template specialization. On successful completion,
5907 /// the function declaration \p FD will become a function template
5910 /// \param FD the function declaration, which will be updated to become a
5911 /// function template specialization.
5919 /// this function specialization.
5924 // The set of function template specializations that could match this
5925 // explicit function template specialization.
5939 // When matching a constexpr member function template specialization
5942 // it will be a static member function until we know which template it
5961 // template-id naming an explicit function template specialization
5962 // provided it can be deduced from the function argument type.
5982 // Find the most specialized function template.
5999 assert(SpecInfo && "Function template specialization info missing?");
6007 // function can differ from the template declaration with respect to
6050 // Turn the given function declaration into a function template
6062 // The "previous declaration" for this function template specialization is
6063 // the prior function template specialization.
6073 /// explicit member function specialization. On successful completion,
6074 /// the function declaration \p FD will become a member function
6081 /// by this function specialization; the set will be modified to contain the
6094 } else if (FunctionDecl *Function = dyn_cast<FunctionDecl>(Member)) {
6099 if (Context.hasSameType(Function->getType(), Method->getType())) {
6315 // If the explicit instantiation is for a member function, a member class
6689 // [...] An explicit instantiation of a function template shall not use the
6746 // If the explicit instantiation is for a member function, a member class
6796 // A [...] function [...] can be explicitly instantiated from its template.
6797 // A member function [...] of a class template can be explicitly
6834 // Find the most specialized function template specialization.
6886 // If the explicit instantiation is for a member function, a member class
7261 /// This function will rebuild the type, performing the lookup of "pointer"