# This file is part of ltrace. # Copyright (C) 2014 Petr Machata, Red Hat Inc. # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of the # License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA # 02110-1301 USA # Test for a number of ways that HFA can be passed. ltraceMatch [ltraceLibTest { struct(double) func_dbl_eqv(struct(double), struct(struct(double)), struct(struct(struct(double))), struct(struct(struct(struct(double))))); struct(float) func_flt_eqv(struct(float), struct(struct(float)), struct(struct(struct(float))), struct(struct(struct(struct(float))))); struct(float,struct(float)) func_hfa_f2(struct(float,struct(float))); struct(float,struct(float,struct(float))) func_hfa_f3(struct(float,struct(float,struct(float)))); struct(float,struct(float,struct(float,struct(float)))) func_hfa_f4(struct(float,struct(float,struct(float,struct(float))))); struct(float,struct(float,struct(float,struct(float,struct(float))))) func_hfa_f5(struct(float,struct(float,struct(float,struct(float,struct(float)))))); struct(float,struct(float,struct(float,struct(float,struct(float,struct(float)))))) func_hfa_f6(struct(float,struct(float,struct(float,struct(float,struct(float,struct(float))))))); struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float))))))) func_hfa_f7(struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float)))))))); struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float)))))))) func_hfa_f8(struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float))))))))); struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float))))))))) func_hfa_f9(struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float)))))))))); struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float)))))))))) func_hfa_f10(struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float))))))))))); struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float))))))))))) func_hfa_f11(struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float)))))))))))); struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float)))))))))))) func_hfa_f12(struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float,struct(float))))))))))))); struct(double,struct(double)) func_hfa_d2(struct(double,struct(double))); struct(double,struct(double,struct(double))) func_hfa_d3(struct(double,struct(double,struct(double)))); struct(double,struct(double,struct(double,struct(double)))) func_hfa_d4(struct(double,struct(double,struct(double,struct(double))))); struct(double,struct(double,struct(double,struct(double,struct(double))))) func_hfa_d5(struct(double,struct(double,struct(double,struct(double,struct(double)))))); struct(double,struct(double,struct(double,struct(double,struct(double,struct(double)))))) func_hfa_d6(struct(double,struct(double,struct(double,struct(double,struct(double,struct(double))))))); struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double))))))) func_hfa_d7(struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double)))))))); struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double)))))))) func_hfa_d8(struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double))))))))); struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double))))))))) func_hfa_d9(struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double)))))))))); struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double)))))))))) func_hfa_d10(struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double))))))))))); struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double))))))))))) func_hfa_d11(struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double)))))))))))); struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double)))))))))))) func_hfa_d12(struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double,struct(double))))))))))))); } { struct dbl_eqv1 { double d; }; struct dbl_eqv2 { struct dbl_eqv1 d; }; struct dbl_eqv3 { struct dbl_eqv2 d; }; struct dbl_eqv4 { struct dbl_eqv3 d; }; struct flt_eqv1 { float d; }; struct flt_eqv2 { struct flt_eqv1 d; }; struct flt_eqv3 { struct flt_eqv2 d; }; struct flt_eqv4 { struct flt_eqv3 d; }; struct struct_hfa_f2 { float a; struct flt_eqv1 b; }; struct struct_hfa_f3 { float a; struct struct_hfa_f2 b; }; struct struct_hfa_f4 { float a; struct struct_hfa_f3 b; }; struct struct_hfa_f5 { float a; struct struct_hfa_f4 b; }; struct struct_hfa_f6 { float a; struct struct_hfa_f5 b; }; struct struct_hfa_f7 { float a; struct struct_hfa_f6 b; }; struct struct_hfa_f8 { float a; struct struct_hfa_f7 b; }; struct struct_hfa_f9 { float a; struct struct_hfa_f8 b; }; struct struct_hfa_f10 { float a; struct struct_hfa_f9 b; }; struct struct_hfa_f11 { float a; struct struct_hfa_f10 b; }; struct struct_hfa_f12 { float a; struct struct_hfa_f11 b; }; struct struct_hfa_d2 { double a; struct dbl_eqv1 b; }; struct struct_hfa_d3 { double a; struct struct_hfa_d2 b; }; struct struct_hfa_d4 { double a; struct struct_hfa_d3 b; }; struct struct_hfa_d5 { double a; struct struct_hfa_d4 b; }; struct struct_hfa_d6 { double a; struct struct_hfa_d5 b; }; struct struct_hfa_d7 { double a; struct struct_hfa_d6 b; }; struct struct_hfa_d8 { double a; struct struct_hfa_d7 b; }; struct struct_hfa_d9 { double a; struct struct_hfa_d8 b; }; struct struct_hfa_d10 { double a; struct struct_hfa_d9 b; }; struct struct_hfa_d11 { double a; struct struct_hfa_d10 b; }; struct struct_hfa_d12 { double a; struct struct_hfa_d11 b; }; struct dbl_eqv1 func_dbl_eqv(struct dbl_eqv1 a, struct dbl_eqv2 b, struct dbl_eqv3 c, struct dbl_eqv4 d); struct flt_eqv1 func_flt_eqv(struct flt_eqv1 a, struct flt_eqv2 b, struct flt_eqv3 c, struct flt_eqv4 d); struct struct_hfa_f2 func_hfa_f2(struct struct_hfa_f2 e); struct struct_hfa_f3 func_hfa_f3(struct struct_hfa_f3 e); struct struct_hfa_f4 func_hfa_f4(struct struct_hfa_f4 e); struct struct_hfa_f5 func_hfa_f5(struct struct_hfa_f5 e); struct struct_hfa_f6 func_hfa_f6(struct struct_hfa_f6 e); struct struct_hfa_f7 func_hfa_f7(struct struct_hfa_f7 e); struct struct_hfa_f8 func_hfa_f8(struct struct_hfa_f8 e); struct struct_hfa_f9 func_hfa_f9(struct struct_hfa_f9 e); struct struct_hfa_f10 func_hfa_f10(struct struct_hfa_f10 e); struct struct_hfa_f11 func_hfa_f11(struct struct_hfa_f11 e); struct struct_hfa_f12 func_hfa_f12(struct struct_hfa_f12 e); struct struct_hfa_d2 func_hfa_d2(struct struct_hfa_d2 e); struct struct_hfa_d3 func_hfa_d3(struct struct_hfa_d3 e); struct struct_hfa_d4 func_hfa_d4(struct struct_hfa_d4 e); struct struct_hfa_d5 func_hfa_d5(struct struct_hfa_d5 e); struct struct_hfa_d6 func_hfa_d6(struct struct_hfa_d6 e); struct struct_hfa_d7 func_hfa_d7(struct struct_hfa_d7 e); struct struct_hfa_d8 func_hfa_d8(struct struct_hfa_d8 e); struct struct_hfa_d9 func_hfa_d9(struct struct_hfa_d9 e); struct struct_hfa_d10 func_hfa_d10(struct struct_hfa_d10 e); struct struct_hfa_d11 func_hfa_d11(struct struct_hfa_d11 e); struct struct_hfa_d12 func_hfa_d12(struct struct_hfa_d12 e); } { struct dbl_eqv1 func_dbl_eqv(struct dbl_eqv1 a, struct dbl_eqv2 b, struct dbl_eqv3 c, struct dbl_eqv4 d) { return (struct dbl_eqv1){ a.d + b.d.d + c.d.d.d + d.d.d.d.d }; } struct flt_eqv1 func_flt_eqv(struct flt_eqv1 a, struct flt_eqv2 b, struct flt_eqv3 c, struct flt_eqv4 d) { return (struct flt_eqv1){ a.d + b.d.d + c.d.d.d + d.d.d.d.d }; } struct struct_hfa_f2 func_hfa_f2(struct struct_hfa_f2 e) { return e; } struct struct_hfa_f3 func_hfa_f3(struct struct_hfa_f3 e) { return e; } struct struct_hfa_f4 func_hfa_f4(struct struct_hfa_f4 e) { return e; } struct struct_hfa_f5 func_hfa_f5(struct struct_hfa_f5 e) { return e; } struct struct_hfa_f6 func_hfa_f6(struct struct_hfa_f6 e) { return e; } struct struct_hfa_f7 func_hfa_f7(struct struct_hfa_f7 e) { return e; } struct struct_hfa_f8 func_hfa_f8(struct struct_hfa_f8 e) { return e; } struct struct_hfa_f9 func_hfa_f9(struct struct_hfa_f9 e) { return e; } struct struct_hfa_f10 func_hfa_f10(struct struct_hfa_f10 e) { return e; } struct struct_hfa_f11 func_hfa_f11(struct struct_hfa_f11 e) { return e; } struct struct_hfa_f12 func_hfa_f12(struct struct_hfa_f12 e) { return e; } struct struct_hfa_d2 func_hfa_d2(struct struct_hfa_d2 e) { return e; } struct struct_hfa_d3 func_hfa_d3(struct struct_hfa_d3 e) { return e; } struct struct_hfa_d4 func_hfa_d4(struct struct_hfa_d4 e) { return e; } struct struct_hfa_d5 func_hfa_d5(struct struct_hfa_d5 e) { return e; } struct struct_hfa_d6 func_hfa_d6(struct struct_hfa_d6 e) { return e; } struct struct_hfa_d7 func_hfa_d7(struct struct_hfa_d7 e) { return e; } struct struct_hfa_d8 func_hfa_d8(struct struct_hfa_d8 e) { return e; } struct struct_hfa_d9 func_hfa_d9(struct struct_hfa_d9 e) { return e; } struct struct_hfa_d10 func_hfa_d10(struct struct_hfa_d10 e) { return e; } struct struct_hfa_d11 func_hfa_d11(struct struct_hfa_d11 e) { return e; } struct struct_hfa_d12 func_hfa_d12(struct struct_hfa_d12 e) { return e; } } { func_dbl_eqv((struct dbl_eqv1){ 2.5 }, (struct dbl_eqv2){ { 1.5 } }, (struct dbl_eqv3){ { { 0.5 } } }, (struct dbl_eqv4){ { { { -0.5 } } } }); func_flt_eqv((struct flt_eqv1){ 2.5 }, (struct flt_eqv2){ { 1.5 } }, (struct flt_eqv3){ { { 0.5 } } }, (struct flt_eqv4){ { { { -0.5 } } } }); struct struct_hfa_f2 arg_func_hfa_f2 = { 1, { 2 } }; func_hfa_f2(arg_func_hfa_f2); struct struct_hfa_f3 arg_func_hfa_f3 = { 3, { 1, { 2 } } }; func_hfa_f3(arg_func_hfa_f3); struct struct_hfa_f4 arg_func_hfa_f4 = { 4, { 3, { 1, { 2 } } } }; func_hfa_f4(arg_func_hfa_f4); struct struct_hfa_f5 arg_func_hfa_f5 = { 5, { 4, { 3, { 1, { 2 } } } } }; func_hfa_f5(arg_func_hfa_f5); struct struct_hfa_f6 arg_func_hfa_f6 = { 6, { 5, { 4, { 3, { 1, { 2 } } } } } }; func_hfa_f6(arg_func_hfa_f6); struct struct_hfa_f7 arg_func_hfa_f7 = { 7, { 6, { 5, { 4, { 3, { 1, { 2 } } } } } } }; func_hfa_f7(arg_func_hfa_f7); struct struct_hfa_f8 arg_func_hfa_f8 = { 8, { 7, { 6, { 5, { 4, { 3, { 1, { 2 } } } } } } } }; func_hfa_f8(arg_func_hfa_f8); struct struct_hfa_f9 arg_func_hfa_f9 = { 9, { 8, { 7, { 6, { 5, { 4, { 3, { 1, { 2 } } } } } } } } }; func_hfa_f9(arg_func_hfa_f9); struct struct_hfa_f10 arg_func_hfa_f10 = { 10, { 9, { 8, { 7, { 6, { 5, { 4, { 3, { 1, { 2 } } } } } } } } } }; func_hfa_f10(arg_func_hfa_f10); struct struct_hfa_f11 arg_func_hfa_f11 = { 11, { 10, { 9, { 8, { 7, { 6, { 5, { 4, { 3, { 1, { 2 } } } } } } } } } } }; func_hfa_f11(arg_func_hfa_f11); struct struct_hfa_f12 arg_func_hfa_f12 = { 12, { 11, { 10, { 9, { 8, { 7, { 6, { 5, { 4, { 3, { 1, { 2 } } } } } } } } } } } }; func_hfa_f12(arg_func_hfa_f12); struct struct_hfa_d2 arg_func_hfa_d2 = { 1, { 2 } }; func_hfa_d2(arg_func_hfa_d2); struct struct_hfa_d3 arg_func_hfa_d3 = { 3, { 1, { 2 } } }; func_hfa_d3(arg_func_hfa_d3); struct struct_hfa_d4 arg_func_hfa_d4 = { 4, { 3, { 1, { 2 } } } }; func_hfa_d4(arg_func_hfa_d4); struct struct_hfa_d5 arg_func_hfa_d5 = { 5, { 4, { 3, { 1, { 2 } } } } }; func_hfa_d5(arg_func_hfa_d5); struct struct_hfa_d6 arg_func_hfa_d6 = { 6, { 5, { 4, { 3, { 1, { 2 } } } } } }; func_hfa_d6(arg_func_hfa_d6); struct struct_hfa_d7 arg_func_hfa_d7 = { 7, { 6, { 5, { 4, { 3, { 1, { 2 } } } } } } }; func_hfa_d7(arg_func_hfa_d7); struct struct_hfa_d8 arg_func_hfa_d8 = { 8, { 7, { 6, { 5, { 4, { 3, { 1, { 2 } } } } } } } }; func_hfa_d8(arg_func_hfa_d8); struct struct_hfa_d9 arg_func_hfa_d9 = { 9, { 8, { 7, { 6, { 5, { 4, { 3, { 1, { 2 } } } } } } } } }; func_hfa_d9(arg_func_hfa_d9); struct struct_hfa_d10 arg_func_hfa_d10 = { 10, { 9, { 8, { 7, { 6, { 5, { 4, { 3, { 1, { 2 } } } } } } } } } }; func_hfa_d10(arg_func_hfa_d10); struct struct_hfa_d11 arg_func_hfa_d11 = { 11, { 10, { 9, { 8, { 7, { 6, { 5, { 4, { 3, { 1, { 2 } } } } } } } } } } }; func_hfa_d11(arg_func_hfa_d11); struct struct_hfa_d12 arg_func_hfa_d12 = { 12, { 11, { 10, { 9, { 8, { 7, { 6, { 5, { 4, { 3, { 1, { 2 } } } } } } } } } } } }; func_hfa_d12(arg_func_hfa_d12); }] { { {func_dbl_eqv\({ 2.500* }, { { 1.50* } }, { { { 0.50* } } }, { { { { -0.50* } } } }\).*= { 4.00* }} == 1 } { {func_flt_eqv\({ 2.500* }, { { 1.50* } }, { { { 0.50* } } }, { { { { -0.50* } } } }\).*= { 4.00* }} == 1 } { {func_hfa_f2\({ 1.000*, { 2.000* } }\).*= { 1.000*, { 2.000* } }} == 1 } { {func_hfa_f3\({ 3.000*, { 1.000*, { 2.000* } } }\).*= { 3.000*, { 1.000*, { 2.000* } } }} == 1 } { {func_hfa_f4\({ 4.000*, { 3.000*, { 1.000*, { 2.000* } } } }\).*= { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } }} == 1 } { {func_hfa_f5\({ 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } }\).*= { 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } }} == 1 } { {func_hfa_f6\({ 6.000*, { 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } } }\).*= { 6.000*, { 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } } }} == 1 } { {func_hfa_f7\({ 7.000*, { 6.000*, { 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } } } }\).*= { 7.000*, { 6.000*, { 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } } } }} == 1 } { {func_hfa_f8\({ 8.000*, { 7.000*, { 6.000*, { 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } } } } }\).*= { 8.000*, { 7.000*, { 6.000*, { 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } } } } }} == 1 } { {func_hfa_f9\({ 9.000*, { 8.000*, { 7.000*, { 6.000*, { 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } } } } } }\).*= { 9.000*, { 8.000*, { 7.000*, { 6.000*, { 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } } } } } }} == 1 } { {func_hfa_f10\({ 10.000*, { 9.000*, { 8.000*, { 7.000*, { 6.000*, { 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } } } } } } }\).*= { 10.000*, { 9.000*, { 8.000*, { 7.000*, { 6.000*, { 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } } } } } } }} == 1 } { {func_hfa_f11\({ 11.000*, { 10.000*, { 9.000*, { 8.000*, { 7.000*, { 6.000*, { 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } } } } } } } }\).*= { 11.000*, { 10.000*, { 9.000*, { 8.000*, { 7.000*, { 6.000*, { 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } } } } } } } }} == 1 } { {func_hfa_f12\({ 12.000*, { 11.000*, { 10.000*, { 9.000*, { 8.000*, { 7.000*, { 6.000*, { 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } } } } } } } } }\).*= { 12.000*, { 11.000*, { 10.000*, { 9.000*, { 8.000*, { 7.000*, { 6.000*, { 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } } } } } } } } }} == 1 } { {func_hfa_d2\({ 1.000*, { 2.000* } }\).*= { 1.000*, { 2.000* } }} == 1 } { {func_hfa_d3\({ 3.000*, { 1.000*, { 2.000* } } }\).*= { 3.000*, { 1.000*, { 2.000* } } }} == 1 } { {func_hfa_d4\({ 4.000*, { 3.000*, { 1.000*, { 2.000* } } } }\).*= { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } }} == 1 } { {func_hfa_d5\({ 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } }\).*= { 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } }} == 1 } { {func_hfa_d6\({ 6.000*, { 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } } }\).*= { 6.000*, { 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } } }} == 1 } { {func_hfa_d7\({ 7.000*, { 6.000*, { 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } } } }\).*= { 7.000*, { 6.000*, { 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } } } }} == 1 } { {func_hfa_d8\({ 8.000*, { 7.000*, { 6.000*, { 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } } } } }\).*= { 8.000*, { 7.000*, { 6.000*, { 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } } } } }} == 1 } { {func_hfa_d9\({ 9.000*, { 8.000*, { 7.000*, { 6.000*, { 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } } } } } }\).*= { 9.000*, { 8.000*, { 7.000*, { 6.000*, { 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } } } } } }} == 1 } { {func_hfa_d10\({ 10.000*, { 9.000*, { 8.000*, { 7.000*, { 6.000*, { 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } } } } } } }\).*= { 10.000*, { 9.000*, { 8.000*, { 7.000*, { 6.000*, { 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } } } } } } }} == 1 } { {func_hfa_d11\({ 11.000*, { 10.000*, { 9.000*, { 8.000*, { 7.000*, { 6.000*, { 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } } } } } } } }\).*= { 11.000*, { 10.000*, { 9.000*, { 8.000*, { 7.000*, { 6.000*, { 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } } } } } } } }} == 1 } { {func_hfa_d12\({ 12.000*, { 11.000*, { 10.000*, { 9.000*, { 8.000*, { 7.000*, { 6.000*, { 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } } } } } } } } }\).*= { 12.000*, { 11.000*, { 10.000*, { 9.000*, { 8.000*, { 7.000*, { 6.000*, { 5.000*, { 4.000*, { 3.000*, { 1.000*, { 2.000* } } } } } } } } } } } }} == 1 } } ltraceMatch [ltraceLibTest { typedef hfa2_t = struct(float, float); typedef hda2_t = struct(double, double); void hfa2_n(hfa2_t, hfa2_t, hfa2_t, hfa2_t); void hda2_n(hda2_t, hda2_t, hda2_t, hda2_t); void hfa2_0(float, hfa2_t, hfa2_t, hfa2_t, hfa2_t); void hda2_0(double, hda2_t, hda2_t, hda2_t, hda2_t); void hfa2_1(hfa2_t, float, hfa2_t, hfa2_t, hfa2_t); void hda2_1(hda2_t, double, hda2_t, hda2_t, hda2_t); void hfa2_2(hfa2_t, hfa2_t, float, hfa2_t, hfa2_t); void hda2_2(hda2_t, hda2_t, double, hda2_t, hda2_t); void hfa2_3(hfa2_t, hfa2_t, hfa2_t, float, hfa2_t); void hda2_3(hda2_t, hda2_t, hda2_t, double, hda2_t); void hfa2_4(hfa2_t, hfa2_t, hfa2_t, hfa2_t, float); void hda2_4(hda2_t, hda2_t, hda2_t, hda2_t, double); typedef hfa3_t = struct(float, float, float); typedef hda3_t = struct(double, double, double); void hfa3_n(hfa3_t, hfa3_t, hfa3_t, hfa3_t); void hda3_n(hda3_t, hda3_t, hda3_t, hda3_t); void hfa3_0(float, hfa3_t, hfa3_t, hfa3_t, hfa3_t); void hda3_0(double, hda3_t, hda3_t, hda3_t, hda3_t); void hfa3_1(hfa3_t, float, hfa3_t, hfa3_t, hfa3_t); void hda3_1(hda3_t, double, hda3_t, hda3_t, hda3_t); void hfa3_2(hfa3_t, hfa3_t, float, hfa3_t, hfa3_t); void hda3_2(hda3_t, hda3_t, double, hda3_t, hda3_t); void hfa3_3(hfa3_t, hfa3_t, hfa3_t, float, hfa3_t); void hda3_3(hda3_t, hda3_t, hda3_t, double, hda3_t); void hfa3_4(hfa3_t, hfa3_t, hfa3_t, hfa3_t, float); void hda3_4(hda3_t, hda3_t, hda3_t, hda3_t, double); typedef hfa4_t = struct(float, float, float, float); typedef hda4_t = struct(double, double, double, double); void hfa4_n(hfa4_t, hfa4_t, hfa4_t, hfa4_t); void hda4_n(hda4_t, hda4_t, hda4_t, hda4_t); void hfa4_0(float, hfa4_t, hfa4_t, hfa4_t, hfa4_t); void hda4_0(double, hda4_t, hda4_t, hda4_t, hda4_t); void hfa4_1(hfa4_t, float, hfa4_t, hfa4_t, hfa4_t); void hda4_1(hda4_t, double, hda4_t, hda4_t, hda4_t); void hfa4_2(hfa4_t, hfa4_t, float, hfa4_t, hfa4_t); void hda4_2(hda4_t, hda4_t, double, hda4_t, hda4_t); void hfa4_3(hfa4_t, hfa4_t, hfa4_t, float, hfa4_t); void hda4_3(hda4_t, hda4_t, hda4_t, double, hda4_t); void hfa4_4(hfa4_t, hfa4_t, hfa4_t, hfa4_t, float); void hda4_4(hda4_t, hda4_t, hda4_t, hda4_t, double); } { typedef struct { float a; float b; } hfa2_t; typedef struct { double a; double b; } hda2_t; void hfa2_n(hfa2_t i, hfa2_t j, hfa2_t k, hfa2_t l); void hda2_n(hda2_t i, hda2_t j, hda2_t k, hda2_t l); void hfa2_0(float x, hfa2_t i, hfa2_t j, hfa2_t k, hfa2_t l); void hda2_0(double x, hda2_t i, hda2_t j, hda2_t k, hda2_t l); void hfa2_1(hfa2_t i, float x, hfa2_t j, hfa2_t k, hfa2_t l); void hda2_1(hda2_t i, double x, hda2_t j, hda2_t k, hda2_t l); void hfa2_2(hfa2_t i, hfa2_t j, float x, hfa2_t k, hfa2_t l); void hda2_2(hda2_t i, hda2_t j, double x, hda2_t k, hda2_t l); void hfa2_3(hfa2_t i, hfa2_t j, hfa2_t k, float x, hfa2_t l); void hda2_3(hda2_t i, hda2_t j, hda2_t k, double x, hda2_t l); void hfa2_4(hfa2_t i, hfa2_t j, hfa2_t k, hfa2_t l, float x); void hda2_4(hda2_t i, hda2_t j, hda2_t k, hda2_t l, double x); typedef struct { float a; float b; float c; } hfa3_t; typedef struct { double a; double b; double c; } hda3_t; void hfa3_n(hfa3_t i, hfa3_t j, hfa3_t k, hfa3_t l); void hda3_n(hda3_t i, hda3_t j, hda3_t k, hda3_t l); void hfa3_0(float x, hfa3_t i, hfa3_t j, hfa3_t k, hfa3_t l); void hda3_0(double x, hda3_t i, hda3_t j, hda3_t k, hda3_t l); void hfa3_1(hfa3_t i, float x, hfa3_t j, hfa3_t k, hfa3_t l); void hda3_1(hda3_t i, double x, hda3_t j, hda3_t k, hda3_t l); void hfa3_2(hfa3_t i, hfa3_t j, float x, hfa3_t k, hfa3_t l); void hda3_2(hda3_t i, hda3_t j, double x, hda3_t k, hda3_t l); void hfa3_3(hfa3_t i, hfa3_t j, hfa3_t k, float x, hfa3_t l); void hda3_3(hda3_t i, hda3_t j, hda3_t k, double x, hda3_t l); void hfa3_4(hfa3_t i, hfa3_t j, hfa3_t k, hfa3_t l, float x); void hda3_4(hda3_t i, hda3_t j, hda3_t k, hda3_t l, double x); typedef struct { float a; float b; float c; float d; } hfa4_t; typedef struct { double a; double b; double c; double d; } hda4_t; void hfa4_n(hfa4_t i, hfa4_t j, hfa4_t k, hfa4_t l); void hda4_n(hda4_t i, hda4_t j, hda4_t k, hda4_t l); void hfa4_0(float x, hfa4_t i, hfa4_t j, hfa4_t k, hfa4_t l); void hda4_0(double x, hda4_t i, hda4_t j, hda4_t k, hda4_t l); void hfa4_1(hfa4_t i, float x, hfa4_t j, hfa4_t k, hfa4_t l); void hda4_1(hda4_t i, double x, hda4_t j, hda4_t k, hda4_t l); void hfa4_2(hfa4_t i, hfa4_t j, float x, hfa4_t k, hfa4_t l); void hda4_2(hda4_t i, hda4_t j, double x, hda4_t k, hda4_t l); void hfa4_3(hfa4_t i, hfa4_t j, hfa4_t k, float x, hfa4_t l); void hda4_3(hda4_t i, hda4_t j, hda4_t k, double x, hda4_t l); void hfa4_4(hfa4_t i, hfa4_t j, hfa4_t k, hfa4_t l, float x); void hda4_4(hda4_t i, hda4_t j, hda4_t k, hda4_t l, double x); } { void hfa2_n(hfa2_t i, hfa2_t j, hfa2_t k, hfa2_t l) {} void hda2_n(hda2_t i, hda2_t j, hda2_t k, hda2_t l) {} void hfa2_0(float x, hfa2_t i, hfa2_t j, hfa2_t k, hfa2_t l) {} void hda2_0(double x, hda2_t i, hda2_t j, hda2_t k, hda2_t l) {} void hfa2_1(hfa2_t i, float x, hfa2_t j, hfa2_t k, hfa2_t l) {} void hda2_1(hda2_t i, double x, hda2_t j, hda2_t k, hda2_t l) {} void hfa2_2(hfa2_t i, hfa2_t j, float x, hfa2_t k, hfa2_t l) {} void hda2_2(hda2_t i, hda2_t j, double x, hda2_t k, hda2_t l) {} void hfa2_3(hfa2_t i, hfa2_t j, hfa2_t k, float x, hfa2_t l) {} void hda2_3(hda2_t i, hda2_t j, hda2_t k, double x, hda2_t l) {} void hfa2_4(hfa2_t i, hfa2_t j, hfa2_t k, hfa2_t l, float x) {} void hda2_4(hda2_t i, hda2_t j, hda2_t k, hda2_t l, double x) {} void hfa3_n(hfa3_t i, hfa3_t j, hfa3_t k, hfa3_t l) {} void hda3_n(hda3_t i, hda3_t j, hda3_t k, hda3_t l) {} void hfa3_0(float x, hfa3_t i, hfa3_t j, hfa3_t k, hfa3_t l) {} void hda3_0(double x, hda3_t i, hda3_t j, hda3_t k, hda3_t l) {} void hfa3_1(hfa3_t i, float x, hfa3_t j, hfa3_t k, hfa3_t l) {} void hda3_1(hda3_t i, double x, hda3_t j, hda3_t k, hda3_t l) {} void hfa3_2(hfa3_t i, hfa3_t j, float x, hfa3_t k, hfa3_t l) {} void hda3_2(hda3_t i, hda3_t j, double x, hda3_t k, hda3_t l) {} void hfa3_3(hfa3_t i, hfa3_t j, hfa3_t k, float x, hfa3_t l) {} void hda3_3(hda3_t i, hda3_t j, hda3_t k, double x, hda3_t l) {} void hfa3_4(hfa3_t i, hfa3_t j, hfa3_t k, hfa3_t l, float x) {} void hda3_4(hda3_t i, hda3_t j, hda3_t k, hda3_t l, double x) {} void hfa4_n(hfa4_t i, hfa4_t j, hfa4_t k, hfa4_t l) {} void hda4_n(hda4_t i, hda4_t j, hda4_t k, hda4_t l) {} void hfa4_0(float x, hfa4_t i, hfa4_t j, hfa4_t k, hfa4_t l) {} void hda4_0(double x, hda4_t i, hda4_t j, hda4_t k, hda4_t l) {} void hfa4_1(hfa4_t i, float x, hfa4_t j, hfa4_t k, hfa4_t l) {} void hda4_1(hda4_t i, double x, hda4_t j, hda4_t k, hda4_t l) {} void hfa4_2(hfa4_t i, hfa4_t j, float x, hfa4_t k, hfa4_t l) {} void hda4_2(hda4_t i, hda4_t j, double x, hda4_t k, hda4_t l) {} void hfa4_3(hfa4_t i, hfa4_t j, hfa4_t k, float x, hfa4_t l) {} void hda4_3(hda4_t i, hda4_t j, hda4_t k, double x, hda4_t l) {} void hfa4_4(hfa4_t i, hfa4_t j, hfa4_t k, hfa4_t l, float x) {} void hda4_4(hda4_t i, hda4_t j, hda4_t k, hda4_t l, double x) {} } { { hfa2_t hfa1 = { 1, 2 }; hfa2_t hfa2 = { 5, 6 }; hfa2_t hfa3 = { 9, 10 }; hfa2_t hfa4 = { 13, 14 }; hda2_t hda1 = { 1, 2 }; hda2_t hda2 = { 5, 6 }; hda2_t hda3 = { 9, 10 }; hda2_t hda4 = { 13, 14 }; hfa2_n(hfa1, hfa2, hfa3, hfa4); hda2_n(hda1, hda2, hda3, hda4); hfa2_0(-1, hfa1, hfa2, hfa3, hfa4); hda2_0(-1, hda1, hda2, hda3, hda4); hfa2_1(hfa1, -1, hfa2, hfa3, hfa4); hda2_1(hda1, -1, hda2, hda3, hda4); hfa2_2(hfa1, hfa2, -1, hfa3, hfa4); hda2_2(hda1, hda2, -1, hda3, hda4); hfa2_3(hfa1, hfa2, hfa3, -1, hfa4); hda2_3(hda1, hda2, hda3, -1, hda4); hfa2_4(hfa1, hfa2, hfa3, hfa4, -1); hda2_4(hda1, hda2, hda3, hda4, -1); } { hfa3_t hfa1 = { 1, 2, 3 }; hfa3_t hfa2 = { 5, 6, 7 }; hfa3_t hfa3 = { 9, 10, 11 }; hfa3_t hfa4 = { 13, 14, 15 }; hda3_t hda1 = { 1, 2, 3 }; hda3_t hda2 = { 5, 6, 7 }; hda3_t hda3 = { 9, 10, 11 }; hda3_t hda4 = { 13, 14, 15 }; hfa3_n(hfa1, hfa2, hfa3, hfa4); hda3_n(hda1, hda2, hda3, hda4); hfa3_0(-1, hfa1, hfa2, hfa3, hfa4); hda3_0(-1, hda1, hda2, hda3, hda4); hfa3_1(hfa1, -1, hfa2, hfa3, hfa4); hda3_1(hda1, -1, hda2, hda3, hda4); hfa3_2(hfa1, hfa2, -1, hfa3, hfa4); hda3_2(hda1, hda2, -1, hda3, hda4); hfa3_3(hfa1, hfa2, hfa3, -1, hfa4); hda3_3(hda1, hda2, hda3, -1, hda4); hfa3_4(hfa1, hfa2, hfa3, hfa4, -1); hda3_4(hda1, hda2, hda3, hda4, -1); } { hfa4_t hfa1 = { 1, 2, 3, 4 }; hfa4_t hfa2 = { 5, 6, 7, 8 }; hfa4_t hfa3 = { 9, 10, 11, 12 }; hfa4_t hfa4 = { 13, 14, 15, 16 }; hda4_t hda1 = { 1, 2, 3, 4 }; hda4_t hda2 = { 5, 6, 7, 8 }; hda4_t hda3 = { 9, 10, 11, 12 }; hda4_t hda4 = { 13, 14, 15, 16 }; hfa4_n(hfa1, hfa2, hfa3, hfa4); hda4_n(hda1, hda2, hda3, hda4); hfa4_0(-1, hfa1, hfa2, hfa3, hfa4); hda4_0(-1, hda1, hda2, hda3, hda4); hfa4_1(hfa1, -1, hfa2, hfa3, hfa4); hda4_1(hda1, -1, hda2, hda3, hda4); hfa4_2(hfa1, hfa2, -1, hfa3, hfa4); hda4_2(hda1, hda2, -1, hda3, hda4); hfa4_3(hfa1, hfa2, hfa3, -1, hfa4); hda4_3(hda1, hda2, hda3, -1, hda4); hfa4_4(hfa1, hfa2, hfa3, hfa4, -1); hda4_4(hda1, hda2, hda3, hda4, -1); } }] { { {hfa2_n\({ 1.00*, 2.00* }, { 5.00*, 6.00* }, { 9.00*, 10.00* }, { 13.00*, 14.00* }\).*= <void>} == 1} { {hda2_n\({ 1.00*, 2.00* }, { 5.00*, 6.00* }, { 9.00*, 10.00* }, { 13.00*, 14.00* }\).*= <void>} == 1} { {hfa2_0\(-1.00*, { 1.00*, 2.00* }, { 5.00*, 6.00* }, { 9.00*, 10.00* }, { 13.00*, 14.00* }\).*= <void>} == 1} { {hda2_0\(-1.00*, { 1.00*, 2.00* }, { 5.00*, 6.00* }, { 9.00*, 10.00* }, { 13.00*, 14.00* }\).*= <void>} == 1} { {hfa2_1\({ 1.00*, 2.00* }, -1.00*, { 5.00*, 6.00* }, { 9.00*, 10.00* }, { 13.00*, 14.00* }\).*= <void>} == 1} { {hda2_1\({ 1.00*, 2.00* }, -1.00*, { 5.00*, 6.00* }, { 9.00*, 10.00* }, { 13.00*, 14.00* }\).*= <void>} == 1} { {hfa2_2\({ 1.00*, 2.00* }, { 5.00*, 6.00* }, -1.00*, { 9.00*, 10.00* }, { 13.00*, 14.00* }\).*= <void>} == 1} { {hda2_2\({ 1.00*, 2.00* }, { 5.00*, 6.00* }, -1.00*, { 9.00*, 10.00* }, { 13.00*, 14.00* }\).*= <void>} == 1} { {hfa2_3\({ 1.00*, 2.00* }, { 5.00*, 6.00* }, { 9.00*, 10.00* }, -1.00*, { 13.00*, 14.00* }\).*= <void>} == 1} { {hda2_3\({ 1.00*, 2.00* }, { 5.00*, 6.00* }, { 9.00*, 10.00* }, -1.00*, { 13.00*, 14.00* }\).*= <void>} == 1} { {hfa2_4\({ 1.00*, 2.00* }, { 5.00*, 6.00* }, { 9.00*, 10.00* }, { 13.00*, 14.00* }, -1.00*\).*= <void>} == 1} { {hda2_4\({ 1.00*, 2.00* }, { 5.00*, 6.00* }, { 9.00*, 10.00* }, { 13.00*, 14.00* }, -1.00*\).*= <void>} == 1} { {hfa3_n\({ 1.00*, 2.00*, 3.00* }, { 5.00*, 6.00*, 7.00* }, { 9.00*, 10.00*, 11.00* }, { 13.00*, 14.00*, 15.00* }\).*= <void>} == 1} { {hda3_n\({ 1.00*, 2.00*, 3.00* }, { 5.00*, 6.00*, 7.00* }, { 9.00*, 10.00*, 11.00* }, { 13.00*, 14.00*, 15.00* }\).*= <void>} == 1} { {hfa3_0\(-1.00*, { 1.00*, 2.00*, 3.00* }, { 5.00*, 6.00*, 7.00* }, { 9.00*, 10.00*, 11.00* }, { 13.00*, 14.00*, 15.00* }\).*= <void>} == 1} { {hda3_0\(-1.00*, { 1.00*, 2.00*, 3.00* }, { 5.00*, 6.00*, 7.00* }, { 9.00*, 10.00*, 11.00* }, { 13.00*, 14.00*, 15.00* }\).*= <void>} == 1} { {hfa3_1\({ 1.00*, 2.00*, 3.00* }, -1.00*, { 5.00*, 6.00*, 7.00* }, { 9.00*, 10.00*, 11.00* }, { 13.00*, 14.00*, 15.00* }\).*= <void>} == 1} { {hda3_1\({ 1.00*, 2.00*, 3.00* }, -1.00*, { 5.00*, 6.00*, 7.00* }, { 9.00*, 10.00*, 11.00* }, { 13.00*, 14.00*, 15.00* }\).*= <void>} == 1} { {hfa3_2\({ 1.00*, 2.00*, 3.00* }, { 5.00*, 6.00*, 7.00* }, -1.00*, { 9.00*, 10.00*, 11.00* }, { 13.00*, 14.00*, 15.00* }\).*= <void>} == 1} { {hda3_2\({ 1.00*, 2.00*, 3.00* }, { 5.00*, 6.00*, 7.00* }, -1.00*, { 9.00*, 10.00*, 11.00* }, { 13.00*, 14.00*, 15.00* }\).*= <void>} == 1} { {hfa3_3\({ 1.00*, 2.00*, 3.00* }, { 5.00*, 6.00*, 7.00* }, { 9.00*, 10.00*, 11.00* }, -1.00*, { 13.00*, 14.00*, 15.00* }\).*= <void>} == 1} { {hda3_3\({ 1.00*, 2.00*, 3.00* }, { 5.00*, 6.00*, 7.00* }, { 9.00*, 10.00*, 11.00* }, -1.00*, { 13.00*, 14.00*, 15.00* }\).*= <void>} == 1} { {hfa3_4\({ 1.00*, 2.00*, 3.00* }, { 5.00*, 6.00*, 7.00* }, { 9.00*, 10.00*, 11.00* }, { 13.00*, 14.00*, 15.00* }, -1.00*\).*= <void>} == 1} { {hda3_4\({ 1.00*, 2.00*, 3.00* }, { 5.00*, 6.00*, 7.00* }, { 9.00*, 10.00*, 11.00* }, { 13.00*, 14.00*, 15.00* }, -1.00*\).*= <void>} == 1} { {hfa4_n\({ 1.00*, 2.00*, 3.00*, 4.00* }, { 5.00*, 6.00*, 7.00*, 8.00* }, { 9.00*, 10.00*, 11.00*, 12.00* }, { 13.00*, 14.00*, 15.00*, 16.00* }\).*= <void>} == 1} { {hda4_n\({ 1.00*, 2.00*, 3.00*, 4.00* }, { 5.00*, 6.00*, 7.00*, 8.00* }, { 9.00*, 10.00*, 11.00*, 12.00* }, { 13.00*, 14.00*, 15.00*, 16.00* }\).*= <void>} == 1} { {hfa4_0\(-1.00*, { 1.00*, 2.00*, 3.00*, 4.00* }, { 5.00*, 6.00*, 7.00*, 8.00* }, { 9.00*, 10.00*, 11.00*, 12.00* }, { 13.00*, 14.00*, 15.00*, 16.00* }\).*= <void>} == 1} { {hda4_0\(-1.00*, { 1.00*, 2.00*, 3.00*, 4.00* }, { 5.00*, 6.00*, 7.00*, 8.00* }, { 9.00*, 10.00*, 11.00*, 12.00* }, { 13.00*, 14.00*, 15.00*, 16.00* }\).*= <void>} == 1} { {hfa4_1\({ 1.00*, 2.00*, 3.00*, 4.00* }, -1.00*, { 5.00*, 6.00*, 7.00*, 8.00* }, { 9.00*, 10.00*, 11.00*, 12.00* }, { 13.00*, 14.00*, 15.00*, 16.00* }\).*= <void>} == 1} { {hda4_1\({ 1.00*, 2.00*, 3.00*, 4.00* }, -1.00*, { 5.00*, 6.00*, 7.00*, 8.00* }, { 9.00*, 10.00*, 11.00*, 12.00* }, { 13.00*, 14.00*, 15.00*, 16.00* }\).*= <void>} == 1} { {hfa4_2\({ 1.00*, 2.00*, 3.00*, 4.00* }, { 5.00*, 6.00*, 7.00*, 8.00* }, -1.00*, { 9.00*, 10.00*, 11.00*, 12.00* }, { 13.00*, 14.00*, 15.00*, 16.00* }\).*= <void>} == 1} { {hda4_2\({ 1.00*, 2.00*, 3.00*, 4.00* }, { 5.00*, 6.00*, 7.00*, 8.00* }, -1.00*, { 9.00*, 10.00*, 11.00*, 12.00* }, { 13.00*, 14.00*, 15.00*, 16.00* }\).*= <void>} == 1} { {hfa4_3\({ 1.00*, 2.00*, 3.00*, 4.00* }, { 5.00*, 6.00*, 7.00*, 8.00* }, { 9.00*, 10.00*, 11.00*, 12.00* }, -1.00*, { 13.00*, 14.00*, 15.00*, 16.00* }\).*= <void>} == 1} { {hda4_3\({ 1.00*, 2.00*, 3.00*, 4.00* }, { 5.00*, 6.00*, 7.00*, 8.00* }, { 9.00*, 10.00*, 11.00*, 12.00* }, -1.00*, { 13.00*, 14.00*, 15.00*, 16.00* }\).*= <void>} == 1} { {hfa4_4\({ 1.00*, 2.00*, 3.00*, 4.00* }, { 5.00*, 6.00*, 7.00*, 8.00* }, { 9.00*, 10.00*, 11.00*, 12.00* }, { 13.00*, 14.00*, 15.00*, 16.00* }, -1.00*\).*= <void>} == 1} { {hda4_4\({ 1.00*, 2.00*, 3.00*, 4.00* }, { 5.00*, 6.00*, 7.00*, 8.00* }, { 9.00*, 10.00*, 11.00*, 12.00* }, { 13.00*, 14.00*, 15.00*, 16.00* }, -1.00*\).*= <void>} == 1} } ltraceDone