%MyVar     = uninitialized global int
%MyIntList = uninitialized global { \2 *, int }
             uninitialized global int      ; int*:0

%AConst    = constant int 123

%AString   = constant [4 x ubyte] c"test"

implementation

int "foo"(int %blah)
begin
	store int 5, int *%MyVar
	%idx = getelementptr { \2 *, int } * %MyIntList, uint 0, ubyte 1
  	store int 12, int* %idx
  	ret int %blah
end



Test "external" modifier on global variable Fix getelementptr instruction to use long isntead of uint index
%MyVar     = uninitialized global int
%MyIntList = uninitialized global { \2 *, int }
             external global int      ; int*:0

%AConst    = constant int 123

%AString   = constant [4 x ubyte] c"test"

implementation

int "foo"(int %blah)
begin
	store int 5, int *%MyVar
	%idx = getelementptr { \2 *, int } * %MyIntList, long 0, ubyte 1
  	store int 12, int* %idx
  	ret int %blah
end