PageRenderTime 77ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/tags/rel-1-3-29/SWIG/Examples/test-suite/cpp_broken.i

#
Swig | 75 lines | 56 code | 17 blank | 2 comment | 0 complexity | a6013352cbf9904f4836b2a374a6a75b MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
  1. %module cpp_broken
  2. // bug #1060789
  3. %inline %{
  4. #define MASK(shift, size) (((1 << (size)) - 1) << (shift))
  5. #define SOME_MASK_DEF (80*MASK(8, 10))
  6. %}
  7. // bug #1060079
  8. %inline %{
  9. #define FIELD(name, width) unsigned int name:width
  10. #define SOME_CONST 2
  11. #define NEXT_CONST (2 * SOME_CONST)
  12. typedef struct {
  13. FIELD(a, SOME_CONST);
  14. FIELD(b, NEXT_CONST);
  15. } MyStruct_t;
  16. %}
  17. %{
  18. #ifdef max
  19. #undef max
  20. #endif
  21. %}
  22. // bug #994301
  23. %inline %{
  24. #define max(a,b) ((a) > (b) ? (a) : (b))
  25. %}
  26. // bug #940318
  27. %inline %{
  28. typedef enum {
  29. eZero = 0
  30. #define ONE 1
  31. } EFoo;
  32. %}
  33. // bug #754443
  34. %inline %{
  35. #define MAG_STYLE_BORDER_OFFS 0
  36. #define MAG_STYLE_BORDER_BITS 3
  37. #define MAG_STYLE_BORDER_MASK (((1UL<<MAG_STYLE_BORDER_BITS)-1)<<MAG_STYLE_BORDER_OFFS)
  38. /* these CANNOT be combined */
  39. #define MAG_STYLE_BORDER_NONE (1 << MAG_STYLE_BORDER_OFFS)
  40. #define MAG_STYLE_BORDER_STATIC (2 << MAG_STYLE_BORDER_OFFS)
  41. #define MAG_STYLE_BORDER_SIMPLE (3 << MAG_STYLE_BORDER_OFFS)
  42. #define MAG_STYLE_BORDER_RAISED (4 << MAG_STYLE_BORDER_OFFS)
  43. #define MAG_STYLE_BORDER_DOUBLE (5 << MAG_STYLE_BORDER_OFFS)
  44. #define MAG_STYLE_BORDER_DEFAULT MAG_STYLE_BORDER_SIMPLE
  45. #define MAG_STYLE_CAPTION_OFFS ( MAG_STYLE_BORDER_OFFS + MAG_STYLE_BORDER_BITS )
  46. #define MAG_STYLE_CAPTION_BITS 8
  47. #define MAG_STYLE_CAPTION_MASK (((1UL<<MAG_STYLE_CAPTION_BITS)-1)<<MAG_STYLE_CAPTION_OFFS)
  48. /* these CAN be combined */
  49. #define MAG_STYLE_CAPTION_NONE ( 1 << ( 0 + MAG_STYLE_CAPTION_OFFS ))
  50. #define MAG_STYLE_CAPTION_PRESENT ( 1 << ( 1 + MAG_STYLE_CAPTION_OFFS ))
  51. #define MAG_STYLE_CAPTION_SYSMENU ( 1 << ( 2 + MAG_STYLE_CAPTION_OFFS ))
  52. #define MAG_STYLE_CAPTION_MINIMIZE ( 1 << ( 3 + MAG_STYLE_CAPTION_OFFS ))
  53. #define MAG_STYLE_CAPTION_MAXIMIZE ( 1 << ( 4 + MAG_STYLE_CAPTION_OFFS ))
  54. #define MAG_STYLE_CAPTION_RESIZE ( 1 << ( 5 + MAG_STYLE_CAPTION_OFFS ))
  55. #define MAG_STYLE_CAPTION_TINYHOR ( 1 << ( 6 + MAG_STYLE_CAPTION_OFFS ))
  56. #define MAG_STYLE_CAPTION_TINYVER ( 1 << ( 7 + MAG_STYLE_CAPTION_OFFS ))
  57. #define MAG_STYLE_CAPTION_DEFAULT ( MAG_STYLE_CAPTION_RESIZE + MAG_STYLE_CAPTION_MAXIMIZE + MAG_STYLE_CAPTION_MINIMIZE + MAG_STYLE_CAPTION_SYSMENU + MAG_STYLE_CAPTION_PRESENT )
  58. %}