Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ResolvExpr/AlternativeFinder.cc

    r85517ddb r79970ed  
    3838#include "SynTree/TypeSubstitution.h"
    3939#include "SymTab/Validate.h"
     40#include "Designators/Processor.h"
    4041#include "Tuples/TupleAssignment.h"
    4142#include "Tuples/NameMatcher.h"
    4243#include "Common/utility.h"
    4344#include "InitTweak/InitTweak.h"
    44 #include "ResolveTypeof.h"
    4545
    4646extern bool resolvep;
     
    708708        void AlternativeFinder::visit( CastExpr *castExpr ) {
    709709                for ( std::list< Type* >::iterator i = castExpr->get_results().begin(); i != castExpr->get_results().end(); ++i ) {
    710                         *i = resolveTypeof( *i, indexer );
    711710                        SymTab::validateType( *i, &indexer );
    712711                        adjustExprType( *i, env, indexer );
     
    797796
    798797        void AlternativeFinder::visit( VariableExpr *variableExpr ) {
    799                 // not sufficient to clone here, because variable's type may have changed
    800                 // since the VariableExpr was originally created.
    801                 alternatives.push_back( Alternative( new VariableExpr( variableExpr->get_var() ), env, Cost::zero ) );
     798                alternatives.push_back( Alternative( variableExpr->clone(), env, Cost::zero ) );
    802799        }
    803800
     
    808805        void AlternativeFinder::visit( SizeofExpr *sizeofExpr ) {
    809806                if ( sizeofExpr->get_isType() ) {
    810                         // xxx - resolveTypeof?
    811807                        alternatives.push_back( Alternative( sizeofExpr->clone(), env, Cost::zero ) );
    812808                } else {
     
    828824        void AlternativeFinder::visit( AlignofExpr *alignofExpr ) {
    829825                if ( alignofExpr->get_isType() ) {
    830                         // xxx - resolveTypeof?
    831826                        alternatives.push_back( Alternative( alignofExpr->clone(), env, Cost::zero ) );
    832827                } else {
     
    862857        void AlternativeFinder::visit( UntypedOffsetofExpr *offsetofExpr ) {
    863858                AlternativeFinder funcFinder( indexer, env );
    864                 // xxx - resolveTypeof?
    865859                if ( StructInstType *structInst = dynamic_cast< StructInstType* >( offsetofExpr->get_type() ) ) {
    866860                        addOffsetof( structInst, offsetofExpr->get_member() );
Note: See TracChangeset for help on using the changeset viewer.