linux/scripts/gcc-goto.sh
<<
>>
Prefs
   1#!/bin/sh
   2# Test for gcc 'asm goto' support
   3# Copyright (C) 2010, Jason Baron <jbaron@redhat.com>
   4
   5cat << "END" | $@ -x c - -c -o /dev/null >/dev/null 2>&1 && echo "y"
   6int main(void)
   7{
   8#if defined(__arm__) || defined(__aarch64__)
   9        /*
  10         * Not related to asm goto, but used by jump label
  11         * and broken on some ARM GCC versions (see GCC Bug 48637).
  12         */
  13        static struct { int dummy; int state; } tp;
  14        asm (".long %c0" :: "i" (&tp.state));
  15#endif
  16
  17entry:
  18        asm goto ("" :::: entry);
  19        return 0;
  20}
  21END
  22