Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/parser.yy

    r8bea701 rca33b15  
    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.