| 
									
										
										
										
											2010-09-17 11:09:00 -04:00
										 |  |  | #!/bin/sh
 | 
					
						
							| 
									
										
										
										
											2011-06-16 00:17:46 +02:00
										 |  |  | # Test for gcc 'asm goto' support | 
					
						
							| 
									
										
										
										
											2010-09-17 11:09:00 -04:00
										 |  |  | # Copyright (C) 2010, Jason Baron <jbaron@redhat.com> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-02-24 17:06:20 +01:00
										 |  |  | cat << "END" | $@ -x c - -c -o /dev/null >/dev/null 2>&1 && echo "y" | 
					
						
							|  |  |  | int main(void) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | #ifdef __arm__ | 
					
						
							|  |  |  | 	/* | 
					
						
							|  |  |  | 	 * Not related to asm goto, but used by jump label | 
					
						
							|  |  |  | 	 * and broken on some ARM GCC versions (see GCC Bug 48637). | 
					
						
							|  |  |  | 	 */ | 
					
						
							|  |  |  | 	static struct { int dummy; int state; } tp; | 
					
						
							|  |  |  | 	asm (".long %c0" :: "i" (&tp.state)); | 
					
						
							|  |  |  | #endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | entry: | 
					
						
							|  |  |  | 	asm goto ("" :::: entry); | 
					
						
							|  |  |  | 	return 0; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | END |