Changeset d1d17f5


Ignore:
Timestamp:
Jun 1, 2015, 1:58:19 PM (9 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:
6db50d5, 6e7e2b36
Parents:
db82596
Message:

prefer unsigned long int expressions for variable length array declarations

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ResolvExpr/Resolver.cc

    rdb82596 rd1d17f5  
    99// Author           : Richard C. Bilson
    1010// Created On       : Sun May 17 12:17:01 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun May 17 12:18:17 2015
    13 // Update Count     : 2
     11// Last Modified By : Rob Schluntz
     12// Last Modified On : Mon Jun 01 13:47:16 2015
     13// Update Count     : 21
    1414//
    1515
     
    157157                initContext = new_type;
    158158                SymTab::Indexer::visit( objectDecl );
     159
     160                if ( ArrayType * at = dynamic_cast< ArrayType * >( new_type ) ){
     161                        BasicType arrayLenType = BasicType( Type::Qualifiers(), BasicType::LongUnsignedInt );
     162                        CastExpr *castExpr = new CastExpr( at->get_dimension(), arrayLenType.clone() );
     163                        Expression *newExpr = findSingleExpression( castExpr, *this );
     164                        delete at->get_dimension();
     165                        at->set_dimension( newExpr );
     166                }
    159167        }
    160168 
Note: See TracChangeset for help on using the changeset viewer.