Changeset 8d182b1 for src/CodeGen/FixMain.h
- Timestamp:
- Nov 14, 2023, 12:19:09 PM (23 months ago)
- Branches:
- master
- Children:
- 1ccae59, 89a8bab
- Parents:
- df8ba61a (diff), 5625427 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/CodeGen/FixMain.h
rdf8ba61a r8d182b1 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // FixMain.h -- 7 // FixMain.h -- Tools to change a Cforall main into a C main. 8 8 // 9 9 // Author : Thierry Delisle … … 17 17 18 18 #include <iosfwd> 19 #include <memory>20 #include <list>21 19 22 #include "AST/LinkageSpec.hpp"23 #include "SynTree/LinkageSpec.h"24 25 class Declaration;26 class FunctionDecl;27 20 namespace ast { 28 21 class FunctionDecl; … … 32 25 namespace CodeGen { 33 26 34 class FixMain { 35 public : 36 static inline LinkageSpec::Spec mainLinkage() { 37 return replace_main ? LinkageSpec::Cforall : LinkageSpec::C; 38 } 39 static inline ast::Linkage::Spec getMainLinkage() { 40 return replace_main ? ast::Linkage::Cforall : ast::Linkage::C; 41 } 27 /// Is this function a program main function? 28 bool isMain( const ast::FunctionDecl * decl ); 42 29 43 static inline void setReplaceMain(bool val) { 44 replace_main = val; 45 } 30 /// Adjust the linkage of main functions. 31 void fixMainLinkage( ast::TranslationUnit & transUnit, bool replaceMain ); 46 32 47 static bool isMain(FunctionDecl* decl); 48 static bool isMain(const ast::FunctionDecl * decl); 49 50 static void fix( std::list< Declaration * > & decls, 51 std::ostream &os, const char* bootloader_filename ); 52 static void fix( ast::TranslationUnit & translationUnit, 53 std::ostream &os, const char * bootloader_filename ); 54 55 private: 56 static bool replace_main; 57 }; 33 /// Add a wrapper around to run the Cforall main. 34 void fixMainInvoke( ast::TranslationUnit & transUnit, 35 std::ostream & os, const char * bootloaderFilename ); 58 36 59 37 } // namespace CodeGen
Note:
See TracChangeset
for help on using the changeset viewer.