re PR c++/71465 (ICE on invalid C++ code (with duplicate base) on x86_64-linux-gnu...
[platform/upstream/gcc.git] / gcc / testsuite / g++.dg / pr49847-2.C
1 /* { dg-do compile { target m68k-*-* } } */
2 /* { dg-options "-O2 -mcpu=68060 -fnon-call-exceptions -fPIC -O2 -fpermissive" } */
3
4 extern "C" {
5     typedef __java_int jint;
6     typedef __java_float jfloat;
7     namespace java   {
8      namespace lang     {
9        class Class;
10        class Object;
11        class Throwable;
12    }
13 }
14   }
15   typedef class   java::lang::Class *   jclass;
16   typedef   class   java::lang::Throwable *   jthrowable;
17   typedef unsigned short _Jv_ushort __attribute__ ((__mode__ (__HI__)));
18   extern   "Java" {
19     struct _JvObjectPrefix   {
20    };
21   }
22   class   java::lang::Object:   public   _JvObjectPrefix {
23   };
24    union _Jv_word {
25     jint     i;
26     jfloat     f;
27   };
28   class _Jv_MethodBase {
29   };
30    class _Jv_InterpMethod: public _Jv_MethodBase {
31   private:_Jv_ushort max_stack;
32     static void   run (_Jv_InterpMethod *);
33   };
34    class java::lang::Throwable: public::java::lang::Object {
35   public:static::java::lang::Class     class$;
36   };
37    void _Jv_InterpMethod::run (_Jv_InterpMethod * meth) {
38     _Jv_word stack[meth->max_stack];
39     _Jv_word *sp = stack;
40     try   {
41      jfloat value2 = ((jfloat) (--sp)->f);
42      jfloat value1 = ((jfloat) (--sp)->f);
43      if (value1 > value2)       (sp++)->i = (1);
44    }
45     catch (java::lang::Throwable * ex)   {
46    }
47   }