Blame test-t/e_18_4.t

Packit Service 8bf002
/* e_18_4.t:    #define syntax errors.  */
Packit Service 8bf002
Packit Service 8bf002
/* 18.4:    Not an identifier.  */
Packit Service 8bf002
#define "string"
Packit Service 8bf002
#define 123
Packit Service 8bf002
Packit Service 8bf002
/* 18.5:    No argument.    */
Packit Service 8bf002
#define
Packit Service 8bf002
Packit Service 8bf002
/* 18.6:    Empty parameter list.   */
Packit Service 8bf002
#define math( op, a, )      op( (a), (b))
Packit Service 8bf002
Packit Service 8bf002
/* 18.7:    Duplicate parameter names.  */
Packit Service 8bf002
#define math( op, a, a)     op( (a), (b))
Packit Service 8bf002
Packit Service 8bf002
/* 18.8:    Argument is not an identifier.  */
Packit Service 8bf002
#define NUMARGS( 1, +, 2)   (1 + 2)
Packit Service 8bf002
Packit Service 8bf002
/* 18.9:    No space between macro name and replacement text.   */
Packit Service 8bf002
/*
Packit Service 8bf002
    C90 (Corrigendum 1) forbids this if and only the replacement text begins
Packit Service 8bf002
        with a non-basic-character.
Packit Service 8bf002
    C99 forbids this even when the replacement text begins with basic-
Packit Service 8bf002
        character.
Packit Service 8bf002
*/
Packit Service 8bf002
/*  From ISO 9899:1990 / Corrigendum 1. */
Packit Service 8bf002
#define THIS$AND$THAT(a, b)     ((a) + (b))
Packit Service 8bf002
/* Note: the following definition is legal (object-like macro).
Packit Service 8bf002
#define THIS $AND$THAT(a, b)    ((a) + (b))
Packit Service 8bf002
*/
Packit Service 8bf002