Viewing file: pr97116.C (1.36 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#include <new> #include <cstddef>
struct foo { foo (int i) : m_i (i) {} // { dg-message "argument 'this' of 'foo::foo\\(int\\)' must be non-null" "note" }
int get () const { return m_i; } // { dg-message "argument 'this' of '\[^\n\]*' must be non-null" "note" } int meth_1 (int, void *ptr) __attribute__((nonnull)); // { dg-message "argument 2 of '\[^\n\]*' must be non-null" "note" } int meth_2 (int, void *ptr) __attribute__((nonnull(3))); // { dg-message "argument 2 of '\[^\n\]*' must be non-null" "note" }
int m_i; };
void test_1 (void) { foo *p = new(NULL) foo (42); // { dg-warning "non-null expected" "warning" } // { dg-message "argument 'this' \\(\[^\n\]*\\) NULL where non-null expected" "final event" { target *-*-* } .-1 } }
int test_2 (void) { foo *p = NULL; return p->get (); // { dg-warning "non-null expected" "warning" } // { dg-message "argument 'this' \\('p'\\) NULL where non-null expected" "final event" { target *-*-* } .-1 } }
int test_meth_1 (foo *f) { return f->meth_1 (42, NULL); // { dg-warning "non-null expected" "warning" } // { dg-message "argument 2 NULL where non-null expected" "final event" { target *-*-* } .-1 } }
int test_meth_2 (foo *f) { return f->meth_2 (42, NULL); // { dg-warning "non-null expected" "warning" } // { dg-message "argument 2 NULL where non-null expected" "final event" { target *-*-* } .-1 } }
|