
void main()
main: scope:[main]  from
  [0] phi()
  to:main::@1
main::@1: scope:[main]  from main main::@2
  [1] main::s#2 = phi( main/SCREEN, main::@2/main::s#1 )
  [2] if(main::s#2<SCREEN+$3e8) goto main::@2
  to:main::@3
main::@3: scope:[main]  from main::@1
  [3] phi()
  [4] call testSimpleTypes
  to:main::@return
main::@return: scope:[main]  from main::@3
  [5] return 
  to:@return
main::@2: scope:[main]  from main::@1
  [6] *main::s#2 = ' '
  [7] main::s#1 = ++ main::s#2
  to:main::@1

void testSimpleTypes()
testSimpleTypes: scope:[testSimpleTypes]  from main::@3
  [8] phi()
  [9] call assertType
  to:testSimpleTypes::@1
testSimpleTypes::@1: scope:[testSimpleTypes]  from testSimpleTypes
  [10] phi()
  [11] call assertType
  to:testSimpleTypes::@2
testSimpleTypes::@2: scope:[testSimpleTypes]  from testSimpleTypes::@1
  [12] phi()
  [13] call assertType
  to:testSimpleTypes::@3
testSimpleTypes::@3: scope:[testSimpleTypes]  from testSimpleTypes::@2
  [14] phi()
  [15] call assertType
  to:testSimpleTypes::@4
testSimpleTypes::@4: scope:[testSimpleTypes]  from testSimpleTypes::@3
  [16] phi()
  [17] call assertType
  to:testSimpleTypes::@5
testSimpleTypes::@5: scope:[testSimpleTypes]  from testSimpleTypes::@4
  [18] phi()
  [19] call assertType
  to:testSimpleTypes::@6
testSimpleTypes::@6: scope:[testSimpleTypes]  from testSimpleTypes::@5
  [20] phi()
  [21] call assertType
  to:testSimpleTypes::@7
testSimpleTypes::@7: scope:[testSimpleTypes]  from testSimpleTypes::@6
  [22] phi()
  [23] call assertType
  to:testSimpleTypes::@8
testSimpleTypes::@8: scope:[testSimpleTypes]  from testSimpleTypes::@7
  [24] phi()
  [25] call assertType
  to:testSimpleTypes::@9
testSimpleTypes::@9: scope:[testSimpleTypes]  from testSimpleTypes::@8
  [26] phi()
  [27] call assertType
  to:testSimpleTypes::@10
testSimpleTypes::@10: scope:[testSimpleTypes]  from testSimpleTypes::@9
  [28] phi()
  [29] call assertType
  to:testSimpleTypes::@11
testSimpleTypes::@11: scope:[testSimpleTypes]  from testSimpleTypes::@10
  [30] phi()
  [31] call assertType
  to:testSimpleTypes::@12
testSimpleTypes::@12: scope:[testSimpleTypes]  from testSimpleTypes::@11
  [32] phi()
  [33] call assertType
  to:testSimpleTypes::@13
testSimpleTypes::@13: scope:[testSimpleTypes]  from testSimpleTypes::@12
  [34] phi()
  [35] call assertType
  to:testSimpleTypes::@14
testSimpleTypes::@14: scope:[testSimpleTypes]  from testSimpleTypes::@13
  [36] phi()
  [37] call assertType
  to:testSimpleTypes::@15
testSimpleTypes::@15: scope:[testSimpleTypes]  from testSimpleTypes::@14
  [38] phi()
  [39] call assertType
  to:testSimpleTypes::@return
testSimpleTypes::@return: scope:[testSimpleTypes]  from testSimpleTypes::@15
  [40] return 
  to:@return

void assertType(char t1 , char t2)
assertType: scope:[assertType]  from testSimpleTypes testSimpleTypes::@1 testSimpleTypes::@10 testSimpleTypes::@11 testSimpleTypes::@12 testSimpleTypes::@13 testSimpleTypes::@14 testSimpleTypes::@15 testSimpleTypes::@2 testSimpleTypes::@3 testSimpleTypes::@4 testSimpleTypes::@5 testSimpleTypes::@6 testSimpleTypes::@7 testSimpleTypes::@8 testSimpleTypes::@9
  [41] idx#44 = phi( testSimpleTypes/0, testSimpleTypes::@1/idx#20, testSimpleTypes::@10/idx#20, testSimpleTypes::@11/idx#20, testSimpleTypes::@12/idx#20, testSimpleTypes::@13/idx#20, testSimpleTypes::@14/idx#20, testSimpleTypes::@15/idx#20, testSimpleTypes::@2/idx#20, testSimpleTypes::@3/idx#20, testSimpleTypes::@4/idx#20, testSimpleTypes::@5/idx#20, testSimpleTypes::@6/idx#20, testSimpleTypes::@7/idx#20, testSimpleTypes::@8/idx#20, testSimpleTypes::@9/idx#20 )
  [41] assertType::t2#16 = phi( testSimpleTypes/TYPEID_CHAR, testSimpleTypes::@1/TYPEID_CHAR, testSimpleTypes::@10/TYPEID_UNSIGNED_LONG, testSimpleTypes::@11/TYPEID_UNSIGNED_LONG, testSimpleTypes::@12/TYPEID_LONG, testSimpleTypes::@13/TYPEID_LONG, testSimpleTypes::@14/TYPEID_LONG, testSimpleTypes::@15/TYPEID_UNSIGNED_INT, testSimpleTypes::@2/TYPEID_SIGNED_CHAR, testSimpleTypes::@3/TYPEID_SIGNED_CHAR, testSimpleTypes::@4/TYPEID_UNSIGNED_INT, testSimpleTypes::@5/TYPEID_UNSIGNED_INT, testSimpleTypes::@6/TYPEID_UNSIGNED_INT, testSimpleTypes::@7/TYPEID_INT, testSimpleTypes::@8/TYPEID_INT, testSimpleTypes::@9/TYPEID_INT )
  [41] assertType::t1#16 = phi( testSimpleTypes/TYPEID_CHAR, testSimpleTypes::@1/TYPEID_CHAR, testSimpleTypes::@10/TYPEID_UNSIGNED_LONG, testSimpleTypes::@11/TYPEID_UNSIGNED_LONG, testSimpleTypes::@12/TYPEID_LONG, testSimpleTypes::@13/TYPEID_LONG, testSimpleTypes::@14/TYPEID_LONG, testSimpleTypes::@15/TYPEID_UNSIGNED_INT, testSimpleTypes::@2/TYPEID_SIGNED_CHAR, testSimpleTypes::@3/TYPEID_SIGNED_CHAR, testSimpleTypes::@4/TYPEID_UNSIGNED_INT, testSimpleTypes::@5/TYPEID_UNSIGNED_INT, testSimpleTypes::@6/TYPEID_UNSIGNED_INT, testSimpleTypes::@7/TYPEID_INT, testSimpleTypes::@8/TYPEID_INT, testSimpleTypes::@9/TYPEID_INT )
  [42] if(assertType::t1#16==assertType::t2#16) goto assertType::@1
  to:assertType::@3
assertType::@3: scope:[assertType]  from assertType
  [43] COLS[idx#44] = RED
  to:assertType::@2
assertType::@2: scope:[assertType]  from assertType::@1 assertType::@3
  [44] SCREEN[idx#44] = assertType::t1#16
  [45] idx#20 = ++ idx#44
  to:assertType::@return
assertType::@return: scope:[assertType]  from assertType::@2
  [46] return 
  to:@return
assertType::@1: scope:[assertType]  from assertType
  [47] COLS[idx#44] = GREEN
  to:assertType::@2
