[cfe-commits] Patch for bug 14744

Krzysztof Parzyszek kparzysz at codeaurora.org
Wed Jan 2 09:22:12 PST 2013


On 1/2/2013 9:53 AM, Krzysztof Parzyszek wrote:
> On 1/1/2013 6:49 PM, David Blaikie wrote:
>>
>> Is the hexagon backend not enabled by default? Does it fail even when
>> the Hexagon backend is built in but the test suite is run on
>> non-Hexagon?
>>
>
> I have an updated patch.  It causes a failure in the Hexagon backend,
> when testing on a non-Hexagon target.
>
> On x86, this testcase is the only failing one (in the absence of the fix
> in Targets.cpp).

Hopefully the last change:
- renamed the testcase: backend->target,
- removed "-o /dev/null", as it would likely not work well on Windows 
(and other non-unixy systems).

-Krzysztof


-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, 
hosted by The Linux Foundation
-------------- next part --------------
>From 31e5992fe5e5702f38149bdc9d8fb9e47a2a15ea Mon Sep 17 00:00:00 2001
From: Krzysztof Parzyszek <kparzysz at codeaurora.org>
Date: Sat, 29 Dec 2012 13:52:39 -0600
Subject: [PATCH] Bug 14744: ICE when compiling any program for Hexagon

---
 lib/Basic/Targets.cpp                 |    2 +-
 test/Frontend/hexagon-backend-basic.c |    8 ++++++++
 2 files changed, 9 insertions(+), 1 deletions(-)
 create mode 100644 test/Frontend/hexagon-backend-basic.c

diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp
index ea19b15..c109462 100644
--- a/lib/Basic/Targets.cpp
+++ b/lib/Basic/Targets.cpp
@@ -3500,7 +3500,7 @@ public:
   HexagonTargetInfo(const std::string& triple) : TargetInfo(triple)  {
     BigEndian = false;
     DescriptionString = ("e-p:32:32:32-"
-                         "i64:64:64-i32:32:32-i16:16:16-i1:32:32"
+                         "i64:64:64-i32:32:32-i16:16:16-i1:32:32-"
                          "f64:64:64-f32:32:32-a0:0-n32");
 
     // {} in inline assembly are packet specifiers, not assembly variant
diff --git a/test/Frontend/hexagon-backend-basic.c b/test/Frontend/hexagon-backend-basic.c
new file mode 100644
index 0000000..7b82d44
--- /dev/null
+++ b/test/Frontend/hexagon-backend-basic.c
@@ -0,0 +1,8 @@
+// RUN: %clang -emit-llvm -target hexagon-unknown-unknown %s -S -o /dev/null
+
+// Testcase for bug 14744.  Empty file is sufficient, since the problem
+// was a bad data layout string in the Hexagon target causing an ICE
+// when compiling any Hexagon program.
+
+int x;  // In C99, a translation unit needs to have at least one declaration.
+
-- 
1.7.6.4



More information about the cfe-commits mailing list