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