OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [testsuite/] [g++.dg/] [lookup/] [java1.C] - Diff between revs 149 and 154

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 149 Rev 154
// { dg-do compile }
// { dg-do compile }
// { dg-options "-fdollars-in-identifiers" }
// { dg-options "-fdollars-in-identifiers" }
// Origin: Giovanni Bajo 
// Origin: Giovanni Bajo 
// Make sure that Java special functions can be called correctly.
// Make sure that Java special functions can be called correctly.
extern "Java"
extern "Java"
{
{
  typedef __java_int jint;
  typedef __java_int jint;
  namespace java
  namespace java
  {
  {
    namespace lang
    namespace lang
    {
    {
      class Class;
      class Class;
      class Object;
      class Object;
      class Throwable {};
      class Throwable {};
      class Foo;
      class Foo;
    }
    }
  }
  }
}
}
typedef struct java::lang::Object* jobject;
typedef struct java::lang::Object* jobject;
typedef struct java::lang::Throwable* jthrowable;
typedef struct java::lang::Throwable* jthrowable;
typedef class java::lang::Class* jclass;
typedef class java::lang::Class* jclass;
using java::lang::Foo;
using java::lang::Foo;
class Foo : public java::lang::Throwable
class Foo : public java::lang::Throwable
{
{
public:
public:
  static ::java::lang::Class class$;
  static ::java::lang::Class class$;
};
};
/*
/*
 * Step 1: no declarations. A declaration for _Jv_Throw is created.
 * Step 1: no declarations. A declaration for _Jv_Throw is created.
 */
 */
void Bar1(void)
void Bar1(void)
{
{
  Foo* f = new java::lang::Foo;   // { dg-error "call to Java constructor" }
  Foo* f = new java::lang::Foo;   // { dg-error "call to Java constructor" }
  throw (f);
  throw (f);
}
}
/*
/*
 * Step 2: constructor declaration
 * Step 2: constructor declaration
 */
 */
extern "C" jobject _Jv_AllocObject (jclass) __attribute__((__malloc__));
extern "C" jobject _Jv_AllocObject (jclass) __attribute__((__malloc__));
void Bar2(void)
void Bar2(void)
{
{
  Foo* f = new java::lang::Foo;
  Foo* f = new java::lang::Foo;
  throw (f);
  throw (f);
}
}
/*
/*
 * Step 3: overloads
 * Step 3: overloads
 */
 */
jobject _Jv_AllocObject (jclass, jint, float) __attribute__((__malloc__));
jobject _Jv_AllocObject (jclass, jint, float) __attribute__((__malloc__));
void _Jv_Throw (int, float) __attribute__ ((__noreturn__));
void _Jv_Throw (int, float) __attribute__ ((__noreturn__));
void Bar3(void)
void Bar3(void)
{
{
  Foo* f = new java::lang::Foo;   // { dg-error "should never be overloaded" }
  Foo* f = new java::lang::Foo;   // { dg-error "should never be overloaded" }
  throw (f);                      // { dg-error "should never be overloaded" }
  throw (f);                      // { dg-error "should never be overloaded" }
}
}
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.