# HG changeset patch # User Frits van Bommel # Date 1236363168 -3600 # Node ID afe271b0e271a7ea59ec972a82fb554bd4a652f6 # Parent f9333daa1bf523748042e681af980321bd8d353a Two small bugfixes: - See through typedefs and enums in passByVal - Don't depend on TypeFunction::parameters->dim being the actual number of parameters; it contains unexpanded tuples as single elements. diff -r f9333daa1bf5 -r afe271b0e271 gen/abi-x86-64.cpp --- a/gen/abi-x86-64.cpp Fri Mar 06 17:00:34 2009 +0100 +++ b/gen/abi-x86-64.cpp Fri Mar 06 19:12:48 2009 +0100 @@ -563,6 +563,7 @@ } bool X86_64TargetABI::passByVal(Type* t) { + t = t->toBasetype(); if (linkage() == LINKd) { if (t->ty != Tstruct) return false; diff -r f9333daa1bf5 -r afe271b0e271 gen/functions.cpp --- a/gen/functions.cpp Fri Mar 06 17:00:34 2009 +0100 +++ b/gen/functions.cpp Fri Mar 06 19:12:48 2009 +0100 @@ -185,7 +185,7 @@ } // reverse params? - if (f->fty->reverseParams && f->parameters->dim > 1) + if (f->fty->reverseParams && nargs2 > 1) { std::reverse(argtypes.begin() + beg, argtypes.end()); }