How about changing the lint message from "nonportable return of structure" to "structure return is nonreentrant". There is nothing nonportable about struct-valued functions.