Changeset 9bb6c5f for libcfa/prelude


Ignore:
Timestamp:
Sep 5, 2024, 3:57:05 PM (17 months ago)
Author:
JiadaL <j82liang@…>
Branches:
master
Children:
29c8675
Parents:
ad47ec4 (diff), 508cff0 (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' of plg.uwaterloo.ca:software/cfa/cfa-cc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/prelude/prototypes.awk

    rad47ec4 r9bb6c5f  
    103103
    104104        for ( prototype in prototypes ) {
    105                 # printf( "//\"%s\"\n", prototype )
    106105                if ( index( "BT_LAST", prototype ) == 1 ) {
    107106                        continue
     
    126125
    127126                # generate function parameter types as macro
    128                 if ( index( prototype, "VAR" ) != 2 ) {                 # C-style empty parameters ?
    129                         for ( p = 0; length( prototype ) > 0; p += 1 ) { # until all parameters types are removed
    130                                 sub( "_", "", prototype)                                # remove "_"
    131                                 printf( ", ", type )
    132                                 temp = prototype
    133                                 for ( t = 0; t < N; t += 1 ) {                  # find longest match
    134                                         type = types[t];
    135                                         if ( index( prototype, type ) == 1 ) { # found match
    136                                                 printf( "BT_%s", type )
    137                                                 sub( type, "", prototype )
    138                                                 break;
    139                                         } # if
    140                                 } # for
    141                                 if ( temp == prototype ) {                              # no match found for parameter in macro table
    142                                         printf( "\n********** MISSING TYPE \"%s\" **********\n", prototype )
    143                                         exit 0
     127                for ( p = 0; length( prototype ) > 0; p += 1 ) { # until all parameters types are removed
     128                        sub( "_", "", prototype)                                # remove "_"
     129                        printf( ", ", type )
     130                        temp = prototype
     131                        for ( t = 0; t < N; t += 1 ) {                  # find longest match
     132                                type = types[t];
     133                                if ( index( prototype, type ) == 1 ) { # found match
     134                                        printf( "BT_%s", type )
     135                                        sub( type, "", prototype )
     136                                        break;
    144137                                } # if
    145138                        } # for
    146                 } # if
     139                        if ( temp == prototype ) {                              # no match found for parameter in macro table
     140                                printf( "\n********** MISSING TYPE \"%s\" **********\n", prototype )
     141                                exit 0
     142                        } # if
     143                } # for
    147144                printf( ")\n" )
    148145        } # for
Note: See TracChangeset for help on using the changeset viewer.