// { dg-do compile  }
// { dg-options "-Wconversion-null -fdiagnostics-show-caret" }
#include <stddef.h>
void callee_1 (int, int, int) {} // { dg-message "declared here" }
void caller_1 (void)
{
  callee_1 (0, NULL, 2); // { dg-warning "passing NULL to non-pointer argument 2 of" }
  /* { dg-begin-multiline-output "" }
   callee_1 (0, NULL, 2);
                ^~~~
     { dg-end-multiline-output "" } */
  /* { dg-begin-multiline-output "" }
 void callee_1 (int, int, int) {}
                     ^~~
     { dg-end-multiline-output "" } */
}
void callee_2 (int, void *, int) {} // { dg-message "declared here" "" { target { ! c++11 } } }
// { dg-message "initializing argument 2 of " "" { target c++11 } .-1 }
void caller_2 (void)
{
  callee_2 (0, false, 2); // { dg-warning "converting 'false' to pointer type for argument 2 of " "" { target { ! c++11 } } }
  // { dg-error "cannot convert" "" { target c++11 } .-1 }
  /* { dg-begin-multiline-output "" }
   callee_2 (0, false, 2);
                ^~~~~
     { dg-end-multiline-output "" { target { ! c++11 } } } */
  /* { dg-begin-multiline-output "" }
   callee_2 (0, false, 2);
                ^~~~~
                |
                bool
     { dg-end-multiline-output "" { target c++11 } } */
  /* { dg-begin-multiline-output "" }
 void callee_2 (int, void *, int) {}
                     ^~~~~~
     { dg-end-multiline-output "" } */
}