aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.c-torture/execute/991112-1.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.c-torture/execute/991112-1.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.c-torture/execute/991112-1.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.c-torture/execute/991112-1.c b/gcc-4.9/gcc/testsuite/gcc.c-torture/execute/991112-1.c
new file mode 100644
index 000000000..e43c7beeb
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.c-torture/execute/991112-1.c
@@ -0,0 +1,19 @@
+/* This code was miscompiled at -O3 on x86.
+ Reported by Jim Meyering; distilled from bash. */
+
+int rl_show_char (int c) { return 0; }
+
+int rl_character_len (int c, int pos)
+{
+ return isprint (c) ? 1 : 2;
+}
+
+int main(void)
+{
+ int (*x)(int, int) = rl_character_len;
+ if (x('a', 1) != 1)
+ abort();
+ if (x('\002', 1) != 2)
+ abort();
+ return 0;
+}