Ignore:
Timestamp:
Oct 23, 2017, 5:39:11 PM (6 years ago)
Author:
Rob Schluntz <rschlunt@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
Children:
f53836b
Parents:
aeef2bd
git-author:
Rob Schluntz <rschlunt@…> (10/23/17 17:37:05)
git-committer:
Rob Schluntz <rschlunt@…> (10/23/17 17:39:11)
Message:

Fix array-to-pointer decay to only decay one level

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ResolvExpr/AdjustExprType.cc

    raeef2bd r954ef5b  
    2828                void premutate( BasicType * ) { visit_children = false; }
    2929                void premutate( PointerType * ) { visit_children = false; }
     30                void premutate( ArrayType * ) { visit_children = false; }
    3031                void premutate( FunctionType * ) { visit_children = false; }
    3132                void premutate( StructInstType * ) { visit_children = false; }
     
    5960
    6061        Type * AdjustExprType::postmutate( ArrayType * arrayType ) {
    61                 // need to recursively mutate the base type in order for multi-dimensional arrays to work.
    6262                PointerType *pointerType = new PointerType( arrayType->get_qualifiers(), arrayType->base );
    6363                arrayType->base = nullptr;
Note: See TracChangeset for help on using the changeset viewer.