/*
const int i = 1 ;
#if i != 1
# error i != 1
#endif
  returns error i != 1 as expected
*/


#define CAT0(x,y) x##y
#define CAT1(a,b) CAT0(a,b)

/*
#define A a
#define B b
#define AB ba

CAT0(A,B)
CAT1(A,B)

#undef CAT0
#undef CAT1

CAT0(a,b)
CAT1(a,b)
*/




/*** test stack.mh ***/

#define GS_NAME(x) CAT0(zap,x)
#define GS_STD_PARAMS int i,int j
#include "stack.mh"

GS_DECLARE(main,int,int x,int y)

#define F(x,y...) x=zapmain (y)

/*int main (int argc, char**argv)*/
{
  int F( a,a,a,a,a ) ;
}
