Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/llvm/llvm-project.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Kruse <llvm@meinersbur.de>2015-06-22 20:52:33 +0300
committerMichael Kruse <llvm@meinersbur.de>2015-06-22 20:52:33 +0300
commitee512e58a32f6a653ab47f2c8272e459b03c0bd8 (patch)
treeb9ea81020c0b9cb111982e4165b02e5a8be2aa32 /polly/lib/External/isl_config.h.cmake
parent36b718fc74530d9a7e58185efa78fedbee7f5a13 (diff)
Prepare replacing ISL by its 'make dist' files
Currently the Polly repository contains the ISL sources with bogus isl_config.h and gitversion.h. This is problematic. In this state a macro #define __attribute__(x) becomes active in the source, leading to various problems e.g. when included before system header files. This patch will instead generate the two files specific to the host system at configure-time. For CMake, we replicate the tests that ISL's configure performs using try_compile(). In autotools build, we just invoke ISL's configure to generate the two files. This consequently required regenerating autoconf/configure. 'make dist' distributions of ISL contain a file GIT_HEAD_ID which contains the version the distribution is derived from. The repository files themselves do not contain such a hint. In a later commit we will replace the isl directory by the contents of such a .tar.gz. It does not contain the files imdrover.c iprime.c pi.c and rsamath.c currently compiled into Polly, but not used and therefore are removed by this patch. In the long term we plan to generate a dedicated library for ISL instead of adding its files to Polly. This also does not yet include the switch to small-integer optimized ISL nor enabling C99 mode required for the former. Those will come as well in separate patches. Differential version: http://reviews.llvm.org/D10603 Reviewers: grosser llvm-svn: 240301
Diffstat (limited to 'polly/lib/External/isl_config.h.cmake')
-rw-r--r--polly/lib/External/isl_config.h.cmake25
1 files changed, 25 insertions, 0 deletions
diff --git a/polly/lib/External/isl_config.h.cmake b/polly/lib/External/isl_config.h.cmake
new file mode 100644
index 000000000000..940eb81dc6b5
--- /dev/null
+++ b/polly/lib/External/isl_config.h.cmake
@@ -0,0 +1,25 @@
+
+/* most gcc compilers know a function __attribute__((__warn_unused_result__))
+ */
+#define GCC_WARN_UNUSED_RESULT @GCC_WARN_UNUSED_RESULT@
+
+/* Define to 1 if you have the declaration of `ffs', and to 0 if you don't. */
+#define HAVE_DECL_FFS @HAVE_DECL_FFS@
+
+/* Define to 1 if you have the declaration of `__builtin_ffs', and to 0 if you
+ don't. */
+#define HAVE_DECL___BUILTIN_FFS @HAVE_DECL___BUILTIN_FFS@
+
+/* define if your compiler has __attribute__ */
+#cmakedefine HAVE___ATTRIBUTE__ /**/
+
+/* use gmp to implement isl_int */
+#cmakedefine USE_GMP_FOR_MP
+
+/* use imath to implement isl_int */
+#cmakedefine USE_IMATH_FOR_MP
+
+/* Use small integer optimization */
+#cmakedefine USE_SMALL_INT_OPT
+
+#include <isl_config_post.h>