Changeset 72457b6


Ignore:
Timestamp:
Jul 24, 2017, 9:40:43 AM (4 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
aaron-thesis, arm-eh, cleanup-dtors, deferred_resn, demangler, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, resolv-new, with_gc
Children:
764db43
Parents:
fe97a7d8
Message:

add optional virtual keyword in cast

Location:
src/Parser
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/lex.ll

    rfe97a7d8 r72457b6  
    1010 * Created On       : Sat Sep 22 08:58:10 2001
    1111 * Last Modified By : Peter A. Buhr
    12  * Last Modified On : Tue Jul 18 07:11:48 2017
    13  * Update Count     : 544
     12 * Last Modified On : Mon Jul 24 08:27:23 2017
     13 * Update Count     : 545
    1414 */
    1515
     
    271271unsigned                { KEYWORD_RETURN(UNSIGNED); }
    272272__builtin_va_list { KEYWORD_RETURN(VALIST); }                   // GCC
     273virtual                 { KEYWORD_RETURN(VIRTUAL); }                    // CFA
    273274void                    { KEYWORD_RETURN(VOID); }
    274275volatile                { KEYWORD_RETURN(VOLATILE); }
  • src/Parser/parser.yy

    rfe97a7d8 r72457b6  
    99// Author           : Peter A. Buhr
    1010// Created On       : Sat Sep  1 20:22:55 2001
    11 // Last Modified By : Andrew Beach
    12 // Last Modified On : Mon Jul 17 12:17:00 2017
    13 // Update Count     : 2455
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Mon Jul 24 09:01:14 2017
     13// Update Count     : 2463
    1414//
    1515
     
    118118%token RESTRICT                                                                                 // C99
    119119%token ATOMIC                                                                                   // C11
    120 %token FORALL LVALUE MUTEX                                                              // CFA
    121 %token VOID CHAR SHORT INT LONG FLOAT DOUBLE SIGNED UNSIGNED ZERO_T ONE_T
     120%token FORALL LVALUE MUTEX VIRTUAL                                              // CFA
     121%token VOID CHAR SHORT INT LONG FLOAT DOUBLE SIGNED UNSIGNED
     122%token BOOL COMPLEX IMAGINARY                                                   // C99
     123%token ZERO_T ONE_T                                                                             // CFA
    122124%token VALIST                                                                                   // GCC
    123 %token BOOL COMPLEX IMAGINARY                                                   // C99
    124125%token TYPEOF LABEL                                                                             // GCC
    125126%token ENUM STRUCT UNION
     
    570571        | '(' type_no_function ')' cast_expression
    571572                { $$ = new ExpressionNode( build_cast( $2, $4 ) ); }
     573                // VIRTUAL cannot be opt because of look ahead issues
     574        | '(' VIRTUAL ')' cast_expression
     575                { $$ = new ExpressionNode( build_cast( nullptr, $4 ) ); }
     576        | '(' VIRTUAL type_no_function ')' cast_expression
     577                { $$ = new ExpressionNode( build_cast( $3, $5 ) ); }
    572578//      | '(' type_no_function ')' tuple
    573579//              { $$ = new ExpressionNode( build_cast( $2, $4 ) ); }
     
    15151521        | IMAGINARY                                                                                     // C99
    15161522                { $$ = DeclarationNode::newComplexType( DeclarationNode::Imaginary ); }
    1517         | VALIST                                                                                        // GCC, __builtin_va_list
    1518                 { $$ = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); }
    15191523        | ZERO_T
    15201524                { $$ = DeclarationNode::newBuiltinType( DeclarationNode::Zero ); }
    15211525        | ONE_T
    15221526                { $$ = DeclarationNode::newBuiltinType( DeclarationNode::One ); }
     1527        | VALIST                                                                                        // GCC, __builtin_va_list
     1528                { $$ = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); }
    15231529        ;
    15241530
Note: See TracChangeset for help on using the changeset viewer.