summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/execute/20081103-1.c
diff options
context:
space:
mode:
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2008-11-03 20:05:45 +0000
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2008-11-03 20:05:45 +0000
commit0348f24525e0b403b2f2893204a9a925cfea500f (patch)
tree231b6a2da7098156849b422024d22a97508a340d /gcc/testsuite/gcc.c-torture/execute/20081103-1.c
parentc73ab5c3a23a1017d0933ba26352c1b6bd746ece (diff)
downloadgcc-0348f24525e0b403b2f2893204a9a925cfea500f.tar.gz
* config/i386/i386.c (classify_argument) <ARRAY_TYPE>: Promote partial
integer class to full integer class if the offset is not word-aligned. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141559 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/20081103-1.c')
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20081103-1.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/20081103-1.c b/gcc/testsuite/gcc.c-torture/execute/20081103-1.c
new file mode 100644
index 00000000000..c458fbc4aad
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/20081103-1.c
@@ -0,0 +1,17 @@
+struct S { char c; char arr[4]; float f; };
+
+char A[4] = { '1', '2', '3', '4' };
+
+void foo (struct S s)
+{
+ if (__builtin_memcmp (s.arr, A, 4))
+ __builtin_abort ();
+}
+
+int main (void)
+{
+ struct S s;
+ __builtin_memcpy (s.arr, A, 4);
+ foo (s);
+ return 0;
+}