cmake_modules/CheckTypeSize.c.in
author Wuzzy <Wuzzy2@mail.ru>
Thu, 02 Aug 2018 03:16:08 +0200
changeset 13602 f7cbf7d8298d
parent 11663 f87ed83568c8
permissions -rw-r--r--
Cap hedgehog health to prevent overflow bugs
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11663
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
     1
@headers@
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
     2
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
     3
#undef KEY
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
     4
#if defined(__i386)
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
     5
# define KEY '_','_','i','3','8','6'
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
     6
#elif defined(__x86_64)
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
     7
# define KEY '_','_','x','8','6','_','6','4'
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
     8
#elif defined(__ppc__)
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
     9
# define KEY '_','_','p','p','c','_','_'
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
    10
#elif defined(__ppc64__)
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
    11
# define KEY '_','_','p','p','c','6','4','_','_'
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
    12
#endif
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
    13
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
    14
#define SIZE (sizeof(@type@))
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
    15
char info_size[] =  {'I', 'N', 'F', 'O', ':', 's','i','z','e','[',
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
    16
  ('0' + ((SIZE / 10000)%10)),
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
    17
  ('0' + ((SIZE / 1000)%10)),
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
    18
  ('0' + ((SIZE / 100)%10)),
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
    19
  ('0' + ((SIZE / 10)%10)),
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
    20
  ('0' +  (SIZE    % 10)),
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
    21
  ']',
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
    22
#ifdef KEY
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
    23
  ' ','k','e','y','[', KEY, ']',
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
    24
#endif
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
    25
  '\0'};
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
    26
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
    27
#ifdef __CLASSIC_C__
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
    28
int main(argc, argv) int argc; char *argv[];
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
    29
#else
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
    30
int main(int argc, char *argv[])
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
    31
#endif
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
    32
{
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
    33
  int require = 0;
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
    34
  require += info_size[argc];
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
    35
  (void)argv;
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
    36
  return SIZE;
f87ed83568c8 Import the Emscripted toolchain configuration
koda
parents:
diff changeset
    37
}