2002-07-09 21:58:06 +02:00
|
|
|
; This file takes about 48 __MINUTES__ to assemble using as. This is WAY too
|
|
|
|
; long. The type resolution code needs to be sped up a lot.
|
2003-09-15 22:02:53 +02:00
|
|
|
; RUN: ulimit -t 20; llvm-as < %s
|
2003-01-23 17:52:04 +01:00
|
|
|
|
2002-07-09 21:58:06 +02:00
|
|
|
%ALL_INTERSECTIONS_METHOD = type int (%OBJECT*, %RAY*, %ISTACK*)*
|
|
|
|
%BBOX = type { %BBOX_VECT, %BBOX_VECT }
|
|
|
|
%BBOX_TREE = type { short, short, %BBOX, %BBOX_TREE** }
|
|
|
|
%BBOX_VECT = type [3 x float]
|
|
|
|
%BLEND_MAP = type { short, short, short, int, %BLEND_MAP_ENTRY* }
|
|
|
|
%BLEND_MAP_ENTRY = type { float, ubyte, { %COLOUR, %PIGMENT*, %TNORMAL*, %TEXTURE*, %UV_VECT } }
|
|
|
|
%CAMERA = type { %VECTOR, %VECTOR, %VECTOR, %VECTOR, %VECTOR, %VECTOR, double, double, int, double, double, int, double, %TNORMAL* }
|
|
|
|
%COLOUR = type [5 x float]
|
|
|
|
%COPY_METHOD = type sbyte* (%OBJECT*)*
|
|
|
|
%COUNTER = type { uint, uint }
|
|
|
|
%DENSITY_FILE = type { int, %DENSITY_FILE_DATA* }
|
|
|
|
%DENSITY_FILE_DATA = type { int, sbyte*, int, int, int, ubyte*** }
|
|
|
|
%DESTROY_METHOD = type void (%OBJECT*)*
|
|
|
|
%FILE = type { int, ubyte*, ubyte*, ubyte, ubyte, uint, uint, uint }
|
|
|
|
%FILE_HANDLE = type { sbyte*, int, int, int, int, sbyte*, %FILE*, int, int (%FILE_HANDLE*, sbyte*, int*, int*, int, int)*, void (%FILE_HANDLE*, %COLOUR*, int)*, int (%FILE_HANDLE*, %COLOUR*, int*)*, void (%IMAGE*, sbyte*)*, void (%FILE_HANDLE*)* }
|
|
|
|
%FINISH = type { float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, %BBOX_VECT, %BBOX_VECT }
|
|
|
|
%FOG = type { int, double, double, double, %COLOUR, %VECTOR, %TURB*, float, %FOG* }
|
|
|
|
%FRAME = type { %CAMERA*, int, int, int, %LIGHT_SOURCE*, %OBJECT*, double, double, %COLOUR, %COLOUR, %COLOUR, %IMEDIA*, %FOG*, %RAINBOW*, %SKYSPHERE* }
|
|
|
|
%FRAMESEQ = type { int, double, int, int, double, int, int, double, int, double, int, double, uint, uint }
|
|
|
|
%IMAGE = type { int, int, int, int, int, short, short, %VECTOR, float, float, int, int, short, %IMAGE_COLOUR*, { %IMAGE_LINE*, ubyte** } }
|
|
|
|
%IMAGE_COLOUR = type { ushort, ushort, ushort, ushort, ushort }
|
|
|
|
%IMAGE_LINE = type { ubyte*, ubyte*, ubyte*, ubyte* }
|
|
|
|
%IMEDIA = type { int, int, int, int, int, double, double, int, int, int, int, %COLOUR, %COLOUR, %COLOUR, %COLOUR, double, double, double, double*, %PIGMENT*, %IMEDIA* }
|
|
|
|
%INSIDE_METHOD = type int (double*, %OBJECT*)*
|
|
|
|
%INTERIOR = type { int, int, float, float, float, float, float, %IMEDIA* }
|
|
|
|
%INTERSECTION = type { double, %VECTOR, %VECTOR, %OBJECT*, int, int, double, double, sbyte* }
|
|
|
|
%INVERT_METHOD = type void (%OBJECT*)*
|
|
|
|
%ISTACK = type { %ISTACK*, %INTERSECTION*, uint }
|
|
|
|
%LIGHT_SOURCE = type { %METHODS*, int, %OBJECT*, %TEXTURE*, %INTERIOR*, %OBJECT*, %OBJECT*, %BBOX, uint, %OBJECT*, %COLOUR, %VECTOR, %VECTOR, %VECTOR, %VECTOR, %VECTOR, double, double, double, double, double, %LIGHT_SOURCE*, ubyte, ubyte, ubyte, ubyte, int, int, int, int, int, %COLOUR**, %OBJECT*, [6 x %PROJECT_TREE_NODE*] }
|
|
|
|
%MATRIX = type [4 x %VECTOR_4D]
|
|
|
|
%METHODS = type { %ALL_INTERSECTIONS_METHOD, %INSIDE_METHOD, %NORMAL_METHOD, %COPY_METHOD, %ROTATE_METHOD, %ROTATE_METHOD, %ROTATE_METHOD, %TRANSFORM_METHOD, %DESTROY_METHOD, %DESTROY_METHOD }
|
|
|
|
%NORMAL_METHOD = type void (double*, %OBJECT*, %INTERSECTION*)*
|
|
|
|
%OBJECT = type { %METHODS*, int, %OBJECT*, %TEXTURE*, %INTERIOR*, %OBJECT*, %OBJECT*, %BBOX, uint }
|
|
|
|
%Opts = type { int, uint, sbyte, sbyte, sbyte, int, [150 x sbyte], [150 x sbyte], [150 x sbyte], [150 x sbyte], [150 x sbyte], double, double, uint, int, double, double, int, [25 x sbyte*], int, int, int, double, double, int, int, double, double, double, uint, int, int, int, int, %FRAMESEQ, double, int, double, double, double, double, double, int, int, int, int, int, int, int, int, int, int, int, int, int, [150 x sbyte], %SHELLDATA*, [150 x sbyte], int, int }
|
|
|
|
%PIGMENT = type { ushort, ushort, ushort, int, float, float, float, %WARP*, %TPATTERN*, %BLEND_MAP*, { %DENSITY_FILE*, %IMAGE*, %VECTOR, float, short, short, short, { float, %VECTOR }, %complex.float }, %COLOUR }
|
|
|
|
%PRIORITY_QUEUE = type { uint, uint, %QELEM* }
|
|
|
|
%PROJECT = type { int, int, int, int }
|
|
|
|
%PROJECT_QUEUE = type { uint, uint, %PROJECT_TREE_NODE** }
|
|
|
|
%PROJECT_TREE_NODE = type { ushort, %BBOX_TREE*, %PROJECT, ushort, %PROJECT_TREE_NODE** }
|
|
|
|
%QELEM = type { double, %BBOX_TREE* }
|
|
|
|
%RAINBOW = type { double, double, double, double, double, double, double, %VECTOR, %VECTOR, %VECTOR, %PIGMENT*, %RAINBOW* }
|
|
|
|
%RAY = type { %VECTOR, %VECTOR, int, [100 x %INTERIOR*] }
|
|
|
|
%RAYINFO = type { %VECTOR, %VECTOR, %VECTORI, %VECTORI }
|
|
|
|
%RGB = type [3 x float]
|
|
|
|
%ROTATE_METHOD = type void (%OBJECT*, double*, %TRANSFORM*)*
|
|
|
|
%SCALE_METHOD = type void (%OBJECT*, double*, %TRANSFORM*)*
|
|
|
|
%SHELLDATA = type { int, int, [250 x sbyte] }
|
|
|
|
%SKYSPHERE = type { int, %PIGMENT**, %TRANSFORM* }
|
|
|
|
%SNGL_VECT = type [3 x float]
|
|
|
|
%TEXTURE = type { ushort, ushort, ushort, int, float, float, float, %WARP*, %TPATTERN*, %BLEND_MAP*, { %DENSITY_FILE*, %IMAGE*, %VECTOR, float, short, short, short, { float, %VECTOR }, %complex.float }, %TEXTURE*, %PIGMENT*, %TNORMAL*, %FINISH*, %TEXTURE*, int }
|
|
|
|
%TNORMAL = type { ushort, ushort, ushort, int, float, float, float, %WARP*, %TPATTERN*, %BLEND_MAP*, { %DENSITY_FILE*, %IMAGE*, %VECTOR, float, short, short, short, { float, %VECTOR }, %complex.float }, float }
|
|
|
|
%TPATTERN = type { ushort, ushort, ushort, int, float, float, float, %WARP*, %TPATTERN*, %BLEND_MAP*, { %DENSITY_FILE*, %IMAGE*, %VECTOR, float, short, short, short, { float, %VECTOR }, %complex.float } }
|
|
|
|
%TRANSFORM = type { %MATRIX, %MATRIX }
|
|
|
|
%TRANSFORM_METHOD = type void (%OBJECT*, %TRANSFORM*)*
|
|
|
|
%TRANSLATE_METHOD = type void (%OBJECT*, double*, %TRANSFORM*)*
|
|
|
|
%TURB = type { ushort, %WARP*, %VECTOR, int, float, float }
|
|
|
|
%UV_VECT = type [2 x double]
|
|
|
|
%VECTOR = type [3 x double]
|
|
|
|
%VECTORI = type [3 x int]
|
|
|
|
%VECTOR_4D = type [4 x double]
|
|
|
|
%WARP = type { ushort, %WARP* }
|
|
|
|
%__FILE = type { int, ubyte*, ubyte*, ubyte, ubyte, uint, uint, uint }
|
|
|
|
%_h_val = type { [2 x uint], double }
|
|
|
|
%complex.float = type { float, float }
|