2
0

macros.cpp 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*
  2. * Copyright 2010-2013 Branimir Karadzic. All rights reserved.
  3. * License: http://www.opensource.org/licenses/BSD-2-Clause
  4. */
  5. #include "test.h"
  6. #include <string.h>
  7. #include <bx/bx.h>
  8. BX_STATIC_ASSERT(1 == BX_VA_ARGS_COUNT(1) );
  9. BX_STATIC_ASSERT(2 == BX_VA_ARGS_COUNT(1, 2) );
  10. BX_STATIC_ASSERT(3 == BX_VA_ARGS_COUNT(1, 2, 3) );
  11. BX_STATIC_ASSERT(4 == BX_VA_ARGS_COUNT(1, 2, 3, 4) );
  12. BX_STATIC_ASSERT(5 == BX_VA_ARGS_COUNT(1, 2, 3, 4, 5) );
  13. BX_STATIC_ASSERT(6 == BX_VA_ARGS_COUNT(1, 2, 3, 4, 5, 6) );
  14. BX_STATIC_ASSERT( 0 == BX_ALIGN_16( 0) );
  15. BX_STATIC_ASSERT( 16 == BX_ALIGN_16( 1) );
  16. BX_STATIC_ASSERT( 16 == BX_ALIGN_16( 15) );
  17. BX_STATIC_ASSERT( 16 == BX_ALIGN_16( 16) );
  18. BX_STATIC_ASSERT(256 == BX_ALIGN_16(255) );
  19. BX_STATIC_ASSERT( 0 == BX_ALIGN_256( 0) );
  20. BX_STATIC_ASSERT(256 == BX_ALIGN_256( 1) );
  21. BX_STATIC_ASSERT(256 == BX_ALIGN_256( 15) );
  22. BX_STATIC_ASSERT(256 == BX_ALIGN_256(255) );
  23. BX_STATIC_ASSERT(256 == BX_ALIGN_256(256) );
  24. BX_STATIC_ASSERT(256 == BX_ALIGN_256(256) );
  25. BX_STATIC_ASSERT(512 == BX_ALIGN_256(511) );
  26. BX_NO_INLINE void unusedFunction()
  27. {
  28. CHECK(false);
  29. }
  30. TEST(macros)
  31. {
  32. uint32_t unused0;
  33. BX_UNUSED(unused0);
  34. uint32_t unused1;
  35. BX_UNUSED(unused0, unused1);
  36. uint32_t unused2;
  37. BX_UNUSED(unused0, unused1, unused2, unusedFunction() );
  38. CHECK_EQUAL(1, BX_VA_ARGS_COUNT(1) );
  39. CHECK_EQUAL(2, BX_VA_ARGS_COUNT(1, 2) );
  40. CHECK_EQUAL(3, BX_VA_ARGS_COUNT(1, 2, 3) );
  41. CHECK_EQUAL(4, BX_VA_ARGS_COUNT(1, 2, 3, 4) );
  42. CHECK_EQUAL(5, BX_VA_ARGS_COUNT(1, 2, 3, 4, 5) );
  43. CHECK_EQUAL(6, BX_VA_ARGS_COUNT(1, 2, 3, 4, 5, 6) );
  44. CHECK_EQUAL(0, strcmp(BX_STRINGIZE(TEST 1234 %^&*), "TEST 1234 %^&*") );
  45. }