Changeset b8b5535 for src/GenPoly/Lvalue.h
- Timestamp:
- Nov 15, 2023, 5:01:36 PM (5 months ago)
- Branches:
- master
- Children:
- f22b170b
- Parents:
- 45a091b
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/GenPoly/Lvalue.h
r45a091b rb8b5535 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // Lvalue.h -- 7 // Lvalue.h -- Clean up lvalues and remove references. 8 8 // 9 9 // Author : Richard C. Bilson … … 16 16 #pragma once 17 17 18 #include <list> // for list19 20 class Declaration;21 class Expression;22 18 namespace ast { 23 19 class Expr; … … 26 22 27 23 namespace GenPoly { 28 /// replaces return type of `lvalue T` with `T*`, along with appropriate address-of and dereference operators29 void convertLvalue( std::list< Declaration* >& translationUnit );30 void convertLvalue( ast::TranslationUnit & translationUnit );31 24 32 /// true after reference types have been eliminated from the source code. After this point, reference types should not be added to the AST.33 bool referencesPermissable();25 /// Replaces return type of `T&` with `T*`, along with appropriate address-of and dereference operators. 26 void convertLvalue( ast::TranslationUnit & translationUnit ); 34 27 35 /// applies transformations that allow GCC to accept more complicated lvalue expressions, e.g. &(a, b) 36 Expression * generalizedLvalue( Expression * expr ); 37 ast::Expr const * generalizedLvalue( ast::Expr const * expr ); 28 /// Returns true until reference types have been eliminated from the source code. After this point, reference types should not be added to the AST. 29 bool referencesPermissable(); 30 31 /// Applies transformations that allow GCC to accept more complicated lvalue expressions, e.g. &(a, b). 32 ast::Expr const * generalizedLvalue( ast::Expr const * expr ); 33 38 34 } // namespace GenPoly 39 35
Note: See TracChangeset
for help on using the changeset viewer.