aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMartin Sebor <msebor@redhat.com>2016-11-30 19:16:03 +0000
committerMartin Sebor <msebor@gcc.gnu.org>2016-11-30 12:16:03 -0700
commit1124cf27b9730eb09f9160cae3da2846e2637775 (patch)
treefd9d7ae86446f060b592d1932a140fc7b7afa65a /gcc
parentbc28bbb60e30a7aeb401e8a49c73e008929d216f (diff)
downloadgcc-1124cf27b9730eb09f9160cae3da2846e2637775.zip
gcc-1124cf27b9730eb09f9160cae3da2846e2637775.tar.gz
gcc-1124cf27b9730eb09f9160cae3da2846e2637775.tar.bz2
PR tree-optimization/78586 - [7 Regression] Wrong code caused by printf-return-value
gcc/testsuite/ChangeLog: PR tree-optimization/78586 * gcc.dg/tree-ssa/builtin-sprintf-2.c: New test cases. From-SVN: r243081
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-2.c29
2 files changed, 31 insertions, 3 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index fe0edd7..0924207 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2016-11-30 Martin Sebor <msebor@redhat.com>
+
+ PR tree-optimization/78586
+ * gcc.dg/tree-ssa/builtin-sprintf-2.c: New test cases.
+
2016-11-30 Vladimir Makarov <vmakarov@redhat.com>
PR tree-optimization/77856
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-2.c b/gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-2.c
index 6279956..4dddccdf 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-2.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-2.c
@@ -13,7 +13,11 @@
# define LINE 0
#endif
-#define INT_MAX __INT_MAX__
+#define INT_MAX __INT_MAX__
+#define INT_MIN (-INT_MAX - 1)
+
+#define LONG_MAX __LONG_MAX__
+#define LONG_MIN (-LONG_MAX - 1)
char *buf;
char buf8k [8192];
@@ -50,8 +54,13 @@ char buf8k [8192];
} \
}
+typedef __SIZE_TYPE__ size_t;
+
extern int i;
+extern unsigned u;
extern long li;
+extern unsigned long lu;
+extern size_t sz;
extern char *str;
extern double d;
@@ -162,6 +171,20 @@ RNG (0, 4, 7, "%i", i)
RNG (0, 5, 7, "%i", i)
RNG (0, 6, 7, "%i", i)
+RNG (4, 4, 32, "%i", i)
+RNG (4, 4, 32, "%u", u)
+RNG (4, 4, 32, "%li", li)
+RNG (4, 4, 32, "%lu", lu)
+RNG (4, 4, 32, "%zu", sz)
+
+/* Exercise bug 78586. */
+RNG (4, 4, 32, "%lu", (unsigned long)i)
+RNG (4, 4, 32, "%lu", (unsigned)u)
+RNG (4, 4, 32, "%lu", (unsigned long)li)
+RNG (4, 4, 32, "%lu", (unsigned long)lu)
+RNG (4, 4, 32, "%lu", (unsigned long)sz)
+
+
#if __SIZEOF_INT__ == 4
/* A 32-bit int takes up at most 11 bytes (-2147483648) not including
@@ -252,5 +275,5 @@ RNG (0, 6, 8, "%s%ls", "1", L"2");
*/
-/* { dg-final { scan-tree-dump-times "> \\\[\[0-9.\]+%\\\]:\n *__builtin_abort" 114 "optimized" { target { ilp32 || lp64 } } } } */
-/* { dg-final { scan-tree-dump-times "> \\\[\[0-9.\]+%\\\]:\n *__builtin_abort" 83 "optimized" { target { { ! ilp32 } && { ! lp64 } } } } } */
+/* { dg-final { scan-tree-dump-times "> \\\[\[0-9.\]+%\\\]:\n *__builtin_abort" 124 "optimized" { target { ilp32 || lp64 } } } } */
+/* { dg-final { scan-tree-dump-times "> \\\[\[0-9.\]+%\\\]:\n *__builtin_abort" 93 "optimized" { target { { ! ilp32 } && { ! lp64 } } } } } */