[llvm-commits] [llvm-gcc-4.2] r56743 - in /llvm-gcc-4.2/trunk/gcc/testsuite: g++.apple/block-attributes-1.C gcc.apple/block-attributes-1.c

Bill Wendling isanbard at gmail.com
Fri Sep 26 17:52:50 PDT 2008


Author: void
Date: Fri Sep 26 19:52:50 2008
New Revision: 56743

URL: http://llvm.org/viewvc/llvm-project?rev=56743&view=rev
Log:
Testcases for block attributes.

Added:
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-attributes-1.C
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-attributes-1.c

Added: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-attributes-1.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-attributes-1.C?rev=56743&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-attributes-1.C (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-attributes-1.C Fri Sep 26 19:52:50 2008
@@ -0,0 +1,25 @@
+/* APPLE LOCAL file radar 6237713 */
+/* Test for using attributes on blocks. */
+/* { dg-options "-mmacosx-version-min=10.5 -fblocks" { target *-*-darwin* } } */
+/* { dg-do compile } */
+
+extern void exit(int);
+
+int (^a)(int) __attribute__((noreturn));
+
+int main()
+{
+       void (^a)(void) __attribute__((noreturn)) = ^ (void) __attribute__((noreturn)) { exit (0); }; // OK;
+
+	^ (int i) __attribute__((noreturn)) { return i; }; /* { dg-warning "function declared \\'noreturn\\' has a \\'return\\' statement" } */
+							   /* { dg-warning "\\'noreturn\\' function does return" "" { target *-*-* } 14 } */
+
+	^ __attribute__((noreturn)) { return 100; }; /* { dg-warning "function declared \\'noreturn\\' has a \\'return\\' statement" } */
+						     /* { dg-warning "\\'noreturn\\' function does return" "" { target *-*-* } 17 } */
+
+	a = ^ (void) __attribute__((noreturn)) { exit (0); }; // OK
+
+        a = ^ (void) __attribute__((noreturn)) { ; };	/* { dg-warning "\\'noreturn\\' function does return" } */
+
+}
+

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-attributes-1.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-attributes-1.c?rev=56743&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-attributes-1.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-attributes-1.c Fri Sep 26 19:52:50 2008
@@ -0,0 +1,25 @@
+/* APPLE LOCAL file radar 6237713 */
+/* Test for using attributes on blocks. */
+/* { dg-options "-mmacosx-version-min=10.5 -fblocks" { target *-*-darwin* } } */
+/* { dg-do compile } */
+
+extern void exit(int);
+
+int (^a)(int) __attribute__((noreturn));
+
+int main()
+{
+       void (^a)(void) __attribute__((noreturn)) = ^ (void) __attribute__((noreturn)) { exit (0); }; // OK;
+
+	^ (int i) __attribute__((noreturn)) { return i; }; /* { dg-warning "function declared \\'noreturn\\' has a \\'return\\' statement" } */
+							   /* { dg-warning "\\'noreturn\\' function does return" "" { target *-*-* } 14 } */
+
+	^ __attribute__((noreturn)) { return 100; }; /* { dg-warning "function declared \\'noreturn\\' has a \\'return\\' statement" } */
+						     /* { dg-warning "\\'noreturn\\' function does return" "" { target *-*-* } 17 } */
+
+	a = ^ (void) __attribute__((noreturn)) { exit (0); }; // OK
+
+        a = ^ (void) __attribute__((noreturn)) { ; };	/* { dg-warning "\\'noreturn\\' function does return" } */
+
+}
+





More information about the llvm-commits mailing list