diff gcc/testsuite/gcc.c-torture/execute/pr86659-2.c @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/testsuite/gcc.c-torture/execute/pr86659-2.c	Thu Feb 13 11:34:05 2020 +0900
@@ -0,0 +1,42 @@
+#define ENDIANBIG __attribute((scalar_storage_order ("little-endian")))
+
+typedef struct ENDIANBIG 
+{
+  unsigned long long  field0:29;
+  unsigned long long  field1:4; 
+  unsigned long long  field2:31;
+}struct1;  
+
+int
+main(void)
+{
+  int value1 = 0;
+  int value2 = 0;
+  int value3 = 0;
+  unsigned int flag;
+  struct1 var1;
+  var1.field0 = 23;
+  
+  flag = var1.field0;
+  value1 = ((var1.field0)?10:20);
+  if(var1.field0)
+    {
+      value2 =  10;
+    } else
+    {
+      value2 = 20;
+    }
+
+  value3 = ((flag)?10:20);
+
+  if (value1 != 10)
+    __builtin_abort ();
+
+  if (value2 != 10)
+    __builtin_abort ();
+
+  if (value3 != 10)
+    __builtin_abort ();
+
+  return 0;
+}