| OLD | NEW |
| 1 //===- subzero/crosstest/test_calling_conv_main.cpp - Driver for tests ----===// | 1 //===- subzero/crosstest/test_calling_conv_main.cpp - Driver for tests ----===// |
| 2 // | 2 // |
| 3 // The Subzero Code Generator | 3 // The Subzero Code Generator |
| 4 // | 4 // |
| 5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
| 6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
| 7 // | 7 // |
| 8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
| 9 // | 9 // |
| 10 // This file contains the driver for cross testing the compatibility of | 10 // This file contains the driver for cross testing the compatibility of |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 62 } | 62 } |
| 63 | 63 |
| 64 void testCaller(size_t &TotalTests, size_t &Passes, size_t &Failures) { | 64 void testCaller(size_t &TotalTests, size_t &Passes, size_t &Failures) { |
| 65 static struct { | 65 static struct { |
| 66 const char *CallerName, *CalleeName; | 66 const char *CallerName, *CalleeName; |
| 67 size_t Args; | 67 size_t Args; |
| 68 void (*Caller)(void); | 68 void (*Caller)(void); |
| 69 void (*Subzero_Caller)(void); | 69 void (*Subzero_Caller)(void); |
| 70 CalleePtrTy Callee; | 70 CalleePtrTy Callee; |
| 71 } Funcs[] = { | 71 } Funcs[] = { |
| 72 #ifdef MIPS32 |
| 72 #define X(caller, callee, argc) \ | 73 #define X(caller, callee, argc) \ |
| 73 { \ | 74 { \ |
| 74 STR(caller), STR(callee), argc, &caller, &Subzero_::caller, \ | 75 STR(caller), STR(callee), argc, &caller, &Subzero_::caller, \ |
| 76 reinterpret_cast<CalleePtrTy>(&Subzero_::callee), \ |
| 77 } \ |
| 78 , |
| 79 TEST_FUNC_TABLE |
| 80 #undef X |
| 81 #else |
| 82 #define X(caller, callee, argc) \ |
| 83 { \ |
| 84 STR(caller), STR(callee), argc, &caller, &Subzero_::caller, \ |
| 75 reinterpret_cast<CalleePtrTy>(&callee), \ | 85 reinterpret_cast<CalleePtrTy>(&callee), \ |
| 76 } \ | 86 } \ |
| 77 , | 87 , |
| 78 TEST_FUNC_TABLE | 88 TEST_FUNC_TABLE |
| 79 #undef X | 89 #undef X |
| 90 #endif |
| 80 }; | 91 }; |
| 81 | 92 |
| 82 const static size_t NumFuncs = sizeof(Funcs) / sizeof(*Funcs); | 93 const static size_t NumFuncs = sizeof(Funcs) / sizeof(*Funcs); |
| 83 | 94 |
| 84 for (size_t f = 0; f < NumFuncs; ++f) { | 95 for (size_t f = 0; f < NumFuncs; ++f) { |
| 85 char BufLlc[BUF_SIZE], BufSz[BUF_SIZE]; | 96 char BufLlc[BUF_SIZE], BufSz[BUF_SIZE]; |
| 86 Callee = Funcs[f].Callee; | 97 Callee = Funcs[f].Callee; |
| 87 | 98 |
| 88 for (size_t i = 0; i < Funcs[f].Args; ++i) { | 99 for (size_t i = 0; i < Funcs[f].Args; ++i) { |
| 89 memset(BufLlc, 0xff, sizeof(BufLlc)); | 100 memset(BufLlc, 0xff, sizeof(BufLlc)); |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 168 size_t Failures = 0; | 179 size_t Failures = 0; |
| 169 | 180 |
| 170 testCaller(TotalTests, Passes, Failures); | 181 testCaller(TotalTests, Passes, Failures); |
| 171 testCallee(TotalTests, Passes, Failures); | 182 testCallee(TotalTests, Passes, Failures); |
| 172 | 183 |
| 173 std::cout << "TotalTests=" << TotalTests << " Passes=" << Passes | 184 std::cout << "TotalTests=" << TotalTests << " Passes=" << Passes |
| 174 << " Failures=" << Failures << "\n"; | 185 << " Failures=" << Failures << "\n"; |
| 175 | 186 |
| 176 return Failures; | 187 return Failures; |
| 177 } | 188 } |
| OLD | NEW |