Ignore:
Timestamp:
Nov 16, 2001, 1:50:36 PM (24 years ago)
Author:
phaller
Message:

Don't generate any wrapper function in release build

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/odinwrap.h

    r7326 r7357  
    2626//#define PROFILE
    2727
     28
     29// check if release is really defined ...
     30#if !defined(DEBUG) && !defined(PROFILE)
     31#define RELEASE
     32#endif
    2833
    2934
     
    152157#endif
    153158
     159
    154160// check if all macros are defined
    155161#ifndef FNINIT
     
    166172
    167173
     174#endif /* DEBUG */
     175
     176
    168177/****************************************************************************
    169178 * General Wrapper Macros (debug instrumented)                              *
    170179 ****************************************************************************/
     180#if defined(DEBUG) || defined(PROFILE)
     181
    171182
    172183/* ---------- 0 parameters ---------- */
     
    792803                                  \
    793804  void ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12,t13 a13,t14 a14)
    794 
    795 
    796 #else
    797 
    798 /****************************************************************************
    799  * General Wrapper Macros                                                   *
    800  ****************************************************************************/
    801 
    802 #define FNINIT          \
    803   unsigned short sel;
    804 
    805 #define FNPROLOGUE(a)   \
    806   sel = GetFS();
    807 
    808 #define FNEPILOGUE(a)   \
    809   SetFS(sel);
    810 
    811 #define ODINFUNCTION0   ODINFUNCTIONNODBG0
    812 #define ODINFUNCTION1   ODINFUNCTIONNODBG1
    813 #define ODINFUNCTION2   ODINFUNCTIONNODBG2
    814 #define ODINFUNCTION3   ODINFUNCTIONNODBG3
    815 #define ODINFUNCTION4   ODINFUNCTIONNODBG4
    816 #define ODINFUNCTION5   ODINFUNCTIONNODBG5
    817 #define ODINFUNCTION6   ODINFUNCTIONNODBG6
    818 #define ODINFUNCTION7   ODINFUNCTIONNODBG7
    819 #define ODINFUNCTION8   ODINFUNCTIONNODBG8
    820 #define ODINFUNCTION9   ODINFUNCTIONNODBG9
    821 #define ODINFUNCTION10  ODINFUNCTIONNODBG10
    822 #define ODINFUNCTION11  ODINFUNCTIONNODBG11
    823 #define ODINFUNCTION12  ODINFUNCTIONNODBG12
    824 #define ODINFUNCTION13  ODINFUNCTIONNODBG13
    825 #define ODINFUNCTION14  ODINFUNCTIONNODBG14
    826 
    827 #define ODINPROCEDURE0   ODINPROCEDURENODBG0
    828 #define ODINPROCEDURE1   ODINPROCEDURENODBG1
    829 #define ODINPROCEDURE2   ODINPROCEDURENODBG2
    830 #define ODINPROCEDURE3   ODINPROCEDURENODBG3
    831 #define ODINPROCEDURE4   ODINPROCEDURENODBG4
    832 #define ODINPROCEDURE5   ODINPROCEDURENODBG5
    833 #define ODINPROCEDURE6   ODINPROCEDURENODBG6
    834 #define ODINPROCEDURE7   ODINPROCEDURENODBG7
    835 #define ODINPROCEDURE8   ODINPROCEDURENODBG8
    836 #define ODINPROCEDURE9   ODINPROCEDURENODBG9
    837 #define ODINPROCEDURE10  ODINPROCEDURENODBG10
    838 #define ODINPROCEDURE11  ODINPROCEDURENODBG11
    839 #define ODINPROCEDURE12  ODINPROCEDURENODBG12
    840 #define ODINPROCEDURE13  ODINPROCEDURENODBG13
    841 #define ODINPROCEDURE14  ODINPROCEDURENODBG14
    842 
    843 #endif
    844 
    845 /****************************************************************************
    846  * General Wrapper Macros                                                   *
    847  ****************************************************************************/
    848805
    849806
     
    12681225  void ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12,t13 a13,t14 a14)
    12691226
     1227
     1228
     1229#endif
     1230
     1231
     1232
     1233/****************************************************************************
     1234 * Release Wrapper Macros (not instrumented)                                *
     1235 ****************************************************************************/
     1236#ifdef RELEASE
     1237
     1238 /* ---------- 0 parameters ---------- */
     1239#define ODINFUNCTION0(cRet,cName)             \
     1240  cRet WINAPI cName(void)
     1241
     1242#define ODINPROCEDURE0(cName)                 \
     1243  void WINAPI cName(void)
     1244
     1245
     1246/* ---------- 1 parameters ---------- */
     1247#define ODINFUNCTION1(cRet,cName,t1,a1)       \
     1248  cRet WINAPI cName(t1 a1)
     1249
     1250#define ODINPROCEDURE1(cName,t1,a1)           \
     1251  void WINAPI cName(t1 a1)
     1252
     1253/* ---------- 2 parameters ---------- */
     1254#define ODINFUNCTION2(cRet,cName,t1,a1,t2,a2)  \
     1255  cRet WINAPI cName(t1 a1,t2 a2)
     1256
     1257#define ODINPROCEDURE2(cName,t1,a1,t2,a2)     \
     1258  void WINAPI cName(t1 a1,t2 a2)
     1259
     1260
     1261/* ---------- 3 parameters ---------- */
     1262#define ODINFUNCTION3(cRet,cName,t1,a1,t2,a2,t3,a3)  \
     1263  cRet WINAPI cName(t1 a1,t2 a2,t3 a3)
     1264
     1265#define ODINPROCEDURE3(cName,t1,a1,t2,a2,t3,a3)  \
     1266  void WINAPI cName(t1 a1,t2 a2,t3 a3)
     1267
     1268
     1269/* ---------- 4 parameters ---------- */
     1270#define ODINFUNCTION4(cRet,cName,t1,a1,t2,a2,t3,a3,t4,a4)  \
     1271  cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4)
     1272
     1273#define ODINPROCEDURE4(cName,t1,a1,t2,a2,t3,a3,t4,a4)  \
     1274  void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4)
     1275
     1276
     1277/* ---------- 5 parameters ---------- */
     1278#define ODINFUNCTION5(cRet,cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5)  \
     1279  cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5)
     1280
     1281#define ODINPROCEDURE5(cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5)  \
     1282  void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5)
     1283
     1284
     1285/* ---------- 6 parameters ---------- */
     1286#define ODINFUNCTION6(cRet,cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6)  \
     1287  cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6)
     1288
     1289#define ODINPROCEDURE6(cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6)  \
     1290  void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6)
     1291
     1292/* ---------- 7 parameters ---------- */
     1293#define ODINFUNCTION7(cRet,cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7)  \
     1294  cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7)
     1295
     1296#define ODINPROCEDURE7(cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7)  \
     1297  void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7)
     1298
     1299/* ---------- 8 parameters ---------- */
     1300#define ODINFUNCTION8(cRet,cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8)  \
     1301  cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8)
     1302
     1303#define ODINPROCEDURE8(cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8)  \
     1304  void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8)
     1305
     1306/* ---------- 9 parameters ---------- */
     1307#define ODINFUNCTION9(cRet,cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9)  \
     1308  cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9)
     1309
     1310#define ODINPROCEDURE9(cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9)  \
     1311  void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9)
     1312
     1313/* ---------- 10 parameters ---------- */
     1314#define ODINFUNCTION10(cRet,cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10)  \
     1315  cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10)
     1316
     1317#define ODINPROCEDURE10(cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10)  \
     1318  void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10)
     1319
     1320/* ---------- 11 parameters ---------- */
     1321#define ODINFUNCTION11(cRet,cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10,t11,a11)  \
     1322  cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11)
     1323
     1324#define ODINPROCEDURE11(cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10,t11,a11)  \
     1325  void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11)
     1326
     1327/* ---------- 12 parameters ---------- */
     1328#define ODINFUNCTION12(cRet,cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10,t11,a11,t12,a12)  \
     1329  cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12)
     1330
     1331#define ODINPROCEDURE12(cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10,t11,a11,t12,a12)  \
     1332  void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12)
     1333
     1334/* ---------- 13 parameters ---------- */
     1335#define ODINFUNCTION13(cRet,cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10,t11,a11,t12,a12,t13,a13)  \
     1336  cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12,t13 a13)
     1337
     1338#define ODINPROCEDURE13(cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10,t11,a11,t12,a12,t13,a13)  \
     1339  void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12,t13 a13)
     1340
     1341/* ---------- 14 parameters ---------- */
     1342#define ODINFUNCTION14(cRet,cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10,t11,a11,t12,a12,t13,a13,t14,a14)  \
     1343  cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12,t13 a13,t14 a14)
     1344
     1345#define ODINPROCEDURE14(cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10,t11,a11,t12,a12,t13,a13,t14,a14)  \
     1346  void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12,t13 a13,t14 a14)    \
     1347 
     1348#define ODINFUNCTIONNODBG0   ODINFUNCTION0
     1349#define ODINFUNCTIONNODBG1   ODINFUNCTION1
     1350#define ODINFUNCTIONNODBG2   ODINFUNCTION2
     1351#define ODINFUNCTIONNODBG3   ODINFUNCTION3
     1352#define ODINFUNCTIONNODBG4   ODINFUNCTION4
     1353#define ODINFUNCTIONNODBG5   ODINFUNCTION5
     1354#define ODINFUNCTIONNODBG6   ODINFUNCTION6
     1355#define ODINFUNCTIONNODBG7   ODINFUNCTION7
     1356#define ODINFUNCTIONNODBG8   ODINFUNCTION8
     1357#define ODINFUNCTIONNODBG9   ODINFUNCTION9
     1358#define ODINFUNCTIONNODBG10  ODINFUNCTION10
     1359#define ODINFUNCTIONNODBG11  ODINFUNCTION11
     1360#define ODINFUNCTIONNODBG12  ODINFUNCTION12
     1361#define ODINFUNCTIONNODBG13  ODINFUNCTION13
     1362#define ODINFUNCTIONNODBG14  ODINFUNCTION14
     1363
     1364#define ODINPROCEDURENODBG0   ODINPROCEDURE0
     1365#define ODINPROCEDURENODBG1   ODINPROCEDURE1
     1366#define ODINPROCEDURENODBG2   ODINPROCEDURE2
     1367#define ODINPROCEDURENODBG3   ODINPROCEDURE3
     1368#define ODINPROCEDURENODBG4   ODINPROCEDURE4
     1369#define ODINPROCEDURENODBG5   ODINPROCEDURE5
     1370#define ODINPROCEDURENODBG6   ODINPROCEDURE6
     1371#define ODINPROCEDURENODBG7   ODINPROCEDURE7
     1372#define ODINPROCEDURENODBG8   ODINPROCEDURE8
     1373#define ODINPROCEDURENODBG9   ODINPROCEDURE9
     1374#define ODINPROCEDURENODBG10  ODINPROCEDURE10
     1375#define ODINPROCEDURENODBG11  ODINPROCEDURE11
     1376#define ODINPROCEDURENODBG12  ODINPROCEDURE12
     1377#define ODINPROCEDURENODBG13  ODINPROCEDURE13
     1378#define ODINPROCEDURENODBG14  ODINPROCEDURE14
     1379
     1380#endif /* RELEASE */
     1381
     1382
    12701383#endif /* _ODINWRAP_H_ */
Note: See TracChangeset for help on using the changeset viewer.