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 + -
显示快捷键?