Changeset 335f2d8


Ignore:
Timestamp:
May 23, 2019, 10:51:06 AM (2 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
arm-eh, cleanup-dtors, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr
Children:
4139e3d
Parents:
a2e758e
Message:

Fixed some warnings and implemented memberExpr ctor and extractResultType

Location:
src/AST
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • src/AST/Expr.cpp

    ra2e758e r335f2d8  
    159159        assert( aggregate->result );
    160160
    161         #warning Needs GenericSubsitution.cpp building to work correctly
    162         result.set_and_mutate( mem->get_type() )->qualifiers |= aggregate->result->qualifiers | CV::Lvalue;  // FIXME temporary patch
    163 
    164         // // take ownership of member type
    165         // result = mem->get_type();
    166         // // substitute aggregate generic parameters into member type
    167         // genericSubsitution( aggregate->result ).apply( result );
    168         // // ensure lvalue and appropriate restrictions from aggregate type
    169         // result.get_and_mutate()->qualifiers |= aggregate->result->qualifiers | CV::Lvalue;
     161        // take ownership of member type
     162        result = mem->get_type();
     163        // substitute aggregate generic parameters into member type
     164        genericSubsitution( aggregate->result ).apply( result );
     165        // ensure lvalue and appropriate restrictions from aggregate type
     166        result.get_and_mutate()->qualifiers |= aggregate->result->qualifiers | CV::Lvalue;
    170167}
    171168
  • src/AST/GenericSubstitution.cpp

    ra2e758e r335f2d8  
    3636                }
    3737
    38                 void previsit( const ReferenceType * ty ) {
     38                void previsit( const ReferenceType * ) {
    3939                        // do nothing; allows substitution from base type
    4040                }
  • src/AST/Pass.hpp

    ra2e758e r335f2d8  
    178178        const ast::TypeSubstitution * visit( const ast::TypeSubstitution     * ) override final;
    179179
    180         friend void acceptAll( std::list< ptr<Decl> > & decls, Pass<pass_t>& visitor );
     180        template<typename pass_type>
     181        friend void acceptAll( std::list< ptr<Decl> > & decls, Pass<pass_type>& visitor );
    181182private:
    182183
  • src/AST/Print.cpp

    ra2e758e r335f2d8  
    77// Print.cpp --
    88//
    9 // Author : Thierry Delisle
    10 // Created On : Tue May 21 16:20:15 2019
     9// Author           : Thierry Delisle
     10// Created On       : Tue May 21 16:20:15 2019
    1111// Last Modified By :
    1212// Last Modified On :
    13 // Update Count :
     13// Update Count     :
    1414//
    1515
Note: See TracChangeset for help on using the changeset viewer.