re PR c/83801 ([avr] String constant in __flash not put into .progmem)
authorGeorg-Johann Lay <avr@gjlay.de>
Mon, 15 Jan 2018 10:04:32 +0000 (10:04 +0000)
committerGeorg-Johann Lay <gjl@gcc.gnu.org>
Mon, 15 Jan 2018 10:04:32 +0000 (10:04 +0000)
PR c/83801
PR c/83729
* gcc.target/avr/torture/pr83729.c: New test.
* gcc.target/avr/torture/pr83801.c: New test.

From-SVN: r256687

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/avr/torture/pr83729.c [new file with mode: 0644]
gcc/testsuite/gcc.target/avr/torture/pr83801.c [new file with mode: 0644]

index 546fc82c9f00f06721af2bf714f76f93f9b7f8ad..614bf178085c1259e44e8c4ea961555fd3cfb940 100644 (file)
@@ -1,3 +1,10 @@
+2018-01-15  Georg-Johann Lay  <avr@gjlay.de>
+
+       PR c/83801
+       PR c/83729
+       * gcc.target/avr/torture/pr83729.c: New test.
+       * gcc.target/avr/torture/pr83801.c: New test.
+
 2018-01-15  Jakub Jelinek  <jakub@redhat.com>
 
        PR middle-end/82694
diff --git a/gcc/testsuite/gcc.target/avr/torture/pr83729.c b/gcc/testsuite/gcc.target/avr/torture/pr83729.c
new file mode 100644 (file)
index 0000000..01b14e9
--- /dev/null
@@ -0,0 +1,17 @@
+/* { dg-options { "-std=gnu99" } } */
+/* { dg-do run { target { ! avr_tiny } } } */
+
+__attribute((noinline,noclone))
+char to_ascii (unsigned i)
+{
+    static const char __memx code_tab[] = "0123456789";
+    return code_tab[i];
+}
+
+int main()
+{
+  if (to_ascii (2) != '2')
+    __builtin_abort();
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/avr/torture/pr83801.c b/gcc/testsuite/gcc.target/avr/torture/pr83801.c
new file mode 100644 (file)
index 0000000..77a5b76
--- /dev/null
@@ -0,0 +1,17 @@
+/* { dg-options { "-std=gnu99" } } */
+/* { dg-do run { target { ! avr_tiny } } } */
+
+__attribute((noinline,noclone))
+char to_ascii (unsigned i)
+{
+    static const char __flash code_tab[] = "0123456789";
+    return code_tab[i];
+}
+
+int main()
+{
+  if (to_ascii (2) != '2')
+    __builtin_abort();
+
+  return 0;
+}