1 /*============================================================================= 2 Boost.Wave: A Standard compliant C++ preprocessor library 3 http://www.boost.org/ 4 5 Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost 6 Software License, Version 1.0. (See accompanying file 7 LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 8 9 The tests included in this file were initially taken from the mcpp V2.5 10 preprocessor validation suite and were modified to fit into the Boost.Wave 11 unit test requirements. 12 The original files of the mcpp preprocessor are distributed under the 13 license reproduced at the end of this file. 14 =============================================================================*/ 15 16 // Tests translation limits (number of possible macro definitions should be at 17 // least 1024). 18 19 #define AA 20 #define AB 21 #define AC 22 #define AD 23 #define AE 24 #define AF 25 #define AG 26 #define AH 27 #define AI 28 #define AJ 29 #define AK 30 #define AL 31 #define AM 32 #define AN 33 #define AO 34 #define AP 35 #define AQ 36 #define AR 37 #define AS 38 #define AT 39 #define AU 40 #define AV 41 #define AW 42 #define AX 43 #define AY 44 #define AZ 45 #define Aa 46 #define Ab 47 #define Ac 48 #define Ad 49 #define Ae 50 #define Af 51 #define Ag 52 #define Ah 53 #define Ai 54 #define Aj 55 #define Ak 56 #define Al 57 #define Am 58 #define An 59 #define BA 60 #define BB 61 #define BC 62 #define BD 63 #define BE 64 #define BF 65 #define BG 66 #define BH 67 #define BI 68 #define BJ 69 #define BK 70 #define BL 71 #define BM 72 #define BN 73 #define BO 74 #define BP 75 #define BQ 76 #define BR 77 #define BS 78 #define BT 79 #define BU 80 #define BV 81 #define BW 82 #define BX 83 #define BY 84 #define BZ 85 #define Ba 86 #define Bb 87 #define Bc 88 #define Bd 89 #define Be 90 #define Bf 91 #define Bg 92 #define Bh 93 #define Bi 94 #define Bj 95 #define Bk 96 #define Bl 97 #define Bm 98 #define Bn 99 #define CA 100 #define CB 101 #define CC 102 #define CD 103 #define CE 104 #define CF 105 #define CG 106 #define CH 107 #define CI 108 #define CJ 109 #define CK 110 #define CL 111 #define CM 112 #define CN 113 #define CO 114 #define CP 115 #define CQ 116 #define CR 117 #define CS 118 #define CT 119 #define CU 120 #define CV 121 #define CW 122 #define CX 123 #define CY 124 #define CZ 125 #define Ca 126 #define Cb 127 #define Cc 128 #define Cd 129 #define Ce 130 #define Cf 131 #define Cg 132 #define Ch 133 #define Ci 134 #define Cj 135 #define Ck 136 #define Cl 137 #define Cm 138 #define Cn 139 #define DA 140 #define DB 141 #define DC 142 #define DD 143 #define DE 144 #define DF 145 #define DG 146 #define DH 147 #define DI 148 #define DJ 149 #define DK 150 #define DL 151 #define DM 152 #define DN 153 #define DO 154 #define DP 155 #define DQ 156 #define DR 157 #define DS 158 #define DT 159 #define DU 160 #define DV 161 #define DW 162 #define DX 163 #define DY 164 #define DZ 165 #define Da 166 #define Db 167 #define Dc 168 #define Dd 169 #define De 170 #define Df 171 #define Dg 172 #define Dh 173 #define Di 174 #define Dj 175 #define Dk 176 #define Dl 177 #define Dm 178 #define Dn 179 #define EA 180 #define EB 181 #define EC 182 #define ED 183 #define EE 184 #define EF 185 #define EG 186 #define EH 187 #define EI 188 #define EJ 189 #define EK 190 #define EL 191 #define EM 192 #define EN 193 #define EO 194 #define EP 195 #define EQ 196 #define ER 197 #define ES 198 #define ET 199 #define EU 200 #define EV 201 #define EW 202 #define EX 203 #define EY 204 #define EZ 205 #define Ea 206 #define Eb 207 #define Ec 208 #define Ed 209 #define Ee 210 #define Ef 211 #define Eg 212 #define Eh 213 #define Ei 214 #define Ej 215 #define Ek 216 #define El 217 #define Em 218 #define En 219 #define FA 220 #define FB 221 #define FC 222 #define FD 223 #define FE 224 #define FF 225 #define FG 226 #define FH 227 #define FI 228 #define FJ 229 #define FK 230 #define FL 231 #define FM 232 #define FN 233 #define FO 234 #define FP 235 #define FQ 236 #define FR 237 #define FS 238 #define FT 239 #define FU 240 #define FV 241 #define FW 242 #define FX 243 #define FY 244 #define FZ 245 #define Fa 246 #define Fb 247 #define Fc 248 #define Fd 249 #define Fe 250 #define Ff 251 #define Fg 252 #define Fh 253 #define Fi 254 #define Fj 255 #define Fk 256 #define Fl 257 #define Fm 258 #define Fn 259 #define GA 260 #define GB 261 #define GC 262 #define GD 263 #define GE 264 #define GF 265 #define GG 266 #define GH 267 #define GI 268 #define GJ 269 #define GK 270 #define GL 271 #define GM 272 #define GN 273 #define GO 274 #define GP 275 #define GQ 276 #define GR 277 #define GS 278 #define GT 279 #define GU 280 #define GV 281 #define GW 282 #define GX 283 #define GY 284 #define GZ 285 #define Ga 286 #define Gb 287 #define Gc 288 #define Gd 289 #define Ge 290 #define Gf 291 #define Gg 292 #define Gh 293 #define Gi 294 #define Gj 295 #define Gk 296 #define Gl 297 #define Gm 298 #define Gn 299 #define HA 300 #define HB 301 #define HC 302 #define HD 303 #define HE 304 #define HF 305 #define HG 306 #define HH 307 #define HI 308 #define HJ 309 #define HK 310 #define HL 311 #define HM 312 #define HN 313 #define HO 314 #define HP 315 #define HQ 316 #define HR 317 #define HS 318 #define HT 319 #define HU 320 #define HV 321 #define HW 322 #define HX 323 #define HY 324 #define HZ 325 #define Ha 326 #define Hb 327 #define Hc 328 #define Hd 329 #define He 330 #define Hf 331 #define Hg 332 #define Hh 333 #define Hi 334 #define Hj 335 #define Hk 336 #define Hl 337 #define Hm 338 #define Hn 339 #define IA 340 #define IB 341 #define IC 342 #define ID 343 #define IE 344 #define IF 345 #define IG 346 #define IH 347 #define II 348 #define IJ 349 #define IK 350 #define IL 351 #define IM 352 #define IN 353 #define IO 354 #define IP 355 #define IQ 356 #define IR 357 #define IS 358 #define IT 359 #define IU 360 #define IV 361 #define IW 362 #define IX 363 #define IY 364 #define IZ 365 #define Ia 366 #define Ib 367 #define Ic 368 #define Id 369 #define Ie 370 #define If 371 #define Ig 372 #define Ih 373 #define Ii 374 #define Ij 375 #define Ik 376 #define Il 377 #define Im 378 #define In 379 #define JA 380 #define JB 381 #define JC 382 #define JD 383 #define JE 384 #define JF 385 #define JG 386 #define JH 387 #define JI 388 #define JJ 389 #define JK 390 #define JL 391 #define JM 392 #define JN 393 #define JO 394 #define JP 395 #define JQ 396 #define JR 397 #define JS 398 #define JT 399 #define JU 400 #define JV 401 #define JW 402 #define JX 403 #define JY 404 #define JZ 405 #define Ja 406 #define Jb 407 #define Jc 408 #define Jd 409 #define Je 410 #define Jf 411 #define Jg 412 #define Jh 413 #define Ji 414 #define Jj 415 #define Jk 416 #define Jl 417 #define Jm 418 #define Jn 419 #define KA 420 #define KB 421 #define KC 422 #define KD 423 #define KE 424 #define KF 425 #define KG 426 #define KH 427 #define KI 428 #define KJ 429 #define KK 430 #define KL 431 #define KM 432 #define KN 433 #define KO 434 #define KP 435 #define KQ 436 #define KR 437 #define KS 438 #define KT 439 #define KU 440 #define KV 441 #define KW 442 #define KX 443 #define KY 444 #define KZ 445 #define Ka 446 #define Kb 447 #define Kc 448 #define Kd 449 #define Ke 450 #define Kf 451 #define Kg 452 #define Kh 453 #define Ki 454 #define Kj 455 #define Kk 456 #define Kl 457 #define Km 458 #define Kn 459 #define LA 460 #define LB 461 #define LC 462 #define LD 463 #define LE 464 #define LF 465 #define LG 466 #define LH 467 #define LI 468 #define LJ 469 #define LK 470 #define LL 471 #define LM 472 #define LN 473 #define LO 474 #define LP 475 #define LQ 476 #define LR 477 #define LS 478 #define LT 479 #define LU 480 #define LV 481 #define LW 482 #define LX 483 #define LY 484 #define LZ 485 #define La 486 #define Lb 487 #define Lc 488 #define Ld 489 #define Le 490 #define Lf 491 #define Lg 492 #define Lh 493 #define Li 494 #define Lj 495 #define Lk 496 #define Ll 497 #define Lm 498 #define Ln 499 #define MA 500 #define MB 501 #define MC 502 #define MD 503 #define ME 504 #define MF 505 #define MG 506 #define MH 507 #define MI 508 #define MJ 509 #define MK 510 #define ML 511 #define MM 512 #define MN 513 #define MO 514 #define MP 515 #define MQ 516 #define MR 517 #define MS 518 #define MT 519 #define MU 520 #define MV 521 #define MW 522 #define MX 523 #define MY 524 #define MZ 525 #define Ma 526 #define Mb 527 #define Mc 528 #define Md 529 #define Me 530 #define Mf 531 #define Mg 532 #define Mh 533 #define Mi 534 #define Mj 535 #define Mk 536 #define Ml 537 #define Mm 538 #define Mn 539 #define NA 540 #define NB 541 #define NC 542 #define ND 543 #define NE 544 #define NF 545 #define NG 546 #define NH 547 #define NI 548 #define NJ 549 #define NK 550 #define NL 551 #define NM 552 #define NN 553 #define NO 554 #define NP 555 #define NQ 556 #define NR 557 #define NS 558 #define NT 559 #define NU 560 #define NV 561 #define NW 562 #define NX 563 #define NY 564 #define NZ 565 #define Na 566 #define Nb 567 #define Nc 568 #define Nd 569 #define Ne 570 #define Nf 571 #define Ng 572 #define Nh 573 #define Ni 574 #define Nj 575 #define Nk 576 #define Nl 577 #define Nm 578 #define Nn 579 #define OA 580 #define OB 581 #define OC 582 #define OD 583 #define OE 584 #define OF 585 #define OG 586 #define OH 587 #define OI 588 #define OJ 589 #define OK 590 #define OL 591 #define OM 592 #define ON 593 #define OO 594 #define OP 595 #define OQ 596 #define OR 597 #define OS 598 #define OT 599 #define OU 600 #define OV 601 #define OW 602 #define OX 603 #define OY 604 #define OZ 605 #define Oa 606 #define Ob 607 #define Oc 608 #define Od 609 #define Oe 610 #define Of 611 #define Og 612 #define Oh 613 #define Oi 614 #define Oj 615 #define Ok 616 #define Ol 617 #define Om 618 #define On 619 #define PA 620 #define PB 621 #define PC 622 #define PD 623 #define PE 624 #define PF 625 #define PG 626 #define PH 627 #define PI 628 #define PJ 629 #define PK 630 #define PL 631 #define PM 632 #define PN 633 #define PO 634 #define PP 635 #define PQ 636 #define PR 637 #define PS 638 #define PT 639 #define PU 640 #define PV 641 #define PW 642 #define PX 643 #define PY 644 #define PZ 645 #define Pa 646 #define Pb 647 #define Pc 648 #define Pd 649 #define Pe 650 #define Pf 651 #define Pg 652 #define Ph 653 #define Pi 654 #define Pj 655 #define Pk 656 #define Pl 657 #define Pm 658 #define Pn 659 #define QA 660 #define QB 661 #define QC 662 #define QD 663 #define QE 664 #define QF 665 #define QG 666 #define QH 667 #define QI 668 #define QJ 669 #define QK 670 #define QL 671 #define QM 672 #define QN 673 #define QO 674 #define QP 675 #define QQ 676 #define QR 677 #define QS 678 #define QT 679 #define QU 680 #define QV 681 #define QW 682 #define QX 683 #define QY 684 #define QZ 685 #define Qa 686 #define Qb 687 #define Qc 688 #define Qd 689 #define Qe 690 #define Qf 691 #define Qg 692 #define Qh 693 #define Qi 694 #define Qj 695 #define Qk 696 #define Ql 697 #define Qm 698 #define Qn 699 #define RA 700 #define RB 701 #define RC 702 #define RD 703 #define RE 704 #define RF 705 #define RG 706 #define RH 707 #define RI 708 #define RJ 709 #define RK 710 #define RL 711 #define RM 712 #define RN 713 #define RO 714 #define RP 715 #define RQ 716 #define RR 717 #define RS 718 #define RT 719 #define RU 720 #define RV 721 #define RW 722 #define RX 723 #define RY 724 #define RZ 725 #define Ra 726 #define Rb 727 #define Rc 728 #define Rd 729 #define Re 730 #define Rf 731 #define Rg 732 #define Rh 733 #define Ri 734 #define Rj 735 #define Rk 736 #define Rl 737 #define Rm 738 #define Rn 739 #define SA 740 #define SB 741 #define SC 742 #define SD 743 #define SE 744 #define SF 745 #define SG 746 #define SH 747 #define SI 748 #define SJ 749 #define SK 750 #define SL 751 #define SM 752 #define SN 753 #define SO 754 #define SP 755 #define SQ 756 #define SR 757 #define SS 758 #define ST 759 #define SU 760 #define SV 761 #define SW 762 #define SX 763 #define SY 764 #define SZ 765 #define Sa 766 #define Sb 767 #define Sc 768 #define Sd 769 #define Se 770 #define Sf 771 #define Sg 772 #define Sh 773 #define Si 774 #define Sj 775 #define Sk 776 #define Sl 777 #define Sm 778 #define Sn 779 #define TA 780 #define TB 781 #define TC 782 #define TD 783 #define TE 784 #define TF 785 #define TG 786 #define TH 787 #define TI 788 #define TJ 789 #define TK 790 #define TL 791 #define TM 792 #define TN 793 #define TO 794 #define TP 795 #define TQ 796 #define TR 797 #define TS 798 #define TT 799 #define TU 800 #define TV 801 #define TW 802 #define TX 803 #define TY 804 #define TZ 805 #define Ta 806 #define Tb 807 #define Tc 808 #define Td 809 #define Te 810 #define Tf 811 #define Tg 812 #define Th 813 #define Ti 814 #define Tj 815 #define Tk 816 #define Tl 817 #define Tm 818 #define Tn 819 #define UA 820 #define UB 821 #define UC 822 #define UD 823 #define UE 824 #define UF 825 #define UG 826 #define UH 827 #define UI 828 #define UJ 829 #define UK 830 #define UL 831 #define UM 832 #define UN 833 #define UO 834 #define UP 835 #define UQ 836 #define UR 837 #define US 838 #define UT 839 #define UU 840 #define UV 841 #define UW 842 #define UX 843 #define UY 844 #define UZ 845 #define Ua 846 #define Ub 847 #define Uc 848 #define Ud 849 #define Ue 850 #define Uf 851 #define Ug 852 #define Uh 853 #define Ui 854 #define Uj 855 #define Uk 856 #define Ul 857 #define Um 858 #define Un 859 #define VA 860 #define VB 861 #define VC 862 #define VD 863 #define VE 864 #define VF 865 #define VG 866 #define VH 867 #define VI 868 #define VJ 869 #define VK 870 #define VL 871 #define VM 872 #define VN 873 #define VO 874 #define VP 875 #define VQ 876 #define VR 877 #define VS 878 #define VT 879 #define VU 880 #define VV 881 #define VW 882 #define VX 883 #define VY 884 #define VZ 885 #define Va 886 #define Vb 887 #define Vc 888 #define Vd 889 #define Ve 890 #define Vf 891 #define Vg 892 #define Vh 893 #define Vi 894 #define Vj 895 #define Vk 896 #define Vl 897 #define Vm 898 #define Vn 899 #define WA 900 #define WB 901 #define WC 902 #define WD 903 #define WE 904 #define WF 905 #define WG 906 #define WH 907 #define WI 908 #define WJ 909 #define WK 910 #define WL 911 #define WM 912 #define WN 913 #define WO 914 #define WP 915 #define WQ 916 #define WR 917 #define WS 918 #define WT 919 #define WU 920 #define WV 921 #define WW 922 #define WX 923 #define WY 924 #define WZ 925 #define Wa 926 #define Wb 927 #define Wc 928 #define Wd 929 #define We 930 #define Wf 931 #define Wg 932 #define Wh 933 #define Wi 934 #define Wj 935 #define Wk 936 #define Wl 937 #define Wm 938 #define Wn 939 #define XA 940 #define XB 941 #define XC 942 #define XD 943 #define XE 944 #define XF 945 #define XG 946 #define XH 947 #define XI 948 #define XJ 949 #define XK 950 #define XL 951 #define XM 952 #define XN 953 #define XO 954 #define XP 955 #define XQ 956 #define XR 957 #define XS 958 #define XT 959 #define XU 960 #define XV 961 #define XW 962 #define XX 963 #define XY 964 #define XZ 965 #define Xa 966 #define Xb 967 #define Xc 968 #define Xd 969 #define Xe 970 #define Xf 971 #define Xg 972 #define Xh 973 #define Xi 974 #define Xj 975 #define Xk 976 #define Xl 977 #define Xm 978 #define Xn 979 #define YA 980 #define YB 981 #define YC 982 #define YD 983 #define YE 984 #define YF 985 #define YG 986 #define YH 987 #define YI 988 #define YJ 989 #define YK 990 #define YL 991 #define YM 992 #define YN 993 #define YO 994 #define YP 995 #define YQ 996 #define YR 997 #define YS 998 #define YT 999 #define YU 1000 #define YV 1001 #define YW 1002 #define YX 1003 #define YY 1004 #define YZ 1005 #define Ya 1006 #define Yb 1007 #define Yc 1008 #define Yd 1009 #define Ye 1010 #define Yf 1011 #define Yg 1012 #define Yh 1013 #define Yi 1014 #define Yj 1015 #define Yk 1016 #define Yl 1017 #define Ym 1018 #define Yn 1019 #define ZA 1020 #define ZB 1021 #define ZC 1022 #define ZD 1023 #define ZE 1024 #define ZF 1025 #define ZG 1026 #define ZH 1027 #define ZI 1028 #define ZJ 1029 #define ZK 1030 #define ZL 1031 #define ZM 1032 #define ZN 1033 #define ZO 1034 #define ZP 1035 #define ZQ 1036 #define ZR 1037 #define ZS 1038 #define ZT 1039 #define ZU 1040 #define ZV 1041 #define ZW 1042 #define ZX 1 1043 1044 /*- 1045 * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp> 1046 * All rights reserved. 1047 * 1048 * Redistribution and use in source and binary forms, with or without 1049 * modification, are permitted provided that the following conditions 1050 * are met: 1051 * 1. Redistributions of source code must retain the above copyright 1052 * notice, this list of conditions and the following disclaimer. 1053 * 2. Redistributions in binary form must reproduce the above copyright 1054 * notice, this list of conditions and the following disclaimer in the 1055 * documentation and/or other materials provided with the distribution. 1056 * 1057 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND 1058 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1059 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1060 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE 1061 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 1062 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 1063 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 1064 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 1065 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 1066 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 1067 * SUCH DAMAGE. 1068 */ 1069 1070