view gcc/testsuite/g++.dg/warn/Wzero-as-null-pointer-constant-8.C @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents
children
line wrap: on
line source

// PR c++/71302
// { dg-options "-Wzero-as-null-pointer-constant -fdiagnostics-show-caret" }

#include <cstddef>

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 <typename T>
void
callee_2 (int param1, T* param2, int param3) {}

void
test_2 (int param1, const char* param2, int param3)
{
  callee_2<const char*> (0, 0, 0); // { dg-warning "29: zero as null pointer constant" }
  /* { dg-begin-multiline-output "" }
   callee_2<const char*> (0, 0, 0);
                             ^
     { dg-end-multiline-output "" } */

  callee_2<const char*> (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;
}