1 | // RUN: %clang_cc1 %s -verify -fsyntax-only -Wgcc-compat |
2 | |
3 | namespace N { |
4 | void c1(int *a) {} |
5 | } |
6 | |
7 | void c2(int *a) {} |
8 | |
9 | template <typename Ty> |
10 | void c3(Ty *a) {} |
11 | |
12 | void t3() { |
13 | int v1 __attribute__((cleanup(N::c1))); // expected-warning {{GCC does not allow the 'cleanup' attribute argument to be anything other than a simple identifier}} |
14 | int v2 __attribute__((cleanup(c2))); |
15 | int v3 __attribute__((cleanup(c3<int>))); // expected-warning {{GCC does not allow the 'cleanup' attribute argument to be anything other than a simple identifier}} |
16 | } |
17 | |