Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/ext/asmspecValid.C @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
// tests that the asm directive is correctly handled for static fields // in structures and classes. This only applies to C++; such // directives generate errors in C. Assembler directives for local // variables should be tested by the C test suite. // // Contributed by Robert Bowdidge (bowdidge@apple.com) 14 Oct 2003 // { dg-do compile } struct Foo { // This should reference a variable called bar static int i __asm__("bar"); }; class Bar { public: static int i __asm__("theRealI"); static int j __asm__("theRealJ"); int boof; }; class Baz : public Bar { public: static char *ptr __asm__ ("theRealString"); }; int main (int argc, char **argv) { struct Foo myFoo; Bar b; myFoo.i = 1; Foo::i = 2; Baz::j = 10; Baz::ptr = 0; b.i = 1; return (b.i); } /* { dg-final {scan-assembler "bar"} } */ /* { dg-final {scan-assembler "theRealString"} } */ /* { dg-final {scan-assembler "theRealI" } } */ /* { dg-final {scan-assembler "theRealJ" } } */