Submitted By:            Armin K. <krejzi at email dot com>
Date:                    2013-05-22
Initial Package Version: 9.1.3
Upstream Status:         Fixed upstream
Origin:                  Upstream
Description:             Fixes building with LLVM 3.3.

--- a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp	2013-02-16 02:32:00.000000000 +0100
+++ b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp	2013-05-15 12:53:51.605926357 +0200
@@ -55,6 +55,10 @@
 #include <llvm/MC/MCRegisterInfo.h>
 #endif /* HAVE_LLVM >= 0x0301 */
 
+#if HAVE_LLVM >= 0x0303
+#include <llvm/ADT/OwningPtr.h>
+#endif
+
 #include "util/u_math.h"
 #include "util/u_debug.h"
 
--- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp	2013-02-26 21:00:02.000000000 +0100
+++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp	2013-05-15 12:53:51.605926357 +0200
@@ -60,6 +60,12 @@
 #include <llvm/Target/TargetSelect.h>
 #endif /* HAVE_LLVM < 0x0300 */
 
+#if HAVE_LLVM >= 0x0303
+#include <llvm/IR/IRBuilder.h>
+#include <llvm/IR/Module.h>
+#include <llvm/Support/CBindingWrapping.h>
+#endif
+
 #include "pipe/p_config.h"
 #include "util/u_debug.h"
 #include "util/u_cpu_detect.h"
--- a/src/gallium/drivers/r600/llvm_wrapper.cpp	2013-03-05 23:54:28.000000000 +0100
+++ b/src/gallium/drivers/r600/llvm_wrapper.cpp	2013-05-15 12:53:51.605926357 +0200
@@ -1,8 +1,16 @@
 #include <llvm/ADT/OwningPtr.h>
 #include <llvm/ADT/StringRef.h>
+#if HAVE_LLVM < 0x0303
 #include <llvm/LLVMContext.h>
-#include <llvm/PassManager.h>
 #include <llvm/Support/IRReader.h>
+#else
+#include <llvm/IR/LLVMContext.h>
+#include <llvm/IR/Module.h>
+#include <llvm/IR/Function.h>
+#include <llvm/IR/DataLayout.h>
+#include <llvm/IRReader/IRReader.h>
+#endif
+#include <llvm/PassManager.h>
 #include <llvm/Support/MemoryBuffer.h>
 #include <llvm/Support/SourceMgr.h>
 #include <llvm/Transforms/IPO.h>
--- a/src/gallium/drivers/r600/Makefile.am	2013-03-05 23:54:28.000000000 +0100
+++ b/src/gallium/drivers/r600/Makefile.am	2013-05-15 12:53:51.605926357 +0200
@@ -26,7 +26,8 @@
 	-I$(top_srcdir)/src/gallium/drivers/radeon/
 
 AM_CXXFLAGS= \
-	$(LLVM_CXXFLAGS)
+	$(LLVM_CXXFLAGS) \
+	$(DEFINES)
 endif
 
 if USE_R600_LLVM_COMPILER
--- a/src/gallium/drivers/radeon/radeon_llvm_emit.cpp	2013-03-05 23:54:28.000000000 +0100
+++ b/src/gallium/drivers/radeon/radeon_llvm_emit.cpp	2013-05-15 12:54:13.196319331 +0200
@@ -25,13 +25,21 @@
  */
 #include "radeon_llvm_emit.h"
 
+#if HAVE_LLVM < 0x0303
 #include <llvm/LLVMContext.h>
 #include <llvm/Module.h>
+#include <llvm/DataLayout.h>
+#else
+#include <llvm/IR/LLVMContext.h>
+#include <llvm/IR/Module.h>
+#include <llvm/IR/DataLayout.h>
+#include <llvm/Support/CBindingWrapping.h>
+#endif
+
 #include <llvm/PassManager.h>
 #include <llvm/ADT/Triple.h>
 #include <llvm/Support/FormattedStream.h>
 #include <llvm/Support/Host.h>
-#include <llvm/Support/IRReader.h>
 #include <llvm/Support/SourceMgr.h>
 #include <llvm/Support/TargetRegistry.h>
 #include <llvm/Support/TargetSelect.h>
@@ -39,7 +47,6 @@
 #include <llvm/Target/TargetMachine.h>
 #include <llvm/Transforms/Scalar.h>
 #include <llvm-c/Target.h>
-#include <llvm/DataLayout.h>
 
 #include <iostream>
 #include <stdlib.h>
