java-2.c
来自「用于进行gcc测试」· C语言 代码 · 共 80 行
C
80 行
// PR c++/30293// PR c++/30294// { dg-do compile }// { dg-options "" }extern "Java" {typedef __java_byte jbyte;namespace java {namespace lang { class Object {}; class Class {};}}typedef struct java::lang::Object* jobject;typedef java::lang::Class *jclass;}extern "C" jobject _Jv_AllocObject (jclass);extern "Java" { struct A { static java::lang::Class class$; };}struct B { A a; // { dg-error "has Java class type" }};void* operator new (__SIZE_TYPE__, void*) throw();char buf[1024];A a; // { dg-error "not allocated with" }A b = A (); // { dg-error "not allocated with" }A *c = new ((void *) buf) A (); // { dg-error "using placement new" }A *d = new A ();jbyte e = 6;const A fn1 () // { dg-error "return type has Java class type" }{ A a; // { dg-error "not allocated with" } return a;}A fn2 () // { dg-error "return type has Java class type" }{ A a; // { dg-error "not allocated with" } return a;}A *fn3 (){ return new A ();}A &fn4 (){ return *c;}jbyte fn5 (){ return 7;}void fn6 (A x) // { dg-error "has Java class type" }{}void fn7 (const A x) // { dg-error "has Java class type" }{}void fn8 (A *x){ (void) x;}void fn9 (jbyte x){ (void) x;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?