Changeset c60ef639


Ignore:
Timestamp:
Mar 31, 2021, 2:13:54 PM (3 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
826ee62
Parents:
c7c178b (diff), ca33b15 (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
  • src/Parser/parser.yy

    rc7c178b rc60ef639  
    1010// Created On       : Sat Sep  1 20:22:55 2001
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun Mar 28 18:53:34 2021
    13 // Update Count     : 4940
     12// Last Modified On : Tue Mar 30 18:39:23 2021
     13// Update Count     : 4965
    1414//
    1515
     
    12361236        | comma_expression ';' comma_expression inclexcl comma_expression '~' comma_expression // CFA
    12371237                { $$ = forCtrl( $3, $1, $3->clone(), $4, $5, $7 ); }
     1238
     1239        | comma_expression ';' TYPEDEFname                                      // CFA, array type
     1240                {
     1241                        SemanticError( yylloc, "Array interator is currently unimplemented." ); $$ = nullptr;
     1242                        $$ = forCtrl( new ExpressionNode( build_varref( $3 ) ), $1, nullptr, OperKinds::Range, nullptr, nullptr );
     1243                }
    12381244
    12391245                // There is a S/R conflicit if ~ and -~ are factored out.
     
    22272233        | ENUM '(' cfa_abstract_parameter_declaration ')' attribute_list_opt '{' enumerator_list comma_opt '}'
    22282234                {
    2229                         if ( $3->storageClasses.val != 0 || $3->type->qualifiers.val != 0 ) { SemanticError( yylloc, "storage-class and CV qualifiers are not meaningful for constants." ); }
     2235                        if ( $3->storageClasses.val != 0 || $3->type->qualifiers.val != 0 ) { SemanticError( yylloc, "storage-class and CV qualifiers are not meaningful for enumeration constants, which are const." ); }
    22302236                        SemanticError( yylloc, "Typed enumeration is currently unimplemented." ); $$ = nullptr;
    22312237                }
    22322238        | ENUM '(' cfa_abstract_parameter_declaration ')' attribute_list_opt identifier attribute_list_opt
    22332239                {
    2234                         if ( $3->storageClasses.val != 0 || $3->type->qualifiers.val != 0 ) { SemanticError( yylloc, "storage-class and CV qualifiers are not meaningful for constants." ); }
     2240                        if ( $3->storageClasses.val != 0 || $3->type->qualifiers.val != 0 ) { SemanticError( yylloc, "storage-class and CV qualifiers are not meaningful for enumeration constants, which are const." ); }
    22352241                        typedefTable.makeTypedef( *$6 );
    22362242                }
     
    22412247        | ENUM '(' cfa_abstract_parameter_declaration ')' attribute_list_opt typedef_name attribute_list_opt '{' enumerator_list comma_opt '}'
    22422248                {
    2243                         if ( $3->storageClasses.val != 0 || $3->type->qualifiers.val != 0 ) { SemanticError( yylloc, "storage-class and CV qualifiers are not meaningful for constants." ); }
     2249                        if ( $3->storageClasses.val != 0 || $3->type->qualifiers.val != 0 ) { SemanticError( yylloc, "storage-class and CV qualifiers are not meaningful for enumeration constants, which are const." ); }
    22442250                        typedefTable.makeTypedef( *$6->name );
    22452251                        SemanticError( yylloc, "Typed enumeration is currently unimplemented." ); $$ = nullptr;
Note: See TracChangeset for help on using the changeset viewer.