// PR c++/71302 // { dg-options "-Wzero-as-null-pointer-constant -fdiagnostics-show-caret" } #include static void callee_1 (int param1, const char* param2, int param3) {} void test_1 (int param1, const char* param2, int param3) { callee_1 (0, 0, 0); // { dg-warning "16: zero as null pointer constant" } /* { dg-begin-multiline-output "" } callee_1 (0, 0, 0); ^ { dg-end-multiline-output "" } */ callee_1 (0, NULL, 0); } template void callee_2 (int param1, T* param2, int param3) {} void test_2 (int param1, const char* param2, int param3) { callee_2 (0, 0, 0); // { dg-warning "29: zero as null pointer constant" } /* { dg-begin-multiline-output "" } callee_2 (0, 0, 0); ^ { dg-end-multiline-output "" } */ callee_2 (0, NULL, 0); } void test_3 () { const char *msg_a = 0; // { dg-warning "23: zero as null pointer constant" } /* { dg-begin-multiline-output "" } const char *msg_a = 0; ^ { dg-end-multiline-output "" } */ const char *msg_b = NULL; }