head	1.2;
access;
symbols;
locks; strict;
comment	@# @;


1.2
date	2012.07.25.05.13.12;	author wen;	state dead;
branches;
next	1.1;

1.1
date	2012.06.26.10.13.38;	author fluffy;	state Exp;
branches;
next	;


desc
@@


1.2
log
@SVN rev 301506 on 2012-07-25 05:13:12Z by wen

- Update to 0.1.2

PR:		170105
Submitted by:	Jyun-Yan You <jyyou@@cs.nctu.edu.tw> (maintainer)
@
text
@diff --git ./CMakeLists.txt ./CMakeLists.txt
index fce24ac..dabedff 100644
--- ./CMakeLists.txt
+++ ./CMakeLists.txt
@@@@ -23,8 +23,8 @@@@ if(UNIX)
         OUTPUT_VARIABLE LLVM_VERSION
         OUTPUT_STRIP_TRAILING_WHITESPACE
     )
-    if(NOT ${LLVM_VERSION} STREQUAL "3.0")
-        message(FATAL_ERROR "Clay requires LLVM 3.0.")
+    if(NOT ${LLVM_VERSION} STREQUAL "3.1")
+        message(FATAL_ERROR "Clay requires LLVM 3.1.")
     endif()
 
     execute_process(
diff --git ./compiler/src/codegen.cpp ./compiler/src/codegen.cpp
index fb66668..59055b9 100644
--- ./compiler/src/codegen.cpp
+++ ./compiler/src/codegen.cpp
@@@@ -956,9 +956,7 @@@@
     case STRING_LITERAL : {
         StringLiteral *x = (StringLiteral *)expr.ptr();
         llvm::Constant *initializer =
-            llvm::ConstantArray::get(llvm::getGlobalContext(),
-                                     x->value,
-                                     true);
+            llvm::ConstantDataArray::getString(llvm::getGlobalContext(), x->value, true);
         TypePtr type = arrayType(int8Type, x->value.size() + 1);
         ostringstream symbolName;
         symbolName << "StringConstant " << x->value << " clay";
@@@@ -2775,7 +2773,7 @@@@
 
     if(!llvm::ParseAssembly(buf, llvmModule, err,
                 llvm::getGlobalContext())) {
-        err.Print("\n", out);
+        err.print("\n", out);
         std::cerr << out.str() << std::endl;
         error("llvm assembly parse error");
     }
@@@@ -6151,7 +6149,7 @@@@
                              llvm::getGlobalContext())) {
         string errBuf;
         llvm::raw_string_ostream errOut(errBuf);
-        err.Print("\n", errOut);
+        err.print("\n", errOut);
         std::cerr << errOut.str() << std::endl;
         error("llvm assembly parse error");
     }
@@@@ -6459,7 +6457,7 @@@@
     llvm::CodeModel::Model codeModel = llvm::CodeModel::Default;
 
     llvm::TargetMachine *targetMachine = target->createTargetMachine(
-        targetTriple, "", "", reloc, codeModel);
+        targetTriple, "", "", llvm::TargetOptions(), reloc, codeModel);
 
     if (targetMachine != NULL) {
         llvmTargetData = targetMachine->getTargetData();
diff --git ./compiler/src/main.cpp ./compiler/src/main.cpp
index 9e73160..85941b9 100644
--- ./compiler/src/main.cpp
+++ ./compiler/src/main.cpp
@@@@ -119,7 +119,7 @@@@ static void generateAssembly(llvm::Module *module,
                              bool debug)
 {
     if (optLevel < 2 || debug)
-        llvm::NoFramePointerElim = true;
+        targetMachine->Options.NoFramePointerElim = 1;
 
     llvm::FunctionPassManager fpasses(module);
 
@@@@ -366,7 +366,7 @@@@ int main2(int argc, char **argv, char const* const* envp) {
 
     string clayFile;
     string outputFile;
-    string targetTriple = llvm::sys::getHostTriple();
+    string targetTriple = llvm::sys::getDefaultTargetTriple();
 
     string clayScriptImports;
     string clayScript;
@@@@ -553,7 +553,7 @@@@ int main2(int argc, char **argv, char const* const* envp) {
                 llvm::errs() << "error: target name missing after -target\n";
                 return 1;
             }
-            crossCompiling = targetTriple != llvm::sys::getHostTriple();
+            crossCompiling = targetTriple != llvm::sys::getDefaultTargetTriple();
         }
         else if (strstr(argv[i], "-Wl") == argv[i]) {
             linkerFlags += argv[i] + strlen("-Wl");
@


1.1
log
@- Adopt patch from git repo to fix fuild with LLVM 3.1
@
text
@@

