aboutsummaryrefslogtreecommitdiff
path: root/SingleSource/Regression/C/gcc-c-torture/execute/20050203-1.c
diff options
context:
space:
mode:
Diffstat (limited to 'SingleSource/Regression/C/gcc-c-torture/execute/20050203-1.c')
-rw-r--r--SingleSource/Regression/C/gcc-c-torture/execute/20050203-1.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/SingleSource/Regression/C/gcc-c-torture/execute/20050203-1.c b/SingleSource/Regression/C/gcc-c-torture/execute/20050203-1.c
new file mode 100644
index 00000000..0b382779
--- /dev/null
+++ b/SingleSource/Regression/C/gcc-c-torture/execute/20050203-1.c
@@ -0,0 +1,29 @@
+/* Reduced testcase extracted from Samba source code. */
+
+#include <stdlib.h>
+
+static void __attribute__((__noinline__))
+ foo (unsigned char *p) {
+ *p = 0x81;
+}
+
+static void __attribute__((__noinline__))
+ bar (int x) {
+ asm ("");
+}
+
+int main() {
+ unsigned char b;
+
+ foo(&b);
+ if (b & 0x80)
+ {
+ bar (b & 0x7f);
+ exit (0);
+ }
+ else
+ {
+ bar (b & 1);
+ abort ();
+ }
+}