Changes in src/Tuples/TupleAssignment.cc [d29fa5f:5fb6830]
- File:
-
- 1 edited
-
src/Tuples/TupleAssignment.cc (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Tuples/TupleAssignment.cc
rd29fa5f r5fb6830 14 14 // 15 15 16 #include <algorithm> // for transform 17 #include <cassert> // for assert 18 #include <iterator> // for back_insert_iterator, back... 19 #include <list> // for _List_const_iterator, _Lis... 20 #include <memory> // for unique_ptr, allocator_trai... 21 #include <string> // for string 22 16 #include "ResolvExpr/AlternativeFinder.h" 17 #include "ResolvExpr/Alternative.h" 18 #include "ResolvExpr/typeops.h" 19 #include "SynTree/Expression.h" 20 #include "SynTree/Initializer.h" 21 #include "Tuples.h" 22 #include "Explode.h" 23 #include "Common/SemanticError.h" 23 24 #include "CodeGen/OperatorTable.h" 24 #include "Common/UniqueName.h" // for UniqueName 25 #include "Common/utility.h" // for zipWith 26 #include "Explode.h" // for explode 27 #include "InitTweak/GenInit.h" // for genCtorInit 28 #include "InitTweak/InitTweak.h" // for getPointerBase, isAssignment 29 #include "Parser/LinkageSpec.h" // for Cforall 30 #include "ResolvExpr/Alternative.h" // for AltList, Alternative 31 #include "ResolvExpr/AlternativeFinder.h" // for AlternativeFinder, simpleC... 32 #include "ResolvExpr/Cost.h" // for Cost 33 #include "ResolvExpr/Resolver.h" // for resolveCtorInit 34 #include "ResolvExpr/TypeEnvironment.h" // for TypeEnvironment 35 #include "SynTree/Declaration.h" // for ObjectDecl 36 #include "SynTree/Expression.h" // for Expression, CastExpr, Name... 37 #include "SynTree/Initializer.h" // for ConstructorInit, SingleInit 38 #include "SynTree/Statement.h" // for ExprStmt 39 #include "SynTree/Type.h" // for Type, Type::Qualifiers 40 #include "SynTree/TypeSubstitution.h" // for TypeSubstitution 41 #include "SynTree/Visitor.h" // for Visitor 25 #include "InitTweak/InitTweak.h" 26 #include "InitTweak/GenInit.h" 27 28 #include <functional> 29 #include <algorithm> 30 #include <iterator> 31 #include <iostream> 32 #include <cassert> 33 #include <set> 34 #include <unordered_set> 42 35 43 36 namespace Tuples { … … 84 77 bool isTuple( Expression *expr ) { 85 78 if ( ! expr ) return false; 86 assert( expr-> result);79 assert( expr->has_result() ); 87 80 return dynamic_cast< TupleType * >( expr->get_result()->stripReferences() ); 88 81 } … … 238 231 239 232 ObjectDecl * TupleAssignSpotter::Matcher::newObject( UniqueName & namer, Expression * expr ) { 240 assert( expr-> result&& ! expr->get_result()->isVoid() );233 assert( expr->has_result() && ! expr->get_result()->isVoid() ); 241 234 ObjectDecl * ret = new ObjectDecl( namer.newName(), Type::StorageClasses(), LinkageSpec::Cforall, nullptr, expr->get_result()->clone(), new SingleInit( expr->clone() ) ); 242 235 // if expression type is a reference, don't need to construct anything, a simple initializer is sufficient.
Note:
See TracChangeset
for help on using the changeset viewer.