Skip to content

Add -Wno-disabled-macro-expansion to clang flags

Description

The -Wdisabled-macro-expansion flag, which is turned on by the -Weverything flag, disables recursive macro expansion. This will cause valid code to fail to compile.

Example

The following example will fail to compile

#include <signal.h>

static void handler(int signum)
{
    /* Take appropriate actions for signal delivery */
}

int main()
{
    struct sigaction sa;

    sa.sa_handler = handler; /* this line will cause the error */
    sigemptyset(&sa.sa_mask);
    sa.sa_flags = SA_RESTART;
}

Fix:

Add -Wno-disabled-macro-expansion to the clang flag list.