Blame cpp-test/test-t/n_tlimit.c

Packit b40e2e
/* n_tlimit.c:  Tests of translation limits of C99. */
Packit b40e2e
Packit b40e2e
/* n_tlim_1:    Number of parameters of macro definition: at least 127. */
Packit b40e2e
Packit b40e2e
#define glue127(    \
Packit b40e2e
    a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, \
Packit b40e2e
    a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, \
Packit b40e2e
    a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2, n2, o2, p2, \
Packit b40e2e
    a3, b3, c3, d3, e3, f3, g3, h3, i3, j3, k3, l3, m3, n3, o3, p3, \
Packit b40e2e
    a4, b4, c4, d4, e4, f4, g4, h4, i4, j4, k4, l4, m4, n4, o4, p4, \
Packit b40e2e
    a5, b5, c5, d5, e5, f5, g5, h5, i5, j5, k5, l5, m5, n5, o5, p5, \
Packit b40e2e
    a6, b6, c6, d6, e6, f6, g6, h6, i6, j6, k6, l6, m6, n6, o6, p6, \
Packit b40e2e
    a7, b7, c7, d7, e7, f7, g7, h7, i7, j7, k7, l7, m7, n7, o7)     \
Packit b40e2e
    a0 ## b0 ## c0 ## d0 ## e0 ## f0 ## g0 ## h0 ## \
Packit b40e2e
    p0 ## p1 ## p2 ## p3 ## p4 ## p5 ## p6 ## o7
Packit b40e2e
Packit b40e2e
/* n_tlim_2:    Number of arguments of macro call: at least 127.    */
Packit b40e2e
Packit b40e2e
/*  A0B0C0D0E0F0G0H0P0P1P2P3P4P5P6O7;   */
Packit b40e2e
    glue127(
Packit b40e2e
    A0, B0, C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0,
Packit b40e2e
    A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, L1, M1, N1, O1, P1,
Packit b40e2e
    A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, L2, M2, N2, O2, P2,
Packit b40e2e
    A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, L3, M3, N3, O3, P3,
Packit b40e2e
    A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, L4, M4, N4, O4, P4,
Packit b40e2e
    A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, L5, M5, N5, O5, P5,
Packit b40e2e
    A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, L6, M6, N6, O6, P6,
Packit b40e2e
    A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, L7, M7, N7, O7);
Packit b40e2e
Packit b40e2e
/* n_tlim_3:    Significant initial characters in an internal identifier or a
Packit b40e2e
        macro name: at least 63 bytes.  */
Packit b40e2e
Packit b40e2e
    int
Packit b40e2e
A23456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef = 63;
Packit b40e2e
Packit b40e2e
/* n_tlim_4:    Nested conditional inclusion: at least 63 level.    */
Packit b40e2e
Packit b40e2e
/* ifdef_nest = 0x3f;   */
Packit b40e2e
#define     X3F
Packit b40e2e
#include    "ifdef15.h"
Packit b40e2e
Packit b40e2e
/* n_tlim_5:    Nested source file inclusion: at least 15 level.    */
Packit b40e2e
Packit b40e2e
/* nest = 0x0f; */
Packit b40e2e
#define     X0F
Packit b40e2e
#include    "nest1.h"
Packit b40e2e
Packit b40e2e
/* n_tlim_6:    Parenthesized expression: at least 63 level.    */
Packit b40e2e
Packit b40e2e
/*  nest = 63;  */
Packit b40e2e
#if \
Packit b40e2e
        (0x00 + (0x01 - (0x02 + (0x03 - (0x04 + (0x05 - (0x06 + (0x07 - \
Packit b40e2e
        (0x08 + (0x09 - (0x0A + (0x0B - (0x0C + (0x0D - (0x0E + (0x0F - \
Packit b40e2e
        (0x10 + (0x11 - (0x12 + (0x13 - (0x14 + (0x15 - (0x16 + (0x17 - \
Packit b40e2e
        (0x18 + (0x19 - (0x1A + (0x1B - (0x1C + (0x1D - (0x1E + (0x1F - \
Packit b40e2e
        (0x20 + (0x21 - (0x22 + (0x23 - (0x24 + (0x25 - (0x26 + (0x27 - \
Packit b40e2e
        (0x28 + (0x29 - (0x2A + (0x2B - (0x2C + (0x2D - (0x2E + (0x2F - \
Packit b40e2e
        (0x30 + (0x31 - (0x32 + (0x33 - (0x34 + (0x35 - (0x36 + (0x37 - \
Packit b40e2e
        (0x38 + (0x39 - (0x3A + (0x3B - (0x3C + (0x3D - 0x3E)           \
Packit b40e2e
        )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))   \
Packit b40e2e
        == -1
Packit b40e2e
    nest = 63;
Packit b40e2e
#endif
Packit b40e2e
Packit b40e2e
/* n_tlim_7:    Characters in a string (after concatenation)
Packit b40e2e
        : at least 4095 bytes.  */
Packit b40e2e
Packit b40e2e
/*  4095 bytes long.    */
Packit b40e2e
    char    *string4093 =
Packit b40e2e
"123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
1123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
2123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
3123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
4123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
5123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
6123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
7123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
8123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
9123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
a123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
b123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
c123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
d123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
e123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
f123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
A123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
1123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
2123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
3123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
4123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
5123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
6123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
7123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
8123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
9123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
a123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
b123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
c123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
d123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
e123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
f123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
B123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
1123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
2123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
3123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
4123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
5123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
6123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
7123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
8123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
9123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
a123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
b123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
c123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
d123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
e123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
f123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
C123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
1123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
2123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
3123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
4123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
5123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
6123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
7123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
8123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
9123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
a123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
b123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
c123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
d123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
e123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\
Packit b40e2e
f123456789abcdef0123456789abcdef0123456789abcdef0123456789abcd"
Packit b40e2e
;
Packit b40e2e
Packit b40e2e
/* n_tlim_8:    Length of logical source line: at least 4095 bytes. */
Packit b40e2e
Packit b40e2e
#include    "long4095.h"
Packit b40e2e
Packit b40e2e
/* n_tlim_9:    Number of macro definitions: at least 4095. */
Packit b40e2e
Packit b40e2e
#undef  ARG
Packit b40e2e
#include    "m4095.h"
Packit b40e2e
Packit b40e2e
/*  0x0fff; */
Packit b40e2e
    GBM;
Packit b40e2e
Packit b40e2e
/* { dg-do preprocess }
Packit b40e2e
   { dg-options -std=c99 }
Packit b40e2e
   { dg-final { if ![file exist n_tlimit.i] { return }                      } }
Packit b40e2e
   { dg-final { if \{ [grep n_tlimit.i "A0B0C0D0E0F0G0H0P0P1P2P3P4P5P6O7"] != "" \} \{  } }
Packit b40e2e
   { dg-final { if \{ [grep n_tlimit.i "A23456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef "] != "" \} \{  } }
Packit b40e2e
   { dg-final { if \{ [grep n_tlimit.i "ifdef_nest = 0x3f"] != ""   \} \{   } }
Packit b40e2e
   { dg-final { if \{ [grep n_tlimit.i "nest = 0x0f"] != ""         \} \{   } }
Packit b40e2e
   { dg-final { if \{ [grep n_tlimit.i "nest = 63"] != ""           \} \{   } }
Packit b40e2e
   { dg-final { if \{ [grep n_tlimit.i "0x0fff"] != ""              \} \{   } }
Packit b40e2e
   { dg-final { return \} \} \} \} \} \}                                    } }
Packit b40e2e
   { dg-final { fail "n_tlimit.c: translation limits of C99"                } }
Packit b40e2e
 */
Packit b40e2e