diff --git a/gen/tocall.cpp b/gen/tocall.cpp index 9ade207f..35afc353 100644 --- a/gen/tocall.cpp +++ b/gen/tocall.cpp @@ -61,8 +61,9 @@ DValue* DtoVaArg(Loc& loc, Type* type, Expression* valistArg) if (DtoIsPassedByRef(type)) llt = getPtrToType(llt); // issue a warning for broken va_arg instruction. - if (global.params.targetTriple.getArch() != llvm::Triple::x86) - warning(Loc(), "%s: va_arg for C variadic functions is probably broken for anything but x86", loc.toChars()); + if (global.params.targetTriple.getArch() != llvm::Triple::x86 + && global.params.targetTriple.getArch() != llvm::Triple::ppc64) + warning(Loc(), "%s: va_arg for C variadic functions is probably broken for anything but x86 and ppc64", loc.toChars()); // done return new DImValue(type, gIR->ir->CreateVAArg(expelem->getLVal(), llt, "tmp")); }