Changes in src/Tuples/TupleExpansion.cc [77bfc80:aee472e]
- File:
-
- 1 edited
-
src/Tuples/TupleExpansion.cc (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Tuples/TupleExpansion.cc
r77bfc80 raee472e 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Feb 13 18:14:12 201913 // Update Count : 2112 // Last Modified On : Wed Jun 21 17:35:04 2017 13 // Update Count : 19 14 14 // 15 15 … … 17 17 #include <cassert> // for assert 18 18 #include <list> // for list 19 #include <vector> 20 21 #include "AST/CVQualifiers.hpp" 22 #include "AST/Expr.hpp" 23 #include "AST/Node.hpp" 24 #include "AST/Type.hpp" 19 25 20 #include "Common/PassVisitor.h" // for PassVisitor, WithDeclsToAdd, WithGu... 26 21 #include "Common/ScopedMap.h" // for ScopedMap … … 63 58 }; 64 59 65 struct TupleTypeReplacer : public WithDeclsToAdd, public WithGuards, public With ConstTypeSubstitution {60 struct TupleTypeReplacer : public WithDeclsToAdd, public WithGuards, public WithTypeSubstitution { 66 61 Type * postmutate( TupleType * tupleType ); 67 62 … … 319 314 return new TupleType( qualifiers, types ); 320 315 } 321 const ast::Type * makeTupleType( const std::vector<ast::ptr<ast::Expr>> & exprs ) {322 (void) exprs;323 #warning Not implemented; needs Type.cpp in build324 assertf(false, "Not implemented; needs Type.cpp in build");325 // // produce the TupleType which aggregates the types of the exprs326 // std::vector<ast::ptr<ast::Type>> types;327 // ast::CV::Qualifiers quals{328 // ast::CV::Const | ast::CV::Volatile | ast::CV::Restrict | ast::CV::Lvalue |329 // ast::CV::Atomic | ast::CV::Mutex };330 331 // for ( const ast::Expr * expr : exprs ) {332 // assert( expr->result );333 // // if the type of any expr is void, the type of the entire tuple is void334 // if ( expr->result->isVoid() ) return new ast::VoidType{};335 336 // // qualifiers on the tuple type are the qualifiers that exist on all components337 // quals &= expr->result->qualifiers;338 339 // types.emplace_back( expr->result );340 // }341 342 // if ( exprs.empty() ) { quals = ast::CV::Qualifiers{}; }343 // return new ast::TupleType{ std::move(types), quals };344 }345 316 346 317 TypeInstType * isTtype( Type * type ) {
Note:
See TracChangeset
for help on using the changeset viewer.