reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/Sema/SemaDecl.cpp
10584   if (FD->getStorageClass() == SC_Static)
10588   if (FD->isInlineSpecified())
10598   if (FD->isConstexpr()) {
10600         << FD->isConsteval()
10602     FD->setConstexprKind(CSK_unspecified);
10606     Diag(FD->getLocation(), diag::err_opencl_no_main)
10607         << FD->hasAttr<OpenCLKernelAttr>();
10608     FD->setInvalidDecl();
10612   QualType T = FD->getType();
10619     FD->setType(QualType(FT, 0));
10620     T = Context.getCanonicalType(FD->getType());
10630       FD->setHasImplicitReturnZero(true);
10632       Diag(FD->getTypeSpecStartLoc(), diag::ext_main_returns_nonint);
10633       SourceRange RTRange = FD->getReturnTypeSourceRange();
10645       FD->setHasImplicitReturnZero(true);
10648       SourceRange RTRange = FD->getReturnTypeSourceRange();
10649       Diag(FD->getTypeSpecStartLoc(), diag::err_main_returns_nonint)
10652       FD->setInvalidDecl(true);
10661   assert(FD->getNumParams() == nparams);
10666     Diag(FD->getLocation(), diag::ext_variadic_main);
10678     Diag(FD->getLocation(), diag::err_main_surplus_args) << nparams;
10679     FD->setInvalidDecl(true);
10715       Diag(FD->getLocation(), diag::err_main_arg_wrong) << i << Expected[i];
10717       FD->setInvalidDecl(true);
10721   if (nparams == 1 && !FD->isInvalidDecl()) {
10722     Diag(FD->getLocation(), diag::warn_main_one_arg);
10725   if (!FD->isInvalidDecl() && FD->getDescribedFunctionTemplate()) {
10725   if (!FD->isInvalidDecl() && FD->getDescribedFunctionTemplate()) {
10726     Diag(FD->getLocation(), diag::err_mainlike_template_decl) << FD;
10726     Diag(FD->getLocation(), diag::err_mainlike_template_decl) << FD;
10727     FD->setInvalidDecl();