[cfe-commits] Patch for bug 14744
Krzysztof Parzyszek
kparzysz at codeaurora.org
Wed Jan 2 11:17:41 PST 2013
On 1/2/2013 12:14 PM, David Blaikie wrote:
>
> LGTM - though we usually test with clang -cc1 where possible, so I'd
> ask that you change the RUN line of your test to:
>
> // RUN: %clang_cc1 -emit-llvm -triple hexagon-unknown-unknown %s -S -o /dev/null
>
> & adding back in the -o /dev/null so we don't create unnecessary
> temporary files. As far as I understand it, the test running
> infrastructure (lit) has the necessary smarts to translate the use of
> /dev/null to something appropriate on each platform. If you look
> around at the regression test suite you'll find many other tests using
> /dev/null for output.
Done.
I had to change the "-target" option to "-triple", as cc1 did not
understand the former.
-Krzysztof
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
-------------- next part --------------
>From 456bacc7409f2a08583abd9f6dda65cd79ed4b94 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-target-basic.c | 8 ++++++++
2 files changed, 9 insertions(+), 1 deletions(-)
create mode 100644 test/Frontend/hexagon-target-basic.c
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp
index aadca20..aaf5a8a 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-target-basic.c b/test/Frontend/hexagon-target-basic.c
new file mode 100644
index 0000000..2c0e82b
--- /dev/null
+++ b/test/Frontend/hexagon-target-basic.c
@@ -0,0 +1,8 @@
+// RUN: %clang_cc1 -emit-llvm -triple 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