Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ResolvExpr/AlternativeFinder.cc

    r85517ddb r31468a2  
    4242#include "Common/utility.h"
    4343#include "InitTweak/InitTweak.h"
    44 #include "ResolveTypeof.h"
    4544
    4645extern bool resolvep;
     
    708707        void AlternativeFinder::visit( CastExpr *castExpr ) {
    709708                for ( std::list< Type* >::iterator i = castExpr->get_results().begin(); i != castExpr->get_results().end(); ++i ) {
    710                         *i = resolveTypeof( *i, indexer );
    711709                        SymTab::validateType( *i, &indexer );
    712710                        adjustExprType( *i, env, indexer );
     
    797795
    798796        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 ) );
     797                alternatives.push_back( Alternative( variableExpr->clone(), env, Cost::zero ) );
    802798        }
    803799
     
    808804        void AlternativeFinder::visit( SizeofExpr *sizeofExpr ) {
    809805                if ( sizeofExpr->get_isType() ) {
    810                         // xxx - resolveTypeof?
    811806                        alternatives.push_back( Alternative( sizeofExpr->clone(), env, Cost::zero ) );
    812807                } else {
     
    828823        void AlternativeFinder::visit( AlignofExpr *alignofExpr ) {
    829824                if ( alignofExpr->get_isType() ) {
    830                         // xxx - resolveTypeof?
    831825                        alternatives.push_back( Alternative( alignofExpr->clone(), env, Cost::zero ) );
    832826                } else {
     
    862856        void AlternativeFinder::visit( UntypedOffsetofExpr *offsetofExpr ) {
    863857                AlternativeFinder funcFinder( indexer, env );
    864                 // xxx - resolveTypeof?
    865858                if ( StructInstType *structInst = dynamic_cast< StructInstType* >( offsetofExpr->get_type() ) ) {
    866859                        addOffsetof( structInst, offsetofExpr->get_member() );
Note: See TracChangeset for help on using the changeset viewer.