modernc.org/cc@v1.0.1/testdata/gcc-6.3.0/gcc/testsuite/gcc.c-torture/compile/20000804-1.c (about)

     1  /* This does not work on h8300 due to the use of an asm
     2     statement to force a 'long long' (64-bits) to go in a register.  */
     3  /* { dg-do assemble } */
     4  /* { dg-skip-if "" { { i?86-*-* x86_64-*-* } && { ia32 && { ! nonpic } } } { "*" } { "" } } */
     5  /* { dg-skip-if "No 64-bit registers" { m32c-*-* } { "*" } { "" } } */
     6  /* { dg-skip-if "Not enough 64-bit registers" { pdp11-*-* } { "-O0" } { "" } } */
     7  /* { dg-xfail-if "" { h8300-*-* } { "*" } { "" } } */
     8  
     9  /* Copyright (C) 2000, 2003 Free Software Foundation */
    10  __complex__ long long f ()
    11  {
    12    int i[99];
    13    __complex__ long long v;
    14  
    15    v += f ();
    16    asm("": "+r" (v) : "r" (0), "r" (1));
    17    v = 2;
    18    return v;
    19    g (&v);
    20  }