Append "evaluates to 0", in Wundef diagnostic. clang prints the following diagnostic for -Wundef: undef.c:1:5: warning: 'FOO' is not defined, evaluates to 0 [-Wundef] #if FOO ^ OK to commit ?
[libcpp] * expr.c (eval_token): Modify Wundef diagnostic. [gcc/testsuite/gcc.dg/cpp] * warn-undef.c: Append "evaluates to 0" to dg-warning. * warn-undef-2.c: Append "evaluates to 0" to dg-error. Thanks and Regards, Prathamesh
Index: libcpp/expr.c =================================================================== --- libcpp/expr.c (revision 209800) +++ libcpp/expr.c (working copy) @@ -1054,7 +1054,7 @@ eval_token (cpp_reader *pfile, const cpp result.low = 0; if (CPP_OPTION (pfile, warn_undef) && !pfile->state.skip_eval) cpp_warning_with_line (pfile, CPP_W_UNDEF, virtual_location, 0, - "\"%s\" is not defined", + "\"%s\" is not defined, evaluates to 0", NODE_NAME (token->val.node.node)); } break; Index: gcc/testsuite/gcc.dg/cpp/warn-undef-2.c =================================================================== --- gcc/testsuite/gcc.dg/cpp/warn-undef-2.c (revision 209800) +++ gcc/testsuite/gcc.dg/cpp/warn-undef-2.c (working copy) @@ -1,5 +1,5 @@ // { dg-do preprocess } // { dg-options "-std=gnu99 -fdiagnostics-show-option -Werror=undef" } /* { dg-message "some warnings being treated as errors" "" {target "*-*-*"} 0 } */ -#if x // { dg-error "\"x\" is not defined .-Werror=undef." } +#if x // { dg-error "\"x\" is not defined, evaluates to 0 .-Werror=undef." } #endif Index: gcc/testsuite/gcc.dg/cpp/warn-undef.c =================================================================== --- gcc/testsuite/gcc.dg/cpp/warn-undef.c (revision 209800) +++ gcc/testsuite/gcc.dg/cpp/warn-undef.c (working copy) @@ -1,5 +1,5 @@ // { dg-do preprocess } // { dg-options "-std=gnu99 -fdiagnostics-show-option -Wundef" } -#if x // { dg-warning "\"x\" is not defined .-Wundef." } +#if x // { dg-warning "\"x\" is not defined, evaluates to 0 .-Wundef." } #endif