[cfe-commits] r63484 - /cfe/trunk/test/Sema/attr-cleanup.c

Anders Carlsson andersca at mac.com
Sat Jan 31 11:07:49 PST 2009


Author: andersca
Date: Sat Jan 31 13:07:49 2009
New Revision: 63484

URL: http://llvm.org/viewvc/llvm-project?rev=63484&view=rev
Log:
Forgot to add this test.

Added:
    cfe/trunk/test/Sema/attr-cleanup.c

Added: cfe/trunk/test/Sema/attr-cleanup.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/attr-cleanup.c?rev=63484&view=auto

==============================================================================
--- cfe/trunk/test/Sema/attr-cleanup.c (added)
+++ cfe/trunk/test/Sema/attr-cleanup.c Sat Jan 31 13:07:49 2009
@@ -0,0 +1,31 @@
+// RUN: clang %s -verify -fsyntax-only
+
+void c1(int *a);
+
+extern int g1 __attribute((cleanup(c1))); // expected-warning {{cleanup attribute ignored}}
+int g2 __attribute((cleanup(c1))); // expected-warning {{cleanup attribute ignored}}
+static int g3 __attribute((cleanup(c1))); // expected-warning {{cleanup attribute ignored}}
+
+void t1()
+{
+    int v1 __attribute((cleanup)); // expected-error {{attribute requires 1 argument(s)}}
+    int v2 __attribute((cleanup(1, 2))); // expected-error {{attribute requires 1 argument(s)}}
+    
+    static int v3 __attribute((cleanup(c1))); // expected-warning {{cleanup attribute ignored}}
+    
+    int v4 __attribute((cleanup(h))); // expected-error {{'cleanup' argument 'h' not found}}
+
+    int v5 __attribute((cleanup(c1)));
+    int v6 __attribute((cleanup(v3))); // expected-error {{'cleanup' argument 'v3' is not a function}}
+}
+
+struct s {
+    int a, b;
+};
+
+void c2();
+
+void t2()
+{
+    int v1 __attribute__((cleanup(c2))); // expected-error {{'cleanup' function 'c2' must take 1 parameter}}
+}
\ No newline at end of file





More information about the cfe-commits mailing list