OSDN Git Service

* gcc.c-torture/execute/20060110-1.c: New test.
authornemet <nemet@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 13 Jan 2006 23:26:47 +0000 (23:26 +0000)
committernemet <nemet@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 13 Jan 2006 23:26:47 +0000 (23:26 +0000)
* gcc.c-torture/execute/20060110-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@109680 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/20060110-1.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/execute/20060110-2.c [new file with mode: 0644]

index f951d73..cca26ea 100644 (file)
@@ -1,3 +1,8 @@
+2006-01-13  Adam Nemet  <anemet@caviumnetworks.com>
+
+       * gcc.c-torture/execute/20060110-1.c: New test.
+       * gcc.c-torture/execute/20060110-2.c: New test.
+
 2006-01-13  Ulrich Weigand  <uweigand@de.ibm.com>
 
        * gcc.c-torture/compile/pr25310.c: Disable test on 16-bit targets.
diff --git a/gcc/testsuite/gcc.c-torture/execute/20060110-1.c b/gcc/testsuite/gcc.c-torture/execute/20060110-1.c
new file mode 100644 (file)
index 0000000..112528e
--- /dev/null
@@ -0,0 +1,16 @@
+extern void abort (void);
+
+long long 
+f (long long a) 
+{ 
+  return (a << 32) >> 32; 
+} 
+long long a = 0x1234567876543210LL;
+long long b = (0x1234567876543210LL << 32) >> 32;
+int
+main ()
+{
+  if (f (a) != b)
+    abort ();
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.c-torture/execute/20060110-2.c b/gcc/testsuite/gcc.c-torture/execute/20060110-2.c
new file mode 100644 (file)
index 0000000..bf60f94
--- /dev/null
@@ -0,0 +1,19 @@
+extern void abort (void);
+
+long long 
+f (long long a, long long b) 
+{ 
+  return ((a + b) << 32) >> 32; 
+} 
+
+long long a = 0x1234567876543210LL;
+long long b = 0x2345678765432101LL;
+long long c = ((0x1234567876543210LL + 0x2345678765432101LL) << 32) >> 32;
+
+int
+main ()
+{
+  if (f (a, b) != c)
+    abort ();
+  return 0;
+}