Remove setjmp.h header file from Sema/return.c test and include necessary
declarations explicitly in the test.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179604 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/Sema/return.c b/test/Sema/return.c
index ddd99a3..7e7c8b7 100644
--- a/test/Sema/return.c
+++ b/test/Sema/return.c
@@ -197,9 +197,14 @@
   exit(1);
 }
 
-#ifndef __hexagon__
-#include <setjmp.h>
+// Include these declarations here explicitly so we don't depend on system headers.
+typedef struct __jmp_buf_tag{} jmp_buf[1];
+
+extern void longjmp (struct __jmp_buf_tag __env[1], int __val) __attribute__ ((noreturn));
+extern void _longjmp (struct __jmp_buf_tag __env[1], int __val) __attribute__ ((noreturn));
+
 jmp_buf test30_j;
+
 int test30() {
   if (j)
     longjmp(test30_j, 1);
@@ -210,7 +215,6 @@
     _longjmp(test30_j, 1);
 #endif
 }
-#endif
 
 typedef void test31_t(int status);
 void test31(test31_t *callback __attribute__((noreturn)));