File: gcc-goto.sh

package info (click to toggle)
linux 3.14.12-1~bpo70%2B1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy-backports
  • size: 666,320 kB
  • sloc: ansic: 11,822,312; asm: 273,382; xml: 46,774; perl: 44,603; makefile: 29,283; sh: 7,245; python: 6,582; cpp: 5,100; yacc: 4,233; lex: 2,167; awk: 737; pascal: 231; lisp: 218; sed: 30
file content (21 lines) | stat: -rw-r--r-- 495 bytes parent folder | download | duplicates (23)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/sh
# Test for gcc 'asm goto' support
# Copyright (C) 2010, Jason Baron <jbaron@redhat.com>

cat << "END" | $@ -x c - -c -o /dev/null >/dev/null 2>&1 && echo "y"
int main(void)
{
#if defined(__arm__) || defined(__aarch64__)
	/*
	 * 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