summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2016-03-02 15:17:53 +0000
committervlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2016-03-02 15:17:53 +0000
commit61d8be570cac76fe3b9772d9d2cf873a97af249c (patch)
tree2906c6c1866540b40572a2e7485c3bf5247bda12
parentacdda0ee039e133729d6a16b7d9b7563365580a2 (diff)
downloadmpfr-61d8be570cac76fe3b9772d9d2cf873a97af249c.tar.gz
[tests/tversion.c] Improved output of compiler information.
(merge changesets r9695-9696,10170,10181-10182 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.1@10184 280ebfd0-de03-0410-8827-d642c229c3f4
-rw-r--r--tests/tversion.c27
1 files changed, 24 insertions, 3 deletions
diff --git a/tests/tversion.c b/tests/tversion.c
index c361bbeb5..c84ac8803 100644
--- a/tests/tversion.c
+++ b/tests/tversion.c
@@ -40,10 +40,31 @@ main (void)
printf ("[tversion] MPFR %s\n", MPFR_VERSION_STRING);
-#ifdef __GNUC__
- printf ("[tversion] GCC: %d.%d.%d\n",
- __GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__);
+ /* TODO: We may want to output info for non-GNUC-compat compilers too. See:
+ * http://sourceforge.net/p/predef/wiki/Compilers/
+ * http://nadeausoftware.com/articles/2012/10/c_c_tip_how_detect_compiler_name_and_version_using_compiler_predefined_macros
+ *
+ * For ICC, do not check the __ICC macro as it is obsolete and not always
+ * defined.
+ */
+#define COMP "[tversion] Compiler: "
+#ifdef __INTEL_COMPILER
+# ifdef __VERSION__
+# define ICCV " [" __VERSION__ "]"
+# else
+# define ICCV ""
+# endif
+ printf (COMP "ICC %d.%d.%d" ICCV "\n", __INTEL_COMPILER / 100,
+ __INTEL_COMPILER % 100, __INTEL_COMPILER_UPDATE);
+#elif (defined(__GNUC__) || defined(__clang__)) && defined(__VERSION__)
+# ifdef __clang__
+# define COMP2 COMP
+# else
+# define COMP2 COMP "GCC "
+# endif
+ printf (COMP2 "%s\n", __VERSION__);
#endif
+
#ifdef __MPIR_VERSION
printf ("[tversion] MPIR: header %d.%d.%d, library %s\n",
__MPIR_VERSION, __MPIR_VERSION_MINOR, __MPIR_VERSION_PATCHLEVEL,