GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: build/CMakeFiles/3.8.0/CompilerIdC/CMakeCCompilerId.c Lines: 0 8 0.0 %
Date: 2017-05-26 Branches: 0 0 0.0 %

Line Branch Exec Source
1
#ifdef __cplusplus
2
# error "A C++ compiler has been selected for C."
3
#endif
4
5
#if defined(__18CXX)
6
# define ID_VOID_MAIN
7
#endif
8
#if defined(__CLASSIC_C__)
9
/* cv-qualifiers did not exist in K&R C */
10
# define const
11
# define volatile
12
#endif
13
14
15
/* Version number components: V=Version, R=Revision, P=Patch
16
   Version date components:   YYYY=Year, MM=Month,   DD=Day  */
17
18
#if defined(__INTEL_COMPILER) || defined(__ICC)
19
# define COMPILER_ID "Intel"
20
# if defined(_MSC_VER)
21
#  define SIMULATE_ID "MSVC"
22
# endif
23
  /* __INTEL_COMPILER = VRP */
24
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
25
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
26
# if defined(__INTEL_COMPILER_UPDATE)
27
#  define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
28
# else
29
#  define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER   % 10)
30
# endif
31
# if defined(__INTEL_COMPILER_BUILD_DATE)
32
  /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
33
#  define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
34
# endif
35
# if defined(_MSC_VER)
36
   /* _MSC_VER = VVRR */
37
#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
38
#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
39
# endif
40
41
#elif defined(__PATHCC__)
42
# define COMPILER_ID "PathScale"
43
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
44
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
45
# if defined(__PATHCC_PATCHLEVEL__)
46
#  define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
47
# endif
48
49
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
50
# define COMPILER_ID "Embarcadero"
51
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
52
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
53
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__     & 0xFFFF)
54
55
#elif defined(__BORLANDC__)
56
# define COMPILER_ID "Borland"
57
  /* __BORLANDC__ = 0xVRR */
58
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
59
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
60
61
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
62
# define COMPILER_ID "Watcom"
63
   /* __WATCOMC__ = VVRR */
64
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
65
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
66
# if (__WATCOMC__ % 10) > 0
67
#  define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
68
# endif
69
70
#elif defined(__WATCOMC__)
71
# define COMPILER_ID "OpenWatcom"
72
   /* __WATCOMC__ = VVRP + 1100 */
73
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
74
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
75
# if (__WATCOMC__ % 10) > 0
76
#  define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
77
# endif
78
79
#elif defined(__SUNPRO_C)
80
# define COMPILER_ID "SunPro"
81
# if __SUNPRO_C >= 0x5100
82
   /* __SUNPRO_C = 0xVRRP */
83
#  define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
84
#  define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
85
#  define COMPILER_VERSION_PATCH HEX(__SUNPRO_C    & 0xF)
86
# else
87
   /* __SUNPRO_CC = 0xVRP */
88
#  define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
89
#  define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
90
#  define COMPILER_VERSION_PATCH HEX(__SUNPRO_C    & 0xF)
91
# endif
92
93
#elif defined(__HP_cc)
94
# define COMPILER_ID "HP"
95
  /* __HP_cc = VVRRPP */
96
# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)
97
# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)
98
# define COMPILER_VERSION_PATCH DEC(__HP_cc     % 100)
99
100
#elif defined(__DECC)
101
# define COMPILER_ID "Compaq"
102
  /* __DECC_VER = VVRRTPPPP */
103
# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
104
# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000  % 100)
105
# define COMPILER_VERSION_PATCH DEC(__DECC_VER         % 10000)
106
107
#elif defined(__IBMC__) && defined(__COMPILER_VER__)
108
# define COMPILER_ID "zOS"
109
  /* __IBMC__ = VRP */
110
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
111
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
112
# define COMPILER_VERSION_PATCH DEC(__IBMC__    % 10)
113
114
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800
115
# define COMPILER_ID "XL"
116
  /* __IBMC__ = VRP */
117
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
118
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
119
# define COMPILER_VERSION_PATCH DEC(__IBMC__    % 10)
120
121
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800
122
# define COMPILER_ID "VisualAge"
123
  /* __IBMC__ = VRP */
124
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
125
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
126
# define COMPILER_VERSION_PATCH DEC(__IBMC__    % 10)
127
128
#elif defined(__PGI)
129
# define COMPILER_ID "PGI"
130
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
131
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
132
# if defined(__PGIC_PATCHLEVEL__)
133
#  define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
134
# endif
135
136
#elif defined(_CRAYC)
137
# define COMPILER_ID "Cray"
138
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
139
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
140
141
#elif defined(__TI_COMPILER_VERSION__)
142
# define COMPILER_ID "TI"
143
  /* __TI_COMPILER_VERSION__ = VVVRRRPPP */
144
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
145
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000   % 1000)
146
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__        % 1000)
147
148
#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
149
# define COMPILER_ID "Fujitsu"
150
151
#elif defined(__TINYC__)
152
# define COMPILER_ID "TinyCC"
153
154
#elif defined(__BCC__)
155
# define COMPILER_ID "Bruce"
156
157
#elif defined(__SCO_VERSION__)
158
# define COMPILER_ID "SCO"
159
160
#elif defined(__clang__) && defined(__apple_build_version__)
161
# define COMPILER_ID "AppleClang"
162
# if defined(_MSC_VER)
163
#  define SIMULATE_ID "MSVC"
164
# endif
165
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
166
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
167
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
168
# if defined(_MSC_VER)
169
   /* _MSC_VER = VVRR */
170
#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
171
#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
172
# endif
173
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
174
175
#elif defined(__clang__)
176
# define COMPILER_ID "Clang"
177
# if defined(_MSC_VER)
178
#  define SIMULATE_ID "MSVC"
179
# endif
180
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
181
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
182
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
183
# if defined(_MSC_VER)
184
   /* _MSC_VER = VVRR */
185
#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
186
#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
187
# endif
188
189
#elif defined(__GNUC__)
190
# define COMPILER_ID "GNU"
191
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
192
# if defined(__GNUC_MINOR__)
193
#  define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
194
# endif
195
# if defined(__GNUC_PATCHLEVEL__)
196
#  define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
197
# endif
198
199
#elif defined(_MSC_VER)
200
# define COMPILER_ID "MSVC"
201
  /* _MSC_VER = VVRR */
202
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
203
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
204
# if defined(_MSC_FULL_VER)
205
#  if _MSC_VER >= 1400
206
    /* _MSC_FULL_VER = VVRRPPPPP */
207
#   define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
208
#  else
209
    /* _MSC_FULL_VER = VVRRPPPP */
210
#   define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
211
#  endif
212
# endif
213
# if defined(_MSC_BUILD)
214
#  define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
215
# endif
216
217
#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
218
# define COMPILER_ID "ADSP"
219
#if defined(__VISUALDSPVERSION__)
220
  /* __VISUALDSPVERSION__ = 0xVVRRPP00 */
221
# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
222
# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
223
# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8  & 0xFF)
224
#endif
225
226
#elif defined(__IAR_SYSTEMS_ICC__ ) || defined(__IAR_SYSTEMS_ICC)
227
# define COMPILER_ID "IAR"
228
229
#elif defined(__ARMCC_VERSION)
230
# define COMPILER_ID "ARMCC"
231
#if __ARMCC_VERSION >= 1000000
232
  /* __ARMCC_VERSION = VRRPPPP */
233
  # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
234
  # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
235
  # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION     % 10000)
236
#else
237
  /* __ARMCC_VERSION = VRPPPP */
238
  # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
239
  # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
240
  # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION    % 10000)
241
#endif
242
243
244
#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC)
245
# define COMPILER_ID "SDCC"
246
# if defined(__SDCC_VERSION_MAJOR)
247
#  define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR)
248
#  define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR)
249
#  define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH)
250
# else
251
  /* SDCC = VRP */
252
#  define COMPILER_VERSION_MAJOR DEC(SDCC/100)
253
#  define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
254
#  define COMPILER_VERSION_PATCH DEC(SDCC    % 10)
255
# endif
256
257
#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION)
258
# define COMPILER_ID "MIPSpro"
259
# if defined(_SGI_COMPILER_VERSION)
260
  /* _SGI_COMPILER_VERSION = VRP */
261
#  define COMPILER_VERSION_MAJOR DEC(_SGI_COMPILER_VERSION/100)
262
#  define COMPILER_VERSION_MINOR DEC(_SGI_COMPILER_VERSION/10 % 10)
263
#  define COMPILER_VERSION_PATCH DEC(_SGI_COMPILER_VERSION    % 10)
264
# else
265
  /* _COMPILER_VERSION = VRP */
266
#  define COMPILER_VERSION_MAJOR DEC(_COMPILER_VERSION/100)
267
#  define COMPILER_VERSION_MINOR DEC(_COMPILER_VERSION/10 % 10)
268
#  define COMPILER_VERSION_PATCH DEC(_COMPILER_VERSION    % 10)
269
# endif
270
271
272
/* These compilers are either not known or too old to define an
273
  identification macro.  Try to identify the platform and guess that
274
  it is the native compiler.  */
275
#elif defined(__sgi)
276
# define COMPILER_ID "MIPSpro"
277
278
#elif defined(__hpux) || defined(__hpua)
279
# define COMPILER_ID "HP"
280
281
#else /* unknown compiler */
282
# define COMPILER_ID ""
283
#endif
284
285
/* Construct the string literal in pieces to prevent the source from
286
   getting matched.  Store it in a pointer rather than an array
287
   because some compilers will just produce instructions to fill the
288
   array rather than assigning a pointer to a static array.  */
289
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
290
#ifdef SIMULATE_ID
291
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
292
#endif
293
294
#ifdef __QNXNTO__
295
char const* qnxnto = "INFO" ":" "qnxnto[]";
296
#endif
297
298
#if defined(__CRAYXE) || defined(__CRAYXC)
299
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
300
#endif
301
302
#define STRINGIFY_HELPER(X) #X
303
#define STRINGIFY(X) STRINGIFY_HELPER(X)
304
305
/* Identify known platforms by name.  */
306
#if defined(__linux) || defined(__linux__) || defined(linux)
307
# define PLATFORM_ID "Linux"
308
309
#elif defined(__CYGWIN__)
310
# define PLATFORM_ID "Cygwin"
311
312
#elif defined(__MINGW32__)
313
# define PLATFORM_ID "MinGW"
314
315
#elif defined(__APPLE__)
316
# define PLATFORM_ID "Darwin"
317
318
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
319
# define PLATFORM_ID "Windows"
320
321
#elif defined(__FreeBSD__) || defined(__FreeBSD)
322
# define PLATFORM_ID "FreeBSD"
323
324
#elif defined(__NetBSD__) || defined(__NetBSD)
325
# define PLATFORM_ID "NetBSD"
326
327
#elif defined(__OpenBSD__) || defined(__OPENBSD)
328
# define PLATFORM_ID "OpenBSD"
329
330
#elif defined(__sun) || defined(sun)
331
# define PLATFORM_ID "SunOS"
332
333
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
334
# define PLATFORM_ID "AIX"
335
336
#elif defined(__sgi) || defined(__sgi__) || defined(_SGI)
337
# define PLATFORM_ID "IRIX"
338
339
#elif defined(__hpux) || defined(__hpux__)
340
# define PLATFORM_ID "HP-UX"
341
342
#elif defined(__HAIKU__)
343
# define PLATFORM_ID "Haiku"
344
345
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
346
# define PLATFORM_ID "BeOS"
347
348
#elif defined(__QNX__) || defined(__QNXNTO__)
349
# define PLATFORM_ID "QNX"
350
351
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
352
# define PLATFORM_ID "Tru64"
353
354
#elif defined(__riscos) || defined(__riscos__)
355
# define PLATFORM_ID "RISCos"
356
357
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
358
# define PLATFORM_ID "SINIX"
359
360
#elif defined(__UNIX_SV__)
361
# define PLATFORM_ID "UNIX_SV"
362
363
#elif defined(__bsdos__)
364
# define PLATFORM_ID "BSDOS"
365
366
#elif defined(_MPRAS) || defined(MPRAS)
367
# define PLATFORM_ID "MP-RAS"
368
369
#elif defined(__osf) || defined(__osf__)
370
# define PLATFORM_ID "OSF1"
371
372
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
373
# define PLATFORM_ID "SCO_SV"
374
375
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
376
# define PLATFORM_ID "ULTRIX"
377
378
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
379
# define PLATFORM_ID "Xenix"
380
381
#elif defined(__WATCOMC__)
382
# if defined(__LINUX__)
383
#  define PLATFORM_ID "Linux"
384
385
# elif defined(__DOS__)
386
#  define PLATFORM_ID "DOS"
387
388
# elif defined(__OS2__)
389
#  define PLATFORM_ID "OS2"
390
391
# elif defined(__WINDOWS__)
392
#  define PLATFORM_ID "Windows3x"
393
394
# else /* unknown platform */
395
#  define PLATFORM_ID
396
# endif
397
398
#else /* unknown platform */
399
# define PLATFORM_ID
400
401
#endif
402
403
/* For windows compilers MSVC and Intel we can determine
404
   the architecture of the compiler being used.  This is because
405
   the compilers do not have flags that can change the architecture,
406
   but rather depend on which compiler is being used
407
*/
408
#if defined(_WIN32) && defined(_MSC_VER)
409
# if defined(_M_IA64)
410
#  define ARCHITECTURE_ID "IA64"
411
412
# elif defined(_M_X64) || defined(_M_AMD64)
413
#  define ARCHITECTURE_ID "x64"
414
415
# elif defined(_M_IX86)
416
#  define ARCHITECTURE_ID "X86"
417
418
# elif defined(_M_ARM)
419
#  if _M_ARM == 4
420
#   define ARCHITECTURE_ID "ARMV4I"
421
#  elif _M_ARM == 5
422
#   define ARCHITECTURE_ID "ARMV5I"
423
#  else
424
#   define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
425
#  endif
426
427
# elif defined(_M_MIPS)
428
#  define ARCHITECTURE_ID "MIPS"
429
430
# elif defined(_M_SH)
431
#  define ARCHITECTURE_ID "SHx"
432
433
# else /* unknown architecture */
434
#  define ARCHITECTURE_ID ""
435
# endif
436
437
#elif defined(__WATCOMC__)
438
# if defined(_M_I86)
439
#  define ARCHITECTURE_ID "I86"
440
441
# elif defined(_M_IX86)
442
#  define ARCHITECTURE_ID "X86"
443
444
# else /* unknown architecture */
445
#  define ARCHITECTURE_ID ""
446
# endif
447
448
#else
449
#  define ARCHITECTURE_ID
450
#endif
451
452
/* Convert integer to decimal digit literals.  */
453
#define DEC(n)                   \
454
  ('0' + (((n) / 10000000)%10)), \
455
  ('0' + (((n) / 1000000)%10)),  \
456
  ('0' + (((n) / 100000)%10)),   \
457
  ('0' + (((n) / 10000)%10)),    \
458
  ('0' + (((n) / 1000)%10)),     \
459
  ('0' + (((n) / 100)%10)),      \
460
  ('0' + (((n) / 10)%10)),       \
461
  ('0' +  ((n) % 10))
462
463
/* Convert integer to hex digit literals.  */
464
#define HEX(n)             \
465
  ('0' + ((n)>>28 & 0xF)), \
466
  ('0' + ((n)>>24 & 0xF)), \
467
  ('0' + ((n)>>20 & 0xF)), \
468
  ('0' + ((n)>>16 & 0xF)), \
469
  ('0' + ((n)>>12 & 0xF)), \
470
  ('0' + ((n)>>8  & 0xF)), \
471
  ('0' + ((n)>>4  & 0xF)), \
472
  ('0' + ((n)     & 0xF))
473
474
/* Construct a string literal encoding the version number components. */
475
#ifdef COMPILER_VERSION_MAJOR
476
char const info_version[] = {
477
  'I', 'N', 'F', 'O', ':',
478
  'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
479
  COMPILER_VERSION_MAJOR,
480
# ifdef COMPILER_VERSION_MINOR
481
  '.', COMPILER_VERSION_MINOR,
482
#  ifdef COMPILER_VERSION_PATCH
483
   '.', COMPILER_VERSION_PATCH,
484
#   ifdef COMPILER_VERSION_TWEAK
485
    '.', COMPILER_VERSION_TWEAK,
486
#   endif
487
#  endif
488
# endif
489
  ']','\0'};
490
#endif
491
492
/* Construct a string literal encoding the version number components. */
493
#ifdef SIMULATE_VERSION_MAJOR
494
char const info_simulate_version[] = {
495
  'I', 'N', 'F', 'O', ':',
496
  's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
497
  SIMULATE_VERSION_MAJOR,
498
# ifdef SIMULATE_VERSION_MINOR
499
  '.', SIMULATE_VERSION_MINOR,
500
#  ifdef SIMULATE_VERSION_PATCH
501
   '.', SIMULATE_VERSION_PATCH,
502
#   ifdef SIMULATE_VERSION_TWEAK
503
    '.', SIMULATE_VERSION_TWEAK,
504
#   endif
505
#  endif
506
# endif
507
  ']','\0'};
508
#endif
509
510
/* Construct the string literal in pieces to prevent the source from
511
   getting matched.  Store it in a pointer rather than an array
512
   because some compilers will just produce instructions to fill the
513
   array rather than assigning a pointer to a static array.  */
514
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
515
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
516
517
518
519
520
#if !defined(__STDC__)
521
# if defined(_MSC_VER) && !defined(__clang__)
522
#  define C_DIALECT "90"
523
# else
524
#  define C_DIALECT
525
# endif
526
#elif __STDC_VERSION__ >= 201000L
527
# define C_DIALECT "11"
528
#elif __STDC_VERSION__ >= 199901L
529
# define C_DIALECT "99"
530
#else
531
# define C_DIALECT "90"
532
#endif
533
const char* info_language_dialect_default =
534
  "INFO" ":" "dialect_default[" C_DIALECT "]";
535
536
/*--------------------------------------------------------------------------*/
537
538
#ifdef ID_VOID_MAIN
539
void main() {}
540
#else
541
# if defined(__CLASSIC_C__)
542
int main(argc, argv) int argc; char *argv[];
543
# else
544
int main(int argc, char* argv[])
545
# endif
546
{
547
  int require = 0;
548
  require += info_compiler[argc];
549
  require += info_platform[argc];
550
  require += info_arch[argc];
551
#ifdef COMPILER_VERSION_MAJOR
552
  require += info_version[argc];
553
#endif
554
#ifdef SIMULATE_ID
555
  require += info_simulate[argc];
556
#endif
557
#ifdef SIMULATE_VERSION_MAJOR
558
  require += info_simulate_version[argc];
559
#endif
560
#if defined(__CRAYXE) || defined(__CRAYXC)
561
  require += info_cray[argc];
562
#endif
563
  require += info_language_dialect_default[argc];
564
  (void)argv;
565
  return require;
566
}
567
#endif