summaryrefslogtreecommitdiff
path: root/Examples/test-suite/chartest.i
blob: 1046fa4d13cb7484242fd64783148f324b133207 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
%module chartest

%inline %{
#if defined(__clang__)
#pragma clang diagnostic push
// Suppress: illegal character encoding in character literal
#pragma clang diagnostic ignored "-Winvalid-source-encoding"
#endif
char printable_global_char = 'a';
char unprintable_global_char = 0x7F;

char GetPrintableChar() {
  return 'a';
}

char GetUnprintableChar() {
  return 0x7F;
}

static const char globchar0 = '\0';
static const char globchar1 = '\1';
static const char globchar2 = '\n';
static const char globcharA = 'A';
static const char globcharB = '\102'; // B
static const char globcharC = '\x43'; // C
static const char globcharD = 0x44; // D
static const char globcharE = 69; // E
static const char globcharAE1 = 'Æ'; // AE (latin1 encoded)
static const char globcharAE2 = '\306'; // AE (latin1 encoded)
static const char globcharAE3 = '\xC6'; // AE (latin1 encoded)

struct CharTestClass {
  static const char memberchar0 = '\0';
  static const char memberchar1 = '\1';
  static const char memberchar2 = '\n';
  static const char membercharA = 'A';
  static const char membercharB = '\102'; // B
  static const char membercharC = '\x43'; // C
  static const char membercharD = 0x44; // D
  static const char membercharE = 69; // E
  static const char membercharAE1 = 'Æ'; // AE (latin1 encoded)
  static const char membercharAE2 = '\306'; // AE (latin1 encoded)
  static const char membercharAE3 = '\xC6'; // AE (latin1 encoded)
};
%}

#if defined(SWIGJAVA)
%javaconst(1);
#elif SWIGCSHARP
%csconst(1);
#elif SWIGD
%dmanifestconst;
#endif

%inline %{
static const char x_globchar0 = '\0';
static const char x_globchar1 = '\1';
static const char x_globchar2 = '\n';
static const char x_globcharA = 'A';
static const char x_globcharB = '\102'; // B
static const char x_globcharC = '\x43'; // C
static const char x_globcharD = 0x44; // D
static const char x_globcharE = 69; // E
static const char x_globcharAE1 = 'Æ'; // AE (latin1 encoded)
static const char x_globcharAE2 = '\306'; // AE (latin1 encoded)
static const char x_globcharAE3 = '\xC6'; // AE (latin1 encoded)

struct X_CharTestClass {
  static const char memberchar0 = '\0';
  static const char memberchar1 = '\1';
  static const char memberchar2 = '\n';
  static const char membercharA = 'A';
  static const char membercharB = '\102'; // B
  static const char membercharC = '\x43'; // C
  static const char membercharD = 0x44; // D
  static const char membercharE = 69; // E
  static const char membercharAE1 = 'Æ'; // AE (latin1 encoded)
  static const char membercharAE2 = '\306'; // AE (latin1 encoded)
  static const char membercharAE3 = '\xC6'; // AE (latin1 encoded)
};
#if defined(__clang__)
#pragma clang diagnostic pop
#endif
%}