Changeset b5b0907 for src/Tests


Ignore:
Timestamp:
Jun 15, 2015, 12:45:26 PM (10 years ago)
Author:
Rob Schluntz <rschlunt@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, string, with_gc
Children:
94b4364
Parents:
ea9b9d3 (diff), a1d5d2a (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' into resolver

Conflicts:

src/CodeGen/CodeGenerator.cc

Location:
src/Tests
Files:
4 deleted
24 edited

Legend:

Unmodified
Added
Removed
  • src/Tests/Attributes.c

    rea9b9d3 rb5b0907  
     1// I Compile-time resolution
     2// =========================
     3//
     4// 1. an isolated name, where the argument is implicitly determined by the result context
     5//
     6//    @max
     7//
     8// 2. a direct application to a manifest type
     9//
     10//    @max( int )
     11//
     12// 3. constraining a type variable; the application is implicitly performed at the call site as in (2)
     13//
     14//    forall( type T | { T @max( T ); } ) T x( T t );
     15//
     16//
     17// II Run-time resolution
     18// ======================
     19//
     20// 1. an indirect reference, where the argument is implicitly determined by the result context
     21//
     22//    attr_var = &@max;
     23//    x = (*attr_var);
     24//
     25// 2. an indirect application to a manifest type
     26//
     27//    (*attr_var)( int )
     28//
     29// 3. a direct application to a type variable
     30//
     31//    @max( T )
     32//
     33// Under what circumstances can this be done at compile/link time?
     34//
     35//
     36// III Declaration forms
     37// =====================
     38//
     39// 1. monomorphic with implicit argument
     40//
     41//    int @max;
     42//
     43// 2. monomorphic with explicit argument
     44//
     45//    int @max( int );
     46//
     47// 3. polymorphic
     48//
     49//    forall( type T | constraint( T ) ) int @attr( T );
     50
    151int @max = 3;
    252
    353int main() {
    454    int x;
    5     type @type(type t);         // compiler intrinsic
     55    type @type(type t);                                                                 // compiler intrinsic
    656    type @widest(type t);
    7     @type(x) *y;                // gcc: typeof(x) *y;
    8     const @widest(double) *w;   // gcc: const typeof(x) *w;
    9     * @type(3 + 4) z;           // cfa declaration syntax
     57    @type(x) *y;                                                                                // gcc: typeof(x) *y;
     58    const @widest(double) *w;                                                   // gcc: const typeof(x) *w;
     59    * @type(3 + 4) z;                                                                   // cfa declaration syntax
    1060    y = @max;           
    1161    z = @max(x) + @size(int);
  • src/Tests/Expect-a/AsmName.txt

    rea9b9d3 rb5b0907  
    1 x: auto signed int
     1x: extern signed int
    22fred: function
    33    with parameters
  • src/Tests/Expect-a/Attributes.txt

    rea9b9d3 rb5b0907  
    1 Error at line 8 reading token "*"
     1Error at line 58 reading token "*"
  • src/Tests/Expect-a/Context.txt

    rea9b9d3 rb5b0907  
    5252
    5353
    54         Declaration of x: auto type
    55         Declaration of y: auto type
     54        Declaration of x: extern type
     55        Declaration of y: extern type
    5656          with assertions
    5757            instance of context has_r
  • src/Tests/Expect-a/Functions.txt

    rea9b9d3 rb5b0907  
    173173      CompoundStmt
    174174
    175 fII3: auto function
    176     with parameters
    177       i: signed int
    178     returning
    179       signed int
    180     with body
    181       CompoundStmt
    182 
    183 fII4: auto function
     175fII3: extern function
     176    with parameters
     177      i: signed int
     178    returning
     179      signed int
     180    with body
     181      CompoundStmt
     182
     183fII4: extern function
    184184    with parameters
    185185      i: signed int
     
    257257      CompoundStmt
    258258
    259 fO4: auto function
     259fO4: extern function
    260260      accepting unspecified arguments
    261261    returning
     
    268268      CompoundStmt
    269269
    270 fO5: auto function
     270fO5: extern function
    271271      accepting unspecified arguments
    272272    returning
  • src/Tests/Expect-a/TypeGenerator.txt

    rea9b9d3 rb5b0907  
    6565      signed int
    6666
    67 struct S1
    68     with parameters
    69       T: type
    70 
    71 struct S1
    72     with parameters
    73       T: type
    74 
    75     with members
    76       i: instance of type T (not function type)
    77 
    78 v1: instance of struct S1
    79   with parameters
    80     signed int
    81 
    82 p: pointer to instance of struct S1
    83   with parameters
    84     signed int
    85 
    8667struct S2
    8768    with parameters
     
    9172      i: instance of type T (not function type)
    9273
    93 v2: instance of struct S2
     74v1: instance of struct S3
     75  with parameters
     76    signed int
     77
     78p: pointer to instance of struct S3
     79  with parameters
     80    signed int
     81
     82struct S24
     83    with parameters
     84      T: type
     85
     86    with members
     87      i: instance of type T (not function type)
     88
     89v2: instance of struct S24
    9490  with parameters
    9591    signed int
  • src/Tests/Expect-e/AsmName.txt

    rea9b9d3 rb5b0907  
    1 x: auto signed int
     1x: extern signed int
    22fred: function
    33    with parameters
  • src/Tests/Expect-e/Attributes.txt

    rea9b9d3 rb5b0907  
    1 Error at line 8 reading token "*"
     1Error at line 58 reading token "*"
  • src/Tests/Expect-e/Context.txt

    rea9b9d3 rb5b0907  
    5454
    5555
    56         Declaration of x: auto type
     56        Declaration of x: extern type
    5757        Declaration of ?=?: automatically generated function
    5858            with parameters
     
    6262              instance of type x (not function type)
    6363
    64         Declaration of y: auto type
     64        Declaration of y: extern type
    6565          with assertions
    6666            instance of context has_r
  • src/Tests/Expect-e/Function.txt

    rea9b9d3 rb5b0907  
    245245
    246246
    247 cfa-cpp: GenPoly/Box.cc:398: void GenPoly::{anonymous}::Pass1::boxParams(ApplicationExpr*, FunctionType*, std::list<Expression*>::iterator&, const TyVarMap&): Assertion `arg != appExpr->get_args().end()' failed.
     247cfa-cpp: GenPoly/Box.cc:401: void GenPoly::{anonymous}::Pass1::boxParams(ApplicationExpr*, FunctionType*, std::list<Expression*>::iterator&, const TyVarMap&): Assertion `arg != appExpr->get_args().end()' failed.
    248248Aborted (core dumped)
  • src/Tests/Expect-e/TypeGenerator.txt

    rea9b9d3 rb5b0907  
    5353            Name: *?
    5454        ...to:
    55             Variable Expression: _dst: pointer to instance of struct S1
     55            Variable Expression: _dst: pointer to instance of struct S2
    5656    Member Expression, with field:
    5757      i: instance of type T (not function type)
    5858    from aggregate:
    59       Variable Expression: _src: instance of struct S1
     59      Variable Expression: _src: instance of struct S2
    6060
    6161Error: No reasonable alternatives for expression Applying untyped:
     
    6969            Name: *?
    7070        ...to:
    71             Variable Expression: _dst: pointer to instance of struct S2
     71            Variable Expression: _dst: pointer to instance of struct S24
    7272    Member Expression, with field:
    7373      i: instance of type T (not function type)
    7474    from aggregate:
    75       Variable Expression: _src: instance of struct S2
     75      Variable Expression: _src: instance of struct S24
    7676
    7777Error: No reasonable alternatives for expression Applying untyped:
  • src/Tests/Expect-f/Attributes.txt

    rea9b9d3 rb5b0907  
    1 Error at line 8 reading token "*"
     1Error at line 58 reading token "*"
  • src/Tests/Expect-f/TypeGenerator.txt

    rea9b9d3 rb5b0907  
    4747            Name: *?
    4848        ...to:
    49             Variable Expression: _dst: pointer to instance of struct S1
     49            Variable Expression: _dst: pointer to instance of struct S2
    5050    Member Expression, with field:
    5151      i: instance of type T (not function type)
    5252    from aggregate:
    53       Variable Expression: _src: instance of struct S1
     53      Variable Expression: _src: instance of struct S2
    5454
    5555Error: No reasonable alternatives for expression Applying untyped:
     
    6363            Name: *?
    6464        ...to:
    65             Variable Expression: _dst: pointer to instance of struct S2
     65            Variable Expression: _dst: pointer to instance of struct S24
    6666    Member Expression, with field:
    6767      i: instance of type T (not function type)
    6868    from aggregate:
    69       Variable Expression: _src: instance of struct S2
     69      Variable Expression: _src: instance of struct S24
    7070
    7171Error: No reasonable alternatives for expression Applying untyped:
  • src/Tests/Expect-r/Attributes.txt

    rea9b9d3 rb5b0907  
    1 Error at line 8 reading token "*"
     1Error at line 58 reading token "*"
  • src/Tests/Expect-r/Function.txt

    rea9b9d3 rb5b0907  
    49544954there are 1 alternatives before elimination
    49554955there are 1 alternatives after elimination
    4956 cfa-cpp: GenPoly/Box.cc:398: void GenPoly::{anonymous}::Pass1::boxParams(ApplicationExpr*, FunctionType*, std::list<Expression*>::iterator&, const TyVarMap&): Assertion `arg != appExpr->get_args().end()' failed.
     4956cfa-cpp: GenPoly/Box.cc:401: void GenPoly::{anonymous}::Pass1::boxParams(ApplicationExpr*, FunctionType*, std::list<Expression*>::iterator&, const TyVarMap&): Assertion `arg != appExpr->get_args().end()' failed.
    49574957Aborted (core dumped)
  • src/Tests/Expect-r/TypeGenerator.txt

    rea9b9d3 rb5b0907  
    610610decl is ?=?: automatically generated inline static function
    611611  with parameters
    612     _dst: pointer to instance of struct S1
    613     _src: instance of struct S1
     612    _dst: pointer to instance of struct S2
     613    _src: instance of struct S2
    614614  returning
    615     instance of struct S1
     615    instance of struct S2
    616616  with body
    617617    CompoundStmt
     
    627627                      Name: *?
    628628                  ...to:
    629                       Variable Expression: _dst: pointer to instance of struct S1
     629                      Variable Expression: _dst: pointer to instance of struct S2
    630630              Member Expression, with field:
    631631                i: instance of type T (not function type)
    632632              from aggregate:
    633                 Variable Expression: _src: instance of struct S1
    634 
    635               Return Statement, returning: Variable Expression: _src: instance of struct S1
     633                Variable Expression: _src: instance of struct S2
     634
     635              Return Statement, returning: Variable Expression: _src: instance of struct S2
    636636
    637637
     
    639639newExpr is Variable Expression: ?=?: inline static function
    640640    with parameters
    641       _dst: pointer to instance of struct S1
    642       _src: instance of struct S1
    643     returning
    644       instance of struct S1
     641      _dst: pointer to instance of struct S2
     642      _src: instance of struct S2
     643    returning
     644      instance of struct S2
    645645
    646646
     
    698698Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
    699699    with parameters
    700       _dst: pointer to instance of struct S1
    701       _src: instance of struct S1
    702     returning
    703       instance of struct S1
     700      _dst: pointer to instance of struct S2
     701      _src: instance of struct S2
     702    returning
     703      instance of struct S2
    704704
    705705(types:
    706706    pointer to function
    707707        with parameters
    708           _dst: pointer to instance of struct S1
    709           _src: instance of struct S1
     708          _dst: pointer to instance of struct S2
     709          _src: instance of struct S2
    710710        returning
    711           instance of struct S1
     711          instance of struct S2
    712712
    713713)
     
    741741      Name: *?
    742742  ...to:
    743       Variable Expression: _dst: pointer to instance of struct S1
     743      Variable Expression: _dst: pointer to instance of struct S2
    744744(types:
    745745    lvalue instance of type T (not function type)
     
    757757        Name: *?
    758758    ...to:
    759         Variable Expression: _dst: pointer to instance of struct S1
     759        Variable Expression: _dst: pointer to instance of struct S2
    760760(types:
    761761    pointer to instance of type T (not function type)
     
    773773        Name: *?
    774774    ...to:
    775         Variable Expression: _dst: pointer to instance of struct S1
     775        Variable Expression: _dst: pointer to instance of struct S2
    776776(types:
    777777    pointer to instance of type T (not function type)
     
    783783  i: instance of type T (not function type)
    784784from aggregate:
    785   Variable Expression: _src: instance of struct S1
     785  Variable Expression: _src: instance of struct S2
    786786(types:
    787787    lvalue instance of type T (not function type)
     
    795795  i: instance of type T (not function type)
    796796from aggregate:
    797   Variable Expression: _src: instance of struct S1
     797  Variable Expression: _src: instance of struct S2
    798798(types:
    799799    lvalue instance of type T (not function type)
     
    824824        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
    825825            with parameters
    826               _dst: pointer to instance of struct S1
    827               _src: instance of struct S1
     826              _dst: pointer to instance of struct S2
     827              _src: instance of struct S2
    828828            returning
    829               instance of struct S1
     829              instance of struct S2
    830830
    831831(types:
    832832            pointer to function
    833833                with parameters
    834                   _dst: pointer to instance of struct S1
    835                   _src: instance of struct S1
     834                  _dst: pointer to instance of struct S2
     835                  _src: instance of struct S2
    836836                returning
    837                   instance of struct S1
     837                  instance of struct S2
    838838
    839839)
    840840        Environment:
    841 formal type is pointer to instance of struct S1
     841formal type is pointer to instance of struct S2
    842842actual type is pointer to instance of type T (not function type)
    843843working on alternative:
     
    862862actual type is pointer to instance of type T (not function type)
    863863alternatives before prune:
    864 Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct S1
    865 (types:
    866     lvalue instance of struct S1
     864Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct S2
     865(types:
     866    lvalue instance of struct S2
    867867)
    868868Environment:
     
    872872alternatives before prune:
    873873Cost ( 0, 0, 0 ): Cast of:
    874   Variable Expression: _src: instance of struct S1
     874  Variable Expression: _src: instance of struct S2
    875875
    876876to:
    877   instance of struct S1
    878 (types:
    879     instance of struct S1
     877  instance of struct S2
     878(types:
     879    instance of struct S2
    880880)
    881881Environment:
     
    953953decl is ?=?: automatically generated inline static function
    954954  with parameters
    955     _dst: pointer to instance of struct S1
    956     _src: instance of struct S1
    957   returning
    958     instance of struct S1
    959   with body
    960     CompoundStmt
    961               Expression Statement:
    962           Applying untyped:
    963               Name: ?=?
    964           ...to:
    965               Address of:
    966                 Member Expression, with field:
    967                   i: instance of type T (not function type)
    968                 from aggregate:
    969                   Applying untyped:
    970                       Name: *?
    971                   ...to:
    972                       Variable Expression: _dst: pointer to instance of struct S1
    973               Member Expression, with field:
    974                 i: instance of type T (not function type)
    975               from aggregate:
    976                 Variable Expression: _src: instance of struct S1
    977 
    978               Return Statement, returning: Cast of:
    979   Variable Expression: _src: instance of struct S1
    980 
    981 to:
    982   instance of struct S1
    983 with environment:
    984   Types:
    985   Non-types:
    986 
    987 
    988 
    989 newExpr is Variable Expression: ?=?: inline static function
    990     with parameters
    991       _dst: pointer to instance of struct S1
    992       _src: instance of struct S1
    993     returning
    994       instance of struct S1
    995 
    996 
    997 decl is ?=?: automatically generated inline static function
    998   with parameters
    999955    _dst: pointer to instance of struct S2
    1000956    _src: instance of struct S2
     
    1020976                Variable Expression: _src: instance of struct S2
    1021977
    1022               Return Statement, returning: Variable Expression: _src: instance of struct S2
     978              Return Statement, returning: Cast of:
     979  Variable Expression: _src: instance of struct S2
     980
     981to:
     982  instance of struct S2
     983with environment:
     984  Types:
     985  Non-types:
    1023986
    1024987
     
    1030993    returning
    1031994      instance of struct S2
     995
     996
     997decl is ?=?: automatically generated inline static function
     998  with parameters
     999    _dst: pointer to instance of struct S24
     1000    _src: instance of struct S24
     1001  returning
     1002    instance of struct S24
     1003  with body
     1004    CompoundStmt
     1005              Expression Statement:
     1006          Applying untyped:
     1007              Name: ?=?
     1008          ...to:
     1009              Address of:
     1010                Member Expression, with field:
     1011                  i: instance of type T (not function type)
     1012                from aggregate:
     1013                  Applying untyped:
     1014                      Name: *?
     1015                  ...to:
     1016                      Variable Expression: _dst: pointer to instance of struct S24
     1017              Member Expression, with field:
     1018                i: instance of type T (not function type)
     1019              from aggregate:
     1020                Variable Expression: _src: instance of struct S24
     1021
     1022              Return Statement, returning: Variable Expression: _src: instance of struct S24
     1023
     1024
     1025
     1026newExpr is Variable Expression: ?=?: inline static function
     1027    with parameters
     1028      _dst: pointer to instance of struct S24
     1029      _src: instance of struct S24
     1030    returning
     1031      instance of struct S24
    10321032
    10331033
     
    10851085Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
    10861086    with parameters
    1087       _dst: pointer to instance of struct S1
    1088       _src: instance of struct S1
    1089     returning
    1090       instance of struct S1
    1091 
    1092 (types:
    1093     pointer to function
    1094         with parameters
    1095           _dst: pointer to instance of struct S1
    1096           _src: instance of struct S1
    1097         returning
    1098           instance of struct S1
    1099 
    1100 )
    1101 Environment:
    1102 
    1103 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
    1104     with parameters
    11051087      _dst: pointer to instance of struct S2
    11061088      _src: instance of struct S2
     
    11151097        returning
    11161098          instance of struct S2
     1099
     1100)
     1101Environment:
     1102
     1103Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
     1104    with parameters
     1105      _dst: pointer to instance of struct S24
     1106      _src: instance of struct S24
     1107    returning
     1108      instance of struct S24
     1109
     1110(types:
     1111    pointer to function
     1112        with parameters
     1113          _dst: pointer to instance of struct S24
     1114          _src: instance of struct S24
     1115        returning
     1116          instance of struct S24
    11171117
    11181118)
     
    11461146      Name: *?
    11471147  ...to:
    1148       Variable Expression: _dst: pointer to instance of struct S2
     1148      Variable Expression: _dst: pointer to instance of struct S24
    11491149(types:
    11501150    lvalue instance of type T (not function type)
     
    11621162        Name: *?
    11631163    ...to:
    1164         Variable Expression: _dst: pointer to instance of struct S2
     1164        Variable Expression: _dst: pointer to instance of struct S24
    11651165(types:
    11661166    pointer to instance of type T (not function type)
     
    11781178        Name: *?
    11791179    ...to:
    1180         Variable Expression: _dst: pointer to instance of struct S2
     1180        Variable Expression: _dst: pointer to instance of struct S24
    11811181(types:
    11821182    pointer to instance of type T (not function type)
     
    11881188  i: instance of type T (not function type)
    11891189from aggregate:
    1190   Variable Expression: _src: instance of struct S2
     1190  Variable Expression: _src: instance of struct S24
    11911191(types:
    11921192    lvalue instance of type T (not function type)
     
    12001200  i: instance of type T (not function type)
    12011201from aggregate:
    1202   Variable Expression: _src: instance of struct S2
     1202  Variable Expression: _src: instance of struct S24
    12031203(types:
    12041204    lvalue instance of type T (not function type)
     
    12251225        Environment:
    12261226formal type is pointer to instance of type List1 (not function type)
     1227actual type is pointer to instance of type T (not function type)
     1228working on alternative:
     1229        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
     1230            with parameters
     1231              _dst: pointer to instance of struct S24
     1232              _src: instance of struct S24
     1233            returning
     1234              instance of struct S24
     1235
     1236(types:
     1237            pointer to function
     1238                with parameters
     1239                  _dst: pointer to instance of struct S24
     1240                  _src: instance of struct S24
     1241                returning
     1242                  instance of struct S24
     1243
     1244)
     1245        Environment:
     1246formal type is pointer to instance of struct S24
    12271247actual type is pointer to instance of type T (not function type)
    12281248working on alternative:
     
    12491269        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
    12501270            with parameters
    1251               _dst: pointer to instance of struct S1
    1252               _src: instance of struct S1
    1253             returning
    1254               instance of struct S1
    1255 
    1256 (types:
    1257             pointer to function
    1258                 with parameters
    1259                   _dst: pointer to instance of struct S1
    1260                   _src: instance of struct S1
    1261                 returning
    1262                   instance of struct S1
    1263 
    1264 )
    1265         Environment:
    1266 formal type is pointer to instance of struct S1
    1267 actual type is pointer to instance of type T (not function type)
    1268 working on alternative:
    1269         Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
    1270             with parameters
    12711271              _dst: pointer to instance of struct __anonymous0
    12721272              _src: instance of struct __anonymous0
     
    12871287actual type is pointer to instance of type T (not function type)
    12881288alternatives before prune:
    1289 Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct S2
    1290 (types:
    1291     lvalue instance of struct S2
     1289Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct S24
     1290(types:
     1291    lvalue instance of struct S24
    12921292)
    12931293Environment:
     
    12971297alternatives before prune:
    12981298Cost ( 0, 0, 0 ): Cast of:
    1299   Variable Expression: _src: instance of struct S2
     1299  Variable Expression: _src: instance of struct S24
    13001300
    13011301to:
    1302   instance of struct S2
    1303 (types:
    1304     instance of struct S2
     1302  instance of struct S24
     1303(types:
     1304    instance of struct S24
    13051305)
    13061306Environment:
     
    14151415decl is ?=?: automatically generated inline static function
    14161416  with parameters
    1417     _dst: pointer to instance of struct S1
    1418     _src: instance of struct S1
    1419   returning
    1420     instance of struct S1
    1421   with body
    1422     CompoundStmt
    1423               Expression Statement:
    1424           Applying untyped:
    1425               Name: ?=?
    1426           ...to:
    1427               Address of:
    1428                 Member Expression, with field:
    1429                   i: instance of type T (not function type)
    1430                 from aggregate:
    1431                   Applying untyped:
    1432                       Name: *?
    1433                   ...to:
    1434                       Variable Expression: _dst: pointer to instance of struct S1
    1435               Member Expression, with field:
    1436                 i: instance of type T (not function type)
    1437               from aggregate:
    1438                 Variable Expression: _src: instance of struct S1
    1439 
    1440               Return Statement, returning: Cast of:
    1441   Variable Expression: _src: instance of struct S1
    1442 
    1443 to:
    1444   instance of struct S1
    1445 with environment:
    1446   Types:
    1447   Non-types:
    1448 
    1449 
    1450 
    1451 newExpr is Variable Expression: ?=?: inline static function
    1452     with parameters
    1453       _dst: pointer to instance of struct S1
    1454       _src: instance of struct S1
    1455     returning
    1456       instance of struct S1
    1457 
    1458 
    1459 decl is ?=?: automatically generated inline static function
    1460   with parameters
    14611417    _dst: pointer to instance of struct S2
    14621418    _src: instance of struct S2
     
    14991455    returning
    15001456      instance of struct S2
     1457
     1458
     1459decl is ?=?: automatically generated inline static function
     1460  with parameters
     1461    _dst: pointer to instance of struct S24
     1462    _src: instance of struct S24
     1463  returning
     1464    instance of struct S24
     1465  with body
     1466    CompoundStmt
     1467              Expression Statement:
     1468          Applying untyped:
     1469              Name: ?=?
     1470          ...to:
     1471              Address of:
     1472                Member Expression, with field:
     1473                  i: instance of type T (not function type)
     1474                from aggregate:
     1475                  Applying untyped:
     1476                      Name: *?
     1477                  ...to:
     1478                      Variable Expression: _dst: pointer to instance of struct S24
     1479              Member Expression, with field:
     1480                i: instance of type T (not function type)
     1481              from aggregate:
     1482                Variable Expression: _src: instance of struct S24
     1483
     1484              Return Statement, returning: Cast of:
     1485  Variable Expression: _src: instance of struct S24
     1486
     1487to:
     1488  instance of struct S24
     1489with environment:
     1490  Types:
     1491  Non-types:
     1492
     1493
     1494
     1495newExpr is Variable Expression: ?=?: inline static function
     1496    with parameters
     1497      _dst: pointer to instance of struct S24
     1498      _src: instance of struct S24
     1499    returning
     1500      instance of struct S24
    15011501
    15021502
     
    15721572Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
    15731573    with parameters
    1574       _dst: pointer to instance of struct S1
    1575       _src: instance of struct S1
    1576     returning
    1577       instance of struct S1
    1578 
    1579 (types:
    1580     pointer to function
    1581         with parameters
    1582           _dst: pointer to instance of struct S1
    1583           _src: instance of struct S1
    1584         returning
    1585           instance of struct S1
    1586 
    1587 )
    1588 Environment:
    1589 
    1590 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
    1591     with parameters
    15921574      _dst: pointer to instance of struct S2
    15931575      _src: instance of struct S2
     
    16021584        returning
    16031585          instance of struct S2
     1586
     1587)
     1588Environment:
     1589
     1590Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
     1591    with parameters
     1592      _dst: pointer to instance of struct S24
     1593      _src: instance of struct S24
     1594    returning
     1595      instance of struct S24
     1596
     1597(types:
     1598    pointer to function
     1599        with parameters
     1600          _dst: pointer to instance of struct S24
     1601          _src: instance of struct S24
     1602        returning
     1603          instance of struct S24
    16041604
    16051605)
     
    17161716        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
    17171717            with parameters
     1718              _dst: pointer to instance of struct S24
     1719              _src: instance of struct S24
     1720            returning
     1721              instance of struct S24
     1722
     1723(types:
     1724            pointer to function
     1725                with parameters
     1726                  _dst: pointer to instance of struct S24
     1727                  _src: instance of struct S24
     1728                returning
     1729                  instance of struct S24
     1730
     1731)
     1732        Environment:
     1733formal type is pointer to instance of struct S24
     1734actual type is pointer to instance of type T (not function type)
     1735working on alternative:
     1736        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
     1737            with parameters
    17181738              _dst: pointer to instance of struct S2
    17191739              _src: instance of struct S2
     
    17321752        Environment:
    17331753formal type is pointer to instance of struct S2
    1734 actual type is pointer to instance of type T (not function type)
    1735 working on alternative:
    1736         Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
    1737             with parameters
    1738               _dst: pointer to instance of struct S1
    1739               _src: instance of struct S1
    1740             returning
    1741               instance of struct S1
    1742 
    1743 (types:
    1744             pointer to function
    1745                 with parameters
    1746                   _dst: pointer to instance of struct S1
    1747                   _src: instance of struct S1
    1748                 returning
    1749                   instance of struct S1
    1750 
    1751 )
    1752         Environment:
    1753 formal type is pointer to instance of struct S1
    17541754actual type is pointer to instance of type T (not function type)
    17551755working on alternative:
     
    19291929decl is ?=?: automatically generated inline static function
    19301930  with parameters
    1931     _dst: pointer to instance of struct S1
    1932     _src: instance of struct S1
    1933   returning
    1934     instance of struct S1
    1935   with body
    1936     CompoundStmt
    1937               Expression Statement:
    1938           Applying untyped:
    1939               Name: ?=?
    1940           ...to:
    1941               Address of:
    1942                 Member Expression, with field:
    1943                   i: instance of type T (not function type)
    1944                 from aggregate:
    1945                   Applying untyped:
    1946                       Name: *?
    1947                   ...to:
    1948                       Variable Expression: _dst: pointer to instance of struct S1
    1949               Member Expression, with field:
    1950                 i: instance of type T (not function type)
    1951               from aggregate:
    1952                 Variable Expression: _src: instance of struct S1
    1953 
    1954               Return Statement, returning: Cast of:
    1955   Variable Expression: _src: instance of struct S1
    1956 
    1957 to:
    1958   instance of struct S1
    1959 with environment:
    1960   Types:
    1961   Non-types:
    1962 
    1963 
    1964 
    1965 newExpr is Variable Expression: ?=?: inline static function
    1966     with parameters
    1967       _dst: pointer to instance of struct S1
    1968       _src: instance of struct S1
    1969     returning
    1970       instance of struct S1
    1971 
    1972 
    1973 decl is ?=?: automatically generated inline static function
    1974   with parameters
    19751931    _dst: pointer to instance of struct S2
    19761932    _src: instance of struct S2
     
    20131969    returning
    20141970      instance of struct S2
     1971
     1972
     1973decl is ?=?: automatically generated inline static function
     1974  with parameters
     1975    _dst: pointer to instance of struct S24
     1976    _src: instance of struct S24
     1977  returning
     1978    instance of struct S24
     1979  with body
     1980    CompoundStmt
     1981              Expression Statement:
     1982          Applying untyped:
     1983              Name: ?=?
     1984          ...to:
     1985              Address of:
     1986                Member Expression, with field:
     1987                  i: instance of type T (not function type)
     1988                from aggregate:
     1989                  Applying untyped:
     1990                      Name: *?
     1991                  ...to:
     1992                      Variable Expression: _dst: pointer to instance of struct S24
     1993              Member Expression, with field:
     1994                i: instance of type T (not function type)
     1995              from aggregate:
     1996                Variable Expression: _src: instance of struct S24
     1997
     1998              Return Statement, returning: Cast of:
     1999  Variable Expression: _src: instance of struct S24
     2000
     2001to:
     2002  instance of struct S24
     2003with environment:
     2004  Types:
     2005  Non-types:
     2006
     2007
     2008
     2009newExpr is Variable Expression: ?=?: inline static function
     2010    with parameters
     2011      _dst: pointer to instance of struct S24
     2012      _src: instance of struct S24
     2013    returning
     2014      instance of struct S24
    20152015
    20162016
     
    21462146Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
    21472147    with parameters
    2148       _dst: pointer to instance of struct S1
    2149       _src: instance of struct S1
    2150     returning
    2151       instance of struct S1
    2152 
    2153 (types:
    2154     pointer to function
    2155         with parameters
    2156           _dst: pointer to instance of struct S1
    2157           _src: instance of struct S1
    2158         returning
    2159           instance of struct S1
    2160 
    2161 )
    2162 Environment:
    2163 
    2164 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
    2165     with parameters
    21662148      _dst: pointer to instance of struct S2
    21672149      _src: instance of struct S2
     
    21762158        returning
    21772159          instance of struct S2
     2160
     2161)
     2162Environment:
     2163
     2164Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
     2165    with parameters
     2166      _dst: pointer to instance of struct S24
     2167      _src: instance of struct S24
     2168    returning
     2169      instance of struct S24
     2170
     2171(types:
     2172    pointer to function
     2173        with parameters
     2174          _dst: pointer to instance of struct S24
     2175          _src: instance of struct S24
     2176        returning
     2177          instance of struct S24
    21782178
    21792179)
     
    23282328        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
    23292329            with parameters
     2330              _dst: pointer to instance of struct S24
     2331              _src: instance of struct S24
     2332            returning
     2333              instance of struct S24
     2334
     2335(types:
     2336            pointer to function
     2337                with parameters
     2338                  _dst: pointer to instance of struct S24
     2339                  _src: instance of struct S24
     2340                returning
     2341                  instance of struct S24
     2342
     2343)
     2344        Environment:
     2345formal type is pointer to instance of struct S24
     2346actual type is pointer to instance of type T (not function type)
     2347working on alternative:
     2348        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
     2349            with parameters
    23302350              _dst: pointer to instance of struct S2
    23312351              _src: instance of struct S2
     
    23442364        Environment:
    23452365formal type is pointer to instance of struct S2
    2346 actual type is pointer to instance of type T (not function type)
    2347 working on alternative:
    2348         Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
    2349             with parameters
    2350               _dst: pointer to instance of struct S1
    2351               _src: instance of struct S1
    2352             returning
    2353               instance of struct S1
    2354 
    2355 (types:
    2356             pointer to function
    2357                 with parameters
    2358                   _dst: pointer to instance of struct S1
    2359                   _src: instance of struct S1
    2360                 returning
    2361                   instance of struct S1
    2362 
    2363 )
    2364         Environment:
    2365 formal type is pointer to instance of struct S1
    23662366actual type is pointer to instance of type T (not function type)
    23672367working on alternative:
     
    25192519decl is ?=?: automatically generated inline static function
    25202520  with parameters
    2521     _dst: pointer to instance of struct S1
    2522     _src: instance of struct S1
    2523   returning
    2524     instance of struct S1
    2525   with body
    2526     CompoundStmt
    2527               Expression Statement:
    2528           Applying untyped:
    2529               Name: ?=?
    2530           ...to:
    2531               Address of:
    2532                 Member Expression, with field:
    2533                   i: instance of type T (not function type)
    2534                 from aggregate:
    2535                   Applying untyped:
    2536                       Name: *?
    2537                   ...to:
    2538                       Variable Expression: _dst: pointer to instance of struct S1
    2539               Member Expression, with field:
    2540                 i: instance of type T (not function type)
    2541               from aggregate:
    2542                 Variable Expression: _src: instance of struct S1
    2543 
    2544               Return Statement, returning: Cast of:
    2545   Variable Expression: _src: instance of struct S1
    2546 
    2547 to:
    2548   instance of struct S1
    2549 with environment:
    2550   Types:
    2551   Non-types:
    2552 
    2553 
    2554 
    2555 newExpr is Variable Expression: ?=?: inline static function
    2556     with parameters
    2557       _dst: pointer to instance of struct S1
    2558       _src: instance of struct S1
    2559     returning
    2560       instance of struct S1
    2561 
    2562 
    2563 decl is ?=?: automatically generated inline static function
    2564   with parameters
    25652521    _dst: pointer to instance of struct S2
    25662522    _src: instance of struct S2
     
    26032559    returning
    26042560      instance of struct S2
     2561
     2562
     2563decl is ?=?: automatically generated inline static function
     2564  with parameters
     2565    _dst: pointer to instance of struct S24
     2566    _src: instance of struct S24
     2567  returning
     2568    instance of struct S24
     2569  with body
     2570    CompoundStmt
     2571              Expression Statement:
     2572          Applying untyped:
     2573              Name: ?=?
     2574          ...to:
     2575              Address of:
     2576                Member Expression, with field:
     2577                  i: instance of type T (not function type)
     2578                from aggregate:
     2579                  Applying untyped:
     2580                      Name: *?
     2581                  ...to:
     2582                      Variable Expression: _dst: pointer to instance of struct S24
     2583              Member Expression, with field:
     2584                i: instance of type T (not function type)
     2585              from aggregate:
     2586                Variable Expression: _src: instance of struct S24
     2587
     2588              Return Statement, returning: Cast of:
     2589  Variable Expression: _src: instance of struct S24
     2590
     2591to:
     2592  instance of struct S24
     2593with environment:
     2594  Types:
     2595  Non-types:
     2596
     2597
     2598
     2599newExpr is Variable Expression: ?=?: inline static function
     2600    with parameters
     2601      _dst: pointer to instance of struct S24
     2602      _src: instance of struct S24
     2603    returning
     2604      instance of struct S24
    26052605
    26062606
     
    27362736Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
    27372737    with parameters
    2738       _dst: pointer to instance of struct S1
    2739       _src: instance of struct S1
    2740     returning
    2741       instance of struct S1
    2742 
    2743 (types:
    2744     pointer to function
    2745         with parameters
    2746           _dst: pointer to instance of struct S1
    2747           _src: instance of struct S1
    2748         returning
    2749           instance of struct S1
    2750 
    2751 )
    2752 Environment:
    2753 
    2754 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
    2755     with parameters
    27562738      _dst: pointer to instance of struct S2
    27572739      _src: instance of struct S2
     
    27662748        returning
    27672749          instance of struct S2
     2750
     2751)
     2752Environment:
     2753
     2754Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
     2755    with parameters
     2756      _dst: pointer to instance of struct S24
     2757      _src: instance of struct S24
     2758    returning
     2759      instance of struct S24
     2760
     2761(types:
     2762    pointer to function
     2763        with parameters
     2764          _dst: pointer to instance of struct S24
     2765          _src: instance of struct S24
     2766        returning
     2767          instance of struct S24
    27682768
    27692769)
     
    29542954        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
    29552955            with parameters
     2956              _dst: pointer to instance of struct S24
     2957              _src: instance of struct S24
     2958            returning
     2959              instance of struct S24
     2960
     2961(types:
     2962            pointer to function
     2963                with parameters
     2964                  _dst: pointer to instance of struct S24
     2965                  _src: instance of struct S24
     2966                returning
     2967                  instance of struct S24
     2968
     2969)
     2970        Environment:
     2971formal type is pointer to instance of struct S24
     2972actual type is pointer to pointer to instance of struct node
     2973with parameters
     2974  instance of type T (not function type)
     2975
     2976working on alternative:
     2977        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
     2978            with parameters
    29562979              _dst: pointer to instance of struct S2
    29572980              _src: instance of struct S2
     
    29702993        Environment:
    29712994formal type is pointer to instance of struct S2
    2972 actual type is pointer to pointer to instance of struct node
    2973 with parameters
    2974   instance of type T (not function type)
    2975 
    2976 working on alternative:
    2977         Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
    2978             with parameters
    2979               _dst: pointer to instance of struct S1
    2980               _src: instance of struct S1
    2981             returning
    2982               instance of struct S1
    2983 
    2984 (types:
    2985             pointer to function
    2986                 with parameters
    2987                   _dst: pointer to instance of struct S1
    2988                   _src: instance of struct S1
    2989                 returning
    2990                   instance of struct S1
    2991 
    2992 )
    2993         Environment:
    2994 formal type is pointer to instance of struct S1
    29952995actual type is pointer to pointer to instance of struct node
    29962996with parameters
     
    31793179decl is ?=?: automatically generated inline static function
    31803180  with parameters
    3181     _dst: pointer to instance of struct S1
    3182     _src: instance of struct S1
    3183   returning
    3184     instance of struct S1
    3185   with body
    3186     CompoundStmt
    3187               Expression Statement:
    3188           Applying untyped:
    3189               Name: ?=?
    3190           ...to:
    3191               Address of:
    3192                 Member Expression, with field:
    3193                   i: instance of type T (not function type)
    3194                 from aggregate:
    3195                   Applying untyped:
    3196                       Name: *?
    3197                   ...to:
    3198                       Variable Expression: _dst: pointer to instance of struct S1
    3199               Member Expression, with field:
    3200                 i: instance of type T (not function type)
    3201               from aggregate:
    3202                 Variable Expression: _src: instance of struct S1
    3203 
    3204               Return Statement, returning: Cast of:
    3205   Variable Expression: _src: instance of struct S1
    3206 
    3207 to:
    3208   instance of struct S1
    3209 with environment:
    3210   Types:
    3211   Non-types:
    3212 
    3213 
    3214 
    3215 newExpr is Variable Expression: ?=?: inline static function
    3216     with parameters
    3217       _dst: pointer to instance of struct S1
    3218       _src: instance of struct S1
    3219     returning
    3220       instance of struct S1
    3221 
    3222 
    3223 decl is ?=?: automatically generated inline static function
    3224   with parameters
    32253181    _dst: pointer to instance of struct S2
    32263182    _src: instance of struct S2
     
    32633219    returning
    32643220      instance of struct S2
     3221
     3222
     3223decl is ?=?: automatically generated inline static function
     3224  with parameters
     3225    _dst: pointer to instance of struct S24
     3226    _src: instance of struct S24
     3227  returning
     3228    instance of struct S24
     3229  with body
     3230    CompoundStmt
     3231              Expression Statement:
     3232          Applying untyped:
     3233              Name: ?=?
     3234          ...to:
     3235              Address of:
     3236                Member Expression, with field:
     3237                  i: instance of type T (not function type)
     3238                from aggregate:
     3239                  Applying untyped:
     3240                      Name: *?
     3241                  ...to:
     3242                      Variable Expression: _dst: pointer to instance of struct S24
     3243              Member Expression, with field:
     3244                i: instance of type T (not function type)
     3245              from aggregate:
     3246                Variable Expression: _src: instance of struct S24
     3247
     3248              Return Statement, returning: Cast of:
     3249  Variable Expression: _src: instance of struct S24
     3250
     3251to:
     3252  instance of struct S24
     3253with environment:
     3254  Types:
     3255  Non-types:
     3256
     3257
     3258
     3259newExpr is Variable Expression: ?=?: inline static function
     3260    with parameters
     3261      _dst: pointer to instance of struct S24
     3262      _src: instance of struct S24
     3263    returning
     3264      instance of struct S24
    32653265
    32663266
     
    34413441Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
    34423442    with parameters
    3443       _dst: pointer to instance of struct S1
    3444       _src: instance of struct S1
    3445     returning
    3446       instance of struct S1
    3447 
    3448 (types:
    3449     pointer to function
    3450         with parameters
    3451           _dst: pointer to instance of struct S1
    3452           _src: instance of struct S1
    3453         returning
    3454           instance of struct S1
    3455 
    3456 )
    3457 Environment:
    3458 
    3459 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
    3460     with parameters
    34613443      _dst: pointer to instance of struct S2
    34623444      _src: instance of struct S2
     
    34713453        returning
    34723454          instance of struct S2
     3455
     3456)
     3457Environment:
     3458
     3459Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
     3460    with parameters
     3461      _dst: pointer to instance of struct S24
     3462      _src: instance of struct S24
     3463    returning
     3464      instance of struct S24
     3465
     3466(types:
     3467    pointer to function
     3468        with parameters
     3469          _dst: pointer to instance of struct S24
     3470          _src: instance of struct S24
     3471        returning
     3472          instance of struct S24
    34733473
    34743474)
     
    36193619            Name: *?
    36203620        ...to:
    3621             Variable Expression: _dst: pointer to instance of struct S1
     3621            Variable Expression: _dst: pointer to instance of struct S2
    36223622    Member Expression, with field:
    36233623      i: instance of type T (not function type)
    36243624    from aggregate:
    3625       Variable Expression: _src: instance of struct S1
     3625      Variable Expression: _src: instance of struct S2
    36263626
    36273627Error: No reasonable alternatives for expression Applying untyped:
     
    36353635            Name: *?
    36363636        ...to:
    3637             Variable Expression: _dst: pointer to instance of struct S2
     3637            Variable Expression: _dst: pointer to instance of struct S24
    36383638    Member Expression, with field:
    36393639      i: instance of type T (not function type)
    36403640    from aggregate:
    3641       Variable Expression: _src: instance of struct S2
     3641      Variable Expression: _src: instance of struct S24
    36423642
    36433643Error: No reasonable alternatives for expression Applying untyped:
  • src/Tests/Expect-s/Attributes.txt

    rea9b9d3 rb5b0907  
    1 Error at line 8 reading token "*"
     1Error at line 58 reading token "*"
  • src/Tests/Expect-s/TypeGenerator.txt

    rea9b9d3 rb5b0907  
    44Adding type T
    55Adding function ?+?
     6--- Entering scope
     7--- Leaving scope containing
     8Adding function ?=?
    69--- Entering scope
    710--- Leaving scope containing
     
    3336Adding object p
    3437--- Leaving scope containing
    35 Adding fwd decl for struct S1
    36 --- Entering scope
    37 --- Entering scope
    38 --- Leaving scope containing
    39 Adding type T
    40 --- Leaving scope containing
    41 T
    42 Adding struct S1
    43 Adding fwd decl for struct S1
    44 --- Entering scope
    45 --- Entering scope
    46 --- Leaving scope containing
    47 Adding type T
    48 Adding object i
    49 --- Leaving scope containing
    50 T
    51 Adding struct S1
    52 --- Entering scope
    53 --- Leaving scope containing
    54 Adding object v1
    55 --- Entering scope
    56 --- Leaving scope containing
    57 Adding object p
    5838Adding fwd decl for struct S2
    5939--- Entering scope
     
    6545T
    6646Adding struct S2
     47Adding struct S3 from implicit forward declaration
     48--- Entering scope
     49--- Leaving scope containing
     50Adding object v1
     51--- Entering scope
     52--- Leaving scope containing
     53Adding object p
     54Adding fwd decl for struct S24
     55--- Entering scope
     56--- Entering scope
     57--- Leaving scope containing
     58Adding type T
     59Adding object i
     60--- Leaving scope containing
     61T
     62Adding struct S24
    6763--- Entering scope
    6864--- Leaving scope containing
  • src/Tests/Expect-v/AsmName.txt

    rea9b9d3 rb5b0907  
    1 x: auto signed int
     1x: extern signed int
    22fred: function
    33    with parameters
  • src/Tests/Expect-v/Attributes.txt

    rea9b9d3 rb5b0907  
    1 Error at line 8 reading token "*"
     1Error at line 58 reading token "*"
  • src/Tests/Expect-v/Context.txt

    rea9b9d3 rb5b0907  
    5454
    5555
    56         Declaration of x: auto type
     56        Declaration of x: extern type
    5757        Declaration of ?=?: automatically generated function
    5858            with parameters
     
    6262              instance of type x (not function type)
    6363
    64         Declaration of y: auto type
     64        Declaration of y: extern type
    6565          with assertions
    6666            instance of context has_r
  • src/Tests/Expect-v/Functions.txt

    rea9b9d3 rb5b0907  
    165165      CompoundStmt
    166166
    167 fII3: auto function
    168     with parameters
    169       i: signed int
    170     returning
    171       signed int
    172     with body
    173       CompoundStmt
    174 
    175 fII4: auto function
     167fII3: extern function
     168    with parameters
     169      i: signed int
     170    returning
     171      signed int
     172    with body
     173      CompoundStmt
     174
     175fII4: extern function
    176176    with parameters
    177177      i: signed int
     
    249249      CompoundStmt
    250250
    251 fO4: auto function
     251fO4: extern function
    252252      accepting unspecified arguments
    253253    returning
     
    260260      CompoundStmt
    261261
    262 fO5: auto function
     262fO5: extern function
    263263      accepting unspecified arguments
    264264    returning
  • src/Tests/Expect-v/TypeGenerator.txt

    rea9b9d3 rb5b0907  
    140140      signed int
    141141
    142 struct S1
    143     with parameters
    144       T: type
    145 
    146 struct S1
    147     with parameters
    148       T: type
    149 
    150     with members
    151       i: instance of type T (not function type)
    152 
    153 ?=?: automatically generated inline static function
    154     with parameters
    155       _dst: pointer to instance of struct S1
    156       _src: instance of struct S1
    157     returning
    158       instance of struct S1
    159     with body
    160       CompoundStmt
    161                   Expression Statement:
    162             Applying untyped:
    163                 Name: ?=?
    164             ...to:
    165                 Address of:
    166                   Member Expression, with field:
    167                     i: instance of type T (not function type)
    168                   from aggregate:
    169                     Applying untyped:
    170                         Name: *?
    171                     ...to:
    172                         Variable Expression: _dst: pointer to instance of struct S1
    173                 Member Expression, with field:
    174                   i: instance of type T (not function type)
    175                 from aggregate:
    176                   Variable Expression: _src: instance of struct S1
    177 
    178                   Return Statement, returning: Variable Expression: _src: instance of struct S1
    179 
    180 
    181 
    182 v1: instance of struct S1
    183   with parameters
    184     signed int
    185 
    186 p: pointer to instance of struct S1
    187   with parameters
    188     signed int
    189 
    190142struct S2
    191143    with parameters
     
    224176
    225177
    226 v2: instance of struct S2
     178v1: instance of struct S3
     179  with parameters
     180    signed int
     181
     182p: pointer to instance of struct S3
     183  with parameters
     184    signed int
     185
     186struct S24
     187    with parameters
     188      T: type
     189
     190    with members
     191      i: instance of type T (not function type)
     192
     193?=?: automatically generated inline static function
     194    with parameters
     195      _dst: pointer to instance of struct S24
     196      _src: instance of struct S24
     197    returning
     198      instance of struct S24
     199    with body
     200      CompoundStmt
     201                  Expression Statement:
     202            Applying untyped:
     203                Name: ?=?
     204            ...to:
     205                Address of:
     206                  Member Expression, with field:
     207                    i: instance of type T (not function type)
     208                  from aggregate:
     209                    Applying untyped:
     210                        Name: *?
     211                    ...to:
     212                        Variable Expression: _dst: pointer to instance of struct S24
     213                Member Expression, with field:
     214                  i: instance of type T (not function type)
     215                from aggregate:
     216                  Variable Expression: _src: instance of struct S24
     217
     218                  Return Statement, returning: Variable Expression: _src: instance of struct S24
     219
     220
     221
     222v2: instance of struct S24
    227223  with parameters
    228224    signed int
  • src/Tests/TypeGenerator.c

    rea9b9d3 rb5b0907  
    1111[int] h( * List1( int ) p );                                                    // new declaration syntax
    1212
    13 struct( type T ) S1;                                                                    // forward definition
    14 struct( type T ) S1 { T i; };                                                   // actual definition
    15 struct( int ) S1 v1, *p;                                                                // expansion and instantiation
    16 struct( type T )( int ) S2 { T i; } v2;                                 // actual definition, expansion and instantiation
     13struct( type T ) S2 { T i; };                                                   // actual definition
     14struct( int ) S3 v1, *p;                                                                // expansion and instantiation
     15struct( type T )( int ) S24 { T i; } v2;                                // actual definition, expansion and instantiation
    1716struct( type T )( int ) { T i; } v2;                                    // anonymous actual definition, expansion and instantiation
    1817
Note: See TracChangeset for help on using the changeset viewer.