From 5280a11c9594a84ee6188a15912df04118a878e2 Mon Sep 17 00:00:00 2001 From: arphaman Date: Tue, 27 Aug 2013 12:23:24 +0100 Subject: added codegen for unary and binary array operations --- tools/driver/Main.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'tools') diff --git a/tools/driver/Main.cpp b/tools/driver/Main.cpp index 9c3ebfecbd..7689e71432 100644 --- a/tools/driver/Main.cpp +++ b/tools/driver/Main.cpp @@ -132,6 +132,11 @@ extern "C" void jit_write_integer(void *,const void *Ptr, int32_t Size) { llvm::outs() << *reinterpret_cast(Ptr); } +extern "C" void jit_write_logical(void *,const void *Ptr, int32_t Size) { + if(Size != 4) return; + llvm::outs() << ((*reinterpret_cast(Ptr)) != 0? "true" : "false"); +} + extern "C" void jit_write_end(void *) { llvm::outs() << "\n"; } @@ -168,6 +173,9 @@ static int Execute(llvm::Module *Module, const char * const *envp) { if(auto F = Module->getFunction("libflang_write_integer")) { EE->addGlobalMapping(F, (void*) &jit_write_integer); } + if(auto F = Module->getFunction("libflang_write_logical")) { + EE->addGlobalMapping(F, (void*) &jit_write_logical); + } if(auto F = Module->getFunction("libflang_assignment_char1")) { EE->addGlobalMapping(F, (void*) &jit_assignment_char1); } -- cgit v1.2.1