asmspecvalid.c

来自「用于进行gcc测试」· C语言 代码 · 共 44 行

C
44
字号
// 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" } } */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?