[cfe-commits] r68413 - in /cfe/trunk: include/clang/Basic/DiagnosticSemaKinds.td include/clang/Basic/TargetInfo.h lib/Basic/Targets.cpp lib/Sema/SemaDeclAttr.cpp

Eli Friedman eli.friedman at gmail.com
Fri Apr 3 21:11:52 PDT 2009


On Fri, Apr 3, 2009 at 4:38 PM, Anton Korobeynikov <asl at math.spbu.ru> wrote:
> @@ -762,6 +763,7 @@
>     LongDoubleAlign = 128;
>     IntMaxType = SignedLong;
>     UIntMaxType = UnsignedLong;
> +    RegParmMax = 6;

Is this documented somewhere?  As far as I can tell, it has no effect
on the calling convention in LLVM.

> +  if (NumParams.getLimitedValue(4) > S.Context.Target.getRegParmMax()) {
> +    S.Diag(Attr.getLoc(), diag::err_attribute_regparm_invalid_number)
> +      << S.Context.Target.getRegParmMax() << NumParamsExpr->getSourceRange();
>     return;
>   }

This check doesn't work correctly with getRegParmMax > 3.

-Eli




More information about the cfe-commits mailing list