[med-svn] [castxml] 01/01: Imported Debian patch 0.1+git20160202-1.1

Gianfranco Costamagna locutusofborg at moszumanska.debian.org
Thu Feb 18 22:52:20 UTC 2016


This is an automated email from the git hooks/post-receive script.

locutusofborg pushed a commit to annotated tag debian/0.1+git20160202-1.1
in repository castxml.

commit 5f6c6aa027c837abd45aba4c179ba0a1524e72a9
Author: Gianfranco Costamagna <locutusofborg at debian.org>
Date:   Fri Feb 12 19:58:28 2016 +0100

    Imported Debian patch 0.1+git20160202-1.1
---
 debian/changelog                                   |  12 ++-
 .../patches/5cfebb0f904131d1df8e36fcb9c290.patch   | 106 +++++++++++++++++++++
 debian/patches/series                              |   1 +
 3 files changed, 117 insertions(+), 2 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 2ee6a41..7ad6533 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,10 +1,18 @@
-castxml (0.1+git20160202-1) UNRELEASED; urgency=medium
+castxml (0.1+git20160202-1.1) unstable; urgency=medium
+
+  * debian/patches/5cfebb0f904131d1df8e36fcb9c290.patch
+    - upstream fix for issue preventing insighttoolkit4
+      from being built on i386: (Closes: #813875)
+
+ -- Gianfranco Costamagna <locutusofborg at debian.org>  Fri, 12 Feb 2016 19:58:28 +0100
+
+castxml (0.1+git20160202-1) unstable; urgency=medium
 
   * New upstream Closes:  #812883
   * Depend on llvm-3.7, removed need to work around  #785931  
   * Add Gert Wollny to uploaders
 
- -- Gert Wollny <gw.fossdev at gmail.com>  Sun, 31 Jan 2016 14:08:24 +0000
+ -- Gert Wollny <gw.fossdev at gmail.com>  Wed, 03 Feb 2016 11:30:08 +0000
 
 castxml (0.1+git20150807-1) unstable; urgency=medium
 
diff --git a/debian/patches/5cfebb0f904131d1df8e36fcb9c290.patch b/debian/patches/5cfebb0f904131d1df8e36fcb9c290.patch
new file mode 100644
index 0000000..a8af335
--- /dev/null
+++ b/debian/patches/5cfebb0f904131d1df8e36fcb9c290.patch
@@ -0,0 +1,106 @@
+From 5cfebb0f904131d1df8e36fcb9c290f12c06e9ba Mon Sep 17 00:00:00 2001
+From: Brad King <brad.king at kitware.com>
+Date: Tue, 9 Feb 2016 11:24:47 -0500
+Subject: [PATCH] RunClang: Avoid GNU extensions in glibc math headers on i386
+
+On i386 with optimizations enabled, the `bits/mathinline.h` header may
+use a GNU extension not implemented by Clang.  Avoid parsing this code
+by defining `__NO_MATH_INLINES` so it will be preprocessed out.
+
+GitHub-Issue: #47
+---
+ src/RunClang.cxx                                   | 14 ++++++++++++++
+ test/CMakeLists.txt                                |  2 ++
+ test/expect/cmd.cc-gnu-c-tgt-i386-opt-E.stdout.txt | 11 +++++++++++
+ test/expect/cmd.cc-gnu-tgt-i386-opt-E.stdout.txt   | 12 ++++++++++++
+ 4 files changed, 39 insertions(+)
+ create mode 100644 test/expect/cmd.cc-gnu-c-tgt-i386-opt-E.stdout.txt
+ create mode 100644 test/expect/cmd.cc-gnu-tgt-i386-opt-E.stdout.txt
+
+diff --git a/src/RunClang.cxx b/src/RunClang.cxx
+index 9768a25..0a68698 100644
+--- a/src/RunClang.cxx
++++ b/src/RunClang.cxx
+@@ -204,6 +204,13 @@ class CastXMLPredefines: public T
+         }
+       }
+ 
++      // Prevent glibc use of a GNU extension not implemented by Clang.
++      if (this->NeedNoMathInlines(this->Opts.Predefines)) {
++        builtins += "\n"
++          "#define __NO_MATH_INLINES 1\n"
++          ;
++      }
++
+     } else {
+       builtins += predefines.substr(start, end-start);
+     }
+@@ -229,6 +236,13 @@ class CastXMLPredefines: public T
+              pd.find("#define __ia64__ ") != pd.npos));
+   }
+ 
++  bool NeedNoMathInlines(std::string const& pd) const {
++    return (this->IsActualGNU(pd) &&
++            (pd.find("#define __i386__ ") != pd.npos &&
++             pd.find("#define __OPTIMIZE__ ") != pd.npos &&
++             pd.find("#define __NO_MATH_INLINES ") == pd.npos));
++  }
++
+   bool BeginSourceFileAction(clang::CompilerInstance& CI,
+                              llvm::StringRef /*Filename*/) {
+     CI.getPreprocessor().setPredefines(this->UpdatePredefines(CI));
+diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
+index e13d308..9ed4a50 100644
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -205,6 +205,7 @@ castxml_test_cmd(cc-gnu-src-cxx-cmd --castxml-cc-gnu $<TARGET_FILE:cc-gnu> ${emp
+ castxml_test_cmd(cc-gnu-tgt-amd64 --castxml-cc-gnu "(" $<TARGET_FILE:cc-gnu> --cc-define=__amd64__ ")" ${empty_cxx} "-###")
+ castxml_test_cmd(cc-gnu-tgt-explicit --castxml-cc-gnu "(" $<TARGET_FILE:cc-gnu> ")" -target explicit-target-triple ${empty_cxx} "-###")
+ castxml_test_cmd(cc-gnu-tgt-i386 --castxml-cc-gnu "(" $<TARGET_FILE:cc-gnu> --cc-define=__i386__ ")" ${empty_cxx} "-###")
++castxml_test_cmd(cc-gnu-tgt-i386-opt-E --castxml-cc-gnu "(" $<TARGET_FILE:cc-gnu> --cc-define=__i386__ --cc-define=__OPTIMIZE__ ")" ${empty_cxx} -E -dM)
+ castxml_test_cmd(cc-gnu-tgt-mingw --castxml-cc-gnu "(" $<TARGET_FILE:cc-gnu> --cc-define=_WIN32 --cc-define=__MINGW32__ ")" ${empty_cxx} "-###")
+ castxml_test_cmd(cc-gnu-tgt-win --castxml-cc-gnu "(" $<TARGET_FILE:cc-gnu> --cc-define=_WIN32 ")" ${empty_cxx} "-###")
+ castxml_test_cmd(cc-gnu-tgt-x86_64 --castxml-cc-gnu "(" $<TARGET_FILE:cc-gnu> --cc-define=__x86_64__ ")" ${empty_cxx} "-###")
+@@ -224,6 +225,7 @@ castxml_test_cmd(cc-gnu-c-std-c11 --castxml-cc-gnu-c "(" $<TARGET_FILE:cc-gnu> -
+ castxml_test_cmd(cc-gnu-c-std-gnu89 --castxml-cc-gnu-c "(" $<TARGET_FILE:cc-gnu>              ")" ${empty_c} "-###")
+ castxml_test_cmd(cc-gnu-c-std-gnu99 --castxml-cc-gnu-c "(" $<TARGET_FILE:cc-gnu> -std=199901L ")" ${empty_c} "-###")
+ castxml_test_cmd(cc-gnu-c-std-gnu11 --castxml-cc-gnu-c "(" $<TARGET_FILE:cc-gnu> -std=201112L ")" ${empty_c} "-###")
++castxml_test_cmd(cc-gnu-c-tgt-i386-opt-E --castxml-cc-gnu-c "(" $<TARGET_FILE:cc-gnu> --cc-define=__i386__ --cc-define=__OPTIMIZE__ ")" ${empty_c} -E -dM)
+ 
+ # Test --castxml-cc-msvc detection.
+ add_executable(cc-msvc cc-msvc.c)
+diff --git a/test/expect/cmd.cc-gnu-c-tgt-i386-opt-E.stdout.txt b/test/expect/cmd.cc-gnu-c-tgt-i386-opt-E.stdout.txt
+new file mode 100644
+index 0000000..865095d
+--- /dev/null
++++ b/test/expect/cmd.cc-gnu-c-tgt-i386-opt-E.stdout.txt
+@@ -0,0 +1,11 @@
++^#define __GNUC_MINOR__ 1
++#define __GNUC__ 1
++#define __NO_MATH_INLINES 1
++#define __OPTIMIZE__ 1
++#define __builtin_va_arg_pack\(\) 0
++#define __builtin_va_arg_pack_len\(\) 1
++#define __castxml__ [0-9]+
++#define __castxml_clang_major__ [0-9]+
++#define __castxml_clang_minor__ [0-9]+
++#define __castxml_clang_patchlevel__ [0-9]+
++#define __i386__ 1$
+diff --git a/test/expect/cmd.cc-gnu-tgt-i386-opt-E.stdout.txt b/test/expect/cmd.cc-gnu-tgt-i386-opt-E.stdout.txt
+new file mode 100644
+index 0000000..fa9c1e5
+--- /dev/null
++++ b/test/expect/cmd.cc-gnu-tgt-i386-opt-E.stdout.txt
+@@ -0,0 +1,12 @@
++^#define __GNUC_MINOR__ 1
++#define __GNUC__ 1
++#define __NO_MATH_INLINES 1
++#define __OPTIMIZE__ 1
++#define __builtin_va_arg_pack\(\) 0
++#define __builtin_va_arg_pack_len\(\) 1
++#define __castxml__ [0-9]+
++#define __castxml_clang_major__ [0-9]+
++#define __castxml_clang_minor__ [0-9]+
++#define __castxml_clang_patchlevel__ [0-9]+
++#define __cplusplus 199711L
++#define __i386__ 1$
diff --git a/debian/patches/series b/debian/patches/series
index d71a514..be1e226 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 0001-fix-version-test-to-allow-text-before-clang.patch
+5cfebb0f904131d1df8e36fcb9c290.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/castxml.git



More information about the debian-med-commit mailing list