kernel-doc: Fix stripping of #define in enums
authorConchúr Navid <conchur@web.de>
Sun, 8 Nov 2015 09:45:23 +0000 (10:45 +0100)
committerJonathan Corbet <corbet@lwn.net>
Fri, 20 Nov 2015 23:13:33 +0000 (16:13 -0700)
commit8a9260aa96b5112856a8bfdbf80984bfbcb4003f
tree0681ad11d59b00cde96d04c31ed41415e28c405f
parent8005c49d9aea74d382f474ce11afbbc7d7130bec
kernel-doc: Fix stripping of #define in enums

The regex to strip single line #define's in enumerations depends on the
fact that the defines are still stored on separate lines. But the
surrounding code already removed newlines and replaced them with
semicolons.

For example a simple input like

    /**
     * enum flags - test flags
     * @flag1: first flag
     * @flag2: second flag
     * @flag3: third flag
     * @flag4: fourth flag
     */
    enum flags {
     flag1 = BIT(0),
     flag2 = BIT(1),
    #define flags_small (flag1 | flag2)
     flag3 = BIT(2),
     flag4 = BIT(3),
    #define flags_big (flag2 | flag3)
    };

resulted in parsing warnings like

    warning: Enum value '#define flags_small (flag1 | flag2);flag3 = BIT(2)' not described in enum 'flags'
    warning: Enum value '#define flags_big (flag2 | flag3);' not described in enum 'flags'

Signed-off-by: Conchúr Navid <conchur@web.de>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
scripts/kernel-doc