Changes in / [610194e:79caea8]


Ignore:
Location:
src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/parser.yy

    r610194e r79caea8  
    23072307                { $$ = new ExpressionNode( new TypeExpr( maybeMoveBuildType( $1 ) ) ); }
    23082308        | assignment_expression
    2309                 { SemanticError( yylloc, toString("Expression generic parameters are currently unimplemented: ", $1->build()) ); $$ = nullptr; }
    23102309        | type_list ',' type
    23112310                { $$ = (ExpressionNode *)( $1->set_last( new ExpressionNode( new TypeExpr( maybeMoveBuildType( $3 ) ) ) ) ); }
    23122311        | type_list ',' assignment_expression
    2313                 { SemanticError( yylloc, toString("Expression generic parameters are currently unimplemented: ", $3->build()) ); $$ = nullptr; }
    2314                 // { $$ = (ExpressionNode *)( $1->set_last( $3 )); }
     2312                { $$ = (ExpressionNode *)( $1->set_last( $3 )); }
    23152313        ;
    23162314
  • src/ResolvExpr/AlternativeFinder.cc

    r610194e r79caea8  
    482482        template< typename ForwardIterator, typename OutputIterator >
    483483        void inferRecursive( ForwardIterator begin, ForwardIterator end, const Alternative &newAlt, OpenVarSet &openVars, const SymTab::Indexer &decls, const AssertionSet &newNeed, int level, const SymTab::Indexer &indexer, OutputIterator out ) {
    484                 if ( newAlt.cost == Cost::infinity ) return; // don't proceed down this dead end
    485484                if ( begin == end ) {
    486485                        if ( newNeed.empty() ) {
     
    11861185                                std::cerr << "bindings are:" << std::endl;
    11871186                                withFunc.env.print( std::cerr, 8 );
    1188                                 std::cerr << "cost is: " << withFunc.cost << std::endl;
    11891187                                std::cerr << "cost of conversion is:" << cvtCost << std::endl;
    11901188                        )
  • src/ResolvExpr/CommonType.cc

    r610194e r79caea8  
    267267                                                result = otherPointer->clone();
    268268                                        } // if
    269                                         strict_dynamic_cast<PointerType*>(result)->base->get_qualifiers() = tq1 | tq2;
     269                                        result->get_qualifiers() = tq1 | tq2;
    270270                                } else {
    271271                                        /// std::cerr << "place for ptr-to-type" << std::endl;
     
    304304                                                result = otherRef->clone();
    305305                                        } // if
    306                                         strict_dynamic_cast<ReferenceType*>(result)->base->get_qualifiers() = tq1 | tq2;
     306                                        result->get_qualifiers() = tq1 | tq2;
    307307                                } else {
    308308                                        /// std::cerr << "place for ptr-to-type" << std::endl;
  • src/SymTab/FixFunction.cc

    r610194e r79caea8  
    3030                // can't delete function type because it may contain assertions, so transfer ownership to new object
    3131                ObjectDecl *pointer = new ObjectDecl( functionDecl->name, functionDecl->get_storageClasses(), functionDecl->linkage, nullptr, new PointerType( Type::Qualifiers(), functionDecl->type ), nullptr, functionDecl->attributes );
    32                 pointer->location = functionDecl->location;
    3332                functionDecl->attributes.clear();
    3433                functionDecl->type = nullptr;
     
    4443                // need to recursively mutate the base type in order for multi-dimensional arrays to work.
    4544                PointerType *pointerType = new PointerType( arrayType->get_qualifiers(), arrayType->base, arrayType->dimension, arrayType->isVarLen, arrayType->isStatic );
    46                 pointerType->location = arrayType->location;
    4745                arrayType->base = nullptr;
    4846                arrayType->dimension = nullptr;
Note: See TracChangeset for help on using the changeset viewer.