Author: theraven
Date: Fri Mar 21 11:25:49 2014
New Revision: 10603

URL: http://svn.gna.org/viewcvs/etoile?rev=10603&view=rev
Log:
Fix compile flags.


Modified:
    trunk/Etoile/Languages/LanguageKit/CodeGen/CodeGenModule.mm
    trunk/Etoile/Languages/LanguageKit/CodeGen/GNUmakefile
    trunk/Etoile/Languages/LanguageKit/CodeGen/objc_pointers.h

Modified: trunk/Etoile/Languages/LanguageKit/CodeGen/CodeGenModule.mm
URL: 
http://svn.gna.org/viewcvs/etoile/trunk/Etoile/Languages/LanguageKit/CodeGen/CodeGenModule.mm?rev=10603&r1=10602&r2=10603&view=diff
==============================================================================
--- trunk/Etoile/Languages/LanguageKit/CodeGen/CodeGenModule.mm (original)
+++ trunk/Etoile/Languages/LanguageKit/CodeGen/CodeGenModule.mm Fri Mar 21 
11:25:49 2014
@@ -43,6 +43,33 @@
 #include <dlfcn.h>
 #include <stdlib.h>
 
+#ifdef WITH_TESLA
+#include "TESLA/Callee.h"
+#include "TESLA/Caller.h"
+#include "TESLA/Manifest.h"
+
+tesla::Manifest *Manifest;
+
+Pass *createTESLACalleePass()
+{
+       return new tesla::FnCalleeInstrumenter(*Manifest, false);
+}
+Pass *createTESLACallerPass()
+{
+       return new tesla::FnCallerInstrumenter(*Manifest, false);
+}
+static void addTESLAPasses(const PassManagerBuilder &Builder, PassManagerBase 
&PM)
+{
+fprintf(stderr, "Manifest: %p\n", Manifest);
+       if (Manifest != 0)
+       {
+               PM.add(createTESLACallerPass());
+               //PM.add(createTESLACalleePass());
+       }
+}
+
+#endif
+
 extern "C" {
 #import <Foundation/Foundation.h>
 #import "../LanguageKit.h"
@@ -99,6 +126,13 @@
                llvm::MemoryBuffer::getFile([MsgSendSmallIntFilename 
UTF8String], buffer);
                SmallIntMessages = ParseBitcodeFile(buffer.get(), Context);
        }
+#ifdef WITH_TESLA
+       if (NULL == Manifest)
+       {
+               Manifest = tesla::Manifest::load(llvm::errs(),
+                       tesla::Automaton::Deterministic, "LanguageKit.tesla");
+       }
+#endif
 
        TheModule = new Module([ModuleName UTF8String], Context);
        SmallIntModule = SmallIntMessages;
@@ -615,6 +649,10 @@
        PassManagerBuilder PMBuilder;
        // TODO: Allow this to be configured by the driver
        PMBuilder.OptLevel = 3;
+#ifdef WITH_TESLA
+       PMBuilder.addExtension(PassManagerBuilder::EP_EarlyAsPossible,
+                              addTESLAPasses);
+#endif
        PMBuilder.addExtension(PassManagerBuilder::EP_EarlyAsPossible,
                               addObjCARCExpandPass);
        PMBuilder.addExtension(PassManagerBuilder::EP_ModuleOptimizerEarly,
@@ -665,7 +703,8 @@
 #if (LLVM_MAJOR > 3) || (LLVM_MAJOR == 3 && LLVM_MINOR > 1)
                EngineBuilder EB = EngineBuilder(TheModule);
                //EB.setUseMCJIT(true);
-               EB.setRelocationModel(Reloc::Static);
+               //EB.setRelocationModel(Reloc::Static);
+               //EB.setCodeModel(CodeModel::Small);
                TargetOptions TO;
                TO.JITExceptionHandling = 1;
                // Note: mathk, turn on debug info generation here too!

Modified: trunk/Etoile/Languages/LanguageKit/CodeGen/GNUmakefile
URL: 
http://svn.gna.org/viewcvs/etoile/trunk/Etoile/Languages/LanguageKit/CodeGen/GNUmakefile?rev=10603&r1=10602&r2=10603&view=diff
==============================================================================
--- trunk/Etoile/Languages/LanguageKit/CodeGen/GNUmakefile      (original)
+++ trunk/Etoile/Languages/LanguageKit/CodeGen/GNUmakefile      Fri Mar 21 
11:25:49 2014
@@ -34,11 +34,11 @@
 
 # uncomment this line when debugging if you have problems with over-aggressive
 # inlining throwing away useful debugging info.
-${FRAMEWORK_NAME}_CXXFLAGS =  -fno-inline
-${FRAMEWORK_NAME}_OBJCCFLAGS =  -fno-inline
-${FRAMEWORK_NAME}_CPPFLAGS =  -D_GNU_SOURCE 
-${FRAMEWORK_NAME}_OBJCFLAGS = -std=c99 -g -Wno-unused-value -fexceptions 
-fobjc-arc
-${FRAMEWORK_NAME}_OBJCCFLAGS = -Wno-variadic-macros -Wno-gnu -Wno-pedantic
+#${FRAMEWORK_NAME}_CXXFLAGS =  -fno-inline
+#${FRAMEWORK_NAME}_OBJCCFLAGS =  -fno-inline
+${FRAMEWORK_NAME}_CPPFLAGS +=  -D_GNU_SOURCE 
+${FRAMEWORK_NAME}_OBJCFLAGS += -std=c99 -g -Wno-unused-value -fexceptions 
-fobjc-arc
+${FRAMEWORK_NAME}_OBJCCFLAGS += -Wno-variadic-macros -Wno-gnu -Wno-pedantic
 ${FRAMEWORK_NAME}_LDFLAGS += -g 
 ${FRAMEWORK_NAME}_CFLAGS += -Wno-implicit -g
 
@@ -55,6 +55,27 @@
 #LIBRARIES_DEPEND_UPON += `llvm-config --ldflags` -lLLVM-`llvm-config 
--version`
 LIBRARIES_DEPEND_UPON += $(shell llvm-config --ldflags) $(shell if [ 
`llvm-config --version | sed 's/\([0-9]*\).\([0-9]*\).*/\1\2/'` -gt 31 ] ; then 
llvm-config --libs ; else  llvm-config --libs ${LLVM_LIBS} ;  fi)
 
+ifeq (${with_tesla}, yes)
+${FRAMEWORK_NAME}_CC_FILES += \
+       TESLA/Annotations.cpp\
+       TESLA/Assertion.cpp\
+       TESLA/Automaton.cpp\
+       TESLA/Callee.cpp\
+       TESLA/Caller.cpp\
+       TESLA/Debug.cpp\
+       TESLA/FieldReference.cpp\
+       TESLA/Instrumentation.cpp\
+       TESLA/Manifest.cpp\
+       TESLA/Names.cpp\
+       TESLA/Protocol.cpp\
+       TESLA/State.cpp\
+       TESLA/Transition.cpp\
+       TESLA/tesla.pb.cc
+
+${FRAMEWORK_NAME}_CCFLAGS += -std=c++11 -DWITH_TESLA=1 -fno-rtti
+${FRAMEWORK_NAME}_OBJCCFLAGS += -DWITH_TESLA=1 -std=c++11
+${FRAMEWORK_NAME}_LDFLAGS += -lprotobuf 
-L/home/theraven/TESLA/build/libtesla/src -ltesla
+endif
 
 CC = clang
 CXX = clang++

Modified: trunk/Etoile/Languages/LanguageKit/CodeGen/objc_pointers.h
URL: 
http://svn.gna.org/viewcvs/etoile/trunk/Etoile/Languages/LanguageKit/CodeGen/objc_pointers.h?rev=10603&r1=10602&r2=10603&view=diff
==============================================================================
--- trunk/Etoile/Languages/LanguageKit/CodeGen/objc_pointers.h  (original)
+++ trunk/Etoile/Languages/LanguageKit/CodeGen/objc_pointers.h  Fri Mar 21 
11:25:49 2014
@@ -1,6 +1,6 @@
 #import <Foundation/NSObject.h>
 #undef _
-#if __cplusplus > 201100L
+#if __cplusplus > 201100L || __has_include(<unordered_map>)
 #include <unordered_map>
 using std::unordered_map;
 #else


_______________________________________________
Etoile-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-cvs

Reply via email to