diff options
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/cpp/strify5.c | 1260 | ||||
-rw-r--r-- | libcpp/ChangeLog | 7 | ||||
-rw-r--r-- | libcpp/macro.c | 4 |
4 files changed, 1275 insertions, 1 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 876431a6b75..34d4b20c820 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2009-04-12 Joseph Myers <joseph@codesourcery.com> + + PR preprocessor/31869 + * gcc.dg/cpp/strify5.c: New test. + 2009-04-12 Eric Botcazou <ebotcazou@adacore.com> * gnat.dg/enum1.adb: New test. diff --git a/gcc/testsuite/gcc.dg/cpp/strify5.c b/gcc/testsuite/gcc.dg/cpp/strify5.c new file mode 100644 index 00000000000..f564682819b --- /dev/null +++ b/gcc/testsuite/gcc.dg/cpp/strify5.c @@ -0,0 +1,1260 @@ +/* Test handling of spaces and empty macro expansions in + stringifying. PR 31869. */ +/* { dg-do run } */ + +extern int strcmp (const char *, const char *); +extern int puts (const char *); +extern void abort (void); +extern void exit (int); +#define err(str) do { puts (str); abort (); } while (0) + +#define s(x) #x +#define v(x, r) if (strcmp (s(x), r)) err (#x) + +#define EOA /* empty */ +#define EFA() /* empty */ +#define EOB EFA()EFA() +#define EOC EFA()EOA +#define EFB() EFA()EFA() +#define EFC() EFA()EOA +#define ARG(x) x +#define SOA EOA EOA +#define SOB ARG(EFB() EOA) +#define SOC ARG(SOA) +#define SFA() EOA EOA +#define SFB() ARG(EFB() EOA) +#define SFC() ARG(SOA) +#define SAa(x) x EOA +#define SAb(x) x EOB +#define SAc(x) x EOC +#define SAd(x) x EFA() +#define SAe(x) x EFB() +#define SAf(x) x EFC() +#define SBa(x) EOA x +#define SBb(x) EOB x +#define SBc(x) EOC x +#define SBd(x) SFA()x +#define SBe(x) SFB()x +#define SBf(x) SFC()x + +void +check0 (void) +{ + v(||, "||"); + v(|EOA|, "||"); + v(|EOB|, "||"); + v(|EOC|, "||"); + v(|EFA()|, "||"); + v(|EFB()|, "||"); + v(|EFC()|, "||"); +} + +void +check1 (void) +{ + v(|SBa(|), "| |"); + v(|SBb(|), "| |"); + v(|SBc(|), "| |"); + v(|SBd(|), "| |"); + v(|SBe(|), "| |"); + v(|SBf(|), "| |"); + v(| |, "| |"); + v(| SBa(|), "| |"); + v(| SBb(|), "| |"); + v(| SBc(|), "| |"); + v(| SBd(|), "| |"); + v(| SBe(|), "| |"); + v(| SBf(|), "| |"); + v(|EFA()SBa(|), "| |"); + v(|EFA()SBb(|), "| |"); + v(|EFA()SBc(|), "| |"); + v(|EFA()SBd(|), "| |"); + v(|EFA()SBe(|), "| |"); + v(|EFA()SBf(|), "| |"); + v(|EFB()SBa(|), "| |"); + v(|EFB()SBb(|), "| |"); + v(|EFB()SBc(|), "| |"); + v(|EFB()SBd(|), "| |"); + v(|EFB()SBe(|), "| |"); + v(|EFB()SBf(|), "| |"); + v(|EFC()SBa(|), "| |"); + v(|EFC()SBb(|), "| |"); + v(|EFC()SBc(|), "| |"); + v(|EFC()SBd(|), "| |"); + v(|EFC()SBe(|), "| |"); + v(|EFC()SBf(|), "| |"); + v(| EOA|, "| |"); + v(| EOB|, "| |"); + v(| EOC|, "| |"); + v(| EFA()|, "| |"); + v(| EFA()SBa(|), "| |"); + v(| EFA()SBb(|), "| |"); + v(| EFA()SBc(|), "| |"); + v(| EFA()SBd(|), "| |"); + v(| EFA()SBe(|), "| |"); + v(| EFA()SBf(|), "| |"); + v(| EFB()|, "| |"); + v(| EFB()SBa(|), "| |"); + v(| EFB()SBb(|), "| |"); + v(| EFB()SBc(|), "| |"); + v(| EFB()SBd(|), "| |"); + v(| EFB()SBe(|), "| |"); + v(| EFB()SBf(|), "| |"); + v(| EFC()|, "| |"); + v(| EFC()SBa(|), "| |"); + v(| EFC()SBb(|), "| |"); + v(| EFC()SBc(|), "| |"); + v(| EFC()SBd(|), "| |"); + v(| EFC()SBe(|), "| |"); + v(| EFC()SBf(|), "| |"); + v(|EOA |, "| |"); + v(|EOA SBa(|), "| |"); + v(|EOA SBb(|), "| |"); + v(|EOA SBc(|), "| |"); + v(|EOA SBd(|), "| |"); + v(|EOA SBe(|), "| |"); + v(|EOA SBf(|), "| |"); + v(|EOB |, "| |"); + v(|EOB SBa(|), "| |"); + v(|EOB SBb(|), "| |"); + v(|EOB SBc(|), "| |"); + v(|EOB SBd(|), "| |"); + v(|EOB SBe(|), "| |"); + v(|EOB SBf(|), "| |"); + v(|EOC |, "| |"); + v(|EOC SBa(|), "| |"); + v(|EOC SBb(|), "| |"); + v(|EOC SBc(|), "| |"); + v(|EOC SBd(|), "| |"); + v(|EOC SBe(|), "| |"); + v(|EOC SBf(|), "| |"); + v(|EFA() |, "| |"); + v(|EFA() SBa(|), "| |"); + v(|EFA() SBb(|), "| |"); + v(|EFA() SBc(|), "| |"); + v(|EFA() SBd(|), "| |"); + v(|EFA() SBe(|), "| |"); + v(|EFA() SBf(|), "| |"); + v(|EFB() |, "| |"); + v(|EFB() SBa(|), "| |"); + v(|EFB() SBb(|), "| |"); + v(|EFB() SBc(|), "| |"); + v(|EFB() SBd(|), "| |"); + v(|EFB() SBe(|), "| |"); + v(|EFB() SBf(|), "| |"); + v(|EFC() |, "| |"); + v(|EFC() SBa(|), "| |"); + v(|EFC() SBb(|), "| |"); + v(|EFC() SBc(|), "| |"); + v(|EFC() SBd(|), "| |"); + v(|EFC() SBe(|), "| |"); + v(|EFC() SBf(|), "| |"); + v(| EOA |, "| |"); + v(| EOA SBa(|), "| |"); + v(| EOA SBb(|), "| |"); + v(| EOA SBc(|), "| |"); + v(| EOA SBd(|), "| |"); + v(| EOA SBe(|), "| |"); + v(| EOA SBf(|), "| |"); + v(| EOB |, "| |"); + v(| EOB SBa(|), "| |"); + v(| EOB SBb(|), "| |"); + v(| EOB SBc(|), "| |"); + v(| EOB SBd(|), "| |"); + v(| EOB SBe(|), "| |"); + v(| EOB SBf(|), "| |"); + v(| EOC |, "| |"); + v(| EOC SBa(|), "| |"); + v(| EOC SBb(|), "| |"); + v(| EOC SBc(|), "| |"); + v(| EOC SBd(|), "| |"); + v(| EOC SBe(|), "| |"); + v(| EOC SBf(|), "| |"); + v(| EFA() |, "| |"); + v(| EFA() SBa(|), "| |"); + v(| EFA() SBb(|), "| |"); + v(| EFA() SBc(|), "| |"); + v(| EFA() SBd(|), "| |"); + v(| EFA() SBe(|), "| |"); + v(| EFA() SBf(|), "| |"); + v(| EFB() |, "| |"); + v(| EFB() SBa(|), "| |"); + v(| EFB() SBb(|), "| |"); + v(| EFB() SBc(|), "| |"); + v(| EFB() SBd(|), "| |"); + v(| EFB() SBe(|), "| |"); + v(| EFB() SBf(|), "| |"); + v(| EFC() |, "| |"); + v(| EFC() SBa(|), "| |"); + v(| EFC() SBb(|), "| |"); + v(| EFC() SBc(|), "| |"); + v(| EFC() SBd(|), "| |"); + v(| EFC() SBe(|), "| |"); + v(| EFC() SBf(|), "| |"); +} + +void +check2 (void) +{ + v(SAa(|)|, "| |"); + v(SAa(|)SBa(|), "| |"); + v(SAa(|)SBb(|), "| |"); + v(SAa(|)SBc(|), "| |"); + v(SAa(|)SBd(|), "| |"); + v(SAa(|)SBe(|), "| |"); + v(SAa(|)SBf(|), "| |"); + v(SAa(|) |, "| |"); + v(SAa(|) SBa(|), "| |"); + v(SAa(|) SBb(|), "| |"); + v(SAa(|) SBc(|), "| |"); + v(SAa(|) SBd(|), "| |"); + v(SAa(|) SBe(|), "| |"); + v(SAa(|) SBf(|), "| |"); + v(SAa(|)EOA|, "| |"); + v(SAa(|)EOB|, "| |"); + v(SAa(|)EOC|, "| |"); + v(SAa(|)EFA()|, "| |"); + v(SAa(|)EFA()SBa(|), "| |"); + v(SAa(|)EFA()SBb(|), "| |"); + v(SAa(|)EFA()SBc(|), "| |"); + v(SAa(|)EFA()SBd(|), "| |"); + v(SAa(|)EFA()SBe(|), "| |"); + v(SAa(|)EFA()SBf(|), "| |"); + v(SAa(|)EFB()|, "| |"); + v(SAa(|)EFB()SBa(|), "| |"); + v(SAa(|)EFB()SBb(|), "| |"); + v(SAa(|)EFB()SBc(|), "| |"); + v(SAa(|)EFB()SBd(|), "| |"); + v(SAa(|)EFB()SBe(|), "| |"); + v(SAa(|)EFB()SBf(|), "| |"); + v(SAa(|)EFC()|, "| |"); + v(SAa(|)EFC()SBa(|), "| |"); + v(SAa(|)EFC()SBb(|), "| |"); + v(SAa(|)EFC()SBc(|), "| |"); + v(SAa(|)EFC()SBd(|), "| |"); + v(SAa(|)EFC()SBe(|), "| |"); + v(SAa(|)EFC()SBf(|), "| |"); + v(SAa(|) EOA|, "| |"); + v(SAa(|) EOB|, "| |"); + v(SAa(|) EOC|, "| |"); + v(SAa(|) EFA()|, "| |"); + v(SAa(|) EFA()SBa(|), "| |"); + v(SAa(|) EFA()SBb(|), "| |"); + v(SAa(|) EFA()SBc(|), "| |"); + v(SAa(|) EFA()SBd(|), "| |"); + v(SAa(|) EFA()SBe(|), "| |"); + v(SAa(|) EFA()SBf(|), "| |"); + v(SAa(|) EFB()|, "| |"); + v(SAa(|) EFB()SBa(|), "| |"); + v(SAa(|) EFB()SBb(|), "| |"); + v(SAa(|) EFB()SBc(|), "| |"); + v(SAa(|) EFB()SBd(|), "| |"); + v(SAa(|) EFB()SBe(|), "| |"); + v(SAa(|) EFB()SBf(|), "| |"); + v(SAa(|) EFC()|, "| |"); + v(SAa(|) EFC()SBa(|), "| |"); + v(SAa(|) EFC()SBb(|), "| |"); + v(SAa(|) EFC()SBc(|), "| |"); + v(SAa(|) EFC()SBd(|), "| |"); + v(SAa(|) EFC()SBe(|), "| |"); + v(SAa(|) EFC()SBf(|), "| |"); + v(SAa(|)EOA |, "| |"); + v(SAa(|)EOA SBa(|), "| |"); + v(SAa(|)EOA SBb(|), "| |"); + v(SAa(|)EOA SBc(|), "| |"); + v(SAa(|)EOA SBd(|), "| |"); + v(SAa(|)EOA SBe(|), "| |"); + v(SAa(|)EOA SBf(|), "| |"); + v(SAa(|)EOB |, "| |"); + v(SAa(|)EOB SBa(|), "| |"); + v(SAa(|)EOB SBb(|), "| |"); + v(SAa(|)EOB SBc(|), "| |"); + v(SAa(|)EOB SBd(|), "| |"); + v(SAa(|)EOB SBe(|), "| |"); + v(SAa(|)EOB SBf(|), "| |"); + v(SAa(|)EOC |, "| |"); + v(SAa(|)EOC SBa(|), "| |"); + v(SAa(|)EOC SBb(|), "| |"); + v(SAa(|)EOC SBc(|), "| |"); + v(SAa(|)EOC SBd(|), "| |"); + v(SAa(|)EOC SBe(|), "| |"); + v(SAa(|)EOC SBf(|), "| |"); + v(SAa(|)EFA() |, "| |"); + v(SAa(|)EFA() SBa(|), "| |"); + v(SAa(|)EFA() SBb(|), "| |"); + v(SAa(|)EFA() SBc(|), "| |"); + v(SAa(|)EFA() SBd(|), "| |"); + v(SAa(|)EFA() SBe(|), "| |"); + v(SAa(|)EFA() SBf(|), "| |"); + v(SAa(|)EFB() |, "| |"); + v(SAa(|)EFB() SBa(|), "| |"); + v(SAa(|)EFB() SBb(|), "| |"); + v(SAa(|)EFB() SBc(|), "| |"); + v(SAa(|)EFB() SBd(|), "| |"); + v(SAa(|)EFB() SBe(|), "| |"); + v(SAa(|)EFB() SBf(|), "| |"); + v(SAa(|)EFC() |, "| |"); + v(SAa(|)EFC() SBa(|), "| |"); + v(SAa(|)EFC() SBb(|), "| |"); + v(SAa(|)EFC() SBc(|), "| |"); + v(SAa(|)EFC() SBd(|), "| |"); + v(SAa(|)EFC() SBe(|), "| |"); + v(SAa(|)EFC() SBf(|), "| |"); + v(SAa(|) EOA |, "| |"); + v(SAa(|) EOA SBa(|), "| |"); + v(SAa(|) EOA SBb(|), "| |"); + v(SAa(|) EOA SBc(|), "| |"); + v(SAa(|) EOA SBd(|), "| |"); + v(SAa(|) EOA SBe(|), "| |"); + v(SAa(|) EOA SBf(|), "| |"); + v(SAa(|) EOB |, "| |"); + v(SAa(|) EOB SBa(|), "| |"); + v(SAa(|) EOB SBb(|), "| |"); + v(SAa(|) EOB SBc(|), "| |"); + v(SAa(|) EOB SBd(|), "| |"); + v(SAa(|) EOB SBe(|), "| |"); + v(SAa(|) EOB SBf(|), "| |"); + v(SAa(|) EOC |, "| |"); + v(SAa(|) EOC SBa(|), "| |"); + v(SAa(|) EOC SBb(|), "| |"); + v(SAa(|) EOC SBc(|), "| |"); + v(SAa(|) EOC SBd(|), "| |"); + v(SAa(|) EOC SBe(|), "| |"); + v(SAa(|) EOC SBf(|), "| |"); + v(SAa(|) EFA() |, "| |"); + v(SAa(|) EFA() SBa(|), "| |"); + v(SAa(|) EFA() SBb(|), "| |"); + v(SAa(|) EFA() SBc(|), "| |"); + v(SAa(|) EFA() SBd(|), "| |"); + v(SAa(|) EFA() SBe(|), "| |"); + v(SAa(|) EFA() SBf(|), "| |"); + v(SAa(|) EFB() |, "| |"); + v(SAa(|) EFB() SBa(|), "| |"); + v(SAa(|) EFB() SBb(|), "| |"); + v(SAa(|) EFB() SBc(|), "| |"); + v(SAa(|) EFB() SBd(|), "| |"); + v(SAa(|) EFB() SBe(|), "| |"); + v(SAa(|) EFB() SBf(|), "| |"); + v(SAa(|) EFC() |, "| |"); + v(SAa(|) EFC() SBa(|), "| |"); + v(SAa(|) EFC() SBb(|), "| |"); + v(SAa(|) EFC() SBc(|), "| |"); + v(SAa(|) EFC() SBd(|), "| |"); + v(SAa(|) EFC() SBe(|), "| |"); + v(SAa(|) EFC() SBf(|), "| |"); +} + +void +check3 (void) +{ + v(SAb(|)|, "| |"); + v(SAb(|)SBa(|), "| |"); + v(SAb(|)SBb(|), "| |"); + v(SAb(|)SBc(|), "| |"); + v(SAb(|)SBd(|), "| |"); + v(SAb(|)SBe(|), "| |"); + v(SAb(|)SBf(|), "| |"); + v(SAb(|) |, "| |"); + v(SAb(|) SBa(|), "| |"); + v(SAb(|) SBb(|), "| |"); + v(SAb(|) SBc(|), "| |"); + v(SAb(|) SBd(|), "| |"); + v(SAb(|) SBe(|), "| |"); + v(SAb(|) SBf(|), "| |"); + v(SAb(|)EOA|, "| |"); + v(SAb(|)EOB|, "| |"); + v(SAb(|)EOC|, "| |"); + v(SAb(|)EFA()|, "| |"); + v(SAb(|)EFA()SBa(|), "| |"); + v(SAb(|)EFA()SBb(|), "| |"); + v(SAb(|)EFA()SBc(|), "| |"); + v(SAb(|)EFA()SBd(|), "| |"); + v(SAb(|)EFA()SBe(|), "| |"); + v(SAb(|)EFA()SBf(|), "| |"); + v(SAb(|)EFB()|, "| |"); + v(SAb(|)EFB()SBa(|), "| |"); + v(SAb(|)EFB()SBb(|), "| |"); + v(SAb(|)EFB()SBc(|), "| |"); + v(SAb(|)EFB()SBd(|), "| |"); + v(SAb(|)EFB()SBe(|), "| |"); + v(SAb(|)EFB()SBf(|), "| |"); + v(SAb(|)EFC()|, "| |"); + v(SAb(|)EFC()SBa(|), "| |"); + v(SAb(|)EFC()SBb(|), "| |"); + v(SAb(|)EFC()SBc(|), "| |"); + v(SAb(|)EFC()SBd(|), "| |"); + v(SAb(|)EFC()SBe(|), "| |"); + v(SAb(|)EFC()SBf(|), "| |"); + v(SAb(|) EOA|, "| |"); + v(SAb(|) EOB|, "| |"); + v(SAb(|) EOC|, "| |"); + v(SAb(|) EFA()|, "| |"); + v(SAb(|) EFA()SBa(|), "| |"); + v(SAb(|) EFA()SBb(|), "| |"); + v(SAb(|) EFA()SBc(|), "| |"); + v(SAb(|) EFA()SBd(|), "| |"); + v(SAb(|) EFA()SBe(|), "| |"); + v(SAb(|) EFA()SBf(|), "| |"); + v(SAb(|) EFB()|, "| |"); + v(SAb(|) EFB()SBa(|), "| |"); + v(SAb(|) EFB()SBb(|), "| |"); + v(SAb(|) EFB()SBc(|), "| |"); + v(SAb(|) EFB()SBd(|), "| |"); + v(SAb(|) EFB()SBe(|), "| |"); + v(SAb(|) EFB()SBf(|), "| |"); + v(SAb(|) EFC()|, "| |"); + v(SAb(|) EFC()SBa(|), "| |"); + v(SAb(|) EFC()SBb(|), "| |"); + v(SAb(|) EFC()SBc(|), "| |"); + v(SAb(|) EFC()SBd(|), "| |"); + v(SAb(|) EFC()SBe(|), "| |"); + v(SAb(|) EFC()SBf(|), "| |"); + v(SAb(|)EOA |, "| |"); + v(SAb(|)EOA SBa(|), "| |"); + v(SAb(|)EOA SBb(|), "| |"); + v(SAb(|)EOA SBc(|), "| |"); + v(SAb(|)EOA SBd(|), "| |"); + v(SAb(|)EOA SBe(|), "| |"); + v(SAb(|)EOA SBf(|), "| |"); + v(SAb(|)EOB |, "| |"); + v(SAb(|)EOB SBa(|), "| |"); + v(SAb(|)EOB SBb(|), "| |"); + v(SAb(|)EOB SBc(|), "| |"); + v(SAb(|)EOB SBd(|), "| |"); + v(SAb(|)EOB SBe(|), "| |"); + v(SAb(|)EOB SBf(|), "| |"); + v(SAb(|)EOC |, "| |"); + v(SAb(|)EOC SBa(|), "| |"); + v(SAb(|)EOC SBb(|), "| |"); + v(SAb(|)EOC SBc(|), "| |"); + v(SAb(|)EOC SBd(|), "| |"); + v(SAb(|)EOC SBe(|), "| |"); + v(SAb(|)EOC SBf(|), "| |"); + v(SAb(|)EFA() |, "| |"); + v(SAb(|)EFA() SBa(|), "| |"); + v(SAb(|)EFA() SBb(|), "| |"); + v(SAb(|)EFA() SBc(|), "| |"); + v(SAb(|)EFA() SBd(|), "| |"); + v(SAb(|)EFA() SBe(|), "| |"); + v(SAb(|)EFA() SBf(|), "| |"); + v(SAb(|)EFB() |, "| |"); + v(SAb(|)EFB() SBa(|), "| |"); + v(SAb(|)EFB() SBb(|), "| |"); + v(SAb(|)EFB() SBc(|), "| |"); + v(SAb(|)EFB() SBd(|), "| |"); + v(SAb(|)EFB() SBe(|), "| |"); + v(SAb(|)EFB() SBf(|), "| |"); + v(SAb(|)EFC() |, "| |"); + v(SAb(|)EFC() SBa(|), "| |"); + v(SAb(|)EFC() SBb(|), "| |"); + v(SAb(|)EFC() SBc(|), "| |"); + v(SAb(|)EFC() SBd(|), "| |"); + v(SAb(|)EFC() SBe(|), "| |"); + v(SAb(|)EFC() SBf(|), "| |"); + v(SAb(|) EOA |, "| |"); + v(SAb(|) EOA SBa(|), "| |"); + v(SAb(|) EOA SBb(|), "| |"); + v(SAb(|) EOA SBc(|), "| |"); + v(SAb(|) EOA SBd(|), "| |"); + v(SAb(|) EOA SBe(|), "| |"); + v(SAb(|) EOA SBf(|), "| |"); + v(SAb(|) EOB |, "| |"); + v(SAb(|) EOB SBa(|), "| |"); + v(SAb(|) EOB SBb(|), "| |"); + v(SAb(|) EOB SBc(|), "| |"); + v(SAb(|) EOB SBd(|), "| |"); + v(SAb(|) EOB SBe(|), "| |"); + v(SAb(|) EOB SBf(|), "| |"); + v(SAb(|) EOC |, "| |"); + v(SAb(|) EOC SBa(|), "| |"); + v(SAb(|) EOC SBb(|), "| |"); + v(SAb(|) EOC SBc(|), "| |"); + v(SAb(|) EOC SBd(|), "| |"); + v(SAb(|) EOC SBe(|), "| |"); + v(SAb(|) EOC SBf(|), "| |"); + v(SAb(|) EFA() |, "| |"); + v(SAb(|) EFA() SBa(|), "| |"); + v(SAb(|) EFA() SBb(|), "| |"); + v(SAb(|) EFA() SBc(|), "| |"); + v(SAb(|) EFA() SBd(|), "| |"); + v(SAb(|) EFA() SBe(|), "| |"); + v(SAb(|) EFA() SBf(|), "| |"); + v(SAb(|) EFB() |, "| |"); + v(SAb(|) EFB() SBa(|), "| |"); + v(SAb(|) EFB() SBb(|), "| |"); + v(SAb(|) EFB() SBc(|), "| |"); + v(SAb(|) EFB() SBd(|), "| |"); + v(SAb(|) EFB() SBe(|), "| |"); + v(SAb(|) EFB() SBf(|), "| |"); + v(SAb(|) EFC() |, "| |"); + v(SAb(|) EFC() SBa(|), "| |"); + v(SAb(|) EFC() SBb(|), "| |"); + v(SAb(|) EFC() SBc(|), "| |"); + v(SAb(|) EFC() SBd(|), "| |"); + v(SAb(|) EFC() SBe(|), "| |"); + v(SAb(|) EFC() SBf(|), "| |"); +} + +void +check4 (void) +{ + v(SAc(|)|, "| |"); + v(SAc(|)SBa(|), "| |"); + v(SAc(|)SBb(|), "| |"); + v(SAc(|)SBc(|), "| |"); + v(SAc(|)SBd(|), "| |"); + v(SAc(|)SBe(|), "| |"); + v(SAc(|)SBf(|), "| |"); + v(SAc(|) |, "| |"); + v(SAc(|) SBa(|), "| |"); + v(SAc(|) SBb(|), "| |"); + v(SAc(|) SBc(|), "| |"); + v(SAc(|) SBd(|), "| |"); + v(SAc(|) SBe(|), "| |"); + v(SAc(|) SBf(|), "| |"); + v(SAc(|)EOA|, "| |"); + v(SAc(|)EOB|, "| |"); + v(SAc(|)EOC|, "| |"); + v(SAc(|)EFA()|, "| |"); + v(SAc(|)EFA()SBa(|), "| |"); + v(SAc(|)EFA()SBb(|), "| |"); + v(SAc(|)EFA()SBc(|), "| |"); + v(SAc(|)EFA()SBd(|), "| |"); + v(SAc(|)EFA()SBe(|), "| |"); + v(SAc(|)EFA()SBf(|), "| |"); + v(SAc(|)EFB()|, "| |"); + v(SAc(|)EFB()SBa(|), "| |"); + v(SAc(|)EFB()SBb(|), "| |"); + v(SAc(|)EFB()SBc(|), "| |"); + v(SAc(|)EFB()SBd(|), "| |"); + v(SAc(|)EFB()SBe(|), "| |"); + v(SAc(|)EFB()SBf(|), "| |"); + v(SAc(|)EFC()|, "| |"); + v(SAc(|)EFC()SBa(|), "| |"); + v(SAc(|)EFC()SBb(|), "| |"); + v(SAc(|)EFC()SBc(|), "| |"); + v(SAc(|)EFC()SBd(|), "| |"); + v(SAc(|)EFC()SBe(|), "| |"); + v(SAc(|)EFC()SBf(|), "| |"); + v(SAc(|) EOA|, "| |"); + v(SAc(|) EOB|, "| |"); + v(SAc(|) EOC|, "| |"); + v(SAc(|) EFA()|, "| |"); + v(SAc(|) EFA()SBa(|), "| |"); + v(SAc(|) EFA()SBb(|), "| |"); + v(SAc(|) EFA()SBc(|), "| |"); + v(SAc(|) EFA()SBd(|), "| |"); + v(SAc(|) EFA()SBe(|), "| |"); + v(SAc(|) EFA()SBf(|), "| |"); + v(SAc(|) EFB()|, "| |"); + v(SAc(|) EFB()SBa(|), "| |"); + v(SAc(|) EFB()SBb(|), "| |"); + v(SAc(|) EFB()SBc(|), "| |"); + v(SAc(|) EFB()SBd(|), "| |"); + v(SAc(|) EFB()SBe(|), "| |"); + v(SAc(|) EFB()SBf(|), "| |"); + v(SAc(|) EFC()|, "| |"); + v(SAc(|) EFC()SBa(|), "| |"); + v(SAc(|) EFC()SBb(|), "| |"); + v(SAc(|) EFC()SBc(|), "| |"); + v(SAc(|) EFC()SBd(|), "| |"); + v(SAc(|) EFC()SBe(|), "| |"); + v(SAc(|) EFC()SBf(|), "| |"); + v(SAc(|)EOA |, "| |"); + v(SAc(|)EOA SBa(|), "| |"); + v(SAc(|)EOA SBb(|), "| |"); + v(SAc(|)EOA SBc(|), "| |"); + v(SAc(|)EOA SBd(|), "| |"); + v(SAc(|)EOA SBe(|), "| |"); + v(SAc(|)EOA SBf(|), "| |"); + v(SAc(|)EOB |, "| |"); + v(SAc(|)EOB SBa(|), "| |"); + v(SAc(|)EOB SBb(|), "| |"); + v(SAc(|)EOB SBc(|), "| |"); + v(SAc(|)EOB SBd(|), "| |"); + v(SAc(|)EOB SBe(|), "| |"); + v(SAc(|)EOB SBf(|), "| |"); + v(SAc(|)EOC |, "| |"); + v(SAc(|)EOC SBa(|), "| |"); + v(SAc(|)EOC SBb(|), "| |"); + v(SAc(|)EOC SBc(|), "| |"); + v(SAc(|)EOC SBd(|), "| |"); + v(SAc(|)EOC SBe(|), "| |"); + v(SAc(|)EOC SBf(|), "| |"); + v(SAc(|)EFA() |, "| |"); + v(SAc(|)EFA() SBa(|), "| |"); + v(SAc(|)EFA() SBb(|), "| |"); + v(SAc(|)EFA() SBc(|), "| |"); + v(SAc(|)EFA() SBd(|), "| |"); + v(SAc(|)EFA() SBe(|), "| |"); + v(SAc(|)EFA() SBf(|), "| |"); + v(SAc(|)EFB() |, "| |"); + v(SAc(|)EFB() SBa(|), "| |"); + v(SAc(|)EFB() SBb(|), "| |"); + v(SAc(|)EFB() SBc(|), "| |"); + v(SAc(|)EFB() SBd(|), "| |"); + v(SAc(|)EFB() SBe(|), "| |"); + v(SAc(|)EFB() SBf(|), "| |"); + v(SAc(|)EFC() |, "| |"); + v(SAc(|)EFC() SBa(|), "| |"); + v(SAc(|)EFC() SBb(|), "| |"); + v(SAc(|)EFC() SBc(|), "| |"); + v(SAc(|)EFC() SBd(|), "| |"); + v(SAc(|)EFC() SBe(|), "| |"); + v(SAc(|)EFC() SBf(|), "| |"); + v(SAc(|) EOA |, "| |"); + v(SAc(|) EOA SBa(|), "| |"); + v(SAc(|) EOA SBb(|), "| |"); + v(SAc(|) EOA SBc(|), "| |"); + v(SAc(|) EOA SBd(|), "| |"); + v(SAc(|) EOA SBe(|), "| |"); + v(SAc(|) EOA SBf(|), "| |"); + v(SAc(|) EOB |, "| |"); + v(SAc(|) EOB SBa(|), "| |"); + v(SAc(|) EOB SBb(|), "| |"); + v(SAc(|) EOB SBc(|), "| |"); + v(SAc(|) EOB SBd(|), "| |"); + v(SAc(|) EOB SBe(|), "| |"); + v(SAc(|) EOB SBf(|), "| |"); + v(SAc(|) EOC |, "| |"); + v(SAc(|) EOC SBa(|), "| |"); + v(SAc(|) EOC SBb(|), "| |"); + v(SAc(|) EOC SBc(|), "| |"); + v(SAc(|) EOC SBd(|), "| |"); + v(SAc(|) EOC SBe(|), "| |"); + v(SAc(|) EOC SBf(|), "| |"); + v(SAc(|) EFA() |, "| |"); + v(SAc(|) EFA() SBa(|), "| |"); + v(SAc(|) EFA() SBb(|), "| |"); + v(SAc(|) EFA() SBc(|), "| |"); + v(SAc(|) EFA() SBd(|), "| |"); + v(SAc(|) EFA() SBe(|), "| |"); + v(SAc(|) EFA() SBf(|), "| |"); + v(SAc(|) EFB() |, "| |"); + v(SAc(|) EFB() SBa(|), "| |"); + v(SAc(|) EFB() SBb(|), "| |"); + v(SAc(|) EFB() SBc(|), "| |"); + v(SAc(|) EFB() SBd(|), "| |"); + v(SAc(|) EFB() SBe(|), "| |"); + v(SAc(|) EFB() SBf(|), "| |"); + v(SAc(|) EFC() |, "| |"); + v(SAc(|) EFC() SBa(|), "| |"); + v(SAc(|) EFC() SBb(|), "| |"); + v(SAc(|) EFC() SBc(|), "| |"); + v(SAc(|) EFC() SBd(|), "| |"); + v(SAc(|) EFC() SBe(|), "| |"); + v(SAc(|) EFC() SBf(|), "| |"); + v(SAc(|)|, "| |"); + v(SAc(|)SBa(|), "| |"); + v(SAc(|)SBb(|), "| |"); + v(SAc(|)SBc(|), "| |"); + v(SAc(|)SBd(|), "| |"); + v(SAc(|)SBe(|), "| |"); + v(SAc(|)SBf(|), "| |"); + v(SAc(|) |, "| |"); + v(SAc(|) SBa(|), "| |"); + v(SAc(|) SBb(|), "| |"); + v(SAc(|) SBc(|), "| |"); + v(SAc(|) SBd(|), "| |"); + v(SAc(|) SBe(|), "| |"); + v(SAc(|) SBf(|), "| |"); + v(SAc(|)EOA|, "| |"); + v(SAc(|)EOB|, "| |"); + v(SAc(|)EOC|, "| |"); + v(SAc(|)EFA()|, "| |"); + v(SAc(|)EFA()SBa(|), "| |"); + v(SAc(|)EFA()SBb(|), "| |"); + v(SAc(|)EFA()SBc(|), "| |"); + v(SAc(|)EFA()SBd(|), "| |"); + v(SAc(|)EFA()SBe(|), "| |"); + v(SAc(|)EFA()SBf(|), "| |"); + v(SAc(|)EFB()|, "| |"); + v(SAc(|)EFB()SBa(|), "| |"); + v(SAc(|)EFB()SBb(|), "| |"); + v(SAc(|)EFB()SBc(|), "| |"); + v(SAc(|)EFB()SBd(|), "| |"); + v(SAc(|)EFB()SBe(|), "| |"); + v(SAc(|)EFB()SBf(|), "| |"); + v(SAc(|)EFC()|, "| |"); + v(SAc(|)EFC()SBa(|), "| |"); + v(SAc(|)EFC()SBb(|), "| |"); + v(SAc(|)EFC()SBc(|), "| |"); + v(SAc(|)EFC()SBd(|), "| |"); + v(SAc(|)EFC()SBe(|), "| |"); + v(SAc(|)EFC()SBf(|), "| |"); + v(SAc(|) EOA|, "| |"); + v(SAc(|) EOB|, "| |"); + v(SAc(|) EOC|, "| |"); + v(SAc(|) EFA()|, "| |"); + v(SAc(|) EFA()SBa(|), "| |"); + v(SAc(|) EFA()SBb(|), "| |"); + v(SAc(|) EFA()SBc(|), "| |"); + v(SAc(|) EFA()SBd(|), "| |"); + v(SAc(|) EFA()SBe(|), "| |"); + v(SAc(|) EFA()SBf(|), "| |"); + v(SAc(|) EFB()|, "| |"); + v(SAc(|) EFB()SBa(|), "| |"); + v(SAc(|) EFB()SBb(|), "| |"); + v(SAc(|) EFB()SBc(|), "| |"); + v(SAc(|) EFB()SBd(|), "| |"); + v(SAc(|) EFB()SBe(|), "| |"); + v(SAc(|) EFB()SBf(|), "| |"); + v(SAc(|) EFC()|, "| |"); + v(SAc(|) EFC()SBa(|), "| |"); + v(SAc(|) EFC()SBb(|), "| |"); + v(SAc(|) EFC()SBc(|), "| |"); + v(SAc(|) EFC()SBd(|), "| |"); + v(SAc(|) EFC()SBe(|), "| |"); + v(SAc(|) EFC()SBf(|), "| |"); + v(SAc(|)EOA |, "| |"); + v(SAc(|)EOA SBa(|), "| |"); + v(SAc(|)EOA SBb(|), "| |"); + v(SAc(|)EOA SBc(|), "| |"); + v(SAc(|)EOA SBd(|), "| |"); + v(SAc(|)EOA SBe(|), "| |"); + v(SAc(|)EOA SBf(|), "| |"); + v(SAc(|)EOB |, "| |"); + v(SAc(|)EOB SBa(|), "| |"); + v(SAc(|)EOB SBb(|), "| |"); + v(SAc(|)EOB SBc(|), "| |"); + v(SAc(|)EOB SBd(|), "| |"); + v(SAc(|)EOB SBe(|), "| |"); + v(SAc(|)EOB SBf(|), "| |"); + v(SAc(|)EOC |, "| |"); + v(SAc(|)EOC SBa(|), "| |"); + v(SAc(|)EOC SBb(|), "| |"); + v(SAc(|)EOC SBc(|), "| |"); + v(SAc(|)EOC SBd(|), "| |"); + v(SAc(|)EOC SBe(|), "| |"); + v(SAc(|)EOC SBf(|), "| |"); + v(SAc(|)EFA() |, "| |"); + v(SAc(|)EFA() SBa(|), "| |"); + v(SAc(|)EFA() SBb(|), "| |"); + v(SAc(|)EFA() SBc(|), "| |"); + v(SAc(|)EFA() SBd(|), "| |"); + v(SAc(|)EFA() SBe(|), "| |"); + v(SAc(|)EFA() SBf(|), "| |"); + v(SAc(|)EFB() |, "| |"); + v(SAc(|)EFB() SBa(|), "| |"); + v(SAc(|)EFB() SBb(|), "| |"); + v(SAc(|)EFB() SBc(|), "| |"); + v(SAc(|)EFB() SBd(|), "| |"); + v(SAc(|)EFB() SBe(|), "| |"); + v(SAc(|)EFB() SBf(|), "| |"); + v(SAc(|)EFC() |, "| |"); + v(SAc(|)EFC() SBa(|), "| |"); + v(SAc(|)EFC() SBb(|), "| |"); + v(SAc(|)EFC() SBc(|), "| |"); + v(SAc(|)EFC() SBd(|), "| |"); + v(SAc(|)EFC() SBe(|), "| |"); + v(SAc(|)EFC() SBf(|), "| |"); + v(SAc(|) EOA |, "| |"); + v(SAc(|) EOA SBa(|), "| |"); + v(SAc(|) EOA SBb(|), "| |"); + v(SAc(|) EOA SBc(|), "| |"); + v(SAc(|) EOA SBd(|), "| |"); + v(SAc(|) EOA SBe(|), "| |"); + v(SAc(|) EOA SBf(|), "| |"); + v(SAc(|) EOB |, "| |"); + v(SAc(|) EOB SBa(|), "| |"); + v(SAc(|) EOB SBb(|), "| |"); + v(SAc(|) EOB SBc(|), "| |"); + v(SAc(|) EOB SBd(|), "| |"); + v(SAc(|) EOB SBe(|), "| |"); + v(SAc(|) EOB SBf(|), "| |"); + v(SAc(|) EOC |, "| |"); + v(SAc(|) EOC SBa(|), "| |"); + v(SAc(|) EOC SBb(|), "| |"); + v(SAc(|) EOC SBc(|), "| |"); + v(SAc(|) EOC SBd(|), "| |"); + v(SAc(|) EOC SBe(|), "| |"); + v(SAc(|) EOC SBf(|), "| |"); + v(SAc(|) EFA() |, "| |"); + v(SAc(|) EFA() SBa(|), "| |"); + v(SAc(|) EFA() SBb(|), "| |"); + v(SAc(|) EFA() SBc(|), "| |"); + v(SAc(|) EFA() SBd(|), "| |"); + v(SAc(|) EFA() SBe(|), "| |"); + v(SAc(|) EFA() SBf(|), "| |"); + v(SAc(|) EFB() |, "| |"); + v(SAc(|) EFB() SBa(|), "| |"); + v(SAc(|) EFB() SBb(|), "| |"); + v(SAc(|) EFB() SBc(|), "| |"); + v(SAc(|) EFB() SBd(|), "| |"); + v(SAc(|) EFB() SBe(|), "| |"); + v(SAc(|) EFB() SBf(|), "| |"); + v(SAc(|) EFC() |, "| |"); + v(SAc(|) EFC() SBa(|), "| |"); + v(SAc(|) EFC() SBb(|), "| |"); + v(SAc(|) EFC() SBc(|), "| |"); + v(SAc(|) EFC() SBd(|), "| |"); + v(SAc(|) EFC() SBe(|), "| |"); + v(SAc(|) EFC() SBf(|), "| |"); +} + +void +check5 (void) +{ + v(SAd(|)|, "| |"); + v(SAd(|)SBa(|), "| |"); + v(SAd(|)SBb(|), "| |"); + v(SAd(|)SBc(|), "| |"); + v(SAd(|)SBd(|), "| |"); + v(SAd(|)SBe(|), "| |"); + v(SAd(|)SBf(|), "| |"); + v(SAd(|) |, "| |"); + v(SAd(|) SBa(|), "| |"); + v(SAd(|) SBb(|), "| |"); + v(SAd(|) SBc(|), "| |"); + v(SAd(|) SBd(|), "| |"); + v(SAd(|) SBe(|), "| |"); + v(SAd(|) SBf(|), "| |"); + v(SAd(|)EOA|, "| |"); + v(SAd(|)EOB|, "| |"); + v(SAd(|)EOC|, "| |"); + v(SAd(|)EFA()|, "| |"); + v(SAd(|)EFA()SBa(|), "| |"); + v(SAd(|)EFA()SBb(|), "| |"); + v(SAd(|)EFA()SBc(|), "| |"); + v(SAd(|)EFA()SBd(|), "| |"); + v(SAd(|)EFA()SBe(|), "| |"); + v(SAd(|)EFA()SBf(|), "| |"); + v(SAd(|)EFB()|, "| |"); + v(SAd(|)EFB()SBa(|), "| |"); + v(SAd(|)EFB()SBb(|), "| |"); + v(SAd(|)EFB()SBc(|), "| |"); + v(SAd(|)EFB()SBd(|), "| |"); + v(SAd(|)EFB()SBe(|), "| |"); + v(SAd(|)EFB()SBf(|), "| |"); + v(SAd(|)EFC()|, "| |"); + v(SAd(|)EFC()SBa(|), "| |"); + v(SAd(|)EFC()SBb(|), "| |"); + v(SAd(|)EFC()SBc(|), "| |"); + v(SAd(|)EFC()SBd(|), "| |"); + v(SAd(|)EFC()SBe(|), "| |"); + v(SAd(|)EFC()SBf(|), "| |"); + v(SAd(|) EOA|, "| |"); + v(SAd(|) EOB|, "| |"); + v(SAd(|) EOC|, "| |"); + v(SAd(|) EFA()|, "| |"); + v(SAd(|) EFA()SBa(|), "| |"); + v(SAd(|) EFA()SBb(|), "| |"); + v(SAd(|) EFA()SBc(|), "| |"); + v(SAd(|) EFA()SBd(|), "| |"); + v(SAd(|) EFA()SBe(|), "| |"); + v(SAd(|) EFA()SBf(|), "| |"); + v(SAd(|) EFB()|, "| |"); + v(SAd(|) EFB()SBa(|), "| |"); + v(SAd(|) EFB()SBb(|), "| |"); + v(SAd(|) EFB()SBc(|), "| |"); + v(SAd(|) EFB()SBd(|), "| |"); + v(SAd(|) EFB()SBe(|), "| |"); + v(SAd(|) EFB()SBf(|), "| |"); + v(SAd(|) EFC()|, "| |"); + v(SAd(|) EFC()SBa(|), "| |"); + v(SAd(|) EFC()SBb(|), "| |"); + v(SAd(|) EFC()SBc(|), "| |"); + v(SAd(|) EFC()SBd(|), "| |"); + v(SAd(|) EFC()SBe(|), "| |"); + v(SAd(|) EFC()SBf(|), "| |"); + v(SAd(|)EOA |, "| |"); + v(SAd(|)EOA SBa(|), "| |"); + v(SAd(|)EOA SBb(|), "| |"); + v(SAd(|)EOA SBc(|), "| |"); + v(SAd(|)EOA SBd(|), "| |"); + v(SAd(|)EOA SBe(|), "| |"); + v(SAd(|)EOA SBf(|), "| |"); + v(SAd(|)EOB |, "| |"); + v(SAd(|)EOB SBa(|), "| |"); + v(SAd(|)EOB SBb(|), "| |"); + v(SAd(|)EOB SBc(|), "| |"); + v(SAd(|)EOB SBd(|), "| |"); + v(SAd(|)EOB SBe(|), "| |"); + v(SAd(|)EOB SBf(|), "| |"); + v(SAd(|)EOC |, "| |"); + v(SAd(|)EOC SBa(|), "| |"); + v(SAd(|)EOC SBb(|), "| |"); + v(SAd(|)EOC SBc(|), "| |"); + v(SAd(|)EOC SBd(|), "| |"); + v(SAd(|)EOC SBe(|), "| |"); + v(SAd(|)EOC SBf(|), "| |"); + v(SAd(|)EFA() |, "| |"); + v(SAd(|)EFA() SBa(|), "| |"); + v(SAd(|)EFA() SBb(|), "| |"); + v(SAd(|)EFA() SBc(|), "| |"); + v(SAd(|)EFA() SBd(|), "| |"); + v(SAd(|)EFA() SBe(|), "| |"); + v(SAd(|)EFA() SBf(|), "| |"); + v(SAd(|)EFB() |, "| |"); + v(SAd(|)EFB() SBa(|), "| |"); + v(SAd(|)EFB() SBb(|), "| |"); + v(SAd(|)EFB() SBc(|), "| |"); + v(SAd(|)EFB() SBd(|), "| |"); + v(SAd(|)EFB() SBe(|), "| |"); + v(SAd(|)EFB() SBf(|), "| |"); + v(SAd(|)EFC() |, "| |"); + v(SAd(|)EFC() SBa(|), "| |"); + v(SAd(|)EFC() SBb(|), "| |"); + v(SAd(|)EFC() SBc(|), "| |"); + v(SAd(|)EFC() SBd(|), "| |"); + v(SAd(|)EFC() SBe(|), "| |"); + v(SAd(|)EFC() SBf(|), "| |"); + v(SAd(|) EOA |, "| |"); + v(SAd(|) EOA SBa(|), "| |"); + v(SAd(|) EOA SBb(|), "| |"); + v(SAd(|) EOA SBc(|), "| |"); + v(SAd(|) EOA SBd(|), "| |"); + v(SAd(|) EOA SBe(|), "| |"); + v(SAd(|) EOA SBf(|), "| |"); + v(SAd(|) EOB |, "| |"); + v(SAd(|) EOB SBa(|), "| |"); + v(SAd(|) EOB SBb(|), "| |"); + v(SAd(|) EOB SBc(|), "| |"); + v(SAd(|) EOB SBd(|), "| |"); + v(SAd(|) EOB SBe(|), "| |"); + v(SAd(|) EOB SBf(|), "| |"); + v(SAd(|) EOC |, "| |"); + v(SAd(|) EOC SBa(|), "| |"); + v(SAd(|) EOC SBb(|), "| |"); + v(SAd(|) EOC SBc(|), "| |"); + v(SAd(|) EOC SBd(|), "| |"); + v(SAd(|) EOC SBe(|), "| |"); + v(SAd(|) EOC SBf(|), "| |"); + v(SAd(|) EFA() |, "| |"); + v(SAd(|) EFA() SBa(|), "| |"); + v(SAd(|) EFA() SBb(|), "| |"); + v(SAd(|) EFA() SBc(|), "| |"); + v(SAd(|) EFA() SBd(|), "| |"); + v(SAd(|) EFA() SBe(|), "| |"); + v(SAd(|) EFA() SBf(|), "| |"); + v(SAd(|) EFB() |, "| |"); + v(SAd(|) EFB() SBa(|), "| |"); + v(SAd(|) EFB() SBb(|), "| |"); + v(SAd(|) EFB() SBc(|), "| |"); + v(SAd(|) EFB() SBd(|), "| |"); + v(SAd(|) EFB() SBe(|), "| |"); + v(SAd(|) EFB() SBf(|), "| |"); + v(SAd(|) EFC() |, "| |"); + v(SAd(|) EFC() SBa(|), "| |"); + v(SAd(|) EFC() SBb(|), "| |"); + v(SAd(|) EFC() SBc(|), "| |"); + v(SAd(|) EFC() SBd(|), "| |"); + v(SAd(|) EFC() SBe(|), "| |"); + v(SAd(|) EFC() SBf(|), "| |"); +} + +void +check6 (void) +{ + v(SAe(|)|, "| |"); + v(SAe(|)SBa(|), "| |"); + v(SAe(|)SBb(|), "| |"); + v(SAe(|)SBc(|), "| |"); + v(SAe(|)SBd(|), "| |"); + v(SAe(|)SBe(|), "| |"); + v(SAe(|)SBf(|), "| |"); + v(SAe(|) |, "| |"); + v(SAe(|) SBa(|), "| |"); + v(SAe(|) SBb(|), "| |"); + v(SAe(|) SBc(|), "| |"); + v(SAe(|) SBd(|), "| |"); + v(SAe(|) SBe(|), "| |"); + v(SAe(|) SBf(|), "| |"); + v(SAe(|)EOA|, "| |"); + v(SAe(|)EOB|, "| |"); + v(SAe(|)EOC|, "| |"); + v(SAe(|)EFA()|, "| |"); + v(SAe(|)EFA()SBa(|), "| |"); + v(SAe(|)EFA()SBb(|), "| |"); + v(SAe(|)EFA()SBc(|), "| |"); + v(SAe(|)EFA()SBd(|), "| |"); + v(SAe(|)EFA()SBe(|), "| |"); + v(SAe(|)EFA()SBf(|), "| |"); + v(SAe(|)EFB()|, "| |"); + v(SAe(|)EFB()SBa(|), "| |"); + v(SAe(|)EFB()SBb(|), "| |"); + v(SAe(|)EFB()SBc(|), "| |"); + v(SAe(|)EFB()SBd(|), "| |"); + v(SAe(|)EFB()SBe(|), "| |"); + v(SAe(|)EFB()SBf(|), "| |"); + v(SAe(|)EFC()|, "| |"); + v(SAe(|)EFC()SBa(|), "| |"); + v(SAe(|)EFC()SBb(|), "| |"); + v(SAe(|)EFC()SBc(|), "| |"); + v(SAe(|)EFC()SBd(|), "| |"); + v(SAe(|)EFC()SBe(|), "| |"); + v(SAe(|)EFC()SBf(|), "| |"); + v(SAe(|) EOA|, "| |"); + v(SAe(|) EOB|, "| |"); + v(SAe(|) EOC|, "| |"); + v(SAe(|) EFA()|, "| |"); + v(SAe(|) EFA()SBa(|), "| |"); + v(SAe(|) EFA()SBb(|), "| |"); + v(SAe(|) EFA()SBc(|), "| |"); + v(SAe(|) EFA()SBd(|), "| |"); + v(SAe(|) EFA()SBe(|), "| |"); + v(SAe(|) EFA()SBf(|), "| |"); + v(SAe(|) EFB()|, "| |"); + v(SAe(|) EFB()SBa(|), "| |"); + v(SAe(|) EFB()SBb(|), "| |"); + v(SAe(|) EFB()SBc(|), "| |"); + v(SAe(|) EFB()SBd(|), "| |"); + v(SAe(|) EFB()SBe(|), "| |"); + v(SAe(|) EFB()SBf(|), "| |"); + v(SAe(|) EFC()|, "| |"); + v(SAe(|) EFC()SBa(|), "| |"); + v(SAe(|) EFC()SBb(|), "| |"); + v(SAe(|) EFC()SBc(|), "| |"); + v(SAe(|) EFC()SBd(|), "| |"); + v(SAe(|) EFC()SBe(|), "| |"); + v(SAe(|) EFC()SBf(|), "| |"); + v(SAe(|)EOA |, "| |"); + v(SAe(|)EOA SBa(|), "| |"); + v(SAe(|)EOA SBb(|), "| |"); + v(SAe(|)EOA SBc(|), "| |"); + v(SAe(|)EOA SBd(|), "| |"); + v(SAe(|)EOA SBe(|), "| |"); + v(SAe(|)EOA SBf(|), "| |"); + v(SAe(|)EOB |, "| |"); + v(SAe(|)EOB SBa(|), "| |"); + v(SAe(|)EOB SBb(|), "| |"); + v(SAe(|)EOB SBc(|), "| |"); + v(SAe(|)EOB SBd(|), "| |"); + v(SAe(|)EOB SBe(|), "| |"); + v(SAe(|)EOB SBf(|), "| |"); + v(SAe(|)EOC |, "| |"); + v(SAe(|)EOC SBa(|), "| |"); + v(SAe(|)EOC SBb(|), "| |"); + v(SAe(|)EOC SBc(|), "| |"); + v(SAe(|)EOC SBd(|), "| |"); + v(SAe(|)EOC SBe(|), "| |"); + v(SAe(|)EOC SBf(|), "| |"); + v(SAe(|)EFA() |, "| |"); + v(SAe(|)EFA() SBa(|), "| |"); + v(SAe(|)EFA() SBb(|), "| |"); + v(SAe(|)EFA() SBc(|), "| |"); + v(SAe(|)EFA() SBd(|), "| |"); + v(SAe(|)EFA() SBe(|), "| |"); + v(SAe(|)EFA() SBf(|), "| |"); + v(SAe(|)EFB() |, "| |"); + v(SAe(|)EFB() SBa(|), "| |"); + v(SAe(|)EFB() SBb(|), "| |"); + v(SAe(|)EFB() SBc(|), "| |"); + v(SAe(|)EFB() SBd(|), "| |"); + v(SAe(|)EFB() SBe(|), "| |"); + v(SAe(|)EFB() SBf(|), "| |"); + v(SAe(|)EFC() |, "| |"); + v(SAe(|)EFC() SBa(|), "| |"); + v(SAe(|)EFC() SBb(|), "| |"); + v(SAe(|)EFC() SBc(|), "| |"); + v(SAe(|)EFC() SBd(|), "| |"); + v(SAe(|)EFC() SBe(|), "| |"); + v(SAe(|)EFC() SBf(|), "| |"); + v(SAe(|) EOA |, "| |"); + v(SAe(|) EOA SBa(|), "| |"); + v(SAe(|) EOA SBb(|), "| |"); + v(SAe(|) EOA SBc(|), "| |"); + v(SAe(|) EOA SBd(|), "| |"); + v(SAe(|) EOA SBe(|), "| |"); + v(SAe(|) EOA SBf(|), "| |"); + v(SAe(|) EOB |, "| |"); + v(SAe(|) EOB SBa(|), "| |"); + v(SAe(|) EOB SBb(|), "| |"); + v(SAe(|) EOB SBc(|), "| |"); + v(SAe(|) EOB SBd(|), "| |"); + v(SAe(|) EOB SBe(|), "| |"); + v(SAe(|) EOB SBf(|), "| |"); + v(SAe(|) EOC |, "| |"); + v(SAe(|) EOC SBa(|), "| |"); + v(SAe(|) EOC SBb(|), "| |"); + v(SAe(|) EOC SBc(|), "| |"); + v(SAe(|) EOC SBd(|), "| |"); + v(SAe(|) EOC SBe(|), "| |"); + v(SAe(|) EOC SBf(|), "| |"); + v(SAe(|) EFA() |, "| |"); + v(SAe(|) EFA() SBa(|), "| |"); + v(SAe(|) EFA() SBb(|), "| |"); + v(SAe(|) EFA() SBc(|), "| |"); + v(SAe(|) EFA() SBd(|), "| |"); + v(SAe(|) EFA() SBe(|), "| |"); + v(SAe(|) EFA() SBf(|), "| |"); + v(SAe(|) EFB() |, "| |"); + v(SAe(|) EFB() SBa(|), "| |"); + v(SAe(|) EFB() SBb(|), "| |"); + v(SAe(|) EFB() SBc(|), "| |"); + v(SAe(|) EFB() SBd(|), "| |"); + v(SAe(|) EFB() SBe(|), "| |"); + v(SAe(|) EFB() SBf(|), "| |"); + v(SAe(|) EFC() |, "| |"); + v(SAe(|) EFC() SBa(|), "| |"); + v(SAe(|) EFC() SBb(|), "| |"); + v(SAe(|) EFC() SBc(|), "| |"); + v(SAe(|) EFC() SBd(|), "| |"); + v(SAe(|) EFC() SBe(|), "| |"); + v(SAe(|) EFC() SBf(|), "| |"); +} + +void +check7 (void) +{ + v(SAf(|)|, "| |"); + v(SAf(|)SBa(|), "| |"); + v(SAf(|)SBb(|), "| |"); + v(SAf(|)SBc(|), "| |"); + v(SAf(|)SBd(|), "| |"); + v(SAf(|)SBe(|), "| |"); + v(SAf(|)SBf(|), "| |"); + v(SAf(|) |, "| |"); + v(SAf(|) SBa(|), "| |"); + v(SAf(|) SBb(|), "| |"); + v(SAf(|) SBc(|), "| |"); + v(SAf(|) SBd(|), "| |"); + v(SAf(|) SBe(|), "| |"); + v(SAf(|) SBf(|), "| |"); + v(SAf(|)EOA|, "| |"); + v(SAf(|)EOB|, "| |"); + v(SAf(|)EOC|, "| |"); + v(SAf(|)EFA()|, "| |"); + v(SAf(|)EFA()SBa(|), "| |"); + v(SAf(|)EFA()SBb(|), "| |"); + v(SAf(|)EFA()SBc(|), "| |"); + v(SAf(|)EFA()SBd(|), "| |"); + v(SAf(|)EFA()SBe(|), "| |"); + v(SAf(|)EFA()SBf(|), "| |"); + v(SAf(|)EFB()|, "| |"); + v(SAf(|)EFB()SBa(|), "| |"); + v(SAf(|)EFB()SBb(|), "| |"); + v(SAf(|)EFB()SBc(|), "| |"); + v(SAf(|)EFB()SBd(|), "| |"); + v(SAf(|)EFB()SBe(|), "| |"); + v(SAf(|)EFB()SBf(|), "| |"); + v(SAf(|)EFC()|, "| |"); + v(SAf(|)EFC()SBa(|), "| |"); + v(SAf(|)EFC()SBb(|), "| |"); + v(SAf(|)EFC()SBc(|), "| |"); + v(SAf(|)EFC()SBd(|), "| |"); + v(SAf(|)EFC()SBe(|), "| |"); + v(SAf(|)EFC()SBf(|), "| |"); + v(SAf(|) EOA|, "| |"); + v(SAf(|) EOB|, "| |"); + v(SAf(|) EOC|, "| |"); + v(SAf(|) EFA()|, "| |"); + v(SAf(|) EFA()SBa(|), "| |"); + v(SAf(|) EFA()SBb(|), "| |"); + v(SAf(|) EFA()SBc(|), "| |"); + v(SAf(|) EFA()SBd(|), "| |"); + v(SAf(|) EFA()SBe(|), "| |"); + v(SAf(|) EFA()SBf(|), "| |"); + v(SAf(|) EFB()|, "| |"); + v(SAf(|) EFB()SBa(|), "| |"); + v(SAf(|) EFB()SBb(|), "| |"); + v(SAf(|) EFB()SBc(|), "| |"); + v(SAf(|) EFB()SBd(|), "| |"); + v(SAf(|) EFB()SBe(|), "| |"); + v(SAf(|) EFB()SBf(|), "| |"); + v(SAf(|) EFC()|, "| |"); + v(SAf(|) EFC()SBa(|), "| |"); + v(SAf(|) EFC()SBb(|), "| |"); + v(SAf(|) EFC()SBc(|), "| |"); + v(SAf(|) EFC()SBd(|), "| |"); + v(SAf(|) EFC()SBe(|), "| |"); + v(SAf(|) EFC()SBf(|), "| |"); + v(SAf(|)EOA |, "| |"); + v(SAf(|)EOA SBa(|), "| |"); + v(SAf(|)EOA SBb(|), "| |"); + v(SAf(|)EOA SBc(|), "| |"); + v(SAf(|)EOA SBd(|), "| |"); + v(SAf(|)EOA SBe(|), "| |"); + v(SAf(|)EOA SBf(|), "| |"); + v(SAf(|)EOB |, "| |"); + v(SAf(|)EOB SBa(|), "| |"); + v(SAf(|)EOB SBb(|), "| |"); + v(SAf(|)EOB SBc(|), "| |"); + v(SAf(|)EOB SBd(|), "| |"); + v(SAf(|)EOB SBe(|), "| |"); + v(SAf(|)EOB SBf(|), "| |"); + v(SAf(|)EOC |, "| |"); + v(SAf(|)EOC SBa(|), "| |"); + v(SAf(|)EOC SBb(|), "| |"); + v(SAf(|)EOC SBc(|), "| |"); + v(SAf(|)EOC SBd(|), "| |"); + v(SAf(|)EOC SBe(|), "| |"); + v(SAf(|)EOC SBf(|), "| |"); + v(SAf(|)EFA() |, "| |"); + v(SAf(|)EFA() SBa(|), "| |"); + v(SAf(|)EFA() SBb(|), "| |"); + v(SAf(|)EFA() SBc(|), "| |"); + v(SAf(|)EFA() SBd(|), "| |"); + v(SAf(|)EFA() SBe(|), "| |"); + v(SAf(|)EFA() SBf(|), "| |"); + v(SAf(|)EFB() |, "| |"); + v(SAf(|)EFB() SBa(|), "| |"); + v(SAf(|)EFB() SBb(|), "| |"); + v(SAf(|)EFB() SBc(|), "| |"); + v(SAf(|)EFB() SBd(|), "| |"); + v(SAf(|)EFB() SBe(|), "| |"); + v(SAf(|)EFB() SBf(|), "| |"); + v(SAf(|)EFC() |, "| |"); + v(SAf(|)EFC() SBa(|), "| |"); + v(SAf(|)EFC() SBb(|), "| |"); + v(SAf(|)EFC() SBc(|), "| |"); + v(SAf(|)EFC() SBd(|), "| |"); + v(SAf(|)EFC() SBe(|), "| |"); + v(SAf(|)EFC() SBf(|), "| |"); + v(SAf(|) EOA |, "| |"); + v(SAf(|) EOA SBa(|), "| |"); + v(SAf(|) EOA SBb(|), "| |"); + v(SAf(|) EOA SBc(|), "| |"); + v(SAf(|) EOA SBd(|), "| |"); + v(SAf(|) EOA SBe(|), "| |"); + v(SAf(|) EOA SBf(|), "| |"); + v(SAf(|) EOB |, "| |"); + v(SAf(|) EOB SBa(|), "| |"); + v(SAf(|) EOB SBb(|), "| |"); + v(SAf(|) EOB SBc(|), "| |"); + v(SAf(|) EOB SBd(|), "| |"); + v(SAf(|) EOB SBe(|), "| |"); + v(SAf(|) EOB SBf(|), "| |"); + v(SAf(|) EOC |, "| |"); + v(SAf(|) EOC SBa(|), "| |"); + v(SAf(|) EOC SBb(|), "| |"); + v(SAf(|) EOC SBc(|), "| |"); + v(SAf(|) EOC SBd(|), "| |"); + v(SAf(|) EOC SBe(|), "| |"); + v(SAf(|) EOC SBf(|), "| |"); + v(SAf(|) EFA() |, "| |"); + v(SAf(|) EFA() SBa(|), "| |"); + v(SAf(|) EFA() SBb(|), "| |"); + v(SAf(|) EFA() SBc(|), "| |"); + v(SAf(|) EFA() SBd(|), "| |"); + v(SAf(|) EFA() SBe(|), "| |"); + v(SAf(|) EFA() SBf(|), "| |"); + v(SAf(|) EFB() |, "| |"); + v(SAf(|) EFB() SBa(|), "| |"); + v(SAf(|) EFB() SBb(|), "| |"); + v(SAf(|) EFB() SBc(|), "| |"); + v(SAf(|) EFB() SBd(|), "| |"); + v(SAf(|) EFB() SBe(|), "| |"); + v(SAf(|) EFB() SBf(|), "| |"); + v(SAf(|) EFC() |, "| |"); + v(SAf(|) EFC() SBa(|), "| |"); + v(SAf(|) EFC() SBb(|), "| |"); + v(SAf(|) EFC() SBc(|), "| |"); + v(SAf(|) EFC() SBd(|), "| |"); + v(SAf(|) EFC() SBe(|), "| |"); + v(SAf(|) EFC() SBf(|), "| |"); +} + +int +main (void) +{ + check0 (); + check1 (); + check2 (); + check3 (); + check4 (); + check5 (); + check6 (); + check7 (); + exit (0); +} diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index 1a6dc55e0df..d1383af1780 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,10 @@ +2009-04-12 Joseph Myers <joseph@codesourcery.com> + + PR preprocessor/31869 + * macro.c (stringify_arg): Handle NULL source token in padding + token where previous padding token did not have source token with + preceding whitespace. + 2009-04-09 Jakub Jelinek <jakub@redhat.com> * Makefile.in: Change copyright header to refer to version diff --git a/libcpp/macro.c b/libcpp/macro.c index b6a766696a8..75c1c55e022 100644 --- a/libcpp/macro.c +++ b/libcpp/macro.c @@ -369,7 +369,9 @@ stringify_arg (cpp_reader *pfile, macro_arg *arg) if (token->type == CPP_PADDING) { - if (source == NULL) + if (source == NULL + || (!(source->flags & PREV_WHITE) + && token->val.source == NULL)) source = token->val.source; continue; } |