summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang/lib/Basic/Targets.cpp2
-rw-r--r--clang/test/Frontend/hexagon-target-basic.c8
2 files changed, 9 insertions, 1 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp
index aadca20ebb1..aaf5a8a794e 100644
--- a/clang/lib/Basic/Targets.cpp
+++ b/clang/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/clang/test/Frontend/hexagon-target-basic.c b/clang/test/Frontend/hexagon-target-basic.c
new file mode 100644
index 00000000000..2c0e82b4de5
--- /dev/null
+++ b/clang/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.
+
OpenPOWER on IntegriCloud