Mercurial > octave-nkf
comparison m4/acinclude.m4 @ 18840:4a4edf0f2077 nkf-ready
fix LLVM 3.4 build (bug #41061)
* configure.ac: Call new functions OCTAVE_LLVM_RAW_FD_OSTREAM_API and
OCTAVE_LLVM_LEGACY_PASSMANAGER_API, check for Verifier.h header file
* m4/acinclude.m4 (OCTAVE_LLVM_RAW_FD_OSTREAM_API): New function to
detect correct raw_fd_ostream API
* m4/acinclude.m4 (OCTAVE_LLVM_LEGACY_PASSMANAGER_API): New function
to detect legacy passmanager API
* libinterp/corefcn/jit-util.h: Use legacy passmanager namespace if
necessary
* libinterp/corefcn/pt-jit.h (class tree_jit): Use legacy passmanager
class if necessary
* libinterp/corefcn/pt-jit.cc: Include appropriate header files
* libinterp/corefcn/pt-jit.cc (tree_jit::initialize): Use legacy
passmanager if necessary
* libinterp/corefcn/pt-jit.cc (tree_jit::optimize): Use correct API
* libinterp/corefcn/jit-typeinfo.cc: Include appropriate header file
author | Stefan Mahr <dac922@gmx.de> |
---|---|
date | Sun, 11 May 2014 02:28:33 +0200 |
parents | e54cfaae830b |
children | 2b82d2f29a7b |
comparison
equal
deleted
inserted
replaced
18839:3af93835be56 | 18840:4a4edf0f2077 |
---|---|
1739 AC_LANG_POP(C++) | 1739 AC_LANG_POP(C++) |
1740 ]) | 1740 ]) |
1741 if test $octave_cv_function_addfnattr_arg_is_attributes = yes; then | 1741 if test $octave_cv_function_addfnattr_arg_is_attributes = yes; then |
1742 AC_DEFINE(FUNCTION_ADDFNATTR_ARG_IS_ATTRIBUTES, 1, | 1742 AC_DEFINE(FUNCTION_ADDFNATTR_ARG_IS_ATTRIBUTES, 1, |
1743 [Define to 1 if llvm::Function:addFnAttr arg type is llvm::Attributes.]) | 1743 [Define to 1 if llvm::Function:addFnAttr arg type is llvm::Attributes.]) |
1744 fi | |
1745 ]) | |
1746 dnl | |
1747 dnl Check for raw_fd_ostream API | |
1748 dnl | |
1749 AC_DEFUN([OCTAVE_LLVM_RAW_FD_OSTREAM_API], [ | |
1750 AC_CACHE_CHECK([check LLVM::raw_fd_ostream arg type is llvm::sys:fs], | |
1751 [octave_cv_raw_fd_ostream_arg_is_llvm_sys_fs], | |
1752 [AC_LANG_PUSH(C++) | |
1753 AC_COMPILE_IFELSE( | |
1754 [AC_LANG_PROGRAM([[ | |
1755 #include <llvm/Support/raw_os_ostream.h> | |
1756 ]], [[ | |
1757 std::string str; | |
1758 llvm::raw_fd_ostream fout ("", str, llvm::sys::fs::F_Binary); | |
1759 ]])], | |
1760 octave_cv_raw_fd_ostream_arg_is_llvm_sys_fs=yes, | |
1761 octave_cv_raw_fd_ostream_arg_is_llvm_sys_fs=no) | |
1762 AC_LANG_POP(C++) | |
1763 ]) | |
1764 if test $octave_cv_raw_fd_ostream_arg_is_llvm_sys_fs = yes; then | |
1765 AC_DEFINE(RAW_FD_OSTREAM_ARG_IS_LLVM_SYS_FS, 1, | |
1766 [Define to 1 if LLVM::raw_fd_ostream arg type is llvm::sys:fs.]) | |
1767 fi | |
1768 ]) | |
1769 dnl | |
1770 dnl Check for legacy::PassManager API | |
1771 dnl | |
1772 AC_DEFUN([OCTAVE_LLVM_LEGACY_PASSMANAGER_API], [ | |
1773 AC_CACHE_CHECK([check for LLVM::legacy::PassManager], | |
1774 [octave_cv_legacy_passmanager], | |
1775 [AC_LANG_PUSH(C++) | |
1776 save_LIBS="$LIBS" | |
1777 LIBS="$LLVM_LIBS $LIBS" | |
1778 AC_LINK_IFELSE( | |
1779 [AC_LANG_PROGRAM([[ | |
1780 #include <llvm/IR/LegacyPassManager.h> | |
1781 ]], [[ | |
1782 llvm::Module *module; | |
1783 llvm::legacy::PassManager *module_pass_manager; | |
1784 llvm::legacy::FunctionPassManager *pass_manager; | |
1785 module_pass_manager = new llvm::legacy::PassManager (); | |
1786 pass_manager = new llvm::legacy::FunctionPassManager (module); | |
1787 ]])], | |
1788 octave_cv_legacy_passmanager=yes, | |
1789 octave_cv_legacy_passmanager=no) | |
1790 LIBS="$save_LIBS" | |
1791 AC_LANG_POP(C++) | |
1792 ]) | |
1793 if test $octave_cv_legacy_passmanager = yes; then | |
1794 AC_DEFINE(LEGACY_PASSMANAGER, 1, | |
1795 [Define to 1 if LLVM::legacy::PassManager exists.]) | |
1744 fi | 1796 fi |
1745 ]) | 1797 ]) |
1746 dnl | 1798 dnl |
1747 dnl Check for ar. | 1799 dnl Check for ar. |
1748 dnl | 1800 dnl |