1 | // RUN: %clang_cc1 -verify %s |
2 | |
3 | #define NODEREF __attribute__((noderef)) |
4 | |
5 | template <typename T> |
6 | int func(T NODEREF *a) { // expected-note 2 {{a declared here}} |
7 | return *a + 1; // expected-warning 2 {{dereferencing a; was declared with a 'noderef' type}} |
8 | } |
9 | |
10 | void func() { |
11 | float NODEREF *f; |
12 | int NODEREF *i; |
13 | func(f); // expected-note{{in instantiation of function template specialization 'func<float>' requested here}} |
14 | func(i); // expected-note{{in instantiation of function template specialization 'func<int>' requested here}} |
15 | } |
16 | |