r199037 - SPARC passes non-trivial C++ objects indirectly like everybody else.

Rafael EspĂ­ndola rafael.espindola at gmail.com
Mon Jan 13 10:01:13 PST 2014


> +  // If a C++ object has either a non-trivial copy constructor or a non-trivial
> +  // destructor, it is passed with an explicit indirect pointer / sret pointer.
> +  if (CGCXXABI::RecordArgABI RAA = getRecordArgABI(Ty, getCXXABI()))
> +    return ABIArgInfo::getIndirect(0, RAA == CGCXXABI::RAA_DirectInMemory);
> +

There seem to be 10 copies of this if in the codebase :-(

Cheers,
Rafael



More information about the cfe-commits mailing list