]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
cast.C: Change fields of structures to "long" to pass the test on targets with...
authorUros Bizjak <ubizjak@gmail.com>
Sat, 14 Aug 2010 12:32:14 +0000 (14:32 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Sat, 14 Aug 2010 12:32:14 +0000 (14:32 +0200)
* g++.dg/cast.C: Change fields of structures to "long" to pass
the test on targets with STRUCTURE_SIZE_BOUNDARY != BITS_PER_UNIT.
* g++.dg/cpp0x/iop.C: Ditto.
* g++.dg/cpp0x/named_refs.C: Ditto.
* g++.dg/cpp0x/rv1p.C: Ditto.
* g++.dg/cpp0x/rv2p.C: Ditto.
* g++.dg/cpp0x/rv3p.C: Ditto.
* g++.dg/cpp0x/rv4p.C: Ditto.
* g++.dg/cpp0x/rv5p.C: Ditto.
* g++.dg/cpp0x/rv6p.C: Ditto.
* g++.dg/cpp0x/rv7p.C: Ditto.
* g++.dg/cpp0x/rv8p.C: Ditto.
* g++.dg/cpp0x/unnamed_refs.C: Ditto.

From-SVN: r163240

13 files changed:
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/cast.C
gcc/testsuite/g++.dg/cpp0x/iop.C
gcc/testsuite/g++.dg/cpp0x/named_refs.C
gcc/testsuite/g++.dg/cpp0x/rv1p.C
gcc/testsuite/g++.dg/cpp0x/rv2p.C
gcc/testsuite/g++.dg/cpp0x/rv3p.C
gcc/testsuite/g++.dg/cpp0x/rv4p.C
gcc/testsuite/g++.dg/cpp0x/rv5p.C
gcc/testsuite/g++.dg/cpp0x/rv6p.C
gcc/testsuite/g++.dg/cpp0x/rv7p.C
gcc/testsuite/g++.dg/cpp0x/rv8p.C
gcc/testsuite/g++.dg/cpp0x/unnamed_refs.C

index 5821cfaf4ca501899d958c52601a10eadb03895e..f1473e3d6787aaf4b2b90f6a04b158e986dd28ea 100644 (file)
@@ -1,3 +1,19 @@
+2010-08-14  Uros Bizjak  <ubizjak@gmail.com>
+
+       * g++.dg/cast.C: Change fields of structures to "long" to pass
+       the test on targets with STRUCTURE_SIZE_BOUNDARY != BITS_PER_UNIT.
+       * g++.dg/cpp0x/iop.C: Ditto.
+       * g++.dg/cpp0x/named_refs.C: Ditto.
+       * g++.dg/cpp0x/rv1p.C: Ditto.
+       * g++.dg/cpp0x/rv2p.C: Ditto.
+       * g++.dg/cpp0x/rv3p.C: Ditto.
+       * g++.dg/cpp0x/rv4p.C: Ditto.
+       * g++.dg/cpp0x/rv5p.C: Ditto.
+       * g++.dg/cpp0x/rv6p.C: Ditto.
+       * g++.dg/cpp0x/rv7p.C: Ditto.
+       * g++.dg/cpp0x/rv8p.C: Ditto.
+       * g++.dg/cpp0x/unnamed_refs.C: Ditto.
+
 2010-08-13  Daniel Kraft  <d@domob.eu>
 
        * gfortran.dg/implied_shape_1.f08: New test.
index 4cc7f2edcf85e5634db7e9ea57a12ad4a8e78970..9162d09f3fd071c3ee46b1399411a8b9cc6f0fa3 100644 (file)
@@ -8,8 +8,8 @@
 template <bool> struct sa;
 template <> struct sa<true> {};
 
-struct one   {char x[1];};
-struct two   {char x[2];};
+struct one   {long x[1];};
+struct two   {long x[2];};
 
 struct A {};
 
@@ -19,8 +19,8 @@ two foo(A&&)      {return two();}
 int test1()
 {
     A a;
-    sa<sizeof(foo(a)) == 1> t1;
-    sa<sizeof(foo(static_cast<A&&>(a))) == 2> t2;
+    sa<sizeof(foo(a)) == 1 * sizeof(long)> t1;
+    sa<sizeof(foo(static_cast<A&&>(a))) == 2 * sizeof(long)> t2;
     return 0;
 }
 
index 5aecf9f504e6f9da7151b9e76d041c65b91d798c..834cd314abe1cea3e483af8af0a11b5736b685d3 100644 (file)
@@ -12,8 +12,8 @@
 template <bool> struct sa;
 template <> struct sa<true> {};
 
-struct one   {char x[1];};
-struct two   {char x[2];};
+struct one   {long x[1];};
+struct two   {long x[2];};
 
 struct os
 {
@@ -30,7 +30,7 @@ two operator<<(os&, const A&);
 void test()
 {
     os o;
-    sa<sizeof(o << 1) == 1> t1;  // Calls os::operator<<(int)
+    sa<sizeof(o << 1) == 1 * sizeof(long)> t1;  // Calls os::operator<<(int)
                                  // Would be ambiguous if the implicit object parameter
                                  // was an rvalue reference.
 }
index 96d7e787f0608c5b98f740966d96ea8f4ca90d10..697867e11d91309abf6a34548e5192b7fdfee7a8 100644 (file)
@@ -8,8 +8,8 @@
 template <bool> struct sa;
 template <> struct sa<true> {};
 
-struct one   {char x[1];};
-struct two   {char x[2];};
+struct one   {long x[1];};
+struct two   {long x[2];};
 
 struct A {};
 
@@ -18,7 +18,7 @@ two foo(A&&)      {return two();}
 
 int test1(A&& a)
 {
-    sa<sizeof(foo(a)) == 1> t1;
+    sa<sizeof(foo(a)) == 1 * sizeof(long)> t1;
     return 0;
 }
 
index 4990165a4657a471e7f588595f8089e9bda617b1..abe5de0b35e435a61273e0b4d99f16390f320070 100644 (file)
@@ -8,14 +8,14 @@
 template <bool> struct sa;
 template <> struct sa<true> {};
 
-struct one   {char x[1];};
-struct two   {char x[2];};
-struct three {char x[3];};
-struct four  {char x[4];};
-struct five  {char x[5];};
-struct six   {char x[6];};
-struct seven {char x[7];};
-struct eight {char x[8];};
+struct one   {long x[1];};
+struct two   {long x[2];};
+struct three {long x[3];};
+struct four  {long x[4];};
+struct five  {long x[5];};
+struct six   {long x[6];};
+struct seven {long x[7];};
+struct eight {long x[8];};
 
 struct A
 {
@@ -38,7 +38,7 @@ int test1_1()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_1_1(a))           == 1> t1;
+    sa<sizeof(sink_1_1(a))           == 1 * sizeof(long)> t1;
     return 0;
 }
 
@@ -50,10 +50,10 @@ int test1_2()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_1_2(a))           == 2> t1;
-    sa<sizeof(sink_1_2(ca))          == 2> t2;
-    sa<sizeof(sink_1_2(source()))    == 2> t5;
-    sa<sizeof(sink_1_2(c_source()))  == 2> t6;
+    sa<sizeof(sink_1_2(a))           == 2 * sizeof(long)> t1;
+    sa<sizeof(sink_1_2(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_1_2(source()))    == 2 * sizeof(long)> t5;
+    sa<sizeof(sink_1_2(c_source()))  == 2 * sizeof(long)> t6;
     return 0;
 }
 
@@ -65,8 +65,8 @@ int test1_3()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_1_3(a))           == 3> t1;
-    sa<sizeof(sink_1_3(va))          == 3> t3;
+    sa<sizeof(sink_1_3(a))           == 3 * sizeof(long)> t1;
+    sa<sizeof(sink_1_3(va))          == 3 * sizeof(long)> t3;
     return 0;
 }
 
@@ -78,10 +78,10 @@ int test1_4()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_1_4(a))           == 4> t1;
-    sa<sizeof(sink_1_4(ca))          == 4> t2;
-    sa<sizeof(sink_1_4(va))          == 4> t3;
-    sa<sizeof(sink_1_4(cva))         == 4> t4;
+    sa<sizeof(sink_1_4(a))           == 4 * sizeof(long)> t1;
+    sa<sizeof(sink_1_4(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_1_4(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_1_4(cva))         == 4 * sizeof(long)> t4;
     return 0;
 }
 
@@ -93,7 +93,7 @@ int test1_5()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_1_5(source()))    == 5> t5;
+    sa<sizeof(sink_1_5(source()))    == 5 * sizeof(long)> t5;
     return 0;
 }
 
@@ -105,8 +105,8 @@ int test1_6()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_1_6(source()))    == 6> t5;
-    sa<sizeof(sink_1_6(c_source()))  == 6> t6;
+    sa<sizeof(sink_1_6(source()))    == 6 * sizeof(long)> t5;
+    sa<sizeof(sink_1_6(c_source()))  == 6 * sizeof(long)> t6;
     return 0;
 }
 
@@ -118,8 +118,8 @@ int test1_7()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_1_7(source()))    == 7> t5;
-    sa<sizeof(sink_1_7(v_source()))  == 7> t7;
+    sa<sizeof(sink_1_7(source()))    == 7 * sizeof(long)> t5;
+    sa<sizeof(sink_1_7(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -131,10 +131,10 @@ int test1_8()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_1_8(source()))    == 8> t5;
-    sa<sizeof(sink_1_8(c_source()))  == 8> t6;
-    sa<sizeof(sink_1_8(v_source()))  == 8> t7;
-    sa<sizeof(sink_1_8(cv_source())) == 8> t8;
+    sa<sizeof(sink_1_8(source()))    == 8 * sizeof(long)> t5;
+    sa<sizeof(sink_1_8(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_1_8(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_1_8(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
index 4ed9238a1a1d4d734be48fc1d7987c0604339ba1..722d1b8d8b12f88090a4da04e56e127d8be8f27a 100644 (file)
@@ -8,14 +8,14 @@
 template <bool> struct sa;
 template <> struct sa<true> {};
 
-struct one   {char x[1];};
-struct two   {char x[2];};
-struct three {char x[3];};
-struct four  {char x[4];};
-struct five  {char x[5];};
-struct six   {char x[6];};
-struct seven {char x[7];};
-struct eight {char x[8];};
+struct one   {long x[1];};
+struct two   {long x[2];};
+struct three {long x[3];};
+struct four  {long x[4];};
+struct five  {long x[5];};
+struct six   {long x[6];};
+struct seven {long x[7];};
+struct eight {long x[8];};
 
 struct A
 {
@@ -39,10 +39,10 @@ int test2_12()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_2_12(a))           == 1> t1;
-    sa<sizeof(sink_2_12(ca))          == 2> t2;
-    sa<sizeof(sink_2_12(source()))    == 2> t5;
-    sa<sizeof(sink_2_12(c_source()))  == 2> t6;
+    sa<sizeof(sink_2_12(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_2_12(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_2_12(source()))    == 2 * sizeof(long)> t5;
+    sa<sizeof(sink_2_12(c_source()))  == 2 * sizeof(long)> t6;
     return 0;
 }
 
@@ -55,8 +55,8 @@ int test2_13()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_2_13(a))           == 1> t1;
-    sa<sizeof(sink_2_13(va))          == 3> t3;
+    sa<sizeof(sink_2_13(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_2_13(va))          == 3 * sizeof(long)> t3;
     return 0;
 }
 
@@ -69,10 +69,10 @@ int test2_14()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_2_14(a))           == 1> t1;
-    sa<sizeof(sink_2_14(ca))          == 4> t2;
-    sa<sizeof(sink_2_14(va))          == 4> t3;
-    sa<sizeof(sink_2_14(cva))         == 4> t4;
+    sa<sizeof(sink_2_14(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_2_14(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_2_14(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_2_14(cva))         == 4 * sizeof(long)> t4;
     return 0;
 }
 
@@ -85,8 +85,8 @@ int test2_15()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_2_15(a))           == 1> t1;
-    sa<sizeof(sink_2_15(source()))    == 5> t5;
+    sa<sizeof(sink_2_15(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_2_15(source()))    == 5 * sizeof(long)> t5;
     return 0;
 }
 
@@ -99,9 +99,9 @@ int test2_16()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_2_16(a))           == 1> t1;
-    sa<sizeof(sink_2_16(source()))    == 6> t5;
-    sa<sizeof(sink_2_16(c_source()))  == 6> t6;
+    sa<sizeof(sink_2_16(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_2_16(source()))    == 6 * sizeof(long)> t5;
+    sa<sizeof(sink_2_16(c_source()))  == 6 * sizeof(long)> t6;
     return 0;
 }
 
@@ -114,9 +114,9 @@ int test2_17()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_2_17(a))           == 1> t1;
-    sa<sizeof(sink_2_17(source()))    == 7> t5;
-    sa<sizeof(sink_2_17(v_source()))  == 7> t7;
+    sa<sizeof(sink_2_17(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_2_17(source()))    == 7 * sizeof(long)> t5;
+    sa<sizeof(sink_2_17(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -129,11 +129,11 @@ int test2_18()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_2_18(a))           == 1> t1;
-    sa<sizeof(sink_2_18(source()))    == 8> t5;
-    sa<sizeof(sink_2_18(c_source()))  == 8> t6;
-    sa<sizeof(sink_2_18(v_source()))  == 8> t7;
-    sa<sizeof(sink_2_18(cv_source())) == 8> t8;
+    sa<sizeof(sink_2_18(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_2_18(source()))    == 8 * sizeof(long)> t5;
+    sa<sizeof(sink_2_18(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_2_18(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_2_18(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -146,10 +146,10 @@ int test2_23()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_2_23(ca))          == 2> t2;
-    sa<sizeof(sink_2_23(va))          == 3> t3;
-    sa<sizeof(sink_2_23(source()))    == 2> t5;
-    sa<sizeof(sink_2_23(c_source()))  == 2> t6;
+    sa<sizeof(sink_2_23(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_2_23(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_2_23(source()))    == 2 * sizeof(long)> t5;
+    sa<sizeof(sink_2_23(c_source()))  == 2 * sizeof(long)> t6;
     return 0;
 }
 
@@ -162,14 +162,14 @@ int test2_24()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_2_24(a))           == 2> t1;
-    sa<sizeof(sink_2_24(ca))          == 2> t2;
-    sa<sizeof(sink_2_24(va))          == 4> t3;
-    sa<sizeof(sink_2_24(cva))         == 4> t4;
-    sa<sizeof(sink_2_24(source()))    == 2> t5;
-    sa<sizeof(sink_2_24(c_source()))  == 2> t6;
-//    sa<sizeof(sink_2_24(v_source()))  == 4> t7;
-//    sa<sizeof(sink_2_24(cv_source())) == 4> t8;
+    sa<sizeof(sink_2_24(a))           == 2 * sizeof(long)> t1;
+    sa<sizeof(sink_2_24(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_2_24(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_2_24(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_2_24(source()))    == 2 * sizeof(long)> t5;
+    sa<sizeof(sink_2_24(c_source()))  == 2 * sizeof(long)> t6;
+//    sa<sizeof(sink_2_24(v_source()))  == 4 * sizeof(long)> t7;
+//    sa<sizeof(sink_2_24(cv_source())) == 4 * sizeof(long)> t8;
     return 0;
 }
 
@@ -182,10 +182,10 @@ int test2_25()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_2_25(a))           == 2> t1;
-    sa<sizeof(sink_2_25(ca))          == 2> t2;
-    sa<sizeof(sink_2_25(source()))    == 5> t5;
-    sa<sizeof(sink_2_25(c_source()))  == 2> t6;
+    sa<sizeof(sink_2_25(a))           == 2 * sizeof(long)> t1;
+    sa<sizeof(sink_2_25(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_2_25(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_2_25(c_source()))  == 2 * sizeof(long)> t6;
     return 0;
 }
 
@@ -198,10 +198,10 @@ int test2_26()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_2_26(a))           == 2> t1;
-    sa<sizeof(sink_2_26(ca))          == 2> t2;
-    sa<sizeof(sink_2_26(source()))    == 6> t5;
-    sa<sizeof(sink_2_26(c_source()))  == 6> t6;
+    sa<sizeof(sink_2_26(a))           == 2 * sizeof(long)> t1;
+    sa<sizeof(sink_2_26(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_2_26(source()))    == 6 * sizeof(long)> t5;
+    sa<sizeof(sink_2_26(c_source()))  == 6 * sizeof(long)> t6;
     return 0;
 }
 
@@ -214,11 +214,11 @@ int test2_27()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_2_27(a))           == 2> t1;
-    sa<sizeof(sink_2_27(ca))          == 2> t2;
-    sa<sizeof(sink_2_27(source()))    == 7> t5;
-    sa<sizeof(sink_2_27(c_source()))  == 2> t6;
-    sa<sizeof(sink_2_27(v_source()))  == 7> t7;
+    sa<sizeof(sink_2_27(a))           == 2 * sizeof(long)> t1;
+    sa<sizeof(sink_2_27(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_2_27(source()))    == 7 * sizeof(long)> t5;
+    sa<sizeof(sink_2_27(c_source()))  == 2 * sizeof(long)> t6;
+    sa<sizeof(sink_2_27(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -231,12 +231,12 @@ int test2_28()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_2_28(a))           == 2> t1;
-    sa<sizeof(sink_2_28(ca))          == 2> t2;
-    sa<sizeof(sink_2_28(source()))    == 8> t5;
-    sa<sizeof(sink_2_28(c_source()))  == 8> t6;
-    sa<sizeof(sink_2_28(v_source()))  == 8> t7;
-    sa<sizeof(sink_2_28(cv_source())) == 8> t8;
+    sa<sizeof(sink_2_28(a))           == 2 * sizeof(long)> t1;
+    sa<sizeof(sink_2_28(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_2_28(source()))    == 8 * sizeof(long)> t5;
+    sa<sizeof(sink_2_28(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_2_28(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_2_28(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -249,14 +249,14 @@ int test2_34()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_2_34(a))           == 3> t1;
-    sa<sizeof(sink_2_34(ca))          == 4> t2;
-    sa<sizeof(sink_2_34(va))          == 3> t3;
-    sa<sizeof(sink_2_34(cva))         == 4> t4;
-//    sa<sizeof(sink_2_34(source()))    == 4> t5;
-//    sa<sizeof(sink_2_34(c_source()))  == 4> t6;
-//    sa<sizeof(sink_2_34(v_source()))  == 4> t7;
-//    sa<sizeof(sink_2_34(cv_source())) == 4> t8;
+    sa<sizeof(sink_2_34(a))           == 3 * sizeof(long)> t1;
+    sa<sizeof(sink_2_34(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_2_34(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_2_34(cva))         == 4 * sizeof(long)> t4;
+//    sa<sizeof(sink_2_34(source()))    == 4 * sizeof(long)> t5;
+//    sa<sizeof(sink_2_34(c_source()))  == 4 * sizeof(long)> t6;
+//    sa<sizeof(sink_2_34(v_source()))  == 4 * sizeof(long)> t7;
+//    sa<sizeof(sink_2_34(cv_source())) == 4 * sizeof(long)> t8;
     return 0;
 }
 
@@ -269,9 +269,9 @@ int test2_35()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_2_35(a))           == 3> t1;
-    sa<sizeof(sink_2_35(va))          == 3> t3;
-    sa<sizeof(sink_2_35(source()))    == 5> t5;
+    sa<sizeof(sink_2_35(a))           == 3 * sizeof(long)> t1;
+    sa<sizeof(sink_2_35(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_2_35(source()))    == 5 * sizeof(long)> t5;
     return 0;
 }
 
@@ -284,10 +284,10 @@ int test2_36()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_2_36(a))           == 3> t1;
-    sa<sizeof(sink_2_36(va))          == 3> t3;
-    sa<sizeof(sink_2_36(source()))    == 6> t5;
-    sa<sizeof(sink_2_36(c_source()))  == 6> t6;
+    sa<sizeof(sink_2_36(a))           == 3 * sizeof(long)> t1;
+    sa<sizeof(sink_2_36(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_2_36(source()))    == 6 * sizeof(long)> t5;
+    sa<sizeof(sink_2_36(c_source()))  == 6 * sizeof(long)> t6;
     return 0;
 }
 
@@ -300,10 +300,10 @@ int test2_37()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_2_37(a))           == 3> t1;
-    sa<sizeof(sink_2_37(va))          == 3> t3;
-    sa<sizeof(sink_2_37(source()))    == 7> t5;
-    sa<sizeof(sink_2_37(v_source()))  == 7> t7;
+    sa<sizeof(sink_2_37(a))           == 3 * sizeof(long)> t1;
+    sa<sizeof(sink_2_37(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_2_37(source()))    == 7 * sizeof(long)> t5;
+    sa<sizeof(sink_2_37(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -316,12 +316,12 @@ int test2_38()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_2_38(a))           == 3> t1;
-    sa<sizeof(sink_2_38(va))          == 3> t3;
-    sa<sizeof(sink_2_38(source()))    == 8> t5;
-    sa<sizeof(sink_2_38(c_source()))  == 8> t6;
-    sa<sizeof(sink_2_38(v_source()))  == 8> t7;
-    sa<sizeof(sink_2_38(cv_source())) == 8> t8;
+    sa<sizeof(sink_2_38(a))           == 3 * sizeof(long)> t1;
+    sa<sizeof(sink_2_38(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_2_38(source()))    == 8 * sizeof(long)> t5;
+    sa<sizeof(sink_2_38(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_2_38(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_2_38(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -334,14 +334,14 @@ int test2_45()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_2_45(a))           == 4> t1;
-    sa<sizeof(sink_2_45(ca))          == 4> t2;
-    sa<sizeof(sink_2_45(va))          == 4> t3;
-    sa<sizeof(sink_2_45(cva))         == 4> t4;
-    sa<sizeof(sink_2_45(source()))    == 5> t5;
-//    sa<sizeof(sink_2_45(c_source()))  == 4> t6;
-//    sa<sizeof(sink_2_45(v_source()))  == 4> t7;
-//    sa<sizeof(sink_2_45(cv_source())) == 4> t8;
+    sa<sizeof(sink_2_45(a))           == 4 * sizeof(long)> t1;
+    sa<sizeof(sink_2_45(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_2_45(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_2_45(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_2_45(source()))    == 5 * sizeof(long)> t5;
+//    sa<sizeof(sink_2_45(c_source()))  == 4 * sizeof(long)> t6;
+//    sa<sizeof(sink_2_45(v_source()))  == 4 * sizeof(long)> t7;
+//    sa<sizeof(sink_2_45(cv_source())) == 4 * sizeof(long)> t8;
     return 0;
 }
 
@@ -354,14 +354,14 @@ int test2_46()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_2_46(a))           == 4> t1;
-    sa<sizeof(sink_2_46(ca))          == 4> t2;
-    sa<sizeof(sink_2_46(va))          == 4> t3;
-    sa<sizeof(sink_2_46(cva))         == 4> t4;
-    sa<sizeof(sink_2_46(source()))    == 6> t5;
-    sa<sizeof(sink_2_46(c_source()))  == 6> t6;
-//    sa<sizeof(sink_2_46(v_source()))  == 4> t7;
-//    sa<sizeof(sink_2_46(cv_source())) == 4> t8;
+    sa<sizeof(sink_2_46(a))           == 4 * sizeof(long)> t1;
+    sa<sizeof(sink_2_46(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_2_46(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_2_46(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_2_46(source()))    == 6 * sizeof(long)> t5;
+    sa<sizeof(sink_2_46(c_source()))  == 6 * sizeof(long)> t6;
+//    sa<sizeof(sink_2_46(v_source()))  == 4 * sizeof(long)> t7;
+//    sa<sizeof(sink_2_46(cv_source())) == 4 * sizeof(long)> t8;
     return 0;
 }
 
@@ -374,14 +374,14 @@ int test2_47()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_2_47(a))           == 4> t1;
-    sa<sizeof(sink_2_47(ca))          == 4> t2;
-    sa<sizeof(sink_2_47(va))          == 4> t3;
-    sa<sizeof(sink_2_47(cva))         == 4> t4;
-    sa<sizeof(sink_2_47(source()))    == 7> t5;
-//    sa<sizeof(sink_2_47(c_source()))  == 4> t6;
-    sa<sizeof(sink_2_47(v_source()))  == 7> t7;
-//    sa<sizeof(sink_2_47(cv_source())) == 4> t8;
+    sa<sizeof(sink_2_47(a))           == 4 * sizeof(long)> t1;
+    sa<sizeof(sink_2_47(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_2_47(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_2_47(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_2_47(source()))    == 7 * sizeof(long)> t5;
+//    sa<sizeof(sink_2_47(c_source()))  == 4 * sizeof(long)> t6;
+    sa<sizeof(sink_2_47(v_source()))  == 7 * sizeof(long)> t7;
+//    sa<sizeof(sink_2_47(cv_source())) == 4 * sizeof(long)> t8;
     return 0;
 }
 
@@ -394,14 +394,14 @@ int test2_48()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_2_48(a))           == 4> t1;
-    sa<sizeof(sink_2_48(ca))          == 4> t2;
-    sa<sizeof(sink_2_48(va))          == 4> t3;
-    sa<sizeof(sink_2_48(cva))         == 4> t4;
-    sa<sizeof(sink_2_48(source()))    == 8> t5;
-    sa<sizeof(sink_2_48(c_source()))  == 8> t6;
-    sa<sizeof(sink_2_48(v_source()))  == 8> t7;
-    sa<sizeof(sink_2_48(cv_source())) == 8> t8;
+    sa<sizeof(sink_2_48(a))           == 4 * sizeof(long)> t1;
+    sa<sizeof(sink_2_48(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_2_48(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_2_48(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_2_48(source()))    == 8 * sizeof(long)> t5;
+    sa<sizeof(sink_2_48(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_2_48(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_2_48(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -414,8 +414,8 @@ int test2_56()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_2_56(source()))    == 5> t5;
-    sa<sizeof(sink_2_56(c_source()))  == 6> t6;
+    sa<sizeof(sink_2_56(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_2_56(c_source()))  == 6 * sizeof(long)> t6;
     return 0;
 }
 
@@ -428,8 +428,8 @@ int test2_57()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_2_57(source()))    == 5> t5;
-    sa<sizeof(sink_2_57(v_source()))  == 7> t7;
+    sa<sizeof(sink_2_57(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_2_57(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -442,10 +442,10 @@ int test2_58()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_2_58(source()))    == 5> t5;
-    sa<sizeof(sink_2_58(c_source()))  == 8> t6;
-    sa<sizeof(sink_2_58(v_source()))  == 8> t7;
-    sa<sizeof(sink_2_58(cv_source())) == 8> t8;
+    sa<sizeof(sink_2_58(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_2_58(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_2_58(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_2_58(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -458,8 +458,8 @@ int test2_67()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_2_67(c_source()))  == 6> t6;
-    sa<sizeof(sink_2_67(v_source()))  == 7> t7;
+    sa<sizeof(sink_2_67(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_2_67(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -472,10 +472,10 @@ int test2_68()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_2_68(source()))    == 6> t5;
-    sa<sizeof(sink_2_68(c_source()))  == 6> t6;
-    sa<sizeof(sink_2_68(v_source()))  == 8> t7;
-    sa<sizeof(sink_2_68(cv_source())) == 8> t8;
+    sa<sizeof(sink_2_68(source()))    == 6 * sizeof(long)> t5;
+    sa<sizeof(sink_2_68(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_2_68(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_2_68(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -488,10 +488,10 @@ int test2_78()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_2_78(source()))    == 7> t5;
-    sa<sizeof(sink_2_78(c_source()))  == 8> t6;
-    sa<sizeof(sink_2_78(v_source()))  == 7> t7;
-    sa<sizeof(sink_2_78(cv_source())) == 8> t8;
+    sa<sizeof(sink_2_78(source()))    == 7 * sizeof(long)> t5;
+    sa<sizeof(sink_2_78(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_2_78(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_2_78(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
index 5f59920bba6be6a7a6053d2ed2cadb8063394c69..fad89e1d938448b29b8b8147254162bb795ee79e 100644 (file)
@@ -8,14 +8,14 @@
 template <bool> struct sa;
 template <> struct sa<true> {};
 
-struct one   {char x[1];};
-struct two   {char x[2];};
-struct three {char x[3];};
-struct four  {char x[4];};
-struct five  {char x[5];};
-struct six   {char x[6];};
-struct seven {char x[7];};
-struct eight {char x[8];};
+struct one   {long x[1];};
+struct two   {long x[2];};
+struct three {long x[3];};
+struct four  {long x[4];};
+struct five  {long x[5];};
+struct six   {long x[6];};
+struct seven {long x[7];};
+struct eight {long x[8];};
 
 struct A
 {
@@ -40,11 +40,11 @@ int test3_123()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_123(a))           == 1> t1;
-    sa<sizeof(sink_3_123(ca))          == 2> t2;
-    sa<sizeof(sink_3_123(va))          == 3> t3;
-    sa<sizeof(sink_3_123(source()))    == 2> t5;
-    sa<sizeof(sink_3_123(c_source()))  == 2> t6;
+    sa<sizeof(sink_3_123(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_3_123(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_3_123(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_3_123(source()))    == 2 * sizeof(long)> t5;
+    sa<sizeof(sink_3_123(c_source()))  == 2 * sizeof(long)> t6;
     return 0;
 }
 
@@ -58,12 +58,12 @@ int test3_124()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_124(a))           == 1> t1;
-    sa<sizeof(sink_3_124(ca))          == 2> t2;
-    sa<sizeof(sink_3_124(va))          == 4> t3;
-    sa<sizeof(sink_3_124(cva))         == 4> t4;
-    sa<sizeof(sink_3_124(source()))    == 2> t5;
-    sa<sizeof(sink_3_124(c_source()))  == 2> t6;
+    sa<sizeof(sink_3_124(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_3_124(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_3_124(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_3_124(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_3_124(source()))    == 2 * sizeof(long)> t5;
+    sa<sizeof(sink_3_124(c_source()))  == 2 * sizeof(long)> t6;
     return 0;
 }
 
@@ -77,10 +77,10 @@ int test3_125()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_125(a))           == 1> t1;
-    sa<sizeof(sink_3_125(ca))          == 2> t2;
-    sa<sizeof(sink_3_125(source()))    == 5> t5;
-    sa<sizeof(sink_3_125(c_source()))  == 2> t6;
+    sa<sizeof(sink_3_125(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_3_125(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_3_125(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_3_125(c_source()))  == 2 * sizeof(long)> t6;
     return 0;
 }
 
@@ -94,10 +94,10 @@ int test3_126()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_126(a))           == 1> t1;
-    sa<sizeof(sink_3_126(ca))          == 2> t2;
-    sa<sizeof(sink_3_126(source()))    == 6> t5;
-    sa<sizeof(sink_3_126(c_source()))  == 6> t6;
+    sa<sizeof(sink_3_126(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_3_126(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_3_126(source()))    == 6 * sizeof(long)> t5;
+    sa<sizeof(sink_3_126(c_source()))  == 6 * sizeof(long)> t6;
     return 0;
 }
 
@@ -111,11 +111,11 @@ int test3_127()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_127(a))           == 1> t1;
-    sa<sizeof(sink_3_127(ca))          == 2> t2;
-    sa<sizeof(sink_3_127(source()))    == 7> t5;
-    sa<sizeof(sink_3_127(c_source()))  == 2> t6;
-    sa<sizeof(sink_3_127(v_source()))  == 7> t7;
+    sa<sizeof(sink_3_127(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_3_127(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_3_127(source()))    == 7 * sizeof(long)> t5;
+    sa<sizeof(sink_3_127(c_source()))  == 2 * sizeof(long)> t6;
+    sa<sizeof(sink_3_127(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -129,12 +129,12 @@ int test3_128()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_128(a))           == 1> t1;
-    sa<sizeof(sink_3_128(ca))          == 2> t2;
-    sa<sizeof(sink_3_128(source()))    == 8> t5;
-    sa<sizeof(sink_3_128(c_source()))  == 8> t6;
-    sa<sizeof(sink_3_128(v_source()))  == 8> t7;
-    sa<sizeof(sink_3_128(cv_source())) == 8> t8;
+    sa<sizeof(sink_3_128(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_3_128(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_3_128(source()))    == 8 * sizeof(long)> t5;
+    sa<sizeof(sink_3_128(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_3_128(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_3_128(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -148,10 +148,10 @@ int test3_134()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_134(a))           == 1> t1;
-    sa<sizeof(sink_3_134(ca))          == 4> t2;
-    sa<sizeof(sink_3_134(va))          == 3> t3;
-    sa<sizeof(sink_3_134(cva))         == 4> t4;
+    sa<sizeof(sink_3_134(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_3_134(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_3_134(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_3_134(cva))         == 4 * sizeof(long)> t4;
     return 0;
 }
 
@@ -165,9 +165,9 @@ int test3_135()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_135(a))           == 1> t1;
-    sa<sizeof(sink_3_135(va))          == 3> t3;
-    sa<sizeof(sink_3_135(source()))    == 5> t5;
+    sa<sizeof(sink_3_135(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_3_135(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_3_135(source()))    == 5 * sizeof(long)> t5;
     return 0;
 }
 
@@ -181,10 +181,10 @@ int test3_136()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_136(a))           == 1> t1;
-    sa<sizeof(sink_3_136(va))          == 3> t3;
-    sa<sizeof(sink_3_136(source()))    == 6> t5;
-    sa<sizeof(sink_3_136(c_source()))  == 6> t6;
+    sa<sizeof(sink_3_136(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_3_136(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_3_136(source()))    == 6 * sizeof(long)> t5;
+    sa<sizeof(sink_3_136(c_source()))  == 6 * sizeof(long)> t6;
     return 0;
 }
 
@@ -198,10 +198,10 @@ int test3_137()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_137(a))           == 1> t1;
-    sa<sizeof(sink_3_137(va))          == 3> t3;
-    sa<sizeof(sink_3_137(source()))    == 7> t5;
-    sa<sizeof(sink_3_137(v_source()))  == 7> t7;
+    sa<sizeof(sink_3_137(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_3_137(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_3_137(source()))    == 7 * sizeof(long)> t5;
+    sa<sizeof(sink_3_137(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -215,12 +215,12 @@ int test3_138()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_138(a))           == 1> t1;
-    sa<sizeof(sink_3_138(va))          == 3> t3;
-    sa<sizeof(sink_3_138(source()))    == 8> t5;
-    sa<sizeof(sink_3_138(c_source()))  == 8> t6;
-    sa<sizeof(sink_3_138(v_source()))  == 8> t7;
-    sa<sizeof(sink_3_138(cv_source())) == 8> t8;
+    sa<sizeof(sink_3_138(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_3_138(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_3_138(source()))    == 8 * sizeof(long)> t5;
+    sa<sizeof(sink_3_138(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_3_138(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_3_138(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -234,11 +234,11 @@ int test3_145()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_145(a))           == 1> t1;
-    sa<sizeof(sink_3_145(ca))          == 4> t2;
-    sa<sizeof(sink_3_145(va))          == 4> t3;
-    sa<sizeof(sink_3_145(cva))         == 4> t4;
-    sa<sizeof(sink_3_145(source()))    == 5> t5;
+    sa<sizeof(sink_3_145(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_3_145(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_3_145(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_3_145(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_3_145(source()))    == 5 * sizeof(long)> t5;
     return 0;
 }
 
@@ -252,12 +252,12 @@ int test3_146()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_146(a))           == 1> t1;
-    sa<sizeof(sink_3_146(ca))          == 4> t2;
-    sa<sizeof(sink_3_146(va))          == 4> t3;
-    sa<sizeof(sink_3_146(cva))         == 4> t4;
-    sa<sizeof(sink_3_146(source()))    == 6> t5;
-    sa<sizeof(sink_3_146(c_source()))  == 6> t6;
+    sa<sizeof(sink_3_146(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_3_146(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_3_146(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_3_146(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_3_146(source()))    == 6 * sizeof(long)> t5;
+    sa<sizeof(sink_3_146(c_source()))  == 6 * sizeof(long)> t6;
     return 0;
 }
 
@@ -271,12 +271,12 @@ int test3_147()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_147(a))           == 1> t1;
-    sa<sizeof(sink_3_147(ca))          == 4> t2;
-    sa<sizeof(sink_3_147(va))          == 4> t3;
-    sa<sizeof(sink_3_147(cva))         == 4> t4;
-    sa<sizeof(sink_3_147(source()))    == 7> t5;
-    sa<sizeof(sink_3_147(v_source()))  == 7> t7;
+    sa<sizeof(sink_3_147(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_3_147(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_3_147(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_3_147(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_3_147(source()))    == 7 * sizeof(long)> t5;
+    sa<sizeof(sink_3_147(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -290,14 +290,14 @@ int test3_148()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_148(a))           == 1> t1;
-    sa<sizeof(sink_3_148(ca))          == 4> t2;
-    sa<sizeof(sink_3_148(va))          == 4> t3;
-    sa<sizeof(sink_3_148(cva))         == 4> t4;
-    sa<sizeof(sink_3_148(source()))    == 8> t5;
-    sa<sizeof(sink_3_148(c_source()))  == 8> t6;
-    sa<sizeof(sink_3_148(v_source()))  == 8> t7;
-    sa<sizeof(sink_3_148(cv_source())) == 8> t8;
+    sa<sizeof(sink_3_148(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_3_148(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_3_148(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_3_148(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_3_148(source()))    == 8 * sizeof(long)> t5;
+    sa<sizeof(sink_3_148(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_3_148(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_3_148(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -311,9 +311,9 @@ int test3_156()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_156(a))           == 1> t1;
-    sa<sizeof(sink_3_156(source()))    == 5> t5;
-    sa<sizeof(sink_3_156(c_source()))  == 6> t6;
+    sa<sizeof(sink_3_156(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_3_156(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_3_156(c_source()))  == 6 * sizeof(long)> t6;
     return 0;
 }
 
@@ -327,9 +327,9 @@ int test3_157()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_157(a))           == 1> t1;
-    sa<sizeof(sink_3_157(source()))    == 5> t5;
-    sa<sizeof(sink_3_157(v_source()))  == 7> t7;
+    sa<sizeof(sink_3_157(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_3_157(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_3_157(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -343,11 +343,11 @@ int test3_158()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_158(a))           == 1> t1;
-    sa<sizeof(sink_3_158(source()))    == 5> t5;
-    sa<sizeof(sink_3_158(c_source()))  == 8> t6;
-    sa<sizeof(sink_3_158(v_source()))  == 8> t7;
-    sa<sizeof(sink_3_158(cv_source())) == 8> t8;
+    sa<sizeof(sink_3_158(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_3_158(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_3_158(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_3_158(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_3_158(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -361,9 +361,9 @@ int test3_167()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_167(a))           == 1> t1;
-    sa<sizeof(sink_3_167(c_source()))  == 6> t6;
-    sa<sizeof(sink_3_167(v_source()))  == 7> t7;
+    sa<sizeof(sink_3_167(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_3_167(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_3_167(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -377,11 +377,11 @@ int test3_168()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_168(a))           == 1> t1;
-    sa<sizeof(sink_3_168(source()))    == 6> t5;
-    sa<sizeof(sink_3_168(c_source()))  == 6> t6;
-    sa<sizeof(sink_3_168(v_source()))  == 8> t7;
-    sa<sizeof(sink_3_168(cv_source())) == 8> t8;
+    sa<sizeof(sink_3_168(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_3_168(source()))    == 6 * sizeof(long)> t5;
+    sa<sizeof(sink_3_168(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_3_168(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_3_168(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -395,11 +395,11 @@ int test3_178()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_178(a))           == 1> t1;
-    sa<sizeof(sink_3_178(source()))    == 7> t5;
-    sa<sizeof(sink_3_178(c_source()))  == 8> t6;
-    sa<sizeof(sink_3_178(v_source()))  == 7> t7;
-    sa<sizeof(sink_3_178(cv_source())) == 8> t8;
+    sa<sizeof(sink_3_178(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_3_178(source()))    == 7 * sizeof(long)> t5;
+    sa<sizeof(sink_3_178(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_3_178(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_3_178(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -413,11 +413,11 @@ int test3_234()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_234(ca))          == 2> t2;
-    sa<sizeof(sink_3_234(va))          == 3> t3;
-    sa<sizeof(sink_3_234(cva))         == 4> t4;
-    sa<sizeof(sink_3_234(source()))    == 2> t5;
-    sa<sizeof(sink_3_234(c_source()))  == 2> t6;
+    sa<sizeof(sink_3_234(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_3_234(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_3_234(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_3_234(source()))    == 2 * sizeof(long)> t5;
+    sa<sizeof(sink_3_234(c_source()))  == 2 * sizeof(long)> t6;
     return 0;
 }
 
@@ -431,10 +431,10 @@ int test3_235()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_235(ca))          == 2> t2;
-    sa<sizeof(sink_3_235(va))          == 3> t3;
-    sa<sizeof(sink_3_235(source()))    == 5> t5;
-    sa<sizeof(sink_3_235(c_source()))  == 2> t6;
+    sa<sizeof(sink_3_235(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_3_235(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_3_235(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_3_235(c_source()))  == 2 * sizeof(long)> t6;
     return 0;
 }
 
@@ -448,10 +448,10 @@ int test3_236()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_236(ca))          == 2> t2;
-    sa<sizeof(sink_3_236(va))          == 3> t3;
-    sa<sizeof(sink_3_236(source()))    == 6> t5;
-    sa<sizeof(sink_3_236(c_source()))  == 6> t6;
+    sa<sizeof(sink_3_236(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_3_236(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_3_236(source()))    == 6 * sizeof(long)> t5;
+    sa<sizeof(sink_3_236(c_source()))  == 6 * sizeof(long)> t6;
     return 0;
 }
 
@@ -465,11 +465,11 @@ int test3_237()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_237(ca))          == 2> t2;
-    sa<sizeof(sink_3_237(va))          == 3> t3;
-    sa<sizeof(sink_3_237(source()))    == 7> t5;
-    sa<sizeof(sink_3_237(c_source()))  == 2> t6;
-    sa<sizeof(sink_3_237(v_source()))  == 7> t7;
+    sa<sizeof(sink_3_237(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_3_237(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_3_237(source()))    == 7 * sizeof(long)> t5;
+    sa<sizeof(sink_3_237(c_source()))  == 2 * sizeof(long)> t6;
+    sa<sizeof(sink_3_237(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -483,12 +483,12 @@ int test3_238()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_238(ca))          == 2> t2;
-    sa<sizeof(sink_3_238(va))          == 3> t3;
-    sa<sizeof(sink_3_238(source()))    == 8> t5;
-    sa<sizeof(sink_3_238(c_source()))  == 8> t6;
-    sa<sizeof(sink_3_238(v_source()))  == 8> t7;
-    sa<sizeof(sink_3_238(cv_source())) == 8> t8;
+    sa<sizeof(sink_3_238(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_3_238(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_3_238(source()))    == 8 * sizeof(long)> t5;
+    sa<sizeof(sink_3_238(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_3_238(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_3_238(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -502,12 +502,12 @@ int test3_245()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_245(a))           == 2> t1;
-    sa<sizeof(sink_3_245(ca))          == 2> t2;
-    sa<sizeof(sink_3_245(va))          == 4> t3;
-    sa<sizeof(sink_3_245(cva))         == 4> t4;
-    sa<sizeof(sink_3_245(source()))    == 5> t5;
-    sa<sizeof(sink_3_245(c_source()))  == 2> t6;
+    sa<sizeof(sink_3_245(a))           == 2 * sizeof(long)> t1;
+    sa<sizeof(sink_3_245(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_3_245(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_3_245(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_3_245(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_3_245(c_source()))  == 2 * sizeof(long)> t6;
     return 0;
 }
 
@@ -521,12 +521,12 @@ int test3_246()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_246(a))           == 2> t1;
-    sa<sizeof(sink_3_246(ca))          == 2> t2;
-    sa<sizeof(sink_3_246(va))          == 4> t3;
-    sa<sizeof(sink_3_246(cva))         == 4> t4;
-    sa<sizeof(sink_3_246(source()))    == 6> t5;
-    sa<sizeof(sink_3_246(c_source()))  == 6> t6;
+    sa<sizeof(sink_3_246(a))           == 2 * sizeof(long)> t1;
+    sa<sizeof(sink_3_246(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_3_246(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_3_246(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_3_246(source()))    == 6 * sizeof(long)> t5;
+    sa<sizeof(sink_3_246(c_source()))  == 6 * sizeof(long)> t6;
     return 0;
 }
 
@@ -540,13 +540,13 @@ int test3_247()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_247(a))           == 2> t1;
-    sa<sizeof(sink_3_247(ca))          == 2> t2;
-    sa<sizeof(sink_3_247(va))          == 4> t3;
-    sa<sizeof(sink_3_247(cva))         == 4> t4;
-    sa<sizeof(sink_3_247(source()))    == 7> t5;
-    sa<sizeof(sink_3_247(c_source()))  == 2> t6;
-    sa<sizeof(sink_3_247(v_source()))  == 7> t7;
+    sa<sizeof(sink_3_247(a))           == 2 * sizeof(long)> t1;
+    sa<sizeof(sink_3_247(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_3_247(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_3_247(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_3_247(source()))    == 7 * sizeof(long)> t5;
+    sa<sizeof(sink_3_247(c_source()))  == 2 * sizeof(long)> t6;
+    sa<sizeof(sink_3_247(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -560,14 +560,14 @@ int test3_248()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_248(a))           == 2> t1;
-    sa<sizeof(sink_3_248(ca))          == 2> t2;
-    sa<sizeof(sink_3_248(va))          == 4> t3;
-    sa<sizeof(sink_3_248(cva))         == 4> t4;
-    sa<sizeof(sink_3_248(source()))    == 8> t5;
-    sa<sizeof(sink_3_248(c_source()))  == 8> t6;
-    sa<sizeof(sink_3_248(v_source()))  == 8> t7;
-    sa<sizeof(sink_3_248(cv_source())) == 8> t8;
+    sa<sizeof(sink_3_248(a))           == 2 * sizeof(long)> t1;
+    sa<sizeof(sink_3_248(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_3_248(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_3_248(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_3_248(source()))    == 8 * sizeof(long)> t5;
+    sa<sizeof(sink_3_248(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_3_248(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_3_248(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -581,10 +581,10 @@ int test3_256()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_256(a))           == 2> t1;
-    sa<sizeof(sink_3_256(ca))          == 2> t2;
-    sa<sizeof(sink_3_256(source()))    == 5> t5;
-    sa<sizeof(sink_3_256(c_source()))  == 6> t6;
+    sa<sizeof(sink_3_256(a))           == 2 * sizeof(long)> t1;
+    sa<sizeof(sink_3_256(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_3_256(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_3_256(c_source()))  == 6 * sizeof(long)> t6;
     return 0;
 }
 
@@ -598,11 +598,11 @@ int test3_257()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_257(a))           == 2> t1;
-    sa<sizeof(sink_3_257(ca))          == 2> t2;
-    sa<sizeof(sink_3_257(source()))    == 5> t5;
-    sa<sizeof(sink_3_257(c_source()))  == 2> t6;
-    sa<sizeof(sink_3_257(v_source()))  == 7> t7;
+    sa<sizeof(sink_3_257(a))           == 2 * sizeof(long)> t1;
+    sa<sizeof(sink_3_257(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_3_257(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_3_257(c_source()))  == 2 * sizeof(long)> t6;
+    sa<sizeof(sink_3_257(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -616,12 +616,12 @@ int test3_258()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_258(a))           == 2> t1;
-    sa<sizeof(sink_3_258(ca))          == 2> t2;
-    sa<sizeof(sink_3_258(source()))    == 5> t5;
-    sa<sizeof(sink_3_258(c_source()))  == 8> t6;
-    sa<sizeof(sink_3_258(v_source()))  == 8> t7;
-    sa<sizeof(sink_3_258(cv_source())) == 8> t8;
+    sa<sizeof(sink_3_258(a))           == 2 * sizeof(long)> t1;
+    sa<sizeof(sink_3_258(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_3_258(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_3_258(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_3_258(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_3_258(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -635,10 +635,10 @@ int test3_267()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_267(a))           == 2> t1;
-    sa<sizeof(sink_3_267(ca))          == 2> t2;
-    sa<sizeof(sink_3_267(c_source()))  == 6> t6;
-    sa<sizeof(sink_3_267(v_source()))  == 7> t7;
+    sa<sizeof(sink_3_267(a))           == 2 * sizeof(long)> t1;
+    sa<sizeof(sink_3_267(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_3_267(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_3_267(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -652,12 +652,12 @@ int test3_268()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_268(a))           == 2> t1;
-    sa<sizeof(sink_3_268(ca))          == 2> t2;
-    sa<sizeof(sink_3_268(source()))    == 6> t5;
-    sa<sizeof(sink_3_268(c_source()))  == 6> t6;
-    sa<sizeof(sink_3_268(v_source()))  == 8> t7;
-    sa<sizeof(sink_3_268(cv_source())) == 8> t8;
+    sa<sizeof(sink_3_268(a))           == 2 * sizeof(long)> t1;
+    sa<sizeof(sink_3_268(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_3_268(source()))    == 6 * sizeof(long)> t5;
+    sa<sizeof(sink_3_268(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_3_268(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_3_268(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -671,12 +671,12 @@ int test3_278()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_278(a))           == 2> t1;
-    sa<sizeof(sink_3_278(ca))          == 2> t2;
-    sa<sizeof(sink_3_278(source()))    == 7> t5;
-    sa<sizeof(sink_3_278(c_source()))  == 8> t6;
-    sa<sizeof(sink_3_278(v_source()))  == 7> t7;
-    sa<sizeof(sink_3_278(cv_source())) == 8> t8;
+    sa<sizeof(sink_3_278(a))           == 2 * sizeof(long)> t1;
+    sa<sizeof(sink_3_278(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_3_278(source()))    == 7 * sizeof(long)> t5;
+    sa<sizeof(sink_3_278(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_3_278(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_3_278(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -690,11 +690,11 @@ int test3_345()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_345(a))           == 3> t1;
-    sa<sizeof(sink_3_345(ca))          == 4> t2;
-    sa<sizeof(sink_3_345(va))          == 3> t3;
-    sa<sizeof(sink_3_345(cva))         == 4> t4;
-    sa<sizeof(sink_3_345(source()))    == 5> t5;
+    sa<sizeof(sink_3_345(a))           == 3 * sizeof(long)> t1;
+    sa<sizeof(sink_3_345(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_3_345(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_3_345(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_3_345(source()))    == 5 * sizeof(long)> t5;
     return 0;
 }
 
@@ -708,12 +708,12 @@ int test3_346()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_346(a))           == 3> t1;
-    sa<sizeof(sink_3_346(ca))          == 4> t2;
-    sa<sizeof(sink_3_346(va))          == 3> t3;
-    sa<sizeof(sink_3_346(cva))         == 4> t4;
-    sa<sizeof(sink_3_346(source()))    == 6> t5;
-    sa<sizeof(sink_3_346(c_source()))  == 6> t6;
+    sa<sizeof(sink_3_346(a))           == 3 * sizeof(long)> t1;
+    sa<sizeof(sink_3_346(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_3_346(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_3_346(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_3_346(source()))    == 6 * sizeof(long)> t5;
+    sa<sizeof(sink_3_346(c_source()))  == 6 * sizeof(long)> t6;
     return 0;
 }
 
@@ -727,12 +727,12 @@ int test3_347()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_347(a))           == 3> t1;
-    sa<sizeof(sink_3_347(ca))          == 4> t2;
-    sa<sizeof(sink_3_347(va))          == 3> t3;
-    sa<sizeof(sink_3_347(cva))         == 4> t4;
-    sa<sizeof(sink_3_347(source()))    == 7> t5;
-    sa<sizeof(sink_3_347(v_source()))  == 7> t7;
+    sa<sizeof(sink_3_347(a))           == 3 * sizeof(long)> t1;
+    sa<sizeof(sink_3_347(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_3_347(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_3_347(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_3_347(source()))    == 7 * sizeof(long)> t5;
+    sa<sizeof(sink_3_347(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -746,14 +746,14 @@ int test3_348()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_348(a))           == 3> t1;
-    sa<sizeof(sink_3_348(ca))          == 4> t2;
-    sa<sizeof(sink_3_348(va))          == 3> t3;
-    sa<sizeof(sink_3_348(cva))         == 4> t4;
-    sa<sizeof(sink_3_348(source()))    == 8> t5;
-    sa<sizeof(sink_3_348(c_source()))  == 8> t6;
-    sa<sizeof(sink_3_348(v_source()))  == 8> t7;
-    sa<sizeof(sink_3_348(cv_source())) == 8> t8;
+    sa<sizeof(sink_3_348(a))           == 3 * sizeof(long)> t1;
+    sa<sizeof(sink_3_348(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_3_348(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_3_348(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_3_348(source()))    == 8 * sizeof(long)> t5;
+    sa<sizeof(sink_3_348(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_3_348(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_3_348(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -767,10 +767,10 @@ int test3_356()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_356(a))           == 3> t1;
-    sa<sizeof(sink_3_356(va))          == 3> t3;
-    sa<sizeof(sink_3_356(source()))    == 5> t5;
-    sa<sizeof(sink_3_356(c_source()))  == 6> t6;
+    sa<sizeof(sink_3_356(a))           == 3 * sizeof(long)> t1;
+    sa<sizeof(sink_3_356(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_3_356(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_3_356(c_source()))  == 6 * sizeof(long)> t6;
     return 0;
 }
 
@@ -784,10 +784,10 @@ int test3_357()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_357(a))           == 3> t1;
-    sa<sizeof(sink_3_357(va))          == 3> t3;
-    sa<sizeof(sink_3_357(source()))    == 5> t5;
-    sa<sizeof(sink_3_357(v_source()))  == 7> t7;
+    sa<sizeof(sink_3_357(a))           == 3 * sizeof(long)> t1;
+    sa<sizeof(sink_3_357(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_3_357(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_3_357(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -801,12 +801,12 @@ int test3_358()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_358(a))           == 3> t1;
-    sa<sizeof(sink_3_358(va))          == 3> t3;
-    sa<sizeof(sink_3_358(source()))    == 5> t5;
-    sa<sizeof(sink_3_358(c_source()))  == 8> t6;
-    sa<sizeof(sink_3_358(v_source()))  == 8> t7;
-    sa<sizeof(sink_3_358(cv_source())) == 8> t8;
+    sa<sizeof(sink_3_358(a))           == 3 * sizeof(long)> t1;
+    sa<sizeof(sink_3_358(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_3_358(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_3_358(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_3_358(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_3_358(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -820,10 +820,10 @@ int test3_367()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_367(a))           == 3> t1;
-    sa<sizeof(sink_3_367(va))          == 3> t3;
-    sa<sizeof(sink_3_367(c_source()))  == 6> t6;
-    sa<sizeof(sink_3_367(v_source()))  == 7> t7;
+    sa<sizeof(sink_3_367(a))           == 3 * sizeof(long)> t1;
+    sa<sizeof(sink_3_367(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_3_367(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_3_367(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -837,12 +837,12 @@ int test3_368()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_368(a))           == 3> t1;
-    sa<sizeof(sink_3_368(va))          == 3> t3;
-    sa<sizeof(sink_3_368(source()))    == 6> t5;
-    sa<sizeof(sink_3_368(c_source()))  == 6> t6;
-    sa<sizeof(sink_3_368(v_source()))  == 8> t7;
-    sa<sizeof(sink_3_368(cv_source())) == 8> t8;
+    sa<sizeof(sink_3_368(a))           == 3 * sizeof(long)> t1;
+    sa<sizeof(sink_3_368(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_3_368(source()))    == 6 * sizeof(long)> t5;
+    sa<sizeof(sink_3_368(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_3_368(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_3_368(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -856,12 +856,12 @@ int test3_378()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_378(a))           == 3> t1;
-    sa<sizeof(sink_3_378(va))          == 3> t3;
-    sa<sizeof(sink_3_378(source()))    == 7> t5;
-    sa<sizeof(sink_3_378(c_source()))  == 8> t6;
-    sa<sizeof(sink_3_378(v_source()))  == 7> t7;
-    sa<sizeof(sink_3_378(cv_source())) == 8> t8;
+    sa<sizeof(sink_3_378(a))           == 3 * sizeof(long)> t1;
+    sa<sizeof(sink_3_378(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_3_378(source()))    == 7 * sizeof(long)> t5;
+    sa<sizeof(sink_3_378(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_3_378(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_3_378(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -875,12 +875,12 @@ int test3_456()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_456(a))           == 4> t1;
-    sa<sizeof(sink_3_456(ca))          == 4> t2;
-    sa<sizeof(sink_3_456(va))          == 4> t3;
-    sa<sizeof(sink_3_456(cva))         == 4> t4;
-    sa<sizeof(sink_3_456(source()))    == 5> t5;
-    sa<sizeof(sink_3_456(c_source()))  == 6> t6;
+    sa<sizeof(sink_3_456(a))           == 4 * sizeof(long)> t1;
+    sa<sizeof(sink_3_456(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_3_456(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_3_456(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_3_456(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_3_456(c_source()))  == 6 * sizeof(long)> t6;
     return 0;
 }
 
@@ -894,12 +894,12 @@ int test3_457()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_457(a))           == 4> t1;
-    sa<sizeof(sink_3_457(ca))          == 4> t2;
-    sa<sizeof(sink_3_457(va))          == 4> t3;
-    sa<sizeof(sink_3_457(cva))         == 4> t4;
-    sa<sizeof(sink_3_457(source()))    == 5> t5;
-    sa<sizeof(sink_3_457(v_source()))  == 7> t7;
+    sa<sizeof(sink_3_457(a))           == 4 * sizeof(long)> t1;
+    sa<sizeof(sink_3_457(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_3_457(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_3_457(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_3_457(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_3_457(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -913,14 +913,14 @@ int test3_458()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_458(a))           == 4> t1;
-    sa<sizeof(sink_3_458(ca))          == 4> t2;
-    sa<sizeof(sink_3_458(va))          == 4> t3;
-    sa<sizeof(sink_3_458(cva))         == 4> t4;
-    sa<sizeof(sink_3_458(source()))    == 5> t5;
-    sa<sizeof(sink_3_458(c_source()))  == 8> t6;
-    sa<sizeof(sink_3_458(v_source()))  == 8> t7;
-    sa<sizeof(sink_3_458(cv_source())) == 8> t8;
+    sa<sizeof(sink_3_458(a))           == 4 * sizeof(long)> t1;
+    sa<sizeof(sink_3_458(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_3_458(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_3_458(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_3_458(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_3_458(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_3_458(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_3_458(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -934,12 +934,12 @@ int test3_467()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_467(a))           == 4> t1;
-    sa<sizeof(sink_3_467(ca))          == 4> t2;
-    sa<sizeof(sink_3_467(va))          == 4> t3;
-    sa<sizeof(sink_3_467(cva))         == 4> t4;
-    sa<sizeof(sink_3_467(c_source()))  == 6> t6;
-    sa<sizeof(sink_3_467(v_source()))  == 7> t7;
+    sa<sizeof(sink_3_467(a))           == 4 * sizeof(long)> t1;
+    sa<sizeof(sink_3_467(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_3_467(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_3_467(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_3_467(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_3_467(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -953,14 +953,14 @@ int test3_468()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_468(a))           == 4> t1;
-    sa<sizeof(sink_3_468(ca))          == 4> t2;
-    sa<sizeof(sink_3_468(va))          == 4> t3;
-    sa<sizeof(sink_3_468(cva))         == 4> t4;
-    sa<sizeof(sink_3_468(source()))    == 6> t5;
-    sa<sizeof(sink_3_468(c_source()))  == 6> t6;
-    sa<sizeof(sink_3_468(v_source()))  == 8> t7;
-    sa<sizeof(sink_3_468(cv_source())) == 8> t8;
+    sa<sizeof(sink_3_468(a))           == 4 * sizeof(long)> t1;
+    sa<sizeof(sink_3_468(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_3_468(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_3_468(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_3_468(source()))    == 6 * sizeof(long)> t5;
+    sa<sizeof(sink_3_468(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_3_468(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_3_468(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -974,14 +974,14 @@ int test3_478()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_478(a))           == 4> t1;
-    sa<sizeof(sink_3_478(ca))          == 4> t2;
-    sa<sizeof(sink_3_478(va))          == 4> t3;
-    sa<sizeof(sink_3_478(cva))         == 4> t4;
-    sa<sizeof(sink_3_478(source()))    == 7> t5;
-    sa<sizeof(sink_3_478(c_source()))  == 8> t6;
-    sa<sizeof(sink_3_478(v_source()))  == 7> t7;
-    sa<sizeof(sink_3_478(cv_source())) == 8> t8;
+    sa<sizeof(sink_3_478(a))           == 4 * sizeof(long)> t1;
+    sa<sizeof(sink_3_478(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_3_478(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_3_478(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_3_478(source()))    == 7 * sizeof(long)> t5;
+    sa<sizeof(sink_3_478(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_3_478(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_3_478(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -995,9 +995,9 @@ int test3_567()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_567(source()))    == 5> t5;
-    sa<sizeof(sink_3_567(c_source()))  == 6> t6;
-    sa<sizeof(sink_3_567(v_source()))  == 7> t7;
+    sa<sizeof(sink_3_567(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_3_567(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_3_567(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -1011,10 +1011,10 @@ int test3_568()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_568(source()))    == 5> t5;
-    sa<sizeof(sink_3_568(c_source()))  == 6> t6;
-    sa<sizeof(sink_3_568(v_source()))  == 8> t7;
-    sa<sizeof(sink_3_568(cv_source())) == 8> t8;
+    sa<sizeof(sink_3_568(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_3_568(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_3_568(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_3_568(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -1028,10 +1028,10 @@ int test3_578()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_578(source()))    == 5> t5;
-    sa<sizeof(sink_3_578(c_source()))  == 8> t6;
-    sa<sizeof(sink_3_578(v_source()))  == 7> t7;
-    sa<sizeof(sink_3_578(cv_source())) == 8> t8;
+    sa<sizeof(sink_3_578(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_3_578(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_3_578(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_3_578(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -1045,9 +1045,9 @@ int test3_678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_3_678(c_source()))  == 6> t6;
-    sa<sizeof(sink_3_678(v_source()))  == 7> t7;
-    sa<sizeof(sink_3_678(cv_source())) == 8> t8;
+    sa<sizeof(sink_3_678(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_3_678(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_3_678(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
index 33a90f854d169c6602e87817770d475c25dfa5cc..134ca13e0f9c73f8ae89069c79279213013a8501 100644 (file)
@@ -8,14 +8,14 @@
 template <bool> struct sa;
 template <> struct sa<true> {};
 
-struct one   {char x[1];};
-struct two   {char x[2];};
-struct three {char x[3];};
-struct four  {char x[4];};
-struct five  {char x[5];};
-struct six   {char x[6];};
-struct seven {char x[7];};
-struct eight {char x[8];};
+struct one   {long x[1];};
+struct two   {long x[2];};
+struct three {long x[3];};
+struct four  {long x[4];};
+struct five  {long x[5];};
+struct six   {long x[6];};
+struct seven {long x[7];};
+struct eight {long x[8];};
 
 struct A
 {
@@ -41,12 +41,12 @@ int test4_1234()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1234(a))           == 1> t1;
-    sa<sizeof(sink_4_1234(ca))          == 2> t2;
-    sa<sizeof(sink_4_1234(va))          == 3> t3;
-    sa<sizeof(sink_4_1234(cva))         == 4> t4;
-    sa<sizeof(sink_4_1234(source()))    == 2> t5;
-    sa<sizeof(sink_4_1234(c_source()))  == 2> t6;
+    sa<sizeof(sink_4_1234(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1234(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_1234(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_1234(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_1234(source()))    == 2 * sizeof(long)> t5;
+    sa<sizeof(sink_4_1234(c_source()))  == 2 * sizeof(long)> t6;
     return 0;
 }
 
@@ -61,11 +61,11 @@ int test4_1235()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1235(a))           == 1> t1;
-    sa<sizeof(sink_4_1235(ca))          == 2> t2;
-    sa<sizeof(sink_4_1235(va))          == 3> t3;
-    sa<sizeof(sink_4_1235(source()))    == 5> t5;
-    sa<sizeof(sink_4_1235(c_source()))  == 2> t6;
+    sa<sizeof(sink_4_1235(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1235(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_1235(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_1235(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_1235(c_source()))  == 2 * sizeof(long)> t6;
     return 0;
 }
 
@@ -80,11 +80,11 @@ int test4_1236()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1236(a))           == 1> t1;
-    sa<sizeof(sink_4_1236(ca))          == 2> t2;
-    sa<sizeof(sink_4_1236(va))          == 3> t3;
-    sa<sizeof(sink_4_1236(source()))    == 6> t5;
-    sa<sizeof(sink_4_1236(c_source()))  == 6> t6;
+    sa<sizeof(sink_4_1236(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1236(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_1236(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_1236(source()))    == 6 * sizeof(long)> t5;
+    sa<sizeof(sink_4_1236(c_source()))  == 6 * sizeof(long)> t6;
     return 0;
 }
 
@@ -99,12 +99,12 @@ int test4_1237()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1237(a))           == 1> t1;
-    sa<sizeof(sink_4_1237(ca))          == 2> t2;
-    sa<sizeof(sink_4_1237(va))          == 3> t3;
-    sa<sizeof(sink_4_1237(source()))    == 7> t5;
-    sa<sizeof(sink_4_1237(c_source()))  == 2> t6;
-    sa<sizeof(sink_4_1237(v_source()))  == 7> t7;
+    sa<sizeof(sink_4_1237(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1237(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_1237(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_1237(source()))    == 7 * sizeof(long)> t5;
+    sa<sizeof(sink_4_1237(c_source()))  == 2 * sizeof(long)> t6;
+    sa<sizeof(sink_4_1237(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -119,13 +119,13 @@ int test4_1238()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1238(a))           == 1> t1;
-    sa<sizeof(sink_4_1238(ca))          == 2> t2;
-    sa<sizeof(sink_4_1238(va))          == 3> t3;
-    sa<sizeof(sink_4_1238(source()))    == 8> t5;
-    sa<sizeof(sink_4_1238(c_source()))  == 8> t6;
-    sa<sizeof(sink_4_1238(v_source()))  == 8> t7;
-    sa<sizeof(sink_4_1238(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_1238(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1238(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_1238(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_1238(source()))    == 8 * sizeof(long)> t5;
+    sa<sizeof(sink_4_1238(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_4_1238(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_4_1238(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -140,12 +140,12 @@ int test4_1245()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1245(a))           == 1> t1;
-    sa<sizeof(sink_4_1245(ca))          == 2> t2;
-    sa<sizeof(sink_4_1245(va))          == 4> t3;
-    sa<sizeof(sink_4_1245(cva))         == 4> t4;
-    sa<sizeof(sink_4_1245(source()))    == 5> t5;
-    sa<sizeof(sink_4_1245(c_source()))  == 2> t6;
+    sa<sizeof(sink_4_1245(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1245(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_1245(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_4_1245(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_1245(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_1245(c_source()))  == 2 * sizeof(long)> t6;
     return 0;
 }
 
@@ -160,12 +160,12 @@ int test4_1246()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1246(a))           == 1> t1;
-    sa<sizeof(sink_4_1246(ca))          == 2> t2;
-    sa<sizeof(sink_4_1246(va))          == 4> t3;
-    sa<sizeof(sink_4_1246(cva))         == 4> t4;
-    sa<sizeof(sink_4_1246(source()))    == 6> t5;
-    sa<sizeof(sink_4_1246(c_source()))  == 6> t6;
+    sa<sizeof(sink_4_1246(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1246(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_1246(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_4_1246(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_1246(source()))    == 6 * sizeof(long)> t5;
+    sa<sizeof(sink_4_1246(c_source()))  == 6 * sizeof(long)> t6;
     return 0;
 }
 
@@ -180,13 +180,13 @@ int test4_1247()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1247(a))           == 1> t1;
-    sa<sizeof(sink_4_1247(ca))          == 2> t2;
-    sa<sizeof(sink_4_1247(va))          == 4> t3;
-    sa<sizeof(sink_4_1247(cva))         == 4> t4;
-    sa<sizeof(sink_4_1247(source()))    == 7> t5;
-    sa<sizeof(sink_4_1247(c_source()))  == 2> t6;
-    sa<sizeof(sink_4_1247(v_source()))  == 7> t7;
+    sa<sizeof(sink_4_1247(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1247(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_1247(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_4_1247(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_1247(source()))    == 7 * sizeof(long)> t5;
+    sa<sizeof(sink_4_1247(c_source()))  == 2 * sizeof(long)> t6;
+    sa<sizeof(sink_4_1247(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -201,14 +201,14 @@ int test4_1248()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1248(a))           == 1> t1;
-    sa<sizeof(sink_4_1248(ca))          == 2> t2;
-    sa<sizeof(sink_4_1248(va))          == 4> t3;
-    sa<sizeof(sink_4_1248(cva))         == 4> t4;
-    sa<sizeof(sink_4_1248(source()))    == 8> t5;
-    sa<sizeof(sink_4_1248(c_source()))  == 8> t6;
-    sa<sizeof(sink_4_1248(v_source()))  == 8> t7;
-    sa<sizeof(sink_4_1248(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_1248(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1248(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_1248(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_4_1248(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_1248(source()))    == 8 * sizeof(long)> t5;
+    sa<sizeof(sink_4_1248(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_4_1248(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_4_1248(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -223,10 +223,10 @@ int test4_1256()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1256(a))           == 1> t1;
-    sa<sizeof(sink_4_1256(ca))          == 2> t2;
-    sa<sizeof(sink_4_1256(source()))    == 5> t5;
-    sa<sizeof(sink_4_1256(c_source()))  == 6> t6;
+    sa<sizeof(sink_4_1256(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1256(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_1256(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_1256(c_source()))  == 6 * sizeof(long)> t6;
     return 0;
 }
 
@@ -241,11 +241,11 @@ int test4_1257()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1257(a))           == 1> t1;
-    sa<sizeof(sink_4_1257(ca))          == 2> t2;
-    sa<sizeof(sink_4_1257(source()))    == 5> t5;
-    sa<sizeof(sink_4_1257(c_source()))  == 2> t6;
-    sa<sizeof(sink_4_1257(v_source()))  == 7> t7;
+    sa<sizeof(sink_4_1257(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1257(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_1257(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_1257(c_source()))  == 2 * sizeof(long)> t6;
+    sa<sizeof(sink_4_1257(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -260,12 +260,12 @@ int test4_1258()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1258(a))           == 1> t1;
-    sa<sizeof(sink_4_1258(ca))          == 2> t2;
-    sa<sizeof(sink_4_1258(source()))    == 5> t5;
-    sa<sizeof(sink_4_1258(c_source()))  == 8> t6;
-    sa<sizeof(sink_4_1258(v_source()))  == 8> t7;
-    sa<sizeof(sink_4_1258(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_1258(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1258(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_1258(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_1258(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_4_1258(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_4_1258(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -280,10 +280,10 @@ int test4_1267()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1267(a))           == 1> t1;
-    sa<sizeof(sink_4_1267(ca))          == 2> t2;
-    sa<sizeof(sink_4_1267(c_source()))  == 6> t6;
-    sa<sizeof(sink_4_1267(v_source()))  == 7> t7;
+    sa<sizeof(sink_4_1267(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1267(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_1267(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_4_1267(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -298,12 +298,12 @@ int test4_1268()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1268(a))           == 1> t1;
-    sa<sizeof(sink_4_1268(ca))          == 2> t2;
-    sa<sizeof(sink_4_1268(source()))    == 6> t5;
-    sa<sizeof(sink_4_1268(c_source()))  == 6> t6;
-    sa<sizeof(sink_4_1268(v_source()))  == 8> t7;
-    sa<sizeof(sink_4_1268(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_1268(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1268(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_1268(source()))    == 6 * sizeof(long)> t5;
+    sa<sizeof(sink_4_1268(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_4_1268(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_4_1268(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -318,12 +318,12 @@ int test4_1278()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1278(a))           == 1> t1;
-    sa<sizeof(sink_4_1278(ca))          == 2> t2;
-    sa<sizeof(sink_4_1278(source()))    == 7> t5;
-    sa<sizeof(sink_4_1278(c_source()))  == 8> t6;
-    sa<sizeof(sink_4_1278(v_source()))  == 7> t7;
-    sa<sizeof(sink_4_1278(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_1278(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1278(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_1278(source()))    == 7 * sizeof(long)> t5;
+    sa<sizeof(sink_4_1278(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_4_1278(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_4_1278(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -338,11 +338,11 @@ int test4_1345()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1345(a))           == 1> t1;
-    sa<sizeof(sink_4_1345(ca))          == 4> t2;
-    sa<sizeof(sink_4_1345(va))          == 3> t3;
-    sa<sizeof(sink_4_1345(cva))         == 4> t4;
-    sa<sizeof(sink_4_1345(source()))    == 5> t5;
+    sa<sizeof(sink_4_1345(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1345(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_4_1345(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_1345(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_1345(source()))    == 5 * sizeof(long)> t5;
     return 0;
 }
 
@@ -357,12 +357,12 @@ int test4_1346()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1346(a))           == 1> t1;
-    sa<sizeof(sink_4_1346(ca))          == 4> t2;
-    sa<sizeof(sink_4_1346(va))          == 3> t3;
-    sa<sizeof(sink_4_1346(cva))         == 4> t4;
-    sa<sizeof(sink_4_1346(source()))    == 6> t5;
-    sa<sizeof(sink_4_1346(c_source()))  == 6> t6;
+    sa<sizeof(sink_4_1346(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1346(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_4_1346(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_1346(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_1346(source()))    == 6 * sizeof(long)> t5;
+    sa<sizeof(sink_4_1346(c_source()))  == 6 * sizeof(long)> t6;
     return 0;
 }
 
@@ -377,12 +377,12 @@ int test4_1347()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1347(a))           == 1> t1;
-    sa<sizeof(sink_4_1347(ca))          == 4> t2;
-    sa<sizeof(sink_4_1347(va))          == 3> t3;
-    sa<sizeof(sink_4_1347(cva))         == 4> t4;
-    sa<sizeof(sink_4_1347(source()))    == 7> t5;
-    sa<sizeof(sink_4_1347(v_source()))  == 7> t7;
+    sa<sizeof(sink_4_1347(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1347(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_4_1347(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_1347(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_1347(source()))    == 7 * sizeof(long)> t5;
+    sa<sizeof(sink_4_1347(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -397,14 +397,14 @@ int test4_1348()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1348(a))           == 1> t1;
-    sa<sizeof(sink_4_1348(ca))          == 4> t2;
-    sa<sizeof(sink_4_1348(va))          == 3> t3;
-    sa<sizeof(sink_4_1348(cva))         == 4> t4;
-    sa<sizeof(sink_4_1348(source()))    == 8> t5;
-    sa<sizeof(sink_4_1348(c_source()))  == 8> t6;
-    sa<sizeof(sink_4_1348(v_source()))  == 8> t7;
-    sa<sizeof(sink_4_1348(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_1348(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1348(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_4_1348(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_1348(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_1348(source()))    == 8 * sizeof(long)> t5;
+    sa<sizeof(sink_4_1348(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_4_1348(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_4_1348(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -419,10 +419,10 @@ int test4_1356()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1356(a))           == 1> t1;
-    sa<sizeof(sink_4_1356(va))          == 3> t3;
-    sa<sizeof(sink_4_1356(source()))    == 5> t5;
-    sa<sizeof(sink_4_1356(c_source()))  == 6> t6;
+    sa<sizeof(sink_4_1356(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1356(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_1356(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_1356(c_source()))  == 6 * sizeof(long)> t6;
     return 0;
 }
 
@@ -437,10 +437,10 @@ int test4_1357()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1357(a))           == 1> t1;
-    sa<sizeof(sink_4_1357(va))          == 3> t3;
-    sa<sizeof(sink_4_1357(source()))    == 5> t5;
-    sa<sizeof(sink_4_1357(v_source()))  == 7> t7;
+    sa<sizeof(sink_4_1357(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1357(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_1357(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_1357(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -455,12 +455,12 @@ int test4_1358()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1358(a))           == 1> t1;
-    sa<sizeof(sink_4_1358(va))          == 3> t3;
-    sa<sizeof(sink_4_1358(source()))    == 5> t5;
-    sa<sizeof(sink_4_1358(c_source()))  == 8> t6;
-    sa<sizeof(sink_4_1358(v_source()))  == 8> t7;
-    sa<sizeof(sink_4_1358(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_1358(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1358(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_1358(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_1358(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_4_1358(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_4_1358(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -475,10 +475,10 @@ int test4_1367()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1367(a))           == 1> t1;
-    sa<sizeof(sink_4_1367(va))          == 3> t3;
-    sa<sizeof(sink_4_1367(c_source()))  == 6> t6;
-    sa<sizeof(sink_4_1367(v_source()))  == 7> t7;
+    sa<sizeof(sink_4_1367(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1367(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_1367(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_4_1367(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -493,12 +493,12 @@ int test4_1368()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1368(a))           == 1> t1;
-    sa<sizeof(sink_4_1368(va))          == 3> t3;
-    sa<sizeof(sink_4_1368(source()))    == 6> t5;
-    sa<sizeof(sink_4_1368(c_source()))  == 6> t6;
-    sa<sizeof(sink_4_1368(v_source()))  == 8> t7;
-    sa<sizeof(sink_4_1368(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_1368(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1368(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_1368(source()))    == 6 * sizeof(long)> t5;
+    sa<sizeof(sink_4_1368(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_4_1368(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_4_1368(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -513,12 +513,12 @@ int test4_1378()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1378(a))           == 1> t1;
-    sa<sizeof(sink_4_1378(va))          == 3> t3;
-    sa<sizeof(sink_4_1378(source()))    == 7> t5;
-    sa<sizeof(sink_4_1378(c_source()))  == 8> t6;
-    sa<sizeof(sink_4_1378(v_source()))  == 7> t7;
-    sa<sizeof(sink_4_1378(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_1378(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1378(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_1378(source()))    == 7 * sizeof(long)> t5;
+    sa<sizeof(sink_4_1378(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_4_1378(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_4_1378(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -533,12 +533,12 @@ int test4_1456()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1456(a))           == 1> t1;
-    sa<sizeof(sink_4_1456(ca))          == 4> t2;
-    sa<sizeof(sink_4_1456(va))          == 4> t3;
-    sa<sizeof(sink_4_1456(cva))         == 4> t4;
-    sa<sizeof(sink_4_1456(source()))    == 5> t5;
-    sa<sizeof(sink_4_1456(c_source()))  == 6> t6;
+    sa<sizeof(sink_4_1456(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1456(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_4_1456(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_4_1456(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_1456(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_1456(c_source()))  == 6 * sizeof(long)> t6;
     return 0;
 }
 
@@ -553,12 +553,12 @@ int test4_1457()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1457(a))           == 1> t1;
-    sa<sizeof(sink_4_1457(ca))          == 4> t2;
-    sa<sizeof(sink_4_1457(va))          == 4> t3;
-    sa<sizeof(sink_4_1457(cva))         == 4> t4;
-    sa<sizeof(sink_4_1457(source()))    == 5> t5;
-    sa<sizeof(sink_4_1457(v_source()))  == 7> t7;
+    sa<sizeof(sink_4_1457(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1457(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_4_1457(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_4_1457(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_1457(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_1457(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -573,14 +573,14 @@ int test4_1458()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1458(a))           == 1> t1;
-    sa<sizeof(sink_4_1458(ca))          == 4> t2;
-    sa<sizeof(sink_4_1458(va))          == 4> t3;
-    sa<sizeof(sink_4_1458(cva))         == 4> t4;
-    sa<sizeof(sink_4_1458(source()))    == 5> t5;
-    sa<sizeof(sink_4_1458(c_source()))  == 8> t6;
-    sa<sizeof(sink_4_1458(v_source()))  == 8> t7;
-    sa<sizeof(sink_4_1458(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_1458(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1458(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_4_1458(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_4_1458(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_1458(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_1458(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_4_1458(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_4_1458(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -595,12 +595,12 @@ int test4_1467()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1467(a))           == 1> t1;
-    sa<sizeof(sink_4_1467(ca))          == 4> t2;
-    sa<sizeof(sink_4_1467(va))          == 4> t3;
-    sa<sizeof(sink_4_1467(cva))         == 4> t4;
-    sa<sizeof(sink_4_1467(c_source()))  == 6> t6;
-    sa<sizeof(sink_4_1467(v_source()))  == 7> t7;
+    sa<sizeof(sink_4_1467(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1467(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_4_1467(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_4_1467(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_1467(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_4_1467(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -615,14 +615,14 @@ int test4_1468()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1468(a))           == 1> t1;
-    sa<sizeof(sink_4_1468(ca))          == 4> t2;
-    sa<sizeof(sink_4_1468(va))          == 4> t3;
-    sa<sizeof(sink_4_1468(cva))         == 4> t4;
-    sa<sizeof(sink_4_1468(source()))    == 6> t5;
-    sa<sizeof(sink_4_1468(c_source()))  == 6> t6;
-    sa<sizeof(sink_4_1468(v_source()))  == 8> t7;
-    sa<sizeof(sink_4_1468(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_1468(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1468(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_4_1468(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_4_1468(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_1468(source()))    == 6 * sizeof(long)> t5;
+    sa<sizeof(sink_4_1468(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_4_1468(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_4_1468(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -637,14 +637,14 @@ int test4_1478()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1478(a))           == 1> t1;
-    sa<sizeof(sink_4_1478(ca))          == 4> t2;
-    sa<sizeof(sink_4_1478(va))          == 4> t3;
-    sa<sizeof(sink_4_1478(cva))         == 4> t4;
-    sa<sizeof(sink_4_1478(source()))    == 7> t5;
-    sa<sizeof(sink_4_1478(c_source()))  == 8> t6;
-    sa<sizeof(sink_4_1478(v_source()))  == 7> t7;
-    sa<sizeof(sink_4_1478(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_1478(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1478(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_4_1478(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_4_1478(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_1478(source()))    == 7 * sizeof(long)> t5;
+    sa<sizeof(sink_4_1478(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_4_1478(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_4_1478(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -659,10 +659,10 @@ int test4_1567()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1567(a))           == 1> t1;
-    sa<sizeof(sink_4_1567(source()))    == 5> t5;
-    sa<sizeof(sink_4_1567(c_source()))  == 6> t6;
-    sa<sizeof(sink_4_1567(v_source()))  == 7> t7;
+    sa<sizeof(sink_4_1567(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1567(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_1567(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_4_1567(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -677,11 +677,11 @@ int test4_1568()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1568(a))           == 1> t1;
-    sa<sizeof(sink_4_1568(source()))    == 5> t5;
-    sa<sizeof(sink_4_1568(c_source()))  == 6> t6;
-    sa<sizeof(sink_4_1568(v_source()))  == 8> t7;
-    sa<sizeof(sink_4_1568(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_1568(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1568(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_1568(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_4_1568(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_4_1568(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -696,11 +696,11 @@ int test4_1578()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1578(a))           == 1> t1;
-    sa<sizeof(sink_4_1578(source()))    == 5> t5;
-    sa<sizeof(sink_4_1578(c_source()))  == 8> t6;
-    sa<sizeof(sink_4_1578(v_source()))  == 7> t7;
-    sa<sizeof(sink_4_1578(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_1578(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1578(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_1578(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_4_1578(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_4_1578(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -715,10 +715,10 @@ int test4_1678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_1678(a))           == 1> t1;
-    sa<sizeof(sink_4_1678(c_source()))  == 6> t6;
-    sa<sizeof(sink_4_1678(v_source()))  == 7> t7;
-    sa<sizeof(sink_4_1678(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_1678(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_4_1678(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_4_1678(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_4_1678(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -733,11 +733,11 @@ int test4_2345()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_2345(ca))          == 2> t2;
-    sa<sizeof(sink_4_2345(va))          == 3> t3;
-    sa<sizeof(sink_4_2345(cva))         == 4> t4;
-    sa<sizeof(sink_4_2345(source()))    == 5> t5;
-    sa<sizeof(sink_4_2345(c_source()))  == 2> t6;
+    sa<sizeof(sink_4_2345(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_2345(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_2345(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_2345(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_2345(c_source()))  == 2 * sizeof(long)> t6;
     return 0;
 }
 
@@ -752,11 +752,11 @@ int test4_2346()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_2346(ca))          == 2> t2;
-    sa<sizeof(sink_4_2346(va))          == 3> t3;
-    sa<sizeof(sink_4_2346(cva))         == 4> t4;
-    sa<sizeof(sink_4_2346(source()))    == 6> t5;
-    sa<sizeof(sink_4_2346(c_source()))  == 6> t6;
+    sa<sizeof(sink_4_2346(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_2346(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_2346(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_2346(source()))    == 6 * sizeof(long)> t5;
+    sa<sizeof(sink_4_2346(c_source()))  == 6 * sizeof(long)> t6;
     return 0;
 }
 
@@ -771,12 +771,12 @@ int test4_2347()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_2347(ca))          == 2> t2;
-    sa<sizeof(sink_4_2347(va))          == 3> t3;
-    sa<sizeof(sink_4_2347(cva))         == 4> t4;
-    sa<sizeof(sink_4_2347(source()))    == 7> t5;
-    sa<sizeof(sink_4_2347(c_source()))  == 2> t6;
-    sa<sizeof(sink_4_2347(v_source()))  == 7> t7;
+    sa<sizeof(sink_4_2347(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_2347(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_2347(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_2347(source()))    == 7 * sizeof(long)> t5;
+    sa<sizeof(sink_4_2347(c_source()))  == 2 * sizeof(long)> t6;
+    sa<sizeof(sink_4_2347(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -791,13 +791,13 @@ int test4_2348()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_2348(ca))          == 2> t2;
-    sa<sizeof(sink_4_2348(va))          == 3> t3;
-    sa<sizeof(sink_4_2348(cva))         == 4> t4;
-    sa<sizeof(sink_4_2348(source()))    == 8> t5;
-    sa<sizeof(sink_4_2348(c_source()))  == 8> t6;
-    sa<sizeof(sink_4_2348(v_source()))  == 8> t7;
-    sa<sizeof(sink_4_2348(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_2348(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_2348(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_2348(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_2348(source()))    == 8 * sizeof(long)> t5;
+    sa<sizeof(sink_4_2348(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_4_2348(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_4_2348(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -812,10 +812,10 @@ int test4_2356()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_2356(ca))          == 2> t2;
-    sa<sizeof(sink_4_2356(va))          == 3> t3;
-    sa<sizeof(sink_4_2356(source()))    == 5> t5;
-    sa<sizeof(sink_4_2356(c_source()))  == 6> t6;
+    sa<sizeof(sink_4_2356(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_2356(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_2356(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_2356(c_source()))  == 6 * sizeof(long)> t6;
     return 0;
 }
 
@@ -830,11 +830,11 @@ int test4_2357()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_2357(ca))          == 2> t2;
-    sa<sizeof(sink_4_2357(va))          == 3> t3;
-    sa<sizeof(sink_4_2357(source()))    == 5> t5;
-    sa<sizeof(sink_4_2357(c_source()))  == 2> t6;
-    sa<sizeof(sink_4_2357(v_source()))  == 7> t7;
+    sa<sizeof(sink_4_2357(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_2357(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_2357(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_2357(c_source()))  == 2 * sizeof(long)> t6;
+    sa<sizeof(sink_4_2357(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -849,12 +849,12 @@ int test4_2358()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_2358(ca))          == 2> t2;
-    sa<sizeof(sink_4_2358(va))          == 3> t3;
-    sa<sizeof(sink_4_2358(source()))    == 5> t5;
-    sa<sizeof(sink_4_2358(c_source()))  == 8> t6;
-    sa<sizeof(sink_4_2358(v_source()))  == 8> t7;
-    sa<sizeof(sink_4_2358(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_2358(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_2358(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_2358(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_2358(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_4_2358(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_4_2358(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -869,10 +869,10 @@ int test4_2367()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_2367(ca))          == 2> t2;
-    sa<sizeof(sink_4_2367(va))          == 3> t3;
-    sa<sizeof(sink_4_2367(c_source()))  == 6> t6;
-    sa<sizeof(sink_4_2367(v_source()))  == 7> t7;
+    sa<sizeof(sink_4_2367(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_2367(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_2367(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_4_2367(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -887,12 +887,12 @@ int test4_2368()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_2368(ca))          == 2> t2;
-    sa<sizeof(sink_4_2368(va))          == 3> t3;
-    sa<sizeof(sink_4_2368(source()))    == 6> t5;
-    sa<sizeof(sink_4_2368(c_source()))  == 6> t6;
-    sa<sizeof(sink_4_2368(v_source()))  == 8> t7;
-    sa<sizeof(sink_4_2368(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_2368(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_2368(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_2368(source()))    == 6 * sizeof(long)> t5;
+    sa<sizeof(sink_4_2368(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_4_2368(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_4_2368(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -907,12 +907,12 @@ int test4_2378()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_2378(ca))          == 2> t2;
-    sa<sizeof(sink_4_2378(va))          == 3> t3;
-    sa<sizeof(sink_4_2378(source()))    == 7> t5;
-    sa<sizeof(sink_4_2378(c_source()))  == 8> t6;
-    sa<sizeof(sink_4_2378(v_source()))  == 7> t7;
-    sa<sizeof(sink_4_2378(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_2378(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_2378(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_2378(source()))    == 7 * sizeof(long)> t5;
+    sa<sizeof(sink_4_2378(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_4_2378(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_4_2378(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -927,12 +927,12 @@ int test4_2456()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_2456(a))           == 2> t1;
-    sa<sizeof(sink_4_2456(ca))          == 2> t2;
-    sa<sizeof(sink_4_2456(va))          == 4> t3;
-    sa<sizeof(sink_4_2456(cva))         == 4> t4;
-    sa<sizeof(sink_4_2456(source()))    == 5> t5;
-    sa<sizeof(sink_4_2456(c_source()))  == 6> t6;
+    sa<sizeof(sink_4_2456(a))           == 2 * sizeof(long)> t1;
+    sa<sizeof(sink_4_2456(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_2456(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_4_2456(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_2456(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_2456(c_source()))  == 6 * sizeof(long)> t6;
     return 0;
 }
 
@@ -947,13 +947,13 @@ int test4_2457()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_2457(a))           == 2> t1;
-    sa<sizeof(sink_4_2457(ca))          == 2> t2;
-    sa<sizeof(sink_4_2457(va))          == 4> t3;
-    sa<sizeof(sink_4_2457(cva))         == 4> t4;
-    sa<sizeof(sink_4_2457(source()))    == 5> t5;
-    sa<sizeof(sink_4_2457(c_source()))  == 2> t6;
-    sa<sizeof(sink_4_2457(v_source()))  == 7> t7;
+    sa<sizeof(sink_4_2457(a))           == 2 * sizeof(long)> t1;
+    sa<sizeof(sink_4_2457(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_2457(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_4_2457(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_2457(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_2457(c_source()))  == 2 * sizeof(long)> t6;
+    sa<sizeof(sink_4_2457(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -968,14 +968,14 @@ int test4_2458()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_2458(a))           == 2> t1;
-    sa<sizeof(sink_4_2458(ca))          == 2> t2;
-    sa<sizeof(sink_4_2458(va))          == 4> t3;
-    sa<sizeof(sink_4_2458(cva))         == 4> t4;
-    sa<sizeof(sink_4_2458(source()))    == 5> t5;
-    sa<sizeof(sink_4_2458(c_source()))  == 8> t6;
-    sa<sizeof(sink_4_2458(v_source()))  == 8> t7;
-    sa<sizeof(sink_4_2458(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_2458(a))           == 2 * sizeof(long)> t1;
+    sa<sizeof(sink_4_2458(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_2458(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_4_2458(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_2458(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_2458(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_4_2458(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_4_2458(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -990,12 +990,12 @@ int test4_2467()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_2467(a))           == 2> t1;
-    sa<sizeof(sink_4_2467(ca))          == 2> t2;
-    sa<sizeof(sink_4_2467(va))          == 4> t3;
-    sa<sizeof(sink_4_2467(cva))         == 4> t4;
-    sa<sizeof(sink_4_2467(c_source()))  == 6> t6;
-    sa<sizeof(sink_4_2467(v_source()))  == 7> t7;
+    sa<sizeof(sink_4_2467(a))           == 2 * sizeof(long)> t1;
+    sa<sizeof(sink_4_2467(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_2467(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_4_2467(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_2467(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_4_2467(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -1010,14 +1010,14 @@ int test4_2468()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_2468(a))           == 2> t1;
-    sa<sizeof(sink_4_2468(ca))          == 2> t2;
-    sa<sizeof(sink_4_2468(va))          == 4> t3;
-    sa<sizeof(sink_4_2468(cva))         == 4> t4;
-    sa<sizeof(sink_4_2468(source()))    == 6> t5;
-    sa<sizeof(sink_4_2468(c_source()))  == 6> t6;
-    sa<sizeof(sink_4_2468(v_source()))  == 8> t7;
-    sa<sizeof(sink_4_2468(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_2468(a))           == 2 * sizeof(long)> t1;
+    sa<sizeof(sink_4_2468(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_2468(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_4_2468(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_2468(source()))    == 6 * sizeof(long)> t5;
+    sa<sizeof(sink_4_2468(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_4_2468(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_4_2468(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -1032,14 +1032,14 @@ int test4_2478()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_2478(a))           == 2> t1;
-    sa<sizeof(sink_4_2478(ca))          == 2> t2;
-    sa<sizeof(sink_4_2478(va))          == 4> t3;
-    sa<sizeof(sink_4_2478(cva))         == 4> t4;
-    sa<sizeof(sink_4_2478(source()))    == 7> t5;
-    sa<sizeof(sink_4_2478(c_source()))  == 8> t6;
-    sa<sizeof(sink_4_2478(v_source()))  == 7> t7;
-    sa<sizeof(sink_4_2478(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_2478(a))           == 2 * sizeof(long)> t1;
+    sa<sizeof(sink_4_2478(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_2478(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_4_2478(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_2478(source()))    == 7 * sizeof(long)> t5;
+    sa<sizeof(sink_4_2478(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_4_2478(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_4_2478(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -1054,11 +1054,11 @@ int test4_2567()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_2567(a))           == 2> t1;
-    sa<sizeof(sink_4_2567(ca))          == 2> t2;
-    sa<sizeof(sink_4_2567(source()))    == 5> t5;
-    sa<sizeof(sink_4_2567(c_source()))  == 6> t6;
-    sa<sizeof(sink_4_2567(v_source()))  == 7> t7;
+    sa<sizeof(sink_4_2567(a))           == 2 * sizeof(long)> t1;
+    sa<sizeof(sink_4_2567(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_2567(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_2567(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_4_2567(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -1073,12 +1073,12 @@ int test4_2568()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_2568(a))           == 2> t1;
-    sa<sizeof(sink_4_2568(ca))          == 2> t2;
-    sa<sizeof(sink_4_2568(source()))    == 5> t5;
-    sa<sizeof(sink_4_2568(c_source()))  == 6> t6;
-    sa<sizeof(sink_4_2568(v_source()))  == 8> t7;
-    sa<sizeof(sink_4_2568(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_2568(a))           == 2 * sizeof(long)> t1;
+    sa<sizeof(sink_4_2568(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_2568(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_2568(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_4_2568(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_4_2568(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -1093,12 +1093,12 @@ int test4_2578()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_2578(a))           == 2> t1;
-    sa<sizeof(sink_4_2578(ca))          == 2> t2;
-    sa<sizeof(sink_4_2578(source()))    == 5> t5;
-    sa<sizeof(sink_4_2578(c_source()))  == 8> t6;
-    sa<sizeof(sink_4_2578(v_source()))  == 7> t7;
-    sa<sizeof(sink_4_2578(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_2578(a))           == 2 * sizeof(long)> t1;
+    sa<sizeof(sink_4_2578(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_2578(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_2578(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_4_2578(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_4_2578(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -1113,11 +1113,11 @@ int test4_2678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_2678(a))           == 2> t1;
-    sa<sizeof(sink_4_2678(ca))          == 2> t2;
-    sa<sizeof(sink_4_2678(c_source()))  == 6> t6;
-    sa<sizeof(sink_4_2678(v_source()))  == 7> t7;
-    sa<sizeof(sink_4_2678(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_2678(a))           == 2 * sizeof(long)> t1;
+    sa<sizeof(sink_4_2678(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_4_2678(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_4_2678(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_4_2678(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -1132,12 +1132,12 @@ int test4_3456()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_3456(a))           == 3> t1;
-    sa<sizeof(sink_4_3456(ca))          == 4> t2;
-    sa<sizeof(sink_4_3456(va))          == 3> t3;
-    sa<sizeof(sink_4_3456(cva))         == 4> t4;
-    sa<sizeof(sink_4_3456(source()))    == 5> t5;
-    sa<sizeof(sink_4_3456(c_source()))  == 6> t6;
+    sa<sizeof(sink_4_3456(a))           == 3 * sizeof(long)> t1;
+    sa<sizeof(sink_4_3456(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_4_3456(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_3456(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_3456(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_3456(c_source()))  == 6 * sizeof(long)> t6;
     return 0;
 }
 
@@ -1152,12 +1152,12 @@ int test4_3457()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_3457(a))           == 3> t1;
-    sa<sizeof(sink_4_3457(ca))          == 4> t2;
-    sa<sizeof(sink_4_3457(va))          == 3> t3;
-    sa<sizeof(sink_4_3457(cva))         == 4> t4;
-    sa<sizeof(sink_4_3457(source()))    == 5> t5;
-    sa<sizeof(sink_4_3457(v_source()))  == 7> t7;
+    sa<sizeof(sink_4_3457(a))           == 3 * sizeof(long)> t1;
+    sa<sizeof(sink_4_3457(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_4_3457(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_3457(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_3457(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_3457(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -1172,14 +1172,14 @@ int test4_3458()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_3458(a))           == 3> t1;
-    sa<sizeof(sink_4_3458(ca))          == 4> t2;
-    sa<sizeof(sink_4_3458(va))          == 3> t3;
-    sa<sizeof(sink_4_3458(cva))         == 4> t4;
-    sa<sizeof(sink_4_3458(source()))    == 5> t5;
-    sa<sizeof(sink_4_3458(c_source()))  == 8> t6;
-    sa<sizeof(sink_4_3458(v_source()))  == 8> t7;
-    sa<sizeof(sink_4_3458(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_3458(a))           == 3 * sizeof(long)> t1;
+    sa<sizeof(sink_4_3458(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_4_3458(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_3458(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_3458(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_3458(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_4_3458(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_4_3458(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -1194,12 +1194,12 @@ int test4_3467()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_3467(a))           == 3> t1;
-    sa<sizeof(sink_4_3467(ca))          == 4> t2;
-    sa<sizeof(sink_4_3467(va))          == 3> t3;
-    sa<sizeof(sink_4_3467(cva))         == 4> t4;
-    sa<sizeof(sink_4_3467(c_source()))  == 6> t6;
-    sa<sizeof(sink_4_3467(v_source()))  == 7> t7;
+    sa<sizeof(sink_4_3467(a))           == 3 * sizeof(long)> t1;
+    sa<sizeof(sink_4_3467(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_4_3467(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_3467(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_3467(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_4_3467(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -1214,14 +1214,14 @@ int test4_3468()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_3468(a))           == 3> t1;
-    sa<sizeof(sink_4_3468(ca))          == 4> t2;
-    sa<sizeof(sink_4_3468(va))          == 3> t3;
-    sa<sizeof(sink_4_3468(cva))         == 4> t4;
-    sa<sizeof(sink_4_3468(source()))    == 6> t5;
-    sa<sizeof(sink_4_3468(c_source()))  == 6> t6;
-    sa<sizeof(sink_4_3468(v_source()))  == 8> t7;
-    sa<sizeof(sink_4_3468(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_3468(a))           == 3 * sizeof(long)> t1;
+    sa<sizeof(sink_4_3468(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_4_3468(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_3468(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_3468(source()))    == 6 * sizeof(long)> t5;
+    sa<sizeof(sink_4_3468(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_4_3468(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_4_3468(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -1236,14 +1236,14 @@ int test4_3478()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_3478(a))           == 3> t1;
-    sa<sizeof(sink_4_3478(ca))          == 4> t2;
-    sa<sizeof(sink_4_3478(va))          == 3> t3;
-    sa<sizeof(sink_4_3478(cva))         == 4> t4;
-    sa<sizeof(sink_4_3478(source()))    == 7> t5;
-    sa<sizeof(sink_4_3478(c_source()))  == 8> t6;
-    sa<sizeof(sink_4_3478(v_source()))  == 7> t7;
-    sa<sizeof(sink_4_3478(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_3478(a))           == 3 * sizeof(long)> t1;
+    sa<sizeof(sink_4_3478(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_4_3478(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_3478(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_3478(source()))    == 7 * sizeof(long)> t5;
+    sa<sizeof(sink_4_3478(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_4_3478(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_4_3478(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -1258,11 +1258,11 @@ int test4_3567()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_3567(a))           == 3> t1;
-    sa<sizeof(sink_4_3567(va))          == 3> t3;
-    sa<sizeof(sink_4_3567(source()))    == 5> t5;
-    sa<sizeof(sink_4_3567(c_source()))  == 6> t6;
-    sa<sizeof(sink_4_3567(v_source()))  == 7> t7;
+    sa<sizeof(sink_4_3567(a))           == 3 * sizeof(long)> t1;
+    sa<sizeof(sink_4_3567(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_3567(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_3567(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_4_3567(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -1277,12 +1277,12 @@ int test4_3568()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_3568(a))           == 3> t1;
-    sa<sizeof(sink_4_3568(va))          == 3> t3;
-    sa<sizeof(sink_4_3568(source()))    == 5> t5;
-    sa<sizeof(sink_4_3568(c_source()))  == 6> t6;
-    sa<sizeof(sink_4_3568(v_source()))  == 8> t7;
-    sa<sizeof(sink_4_3568(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_3568(a))           == 3 * sizeof(long)> t1;
+    sa<sizeof(sink_4_3568(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_3568(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_3568(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_4_3568(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_4_3568(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -1297,12 +1297,12 @@ int test4_3578()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_3578(a))           == 3> t1;
-    sa<sizeof(sink_4_3578(va))          == 3> t3;
-    sa<sizeof(sink_4_3578(source()))    == 5> t5;
-    sa<sizeof(sink_4_3578(c_source()))  == 8> t6;
-    sa<sizeof(sink_4_3578(v_source()))  == 7> t7;
-    sa<sizeof(sink_4_3578(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_3578(a))           == 3 * sizeof(long)> t1;
+    sa<sizeof(sink_4_3578(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_3578(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_3578(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_4_3578(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_4_3578(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -1317,11 +1317,11 @@ int test4_3678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_3678(a))           == 3> t1;
-    sa<sizeof(sink_4_3678(va))          == 3> t3;
-    sa<sizeof(sink_4_3678(c_source()))  == 6> t6;
-    sa<sizeof(sink_4_3678(v_source()))  == 7> t7;
-    sa<sizeof(sink_4_3678(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_3678(a))           == 3 * sizeof(long)> t1;
+    sa<sizeof(sink_4_3678(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_4_3678(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_4_3678(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_4_3678(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -1336,13 +1336,13 @@ int test4_4567()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_4567(a))           == 4> t1;
-    sa<sizeof(sink_4_4567(ca))          == 4> t2;
-    sa<sizeof(sink_4_4567(va))          == 4> t3;
-    sa<sizeof(sink_4_4567(cva))         == 4> t4;
-    sa<sizeof(sink_4_4567(source()))    == 5> t5;
-    sa<sizeof(sink_4_4567(c_source()))  == 6> t6;
-    sa<sizeof(sink_4_4567(v_source()))  == 7> t7;
+    sa<sizeof(sink_4_4567(a))           == 4 * sizeof(long)> t1;
+    sa<sizeof(sink_4_4567(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_4_4567(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_4_4567(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_4567(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_4567(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_4_4567(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -1357,14 +1357,14 @@ int test4_4568()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_4568(a))           == 4> t1;
-    sa<sizeof(sink_4_4568(ca))          == 4> t2;
-    sa<sizeof(sink_4_4568(va))          == 4> t3;
-    sa<sizeof(sink_4_4568(cva))         == 4> t4;
-    sa<sizeof(sink_4_4568(source()))    == 5> t5;
-    sa<sizeof(sink_4_4568(c_source()))  == 6> t6;
-    sa<sizeof(sink_4_4568(v_source()))  == 8> t7;
-    sa<sizeof(sink_4_4568(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_4568(a))           == 4 * sizeof(long)> t1;
+    sa<sizeof(sink_4_4568(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_4_4568(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_4_4568(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_4568(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_4568(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_4_4568(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_4_4568(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -1379,14 +1379,14 @@ int test4_4578()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_4578(a))           == 4> t1;
-    sa<sizeof(sink_4_4578(ca))          == 4> t2;
-    sa<sizeof(sink_4_4578(va))          == 4> t3;
-    sa<sizeof(sink_4_4578(cva))         == 4> t4;
-    sa<sizeof(sink_4_4578(source()))    == 5> t5;
-    sa<sizeof(sink_4_4578(c_source()))  == 8> t6;
-    sa<sizeof(sink_4_4578(v_source()))  == 7> t7;
-    sa<sizeof(sink_4_4578(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_4578(a))           == 4 * sizeof(long)> t1;
+    sa<sizeof(sink_4_4578(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_4_4578(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_4_4578(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_4578(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_4578(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_4_4578(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_4_4578(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -1401,13 +1401,13 @@ int test4_4678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_4678(a))           == 4> t1;
-    sa<sizeof(sink_4_4678(ca))          == 4> t2;
-    sa<sizeof(sink_4_4678(va))          == 4> t3;
-    sa<sizeof(sink_4_4678(cva))         == 4> t4;
-    sa<sizeof(sink_4_4678(c_source()))  == 6> t6;
-    sa<sizeof(sink_4_4678(v_source()))  == 7> t7;
-    sa<sizeof(sink_4_4678(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_4678(a))           == 4 * sizeof(long)> t1;
+    sa<sizeof(sink_4_4678(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_4_4678(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_4_4678(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_4_4678(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_4_4678(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_4_4678(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -1422,10 +1422,10 @@ int test4_5678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_4_5678(source()))    == 5> t5;
-    sa<sizeof(sink_4_5678(c_source()))  == 6> t6;
-    sa<sizeof(sink_4_5678(v_source()))  == 7> t7;
-    sa<sizeof(sink_4_5678(cv_source())) == 8> t8;
+    sa<sizeof(sink_4_5678(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_4_5678(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_4_5678(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_4_5678(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
index cd12028fc9354edcd56ec7e56c9b0f582454e7ba..b8ab545889a9bde0b766b06276ef593012b9c9c4 100644 (file)
@@ -8,14 +8,14 @@
 template <bool> struct sa;
 template <> struct sa<true> {};
 
-struct one   {char x[1];};
-struct two   {char x[2];};
-struct three {char x[3];};
-struct four  {char x[4];};
-struct five  {char x[5];};
-struct six   {char x[6];};
-struct seven {char x[7];};
-struct eight {char x[8];};
+struct one   {long x[1];};
+struct two   {long x[2];};
+struct three {long x[3];};
+struct four  {long x[4];};
+struct five  {long x[5];};
+struct six   {long x[6];};
+struct seven {long x[7];};
+struct eight {long x[8];};
 
 struct A
 {
@@ -42,12 +42,12 @@ int test5_12345()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_12345(a))           == 1> t1;
-    sa<sizeof(sink_5_12345(ca))          == 2> t2;
-    sa<sizeof(sink_5_12345(va))          == 3> t3;
-    sa<sizeof(sink_5_12345(cva))         == 4> t4;
-    sa<sizeof(sink_5_12345(source()))    == 5> t5;
-    sa<sizeof(sink_5_12345(c_source()))  == 2> t6;
+    sa<sizeof(sink_5_12345(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_12345(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_12345(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_12345(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_12345(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_12345(c_source()))  == 2* sizeof(long)> t6;
     return 0;
 }
 
@@ -63,12 +63,12 @@ int test5_12346()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_12346(a))           == 1> t1;
-    sa<sizeof(sink_5_12346(ca))          == 2> t2;
-    sa<sizeof(sink_5_12346(va))          == 3> t3;
-    sa<sizeof(sink_5_12346(cva))         == 4> t4;
-    sa<sizeof(sink_5_12346(source()))    == 6> t5;
-    sa<sizeof(sink_5_12346(c_source()))  == 6> t6;
+    sa<sizeof(sink_5_12346(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_12346(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_12346(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_12346(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_12346(source()))    == 6* sizeof(long)> t5;
+    sa<sizeof(sink_5_12346(c_source()))  == 6* sizeof(long)> t6;
     return 0;
 }
 
@@ -84,13 +84,13 @@ int test5_12347()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_12347(a))           == 1> t1;
-    sa<sizeof(sink_5_12347(ca))          == 2> t2;
-    sa<sizeof(sink_5_12347(va))          == 3> t3;
-    sa<sizeof(sink_5_12347(cva))         == 4> t4;
-    sa<sizeof(sink_5_12347(source()))    == 7> t5;
-    sa<sizeof(sink_5_12347(c_source()))  == 2> t6;
-    sa<sizeof(sink_5_12347(v_source()))  == 7> t7;
+    sa<sizeof(sink_5_12347(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_12347(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_12347(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_12347(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_12347(source()))    == 7* sizeof(long)> t5;
+    sa<sizeof(sink_5_12347(c_source()))  == 2* sizeof(long)> t6;
+    sa<sizeof(sink_5_12347(v_source()))  == 7* sizeof(long)> t7;
     return 0;
 }
 
@@ -106,14 +106,14 @@ int test5_12348()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_12348(a))           == 1> t1;
-    sa<sizeof(sink_5_12348(ca))          == 2> t2;
-    sa<sizeof(sink_5_12348(va))          == 3> t3;
-    sa<sizeof(sink_5_12348(cva))         == 4> t4;
-    sa<sizeof(sink_5_12348(source()))    == 8> t5;
-    sa<sizeof(sink_5_12348(c_source()))  == 8> t6;
-    sa<sizeof(sink_5_12348(v_source()))  == 8> t7;
-    sa<sizeof(sink_5_12348(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_12348(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_12348(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_12348(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_12348(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_12348(source()))    == 8* sizeof(long)> t5;
+    sa<sizeof(sink_5_12348(c_source()))  == 8* sizeof(long)> t6;
+    sa<sizeof(sink_5_12348(v_source()))  == 8* sizeof(long)> t7;
+    sa<sizeof(sink_5_12348(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -129,11 +129,11 @@ int test5_12356()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_12356(a))           == 1> t1;
-    sa<sizeof(sink_5_12356(ca))          == 2> t2;
-    sa<sizeof(sink_5_12356(va))          == 3> t3;
-    sa<sizeof(sink_5_12356(source()))    == 5> t5;
-    sa<sizeof(sink_5_12356(c_source()))  == 6> t6;
+    sa<sizeof(sink_5_12356(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_12356(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_12356(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_12356(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_12356(c_source()))  == 6* sizeof(long)> t6;
     return 0;
 }
 
@@ -149,12 +149,12 @@ int test5_12357()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_12357(a))           == 1> t1;
-    sa<sizeof(sink_5_12357(ca))          == 2> t2;
-    sa<sizeof(sink_5_12357(va))          == 3> t3;
-    sa<sizeof(sink_5_12357(source()))    == 5> t5;
-    sa<sizeof(sink_5_12357(c_source()))  == 2> t6;
-    sa<sizeof(sink_5_12357(v_source()))  == 7> t7;
+    sa<sizeof(sink_5_12357(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_12357(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_12357(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_12357(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_12357(c_source()))  == 2* sizeof(long)> t6;
+    sa<sizeof(sink_5_12357(v_source()))  == 7* sizeof(long)> t7;
     return 0;
 }
 
@@ -170,13 +170,13 @@ int test5_12358()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_12358(a))           == 1> t1;
-    sa<sizeof(sink_5_12358(ca))          == 2> t2;
-    sa<sizeof(sink_5_12358(va))          == 3> t3;
-    sa<sizeof(sink_5_12358(source()))    == 5> t5;
-    sa<sizeof(sink_5_12358(c_source()))  == 8> t6;
-    sa<sizeof(sink_5_12358(v_source()))  == 8> t7;
-    sa<sizeof(sink_5_12358(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_12358(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_12358(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_12358(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_12358(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_12358(c_source()))  == 8* sizeof(long)> t6;
+    sa<sizeof(sink_5_12358(v_source()))  == 8* sizeof(long)> t7;
+    sa<sizeof(sink_5_12358(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -192,11 +192,11 @@ int test5_12367()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_12367(a))           == 1> t1;
-    sa<sizeof(sink_5_12367(ca))          == 2> t2;
-    sa<sizeof(sink_5_12367(va))          == 3> t3;
-    sa<sizeof(sink_5_12367(c_source()))  == 6> t6;
-    sa<sizeof(sink_5_12367(v_source()))  == 7> t7;
+    sa<sizeof(sink_5_12367(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_12367(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_12367(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_12367(c_source()))  == 6* sizeof(long)> t6;
+    sa<sizeof(sink_5_12367(v_source()))  == 7* sizeof(long)> t7;
     return 0;
 }
 
@@ -212,13 +212,13 @@ int test5_12368()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_12368(a))           == 1> t1;
-    sa<sizeof(sink_5_12368(ca))          == 2> t2;
-    sa<sizeof(sink_5_12368(va))          == 3> t3;
-    sa<sizeof(sink_5_12368(source()))    == 6> t5;
-    sa<sizeof(sink_5_12368(c_source()))  == 6> t6;
-    sa<sizeof(sink_5_12368(v_source()))  == 8> t7;
-    sa<sizeof(sink_5_12368(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_12368(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_12368(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_12368(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_12368(source()))    == 6* sizeof(long)> t5;
+    sa<sizeof(sink_5_12368(c_source()))  == 6* sizeof(long)> t6;
+    sa<sizeof(sink_5_12368(v_source()))  == 8* sizeof(long)> t7;
+    sa<sizeof(sink_5_12368(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -234,13 +234,13 @@ int test5_12378()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_12378(a))           == 1> t1;
-    sa<sizeof(sink_5_12378(ca))          == 2> t2;
-    sa<sizeof(sink_5_12378(va))          == 3> t3;
-    sa<sizeof(sink_5_12378(source()))    == 7> t5;
-    sa<sizeof(sink_5_12378(c_source()))  == 8> t6;
-    sa<sizeof(sink_5_12378(v_source()))  == 7> t7;
-    sa<sizeof(sink_5_12378(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_12378(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_12378(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_12378(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_12378(source()))    == 7* sizeof(long)> t5;
+    sa<sizeof(sink_5_12378(c_source()))  == 8* sizeof(long)> t6;
+    sa<sizeof(sink_5_12378(v_source()))  == 7* sizeof(long)> t7;
+    sa<sizeof(sink_5_12378(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -256,12 +256,12 @@ int test5_12456()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_12456(a))           == 1> t1;
-    sa<sizeof(sink_5_12456(ca))          == 2> t2;
-    sa<sizeof(sink_5_12456(va))          == 4> t3;
-    sa<sizeof(sink_5_12456(cva))         == 4> t4;
-    sa<sizeof(sink_5_12456(source()))    == 5> t5;
-    sa<sizeof(sink_5_12456(c_source()))  == 6> t6;
+    sa<sizeof(sink_5_12456(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_12456(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_12456(va))          == 4* sizeof(long)> t3;
+    sa<sizeof(sink_5_12456(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_12456(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_12456(c_source()))  == 6* sizeof(long)> t6;
     return 0;
 }
 
@@ -277,13 +277,13 @@ int test5_12457()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_12457(a))           == 1> t1;
-    sa<sizeof(sink_5_12457(ca))          == 2> t2;
-    sa<sizeof(sink_5_12457(va))          == 4> t3;
-    sa<sizeof(sink_5_12457(cva))         == 4> t4;
-    sa<sizeof(sink_5_12457(source()))    == 5> t5;
-    sa<sizeof(sink_5_12457(c_source()))  == 2> t6;
-    sa<sizeof(sink_5_12457(v_source()))  == 7> t7;
+    sa<sizeof(sink_5_12457(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_12457(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_12457(va))          == 4* sizeof(long)> t3;
+    sa<sizeof(sink_5_12457(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_12457(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_12457(c_source()))  == 2* sizeof(long)> t6;
+    sa<sizeof(sink_5_12457(v_source()))  == 7* sizeof(long)> t7;
     return 0;
 }
 
@@ -299,14 +299,14 @@ int test5_12458()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_12458(a))           == 1> t1;
-    sa<sizeof(sink_5_12458(ca))          == 2> t2;
-    sa<sizeof(sink_5_12458(va))          == 4> t3;
-    sa<sizeof(sink_5_12458(cva))         == 4> t4;
-    sa<sizeof(sink_5_12458(source()))    == 5> t5;
-    sa<sizeof(sink_5_12458(c_source()))  == 8> t6;
-    sa<sizeof(sink_5_12458(v_source()))  == 8> t7;
-    sa<sizeof(sink_5_12458(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_12458(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_12458(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_12458(va))          == 4* sizeof(long)> t3;
+    sa<sizeof(sink_5_12458(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_12458(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_12458(c_source()))  == 8* sizeof(long)> t6;
+    sa<sizeof(sink_5_12458(v_source()))  == 8* sizeof(long)> t7;
+    sa<sizeof(sink_5_12458(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -322,12 +322,12 @@ int test5_12467()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_12467(a))           == 1> t1;
-    sa<sizeof(sink_5_12467(ca))          == 2> t2;
-    sa<sizeof(sink_5_12467(va))          == 4> t3;
-    sa<sizeof(sink_5_12467(cva))         == 4> t4;
-    sa<sizeof(sink_5_12467(c_source()))  == 6> t6;
-    sa<sizeof(sink_5_12467(v_source()))  == 7> t7;
+    sa<sizeof(sink_5_12467(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_12467(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_12467(va))          == 4* sizeof(long)> t3;
+    sa<sizeof(sink_5_12467(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_12467(c_source()))  == 6* sizeof(long)> t6;
+    sa<sizeof(sink_5_12467(v_source()))  == 7* sizeof(long)> t7;
     return 0;
 }
 
@@ -343,14 +343,14 @@ int test5_12468()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_12468(a))           == 1> t1;
-    sa<sizeof(sink_5_12468(ca))          == 2> t2;
-    sa<sizeof(sink_5_12468(va))          == 4> t3;
-    sa<sizeof(sink_5_12468(cva))         == 4> t4;
-    sa<sizeof(sink_5_12468(source()))    == 6> t5;
-    sa<sizeof(sink_5_12468(c_source()))  == 6> t6;
-    sa<sizeof(sink_5_12468(v_source()))  == 8> t7;
-    sa<sizeof(sink_5_12468(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_12468(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_12468(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_12468(va))          == 4* sizeof(long)> t3;
+    sa<sizeof(sink_5_12468(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_12468(source()))    == 6* sizeof(long)> t5;
+    sa<sizeof(sink_5_12468(c_source()))  == 6* sizeof(long)> t6;
+    sa<sizeof(sink_5_12468(v_source()))  == 8* sizeof(long)> t7;
+    sa<sizeof(sink_5_12468(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -366,14 +366,14 @@ int test5_12478()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_12478(a))           == 1> t1;
-    sa<sizeof(sink_5_12478(ca))          == 2> t2;
-    sa<sizeof(sink_5_12478(va))          == 4> t3;
-    sa<sizeof(sink_5_12478(cva))         == 4> t4;
-    sa<sizeof(sink_5_12478(source()))    == 7> t5;
-    sa<sizeof(sink_5_12478(c_source()))  == 8> t6;
-    sa<sizeof(sink_5_12478(v_source()))  == 7> t7;
-    sa<sizeof(sink_5_12478(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_12478(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_12478(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_12478(va))          == 4* sizeof(long)> t3;
+    sa<sizeof(sink_5_12478(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_12478(source()))    == 7* sizeof(long)> t5;
+    sa<sizeof(sink_5_12478(c_source()))  == 8* sizeof(long)> t6;
+    sa<sizeof(sink_5_12478(v_source()))  == 7* sizeof(long)> t7;
+    sa<sizeof(sink_5_12478(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -389,11 +389,11 @@ int test5_12567()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_12567(a))           == 1> t1;
-    sa<sizeof(sink_5_12567(ca))          == 2> t2;
-    sa<sizeof(sink_5_12567(source()))    == 5> t5;
-    sa<sizeof(sink_5_12567(c_source()))  == 6> t6;
-    sa<sizeof(sink_5_12567(v_source()))  == 7> t7;
+    sa<sizeof(sink_5_12567(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_12567(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_12567(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_12567(c_source()))  == 6* sizeof(long)> t6;
+    sa<sizeof(sink_5_12567(v_source()))  == 7* sizeof(long)> t7;
     return 0;
 }
 
@@ -409,12 +409,12 @@ int test5_12568()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_12568(a))           == 1> t1;
-    sa<sizeof(sink_5_12568(ca))          == 2> t2;
-    sa<sizeof(sink_5_12568(source()))    == 5> t5;
-    sa<sizeof(sink_5_12568(c_source()))  == 6> t6;
-    sa<sizeof(sink_5_12568(v_source()))  == 8> t7;
-    sa<sizeof(sink_5_12568(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_12568(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_12568(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_12568(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_12568(c_source()))  == 6* sizeof(long)> t6;
+    sa<sizeof(sink_5_12568(v_source()))  == 8* sizeof(long)> t7;
+    sa<sizeof(sink_5_12568(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -430,12 +430,12 @@ int test5_12578()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_12578(a))           == 1> t1;
-    sa<sizeof(sink_5_12578(ca))          == 2> t2;
-    sa<sizeof(sink_5_12578(source()))    == 5> t5;
-    sa<sizeof(sink_5_12578(c_source()))  == 8> t6;
-    sa<sizeof(sink_5_12578(v_source()))  == 7> t7;
-    sa<sizeof(sink_5_12578(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_12578(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_12578(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_12578(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_12578(c_source()))  == 8* sizeof(long)> t6;
+    sa<sizeof(sink_5_12578(v_source()))  == 7* sizeof(long)> t7;
+    sa<sizeof(sink_5_12578(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -451,11 +451,11 @@ int test5_12678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_12678(a))           == 1> t1;
-    sa<sizeof(sink_5_12678(ca))          == 2> t2;
-    sa<sizeof(sink_5_12678(c_source()))  == 6> t6;
-    sa<sizeof(sink_5_12678(v_source()))  == 7> t7;
-    sa<sizeof(sink_5_12678(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_12678(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_12678(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_12678(c_source()))  == 6* sizeof(long)> t6;
+    sa<sizeof(sink_5_12678(v_source()))  == 7* sizeof(long)> t7;
+    sa<sizeof(sink_5_12678(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -471,12 +471,12 @@ int test5_13456()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_13456(a))           == 1> t1;
-    sa<sizeof(sink_5_13456(ca))          == 4> t2;
-    sa<sizeof(sink_5_13456(va))          == 3> t3;
-    sa<sizeof(sink_5_13456(cva))         == 4> t4;
-    sa<sizeof(sink_5_13456(source()))    == 5> t5;
-    sa<sizeof(sink_5_13456(c_source()))  == 6> t6;
+    sa<sizeof(sink_5_13456(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_13456(ca))          == 4* sizeof(long)> t2;
+    sa<sizeof(sink_5_13456(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_13456(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_13456(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_13456(c_source()))  == 6* sizeof(long)> t6;
     return 0;
 }
 
@@ -492,12 +492,12 @@ int test5_13457()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_13457(a))           == 1> t1;
-    sa<sizeof(sink_5_13457(ca))          == 4> t2;
-    sa<sizeof(sink_5_13457(va))          == 3> t3;
-    sa<sizeof(sink_5_13457(cva))         == 4> t4;
-    sa<sizeof(sink_5_13457(source()))    == 5> t5;
-    sa<sizeof(sink_5_13457(v_source()))  == 7> t7;
+    sa<sizeof(sink_5_13457(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_13457(ca))          == 4* sizeof(long)> t2;
+    sa<sizeof(sink_5_13457(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_13457(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_13457(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_13457(v_source()))  == 7* sizeof(long)> t7;
     return 0;
 }
 
@@ -513,14 +513,14 @@ int test5_13458()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_13458(a))           == 1> t1;
-    sa<sizeof(sink_5_13458(ca))          == 4> t2;
-    sa<sizeof(sink_5_13458(va))          == 3> t3;
-    sa<sizeof(sink_5_13458(cva))         == 4> t4;
-    sa<sizeof(sink_5_13458(source()))    == 5> t5;
-    sa<sizeof(sink_5_13458(c_source()))  == 8> t6;
-    sa<sizeof(sink_5_13458(v_source()))  == 8> t7;
-    sa<sizeof(sink_5_13458(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_13458(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_13458(ca))          == 4* sizeof(long)> t2;
+    sa<sizeof(sink_5_13458(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_13458(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_13458(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_13458(c_source()))  == 8* sizeof(long)> t6;
+    sa<sizeof(sink_5_13458(v_source()))  == 8* sizeof(long)> t7;
+    sa<sizeof(sink_5_13458(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -536,12 +536,12 @@ int test5_13467()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_13467(a))           == 1> t1;
-    sa<sizeof(sink_5_13467(ca))          == 4> t2;
-    sa<sizeof(sink_5_13467(va))          == 3> t3;
-    sa<sizeof(sink_5_13467(cva))         == 4> t4;
-    sa<sizeof(sink_5_13467(c_source()))  == 6> t6;
-    sa<sizeof(sink_5_13467(v_source()))  == 7> t7;
+    sa<sizeof(sink_5_13467(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_13467(ca))          == 4* sizeof(long)> t2;
+    sa<sizeof(sink_5_13467(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_13467(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_13467(c_source()))  == 6* sizeof(long)> t6;
+    sa<sizeof(sink_5_13467(v_source()))  == 7* sizeof(long)> t7;
     return 0;
 }
 
@@ -557,14 +557,14 @@ int test5_13468()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_13468(a))           == 1> t1;
-    sa<sizeof(sink_5_13468(ca))          == 4> t2;
-    sa<sizeof(sink_5_13468(va))          == 3> t3;
-    sa<sizeof(sink_5_13468(cva))         == 4> t4;
-    sa<sizeof(sink_5_13468(source()))    == 6> t5;
-    sa<sizeof(sink_5_13468(c_source()))  == 6> t6;
-    sa<sizeof(sink_5_13468(v_source()))  == 8> t7;
-    sa<sizeof(sink_5_13468(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_13468(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_13468(ca))          == 4* sizeof(long)> t2;
+    sa<sizeof(sink_5_13468(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_13468(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_13468(source()))    == 6* sizeof(long)> t5;
+    sa<sizeof(sink_5_13468(c_source()))  == 6* sizeof(long)> t6;
+    sa<sizeof(sink_5_13468(v_source()))  == 8* sizeof(long)> t7;
+    sa<sizeof(sink_5_13468(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -580,14 +580,14 @@ int test5_13478()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_13478(a))           == 1> t1;
-    sa<sizeof(sink_5_13478(ca))          == 4> t2;
-    sa<sizeof(sink_5_13478(va))          == 3> t3;
-    sa<sizeof(sink_5_13478(cva))         == 4> t4;
-    sa<sizeof(sink_5_13478(source()))    == 7> t5;
-    sa<sizeof(sink_5_13478(c_source()))  == 8> t6;
-    sa<sizeof(sink_5_13478(v_source()))  == 7> t7;
-    sa<sizeof(sink_5_13478(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_13478(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_13478(ca))          == 4* sizeof(long)> t2;
+    sa<sizeof(sink_5_13478(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_13478(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_13478(source()))    == 7* sizeof(long)> t5;
+    sa<sizeof(sink_5_13478(c_source()))  == 8* sizeof(long)> t6;
+    sa<sizeof(sink_5_13478(v_source()))  == 7* sizeof(long)> t7;
+    sa<sizeof(sink_5_13478(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -603,11 +603,11 @@ int test5_13567()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_13567(a))           == 1> t1;
-    sa<sizeof(sink_5_13567(va))          == 3> t3;
-    sa<sizeof(sink_5_13567(source()))    == 5> t5;
-    sa<sizeof(sink_5_13567(c_source()))  == 6> t6;
-    sa<sizeof(sink_5_13567(v_source()))  == 7> t7;
+    sa<sizeof(sink_5_13567(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_13567(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_13567(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_13567(c_source()))  == 6* sizeof(long)> t6;
+    sa<sizeof(sink_5_13567(v_source()))  == 7* sizeof(long)> t7;
     return 0;
 }
 
@@ -623,12 +623,12 @@ int test5_13568()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_13568(a))           == 1> t1;
-    sa<sizeof(sink_5_13568(va))          == 3> t3;
-    sa<sizeof(sink_5_13568(source()))    == 5> t5;
-    sa<sizeof(sink_5_13568(c_source()))  == 6> t6;
-    sa<sizeof(sink_5_13568(v_source()))  == 8> t7;
-    sa<sizeof(sink_5_13568(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_13568(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_13568(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_13568(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_13568(c_source()))  == 6* sizeof(long)> t6;
+    sa<sizeof(sink_5_13568(v_source()))  == 8* sizeof(long)> t7;
+    sa<sizeof(sink_5_13568(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -644,12 +644,12 @@ int test5_13578()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_13578(a))           == 1> t1;
-    sa<sizeof(sink_5_13578(va))          == 3> t3;
-    sa<sizeof(sink_5_13578(source()))    == 5> t5;
-    sa<sizeof(sink_5_13578(c_source()))  == 8> t6;
-    sa<sizeof(sink_5_13578(v_source()))  == 7> t7;
-    sa<sizeof(sink_5_13578(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_13578(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_13578(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_13578(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_13578(c_source()))  == 8* sizeof(long)> t6;
+    sa<sizeof(sink_5_13578(v_source()))  == 7* sizeof(long)> t7;
+    sa<sizeof(sink_5_13578(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -665,11 +665,11 @@ int test5_13678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_13678(a))           == 1> t1;
-    sa<sizeof(sink_5_13678(va))          == 3> t3;
-    sa<sizeof(sink_5_13678(c_source()))  == 6> t6;
-    sa<sizeof(sink_5_13678(v_source()))  == 7> t7;
-    sa<sizeof(sink_5_13678(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_13678(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_13678(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_13678(c_source()))  == 6* sizeof(long)> t6;
+    sa<sizeof(sink_5_13678(v_source()))  == 7* sizeof(long)> t7;
+    sa<sizeof(sink_5_13678(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -685,13 +685,13 @@ int test5_14567()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_14567(a))           == 1> t1;
-    sa<sizeof(sink_5_14567(ca))          == 4> t2;
-    sa<sizeof(sink_5_14567(va))          == 4> t3;
-    sa<sizeof(sink_5_14567(cva))         == 4> t4;
-    sa<sizeof(sink_5_14567(source()))    == 5> t5;
-    sa<sizeof(sink_5_14567(c_source()))  == 6> t6;
-    sa<sizeof(sink_5_14567(v_source()))  == 7> t7;
+    sa<sizeof(sink_5_14567(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_14567(ca))          == 4* sizeof(long)> t2;
+    sa<sizeof(sink_5_14567(va))          == 4* sizeof(long)> t3;
+    sa<sizeof(sink_5_14567(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_14567(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_14567(c_source()))  == 6* sizeof(long)> t6;
+    sa<sizeof(sink_5_14567(v_source()))  == 7* sizeof(long)> t7;
     return 0;
 }
 
@@ -707,14 +707,14 @@ int test5_14568()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_14568(a))           == 1> t1;
-    sa<sizeof(sink_5_14568(ca))          == 4> t2;
-    sa<sizeof(sink_5_14568(va))          == 4> t3;
-    sa<sizeof(sink_5_14568(cva))         == 4> t4;
-    sa<sizeof(sink_5_14568(source()))    == 5> t5;
-    sa<sizeof(sink_5_14568(c_source()))  == 6> t6;
-    sa<sizeof(sink_5_14568(v_source()))  == 8> t7;
-    sa<sizeof(sink_5_14568(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_14568(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_14568(ca))          == 4* sizeof(long)> t2;
+    sa<sizeof(sink_5_14568(va))          == 4* sizeof(long)> t3;
+    sa<sizeof(sink_5_14568(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_14568(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_14568(c_source()))  == 6* sizeof(long)> t6;
+    sa<sizeof(sink_5_14568(v_source()))  == 8* sizeof(long)> t7;
+    sa<sizeof(sink_5_14568(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -730,14 +730,14 @@ int test5_14578()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_14578(a))           == 1> t1;
-    sa<sizeof(sink_5_14578(ca))          == 4> t2;
-    sa<sizeof(sink_5_14578(va))          == 4> t3;
-    sa<sizeof(sink_5_14578(cva))         == 4> t4;
-    sa<sizeof(sink_5_14578(source()))    == 5> t5;
-    sa<sizeof(sink_5_14578(c_source()))  == 8> t6;
-    sa<sizeof(sink_5_14578(v_source()))  == 7> t7;
-    sa<sizeof(sink_5_14578(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_14578(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_14578(ca))          == 4* sizeof(long)> t2;
+    sa<sizeof(sink_5_14578(va))          == 4* sizeof(long)> t3;
+    sa<sizeof(sink_5_14578(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_14578(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_14578(c_source()))  == 8* sizeof(long)> t6;
+    sa<sizeof(sink_5_14578(v_source()))  == 7* sizeof(long)> t7;
+    sa<sizeof(sink_5_14578(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -753,13 +753,13 @@ int test5_14678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_14678(a))           == 1> t1;
-    sa<sizeof(sink_5_14678(ca))          == 4> t2;
-    sa<sizeof(sink_5_14678(va))          == 4> t3;
-    sa<sizeof(sink_5_14678(cva))         == 4> t4;
-    sa<sizeof(sink_5_14678(c_source()))  == 6> t6;
-    sa<sizeof(sink_5_14678(v_source()))  == 7> t7;
-    sa<sizeof(sink_5_14678(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_14678(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_14678(ca))          == 4* sizeof(long)> t2;
+    sa<sizeof(sink_5_14678(va))          == 4* sizeof(long)> t3;
+    sa<sizeof(sink_5_14678(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_14678(c_source()))  == 6* sizeof(long)> t6;
+    sa<sizeof(sink_5_14678(v_source()))  == 7* sizeof(long)> t7;
+    sa<sizeof(sink_5_14678(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -775,11 +775,11 @@ int test5_15678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_15678(a))           == 1> t1;
-    sa<sizeof(sink_5_15678(source()))    == 5> t5;
-    sa<sizeof(sink_5_15678(c_source()))  == 6> t6;
-    sa<sizeof(sink_5_15678(v_source()))  == 7> t7;
-    sa<sizeof(sink_5_15678(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_15678(a))           == 1* sizeof(long)> t1;
+    sa<sizeof(sink_5_15678(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_15678(c_source()))  == 6* sizeof(long)> t6;
+    sa<sizeof(sink_5_15678(v_source()))  == 7* sizeof(long)> t7;
+    sa<sizeof(sink_5_15678(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -795,11 +795,11 @@ int test5_23456()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_23456(ca))          == 2> t2;
-    sa<sizeof(sink_5_23456(va))          == 3> t3;
-    sa<sizeof(sink_5_23456(cva))         == 4> t4;
-    sa<sizeof(sink_5_23456(source()))    == 5> t5;
-    sa<sizeof(sink_5_23456(c_source()))  == 6> t6;
+    sa<sizeof(sink_5_23456(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_23456(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_23456(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_23456(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_23456(c_source()))  == 6* sizeof(long)> t6;
     return 0;
 }
 
@@ -815,12 +815,12 @@ int test5_23457()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_23457(ca))          == 2> t2;
-    sa<sizeof(sink_5_23457(va))          == 3> t3;
-    sa<sizeof(sink_5_23457(cva))         == 4> t4;
-    sa<sizeof(sink_5_23457(source()))    == 5> t5;
-    sa<sizeof(sink_5_23457(c_source()))  == 2> t6;
-    sa<sizeof(sink_5_23457(v_source()))  == 7> t7;
+    sa<sizeof(sink_5_23457(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_23457(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_23457(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_23457(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_23457(c_source()))  == 2* sizeof(long)> t6;
+    sa<sizeof(sink_5_23457(v_source()))  == 7* sizeof(long)> t7;
     return 0;
 }
 
@@ -836,13 +836,13 @@ int test5_23458()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_23458(ca))          == 2> t2;
-    sa<sizeof(sink_5_23458(va))          == 3> t3;
-    sa<sizeof(sink_5_23458(cva))         == 4> t4;
-    sa<sizeof(sink_5_23458(source()))    == 5> t5;
-    sa<sizeof(sink_5_23458(c_source()))  == 8> t6;
-    sa<sizeof(sink_5_23458(v_source()))  == 8> t7;
-    sa<sizeof(sink_5_23458(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_23458(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_23458(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_23458(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_23458(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_23458(c_source()))  == 8* sizeof(long)> t6;
+    sa<sizeof(sink_5_23458(v_source()))  == 8* sizeof(long)> t7;
+    sa<sizeof(sink_5_23458(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -858,11 +858,11 @@ int test5_23467()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_23467(ca))          == 2> t2;
-    sa<sizeof(sink_5_23467(va))          == 3> t3;
-    sa<sizeof(sink_5_23467(cva))         == 4> t4;
-    sa<sizeof(sink_5_23467(c_source()))  == 6> t6;
-    sa<sizeof(sink_5_23467(v_source()))  == 7> t7;
+    sa<sizeof(sink_5_23467(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_23467(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_23467(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_23467(c_source()))  == 6* sizeof(long)> t6;
+    sa<sizeof(sink_5_23467(v_source()))  == 7* sizeof(long)> t7;
     return 0;
 }
 
@@ -878,13 +878,13 @@ int test5_23468()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_23468(ca))          == 2> t2;
-    sa<sizeof(sink_5_23468(va))          == 3> t3;
-    sa<sizeof(sink_5_23468(cva))         == 4> t4;
-    sa<sizeof(sink_5_23468(source()))    == 6> t5;
-    sa<sizeof(sink_5_23468(c_source()))  == 6> t6;
-    sa<sizeof(sink_5_23468(v_source()))  == 8> t7;
-    sa<sizeof(sink_5_23468(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_23468(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_23468(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_23468(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_23468(source()))    == 6* sizeof(long)> t5;
+    sa<sizeof(sink_5_23468(c_source()))  == 6* sizeof(long)> t6;
+    sa<sizeof(sink_5_23468(v_source()))  == 8* sizeof(long)> t7;
+    sa<sizeof(sink_5_23468(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -900,13 +900,13 @@ int test5_23478()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_23478(ca))          == 2> t2;
-    sa<sizeof(sink_5_23478(va))          == 3> t3;
-    sa<sizeof(sink_5_23478(cva))         == 4> t4;
-    sa<sizeof(sink_5_23478(source()))    == 7> t5;
-    sa<sizeof(sink_5_23478(c_source()))  == 8> t6;
-    sa<sizeof(sink_5_23478(v_source()))  == 7> t7;
-    sa<sizeof(sink_5_23478(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_23478(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_23478(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_23478(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_23478(source()))    == 7* sizeof(long)> t5;
+    sa<sizeof(sink_5_23478(c_source()))  == 8* sizeof(long)> t6;
+    sa<sizeof(sink_5_23478(v_source()))  == 7* sizeof(long)> t7;
+    sa<sizeof(sink_5_23478(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -922,11 +922,11 @@ int test5_23567()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_23567(ca))          == 2> t2;
-    sa<sizeof(sink_5_23567(va))          == 3> t3;
-    sa<sizeof(sink_5_23567(source()))    == 5> t5;
-    sa<sizeof(sink_5_23567(c_source()))  == 6> t6;
-    sa<sizeof(sink_5_23567(v_source()))  == 7> t7;
+    sa<sizeof(sink_5_23567(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_23567(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_23567(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_23567(c_source()))  == 6* sizeof(long)> t6;
+    sa<sizeof(sink_5_23567(v_source()))  == 7* sizeof(long)> t7;
     return 0;
 }
 
@@ -942,12 +942,12 @@ int test5_23568()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_23568(ca))          == 2> t2;
-    sa<sizeof(sink_5_23568(va))          == 3> t3;
-    sa<sizeof(sink_5_23568(source()))    == 5> t5;
-    sa<sizeof(sink_5_23568(c_source()))  == 6> t6;
-    sa<sizeof(sink_5_23568(v_source()))  == 8> t7;
-    sa<sizeof(sink_5_23568(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_23568(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_23568(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_23568(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_23568(c_source()))  == 6* sizeof(long)> t6;
+    sa<sizeof(sink_5_23568(v_source()))  == 8* sizeof(long)> t7;
+    sa<sizeof(sink_5_23568(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -963,12 +963,12 @@ int test5_23578()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_23578(ca))          == 2> t2;
-    sa<sizeof(sink_5_23578(va))          == 3> t3;
-    sa<sizeof(sink_5_23578(source()))    == 5> t5;
-    sa<sizeof(sink_5_23578(c_source()))  == 8> t6;
-    sa<sizeof(sink_5_23578(v_source()))  == 7> t7;
-    sa<sizeof(sink_5_23578(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_23578(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_23578(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_23578(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_23578(c_source()))  == 8* sizeof(long)> t6;
+    sa<sizeof(sink_5_23578(v_source()))  == 7* sizeof(long)> t7;
+    sa<sizeof(sink_5_23578(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -984,11 +984,11 @@ int test5_23678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_23678(ca))          == 2> t2;
-    sa<sizeof(sink_5_23678(va))          == 3> t3;
-    sa<sizeof(sink_5_23678(c_source()))  == 6> t6;
-    sa<sizeof(sink_5_23678(v_source()))  == 7> t7;
-    sa<sizeof(sink_5_23678(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_23678(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_23678(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_23678(c_source()))  == 6* sizeof(long)> t6;
+    sa<sizeof(sink_5_23678(v_source()))  == 7* sizeof(long)> t7;
+    sa<sizeof(sink_5_23678(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -1004,13 +1004,13 @@ int test5_24567()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_24567(a))           == 2> t1;
-    sa<sizeof(sink_5_24567(ca))          == 2> t2;
-    sa<sizeof(sink_5_24567(va))          == 4> t3;
-    sa<sizeof(sink_5_24567(cva))         == 4> t4;
-    sa<sizeof(sink_5_24567(source()))    == 5> t5;
-    sa<sizeof(sink_5_24567(c_source()))  == 6> t6;
-    sa<sizeof(sink_5_24567(v_source()))  == 7> t7;
+    sa<sizeof(sink_5_24567(a))           == 2* sizeof(long)> t1;
+    sa<sizeof(sink_5_24567(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_24567(va))          == 4* sizeof(long)> t3;
+    sa<sizeof(sink_5_24567(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_24567(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_24567(c_source()))  == 6* sizeof(long)> t6;
+    sa<sizeof(sink_5_24567(v_source()))  == 7* sizeof(long)> t7;
     return 0;
 }
 
@@ -1026,14 +1026,14 @@ int test5_24568()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_24568(a))           == 2> t1;
-    sa<sizeof(sink_5_24568(ca))          == 2> t2;
-    sa<sizeof(sink_5_24568(va))          == 4> t3;
-    sa<sizeof(sink_5_24568(cva))         == 4> t4;
-    sa<sizeof(sink_5_24568(source()))    == 5> t5;
-    sa<sizeof(sink_5_24568(c_source()))  == 6> t6;
-    sa<sizeof(sink_5_24568(v_source()))  == 8> t7;
-    sa<sizeof(sink_5_24568(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_24568(a))           == 2* sizeof(long)> t1;
+    sa<sizeof(sink_5_24568(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_24568(va))          == 4* sizeof(long)> t3;
+    sa<sizeof(sink_5_24568(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_24568(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_24568(c_source()))  == 6* sizeof(long)> t6;
+    sa<sizeof(sink_5_24568(v_source()))  == 8* sizeof(long)> t7;
+    sa<sizeof(sink_5_24568(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -1049,14 +1049,14 @@ int test5_24578()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_24578(a))           == 2> t1;
-    sa<sizeof(sink_5_24578(ca))          == 2> t2;
-    sa<sizeof(sink_5_24578(va))          == 4> t3;
-    sa<sizeof(sink_5_24578(cva))         == 4> t4;
-    sa<sizeof(sink_5_24578(source()))    == 5> t5;
-    sa<sizeof(sink_5_24578(c_source()))  == 8> t6;
-    sa<sizeof(sink_5_24578(v_source()))  == 7> t7;
-    sa<sizeof(sink_5_24578(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_24578(a))           == 2* sizeof(long)> t1;
+    sa<sizeof(sink_5_24578(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_24578(va))          == 4* sizeof(long)> t3;
+    sa<sizeof(sink_5_24578(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_24578(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_24578(c_source()))  == 8* sizeof(long)> t6;
+    sa<sizeof(sink_5_24578(v_source()))  == 7* sizeof(long)> t7;
+    sa<sizeof(sink_5_24578(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -1072,13 +1072,13 @@ int test5_24678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_24678(a))           == 2> t1;
-    sa<sizeof(sink_5_24678(ca))          == 2> t2;
-    sa<sizeof(sink_5_24678(va))          == 4> t3;
-    sa<sizeof(sink_5_24678(cva))         == 4> t4;
-    sa<sizeof(sink_5_24678(c_source()))  == 6> t6;
-    sa<sizeof(sink_5_24678(v_source()))  == 7> t7;
-    sa<sizeof(sink_5_24678(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_24678(a))           == 2* sizeof(long)> t1;
+    sa<sizeof(sink_5_24678(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_24678(va))          == 4* sizeof(long)> t3;
+    sa<sizeof(sink_5_24678(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_24678(c_source()))  == 6* sizeof(long)> t6;
+    sa<sizeof(sink_5_24678(v_source()))  == 7* sizeof(long)> t7;
+    sa<sizeof(sink_5_24678(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -1094,12 +1094,12 @@ int test5_25678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_25678(a))           == 2> t1;
-    sa<sizeof(sink_5_25678(ca))          == 2> t2;
-    sa<sizeof(sink_5_25678(source()))    == 5> t5;
-    sa<sizeof(sink_5_25678(c_source()))  == 6> t6;
-    sa<sizeof(sink_5_25678(v_source()))  == 7> t7;
-    sa<sizeof(sink_5_25678(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_25678(a))           == 2* sizeof(long)> t1;
+    sa<sizeof(sink_5_25678(ca))          == 2* sizeof(long)> t2;
+    sa<sizeof(sink_5_25678(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_25678(c_source()))  == 6* sizeof(long)> t6;
+    sa<sizeof(sink_5_25678(v_source()))  == 7* sizeof(long)> t7;
+    sa<sizeof(sink_5_25678(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -1115,13 +1115,13 @@ int test5_34567()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_34567(a))           == 3> t1;
-    sa<sizeof(sink_5_34567(ca))          == 4> t2;
-    sa<sizeof(sink_5_34567(va))          == 3> t3;
-    sa<sizeof(sink_5_34567(cva))         == 4> t4;
-    sa<sizeof(sink_5_34567(source()))    == 5> t5;
-    sa<sizeof(sink_5_34567(c_source()))  == 6> t6;
-    sa<sizeof(sink_5_34567(v_source()))  == 7> t7;
+    sa<sizeof(sink_5_34567(a))           == 3* sizeof(long)> t1;
+    sa<sizeof(sink_5_34567(ca))          == 4* sizeof(long)> t2;
+    sa<sizeof(sink_5_34567(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_34567(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_34567(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_34567(c_source()))  == 6* sizeof(long)> t6;
+    sa<sizeof(sink_5_34567(v_source()))  == 7* sizeof(long)> t7;
     return 0;
 }
 
@@ -1137,14 +1137,14 @@ int test5_34568()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_34568(a))           == 3> t1;
-    sa<sizeof(sink_5_34568(ca))          == 4> t2;
-    sa<sizeof(sink_5_34568(va))          == 3> t3;
-    sa<sizeof(sink_5_34568(cva))         == 4> t4;
-    sa<sizeof(sink_5_34568(source()))    == 5> t5;
-    sa<sizeof(sink_5_34568(c_source()))  == 6> t6;
-    sa<sizeof(sink_5_34568(v_source()))  == 8> t7;
-    sa<sizeof(sink_5_34568(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_34568(a))           == 3* sizeof(long)> t1;
+    sa<sizeof(sink_5_34568(ca))          == 4* sizeof(long)> t2;
+    sa<sizeof(sink_5_34568(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_34568(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_34568(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_34568(c_source()))  == 6* sizeof(long)> t6;
+    sa<sizeof(sink_5_34568(v_source()))  == 8* sizeof(long)> t7;
+    sa<sizeof(sink_5_34568(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -1160,14 +1160,14 @@ int test5_34578()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_34578(a))           == 3> t1;
-    sa<sizeof(sink_5_34578(ca))          == 4> t2;
-    sa<sizeof(sink_5_34578(va))          == 3> t3;
-    sa<sizeof(sink_5_34578(cva))         == 4> t4;
-    sa<sizeof(sink_5_34578(source()))    == 5> t5;
-    sa<sizeof(sink_5_34578(c_source()))  == 8> t6;
-    sa<sizeof(sink_5_34578(v_source()))  == 7> t7;
-    sa<sizeof(sink_5_34578(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_34578(a))           == 3* sizeof(long)> t1;
+    sa<sizeof(sink_5_34578(ca))          == 4* sizeof(long)> t2;
+    sa<sizeof(sink_5_34578(va))          == 3* sizeof(long)> t3;
+    sa<sizeof(sink_5_34578(cva))         == 4* sizeof(long)> t4;
+    sa<sizeof(sink_5_34578(source()))    == 5* sizeof(long)> t5;
+    sa<sizeof(sink_5_34578(c_source()))  == 8* sizeof(long)> t6;
+    sa<sizeof(sink_5_34578(v_source()))  == 7* sizeof(long)> t7;
+    sa<sizeof(sink_5_34578(cv_source())) == 8* sizeof(long)> t8;
     return 0;
 }
 
@@ -1183,13 +1183,13 @@ int test5_34678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_34678(a))           == 3> t1;
-    sa<sizeof(sink_5_34678(ca))          == 4> t2;
-    sa<sizeof(sink_5_34678(va))          == 3> t3;
-    sa<sizeof(sink_5_34678(cva))         == 4> t4;
-    sa<sizeof(sink_5_34678(c_source()))  == 6> t6;
-    sa<sizeof(sink_5_34678(v_source()))  == 7> t7;
-    sa<sizeof(sink_5_34678(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_34678(a))           == 3 * sizeof(long)> t1;
+    sa<sizeof(sink_5_34678(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_5_34678(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_5_34678(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_5_34678(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_5_34678(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_5_34678(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -1205,12 +1205,12 @@ int test5_35678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_35678(a))           == 3> t1;
-    sa<sizeof(sink_5_35678(va))          == 3> t3;
-    sa<sizeof(sink_5_35678(source()))    == 5> t5;
-    sa<sizeof(sink_5_35678(c_source()))  == 6> t6;
-    sa<sizeof(sink_5_35678(v_source()))  == 7> t7;
-    sa<sizeof(sink_5_35678(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_35678(a))           == 3 * sizeof(long)> t1;
+    sa<sizeof(sink_5_35678(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_5_35678(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_5_35678(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_5_35678(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_5_35678(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -1226,14 +1226,14 @@ int test5_45678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_5_45678(a))           == 4> t1;
-    sa<sizeof(sink_5_45678(ca))          == 4> t2;
-    sa<sizeof(sink_5_45678(va))          == 4> t3;
-    sa<sizeof(sink_5_45678(cva))         == 4> t4;
-    sa<sizeof(sink_5_45678(source()))    == 5> t5;
-    sa<sizeof(sink_5_45678(c_source()))  == 6> t6;
-    sa<sizeof(sink_5_45678(v_source()))  == 7> t7;
-    sa<sizeof(sink_5_45678(cv_source())) == 8> t8;
+    sa<sizeof(sink_5_45678(a))           == 4 * sizeof(long)> t1;
+    sa<sizeof(sink_5_45678(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_5_45678(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_5_45678(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_5_45678(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_5_45678(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_5_45678(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_5_45678(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
index bb17d7929feb463e55076d8118c1fa02cf7f6978..4b78ef70bd006d32dba8358ff74be765c49e6b96 100644 (file)
@@ -8,14 +8,14 @@
 template <bool> struct sa;
 template <> struct sa<true> {};
 
-struct one   {char x[1];};
-struct two   {char x[2];};
-struct three {char x[3];};
-struct four  {char x[4];};
-struct five  {char x[5];};
-struct six   {char x[6];};
-struct seven {char x[7];};
-struct eight {char x[8];};
+struct one   {long x[1];};
+struct two   {long x[2];};
+struct three {long x[3];};
+struct four  {long x[4];};
+struct five  {long x[5];};
+struct six   {long x[6];};
+struct seven {long x[7];};
+struct eight {long x[8];};
 
 struct A
 {
@@ -43,12 +43,12 @@ int test6_123456()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_6_123456(a))           == 1> t1;
-    sa<sizeof(sink_6_123456(ca))          == 2> t2;
-    sa<sizeof(sink_6_123456(va))          == 3> t3;
-    sa<sizeof(sink_6_123456(cva))         == 4> t4;
-    sa<sizeof(sink_6_123456(source()))    == 5> t5;
-    sa<sizeof(sink_6_123456(c_source()))  == 6> t6;
+    sa<sizeof(sink_6_123456(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_6_123456(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_6_123456(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_6_123456(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_6_123456(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_6_123456(c_source()))  == 6 * sizeof(long)> t6;
     return 0;
 }
 
@@ -65,13 +65,13 @@ int test6_123457()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_6_123457(a))           == 1> t1;
-    sa<sizeof(sink_6_123457(ca))          == 2> t2;
-    sa<sizeof(sink_6_123457(va))          == 3> t3;
-    sa<sizeof(sink_6_123457(cva))         == 4> t4;
-    sa<sizeof(sink_6_123457(source()))    == 5> t5;
-    sa<sizeof(sink_6_123457(c_source()))  == 2> t6;
-    sa<sizeof(sink_6_123457(v_source()))  == 7> t7;
+    sa<sizeof(sink_6_123457(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_6_123457(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_6_123457(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_6_123457(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_6_123457(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_6_123457(c_source()))  == 2 * sizeof(long)> t6;
+    sa<sizeof(sink_6_123457(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -88,14 +88,14 @@ int test6_123458()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_6_123458(a))           == 1> t1;
-    sa<sizeof(sink_6_123458(ca))          == 2> t2;
-    sa<sizeof(sink_6_123458(va))          == 3> t3;
-    sa<sizeof(sink_6_123458(cva))         == 4> t4;
-    sa<sizeof(sink_6_123458(source()))    == 5> t5;
-    sa<sizeof(sink_6_123458(c_source()))  == 8> t6;
-    sa<sizeof(sink_6_123458(v_source()))  == 8> t7;
-    sa<sizeof(sink_6_123458(cv_source())) == 8> t8;
+    sa<sizeof(sink_6_123458(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_6_123458(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_6_123458(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_6_123458(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_6_123458(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_6_123458(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_6_123458(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_6_123458(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -112,12 +112,12 @@ int test6_123467()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_6_123467(a))           == 1> t1;
-    sa<sizeof(sink_6_123467(ca))          == 2> t2;
-    sa<sizeof(sink_6_123467(va))          == 3> t3;
-    sa<sizeof(sink_6_123467(cva))         == 4> t4;
-    sa<sizeof(sink_6_123467(c_source()))  == 6> t6;
-    sa<sizeof(sink_6_123467(v_source()))  == 7> t7;
+    sa<sizeof(sink_6_123467(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_6_123467(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_6_123467(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_6_123467(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_6_123467(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_6_123467(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -134,14 +134,14 @@ int test6_123468()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_6_123468(a))           == 1> t1;
-    sa<sizeof(sink_6_123468(ca))          == 2> t2;
-    sa<sizeof(sink_6_123468(va))          == 3> t3;
-    sa<sizeof(sink_6_123468(cva))         == 4> t4;
-    sa<sizeof(sink_6_123468(source()))    == 6> t5;
-    sa<sizeof(sink_6_123468(c_source()))  == 6> t6;
-    sa<sizeof(sink_6_123468(v_source()))  == 8> t7;
-    sa<sizeof(sink_6_123468(cv_source())) == 8> t8;
+    sa<sizeof(sink_6_123468(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_6_123468(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_6_123468(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_6_123468(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_6_123468(source()))    == 6 * sizeof(long)> t5;
+    sa<sizeof(sink_6_123468(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_6_123468(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_6_123468(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -158,14 +158,14 @@ int test6_123478()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_6_123478(a))           == 1> t1;
-    sa<sizeof(sink_6_123478(ca))          == 2> t2;
-    sa<sizeof(sink_6_123478(va))          == 3> t3;
-    sa<sizeof(sink_6_123478(cva))         == 4> t4;
-    sa<sizeof(sink_6_123478(source()))    == 7> t5;
-    sa<sizeof(sink_6_123478(c_source()))  == 8> t6;
-    sa<sizeof(sink_6_123478(v_source()))  == 7> t7;
-    sa<sizeof(sink_6_123478(cv_source())) == 8> t8;
+    sa<sizeof(sink_6_123478(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_6_123478(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_6_123478(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_6_123478(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_6_123478(source()))    == 7 * sizeof(long)> t5;
+    sa<sizeof(sink_6_123478(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_6_123478(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_6_123478(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -182,12 +182,12 @@ int test6_123567()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_6_123567(a))           == 1> t1;
-    sa<sizeof(sink_6_123567(ca))          == 2> t2;
-    sa<sizeof(sink_6_123567(va))          == 3> t3;
-    sa<sizeof(sink_6_123567(source()))    == 5> t5;
-    sa<sizeof(sink_6_123567(c_source()))  == 6> t6;
-    sa<sizeof(sink_6_123567(v_source()))  == 7> t7;
+    sa<sizeof(sink_6_123567(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_6_123567(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_6_123567(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_6_123567(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_6_123567(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_6_123567(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -204,13 +204,13 @@ int test6_123568()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_6_123568(a))           == 1> t1;
-    sa<sizeof(sink_6_123568(ca))          == 2> t2;
-    sa<sizeof(sink_6_123568(va))          == 3> t3;
-    sa<sizeof(sink_6_123568(source()))    == 5> t5;
-    sa<sizeof(sink_6_123568(c_source()))  == 6> t6;
-    sa<sizeof(sink_6_123568(v_source()))  == 8> t7;
-    sa<sizeof(sink_6_123568(cv_source())) == 8> t8;
+    sa<sizeof(sink_6_123568(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_6_123568(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_6_123568(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_6_123568(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_6_123568(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_6_123568(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_6_123568(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -227,13 +227,13 @@ int test6_123578()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_6_123578(a))           == 1> t1;
-    sa<sizeof(sink_6_123578(ca))          == 2> t2;
-    sa<sizeof(sink_6_123578(va))          == 3> t3;
-    sa<sizeof(sink_6_123578(source()))    == 5> t5;
-    sa<sizeof(sink_6_123578(c_source()))  == 8> t6;
-    sa<sizeof(sink_6_123578(v_source()))  == 7> t7;
-    sa<sizeof(sink_6_123578(cv_source())) == 8> t8;
+    sa<sizeof(sink_6_123578(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_6_123578(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_6_123578(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_6_123578(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_6_123578(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_6_123578(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_6_123578(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -250,12 +250,12 @@ int test6_123678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_6_123678(a))           == 1> t1;
-    sa<sizeof(sink_6_123678(ca))          == 2> t2;
-    sa<sizeof(sink_6_123678(va))          == 3> t3;
-    sa<sizeof(sink_6_123678(c_source()))  == 6> t6;
-    sa<sizeof(sink_6_123678(v_source()))  == 7> t7;
-    sa<sizeof(sink_6_123678(cv_source())) == 8> t8;
+    sa<sizeof(sink_6_123678(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_6_123678(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_6_123678(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_6_123678(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_6_123678(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_6_123678(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -272,13 +272,13 @@ int test6_124567()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_6_124567(a))           == 1> t1;
-    sa<sizeof(sink_6_124567(ca))          == 2> t2;
-    sa<sizeof(sink_6_124567(va))          == 4> t3;
-    sa<sizeof(sink_6_124567(cva))         == 4> t4;
-    sa<sizeof(sink_6_124567(source()))    == 5> t5;
-    sa<sizeof(sink_6_124567(c_source()))  == 6> t6;
-    sa<sizeof(sink_6_124567(v_source()))  == 7> t7;
+    sa<sizeof(sink_6_124567(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_6_124567(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_6_124567(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_6_124567(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_6_124567(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_6_124567(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_6_124567(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -295,14 +295,14 @@ int test6_124568()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_6_124568(a))           == 1> t1;
-    sa<sizeof(sink_6_124568(ca))          == 2> t2;
-    sa<sizeof(sink_6_124568(va))          == 4> t3;
-    sa<sizeof(sink_6_124568(cva))         == 4> t4;
-    sa<sizeof(sink_6_124568(source()))    == 5> t5;
-    sa<sizeof(sink_6_124568(c_source()))  == 6> t6;
-    sa<sizeof(sink_6_124568(v_source()))  == 8> t7;
-    sa<sizeof(sink_6_124568(cv_source())) == 8> t8;
+    sa<sizeof(sink_6_124568(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_6_124568(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_6_124568(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_6_124568(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_6_124568(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_6_124568(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_6_124568(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_6_124568(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -319,14 +319,14 @@ int test6_124578()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_6_124578(a))           == 1> t1;
-    sa<sizeof(sink_6_124578(ca))          == 2> t2;
-    sa<sizeof(sink_6_124578(va))          == 4> t3;
-    sa<sizeof(sink_6_124578(cva))         == 4> t4;
-    sa<sizeof(sink_6_124578(source()))    == 5> t5;
-    sa<sizeof(sink_6_124578(c_source()))  == 8> t6;
-    sa<sizeof(sink_6_124578(v_source()))  == 7> t7;
-    sa<sizeof(sink_6_124578(cv_source())) == 8> t8;
+    sa<sizeof(sink_6_124578(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_6_124578(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_6_124578(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_6_124578(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_6_124578(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_6_124578(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_6_124578(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_6_124578(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -343,13 +343,13 @@ int test6_124678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_6_124678(a))           == 1> t1;
-    sa<sizeof(sink_6_124678(ca))          == 2> t2;
-    sa<sizeof(sink_6_124678(va))          == 4> t3;
-    sa<sizeof(sink_6_124678(cva))         == 4> t4;
-    sa<sizeof(sink_6_124678(c_source()))  == 6> t6;
-    sa<sizeof(sink_6_124678(v_source()))  == 7> t7;
-    sa<sizeof(sink_6_124678(cv_source())) == 8> t8;
+    sa<sizeof(sink_6_124678(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_6_124678(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_6_124678(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_6_124678(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_6_124678(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_6_124678(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_6_124678(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -366,12 +366,12 @@ int test6_125678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_6_125678(a))           == 1> t1;
-    sa<sizeof(sink_6_125678(ca))          == 2> t2;
-    sa<sizeof(sink_6_125678(source()))    == 5> t5;
-    sa<sizeof(sink_6_125678(c_source()))  == 6> t6;
-    sa<sizeof(sink_6_125678(v_source()))  == 7> t7;
-    sa<sizeof(sink_6_125678(cv_source())) == 8> t8;
+    sa<sizeof(sink_6_125678(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_6_125678(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_6_125678(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_6_125678(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_6_125678(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_6_125678(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -388,13 +388,13 @@ int test6_134567()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_6_134567(a))           == 1> t1;
-    sa<sizeof(sink_6_134567(ca))          == 4> t2;
-    sa<sizeof(sink_6_134567(va))          == 3> t3;
-    sa<sizeof(sink_6_134567(cva))         == 4> t4;
-    sa<sizeof(sink_6_134567(source()))    == 5> t5;
-    sa<sizeof(sink_6_134567(c_source()))  == 6> t6;
-    sa<sizeof(sink_6_134567(v_source()))  == 7> t7;
+    sa<sizeof(sink_6_134567(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_6_134567(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_6_134567(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_6_134567(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_6_134567(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_6_134567(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_6_134567(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -411,14 +411,14 @@ int test6_134568()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_6_134568(a))           == 1> t1;
-    sa<sizeof(sink_6_134568(ca))          == 4> t2;
-    sa<sizeof(sink_6_134568(va))          == 3> t3;
-    sa<sizeof(sink_6_134568(cva))         == 4> t4;
-    sa<sizeof(sink_6_134568(source()))    == 5> t5;
-    sa<sizeof(sink_6_134568(c_source()))  == 6> t6;
-    sa<sizeof(sink_6_134568(v_source()))  == 8> t7;
-    sa<sizeof(sink_6_134568(cv_source())) == 8> t8;
+    sa<sizeof(sink_6_134568(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_6_134568(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_6_134568(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_6_134568(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_6_134568(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_6_134568(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_6_134568(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_6_134568(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -435,14 +435,14 @@ int test6_134578()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_6_134578(a))           == 1> t1;
-    sa<sizeof(sink_6_134578(ca))          == 4> t2;
-    sa<sizeof(sink_6_134578(va))          == 3> t3;
-    sa<sizeof(sink_6_134578(cva))         == 4> t4;
-    sa<sizeof(sink_6_134578(source()))    == 5> t5;
-    sa<sizeof(sink_6_134578(c_source()))  == 8> t6;
-    sa<sizeof(sink_6_134578(v_source()))  == 7> t7;
-    sa<sizeof(sink_6_134578(cv_source())) == 8> t8;
+    sa<sizeof(sink_6_134578(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_6_134578(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_6_134578(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_6_134578(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_6_134578(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_6_134578(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_6_134578(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_6_134578(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -459,13 +459,13 @@ int test6_134678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_6_134678(a))           == 1> t1;
-    sa<sizeof(sink_6_134678(ca))          == 4> t2;
-    sa<sizeof(sink_6_134678(va))          == 3> t3;
-    sa<sizeof(sink_6_134678(cva))         == 4> t4;
-    sa<sizeof(sink_6_134678(c_source()))  == 6> t6;
-    sa<sizeof(sink_6_134678(v_source()))  == 7> t7;
-    sa<sizeof(sink_6_134678(cv_source())) == 8> t8;
+    sa<sizeof(sink_6_134678(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_6_134678(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_6_134678(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_6_134678(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_6_134678(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_6_134678(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_6_134678(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -482,12 +482,12 @@ int test6_135678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_6_135678(a))           == 1> t1;
-    sa<sizeof(sink_6_135678(va))          == 3> t3;
-    sa<sizeof(sink_6_135678(source()))    == 5> t5;
-    sa<sizeof(sink_6_135678(c_source()))  == 6> t6;
-    sa<sizeof(sink_6_135678(v_source()))  == 7> t7;
-    sa<sizeof(sink_6_135678(cv_source())) == 8> t8;
+    sa<sizeof(sink_6_135678(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_6_135678(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_6_135678(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_6_135678(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_6_135678(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_6_135678(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -504,14 +504,14 @@ int test6_145678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_6_145678(a))           == 1> t1;
-    sa<sizeof(sink_6_145678(ca))          == 4> t2;
-    sa<sizeof(sink_6_145678(va))          == 4> t3;
-    sa<sizeof(sink_6_145678(cva))         == 4> t4;
-    sa<sizeof(sink_6_145678(source()))    == 5> t5;
-    sa<sizeof(sink_6_145678(c_source()))  == 6> t6;
-    sa<sizeof(sink_6_145678(v_source()))  == 7> t7;
-    sa<sizeof(sink_6_145678(cv_source())) == 8> t8;
+    sa<sizeof(sink_6_145678(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_6_145678(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_6_145678(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_6_145678(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_6_145678(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_6_145678(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_6_145678(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_6_145678(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -528,12 +528,12 @@ int test6_234567()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_6_234567(ca))          == 2> t2;
-    sa<sizeof(sink_6_234567(va))          == 3> t3;
-    sa<sizeof(sink_6_234567(cva))         == 4> t4;
-    sa<sizeof(sink_6_234567(source()))    == 5> t5;
-    sa<sizeof(sink_6_234567(c_source()))  == 6> t6;
-    sa<sizeof(sink_6_234567(v_source()))  == 7> t7;
+    sa<sizeof(sink_6_234567(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_6_234567(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_6_234567(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_6_234567(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_6_234567(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_6_234567(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -550,13 +550,13 @@ int test6_234568()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_6_234568(ca))          == 2> t2;
-    sa<sizeof(sink_6_234568(va))          == 3> t3;
-    sa<sizeof(sink_6_234568(cva))         == 4> t4;
-    sa<sizeof(sink_6_234568(source()))    == 5> t5;
-    sa<sizeof(sink_6_234568(c_source()))  == 6> t6;
-    sa<sizeof(sink_6_234568(v_source()))  == 8> t7;
-    sa<sizeof(sink_6_234568(cv_source())) == 8> t8;
+    sa<sizeof(sink_6_234568(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_6_234568(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_6_234568(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_6_234568(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_6_234568(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_6_234568(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_6_234568(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -573,13 +573,13 @@ int test6_234578()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_6_234578(ca))          == 2> t2;
-    sa<sizeof(sink_6_234578(va))          == 3> t3;
-    sa<sizeof(sink_6_234578(cva))         == 4> t4;
-    sa<sizeof(sink_6_234578(source()))    == 5> t5;
-    sa<sizeof(sink_6_234578(c_source()))  == 8> t6;
-    sa<sizeof(sink_6_234578(v_source()))  == 7> t7;
-    sa<sizeof(sink_6_234578(cv_source())) == 8> t8;
+    sa<sizeof(sink_6_234578(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_6_234578(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_6_234578(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_6_234578(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_6_234578(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_6_234578(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_6_234578(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -596,12 +596,12 @@ int test6_234678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_6_234678(ca))          == 2> t2;
-    sa<sizeof(sink_6_234678(va))          == 3> t3;
-    sa<sizeof(sink_6_234678(cva))         == 4> t4;
-    sa<sizeof(sink_6_234678(c_source()))  == 6> t6;
-    sa<sizeof(sink_6_234678(v_source()))  == 7> t7;
-    sa<sizeof(sink_6_234678(cv_source())) == 8> t8;
+    sa<sizeof(sink_6_234678(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_6_234678(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_6_234678(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_6_234678(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_6_234678(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_6_234678(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -618,12 +618,12 @@ int test6_235678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_6_235678(ca))          == 2> t2;
-    sa<sizeof(sink_6_235678(va))          == 3> t3;
-    sa<sizeof(sink_6_235678(source()))    == 5> t5;
-    sa<sizeof(sink_6_235678(c_source()))  == 6> t6;
-    sa<sizeof(sink_6_235678(v_source()))  == 7> t7;
-    sa<sizeof(sink_6_235678(cv_source())) == 8> t8;
+    sa<sizeof(sink_6_235678(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_6_235678(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_6_235678(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_6_235678(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_6_235678(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_6_235678(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -640,14 +640,14 @@ int test6_245678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_6_245678(a))           == 2> t1;
-    sa<sizeof(sink_6_245678(ca))          == 2> t2;
-    sa<sizeof(sink_6_245678(va))          == 4> t3;
-    sa<sizeof(sink_6_245678(cva))         == 4> t4;
-    sa<sizeof(sink_6_245678(source()))    == 5> t5;
-    sa<sizeof(sink_6_245678(c_source()))  == 6> t6;
-    sa<sizeof(sink_6_245678(v_source()))  == 7> t7;
-    sa<sizeof(sink_6_245678(cv_source())) == 8> t8;
+    sa<sizeof(sink_6_245678(a))           == 2 * sizeof(long)> t1;
+    sa<sizeof(sink_6_245678(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_6_245678(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_6_245678(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_6_245678(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_6_245678(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_6_245678(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_6_245678(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -664,14 +664,14 @@ int test6_345678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_6_345678(a))           == 3> t1;
-    sa<sizeof(sink_6_345678(ca))          == 4> t2;
-    sa<sizeof(sink_6_345678(va))          == 3> t3;
-    sa<sizeof(sink_6_345678(cva))         == 4> t4;
-    sa<sizeof(sink_6_345678(source()))    == 5> t5;
-    sa<sizeof(sink_6_345678(c_source()))  == 6> t6;
-    sa<sizeof(sink_6_345678(v_source()))  == 7> t7;
-    sa<sizeof(sink_6_345678(cv_source())) == 8> t8;
+    sa<sizeof(sink_6_345678(a))           == 3 * sizeof(long)> t1;
+    sa<sizeof(sink_6_345678(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_6_345678(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_6_345678(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_6_345678(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_6_345678(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_6_345678(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_6_345678(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
index 710f1cf048daac51bdd641a6175be2bfddf9726a..94aa07b93a84aebe790ee96e7a9fff6bc88ff450 100644 (file)
@@ -8,14 +8,14 @@
 template <bool> struct sa;
 template <> struct sa<true> {};
 
-struct one   {char x[1];};
-struct two   {char x[2];};
-struct three {char x[3];};
-struct four  {char x[4];};
-struct five  {char x[5];};
-struct six   {char x[6];};
-struct seven {char x[7];};
-struct eight {char x[8];};
+struct one   {long x[1];};
+struct two   {long x[2];};
+struct three {long x[3];};
+struct four  {long x[4];};
+struct five  {long x[5];};
+struct six   {long x[6];};
+struct seven {long x[7];};
+struct eight {long x[8];};
 
 struct A
 {
@@ -44,13 +44,13 @@ int test7_1234567()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_7_1234567(a))           == 1> t1;
-    sa<sizeof(sink_7_1234567(ca))          == 2> t2;
-    sa<sizeof(sink_7_1234567(va))          == 3> t3;
-    sa<sizeof(sink_7_1234567(cva))         == 4> t4;
-    sa<sizeof(sink_7_1234567(source()))    == 5> t5;
-    sa<sizeof(sink_7_1234567(c_source()))  == 6> t6;
-    sa<sizeof(sink_7_1234567(v_source()))  == 7> t7;
+    sa<sizeof(sink_7_1234567(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_7_1234567(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_7_1234567(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_7_1234567(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_7_1234567(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_7_1234567(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_7_1234567(v_source()))  == 7 * sizeof(long)> t7;
     return 0;
 }
 
@@ -68,14 +68,14 @@ int test7_1234568()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_7_1234568(a))           == 1> t1;
-    sa<sizeof(sink_7_1234568(ca))          == 2> t2;
-    sa<sizeof(sink_7_1234568(va))          == 3> t3;
-    sa<sizeof(sink_7_1234568(cva))         == 4> t4;
-    sa<sizeof(sink_7_1234568(source()))    == 5> t5;
-    sa<sizeof(sink_7_1234568(c_source()))  == 6> t6;
-    sa<sizeof(sink_7_1234568(v_source()))  == 8> t7;
-    sa<sizeof(sink_7_1234568(cv_source())) == 8> t8;
+    sa<sizeof(sink_7_1234568(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_7_1234568(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_7_1234568(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_7_1234568(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_7_1234568(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_7_1234568(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_7_1234568(v_source()))  == 8 * sizeof(long)> t7;
+    sa<sizeof(sink_7_1234568(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -93,14 +93,14 @@ int test7_1234578()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_7_1234578(a))           == 1> t1;
-    sa<sizeof(sink_7_1234578(ca))          == 2> t2;
-    sa<sizeof(sink_7_1234578(va))          == 3> t3;
-    sa<sizeof(sink_7_1234578(cva))         == 4> t4;
-    sa<sizeof(sink_7_1234578(source()))    == 5> t5;
-    sa<sizeof(sink_7_1234578(c_source()))  == 8> t6;
-    sa<sizeof(sink_7_1234578(v_source()))  == 7> t7;
-    sa<sizeof(sink_7_1234578(cv_source())) == 8> t8;
+    sa<sizeof(sink_7_1234578(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_7_1234578(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_7_1234578(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_7_1234578(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_7_1234578(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_7_1234578(c_source()))  == 8 * sizeof(long)> t6;
+    sa<sizeof(sink_7_1234578(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_7_1234578(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -118,13 +118,13 @@ int test7_1234678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_7_1234678(a))           == 1> t1;
-    sa<sizeof(sink_7_1234678(ca))          == 2> t2;
-    sa<sizeof(sink_7_1234678(va))          == 3> t3;
-    sa<sizeof(sink_7_1234678(cva))         == 4> t4;
-    sa<sizeof(sink_7_1234678(c_source()))  == 6> t6;
-    sa<sizeof(sink_7_1234678(v_source()))  == 7> t7;
-    sa<sizeof(sink_7_1234678(cv_source())) == 8> t8;
+    sa<sizeof(sink_7_1234678(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_7_1234678(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_7_1234678(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_7_1234678(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_7_1234678(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_7_1234678(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_7_1234678(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -142,13 +142,13 @@ int test7_1235678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_7_1235678(a))           == 1> t1;
-    sa<sizeof(sink_7_1235678(ca))          == 2> t2;
-    sa<sizeof(sink_7_1235678(va))          == 3> t3;
-    sa<sizeof(sink_7_1235678(source()))    == 5> t5;
-    sa<sizeof(sink_7_1235678(c_source()))  == 6> t6;
-    sa<sizeof(sink_7_1235678(v_source()))  == 7> t7;
-    sa<sizeof(sink_7_1235678(cv_source())) == 8> t8;
+    sa<sizeof(sink_7_1235678(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_7_1235678(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_7_1235678(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_7_1235678(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_7_1235678(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_7_1235678(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_7_1235678(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -166,14 +166,14 @@ int test7_1245678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_7_1245678(a))           == 1> t1;
-    sa<sizeof(sink_7_1245678(ca))          == 2> t2;
-    sa<sizeof(sink_7_1245678(va))          == 4> t3;
-    sa<sizeof(sink_7_1245678(cva))         == 4> t4;
-    sa<sizeof(sink_7_1245678(source()))    == 5> t5;
-    sa<sizeof(sink_7_1245678(c_source()))  == 6> t6;
-    sa<sizeof(sink_7_1245678(v_source()))  == 7> t7;
-    sa<sizeof(sink_7_1245678(cv_source())) == 8> t8;
+    sa<sizeof(sink_7_1245678(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_7_1245678(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_7_1245678(va))          == 4 * sizeof(long)> t3;
+    sa<sizeof(sink_7_1245678(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_7_1245678(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_7_1245678(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_7_1245678(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_7_1245678(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -191,14 +191,14 @@ int test7_1345678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_7_1345678(a))           == 1> t1;
-    sa<sizeof(sink_7_1345678(ca))          == 4> t2;
-    sa<sizeof(sink_7_1345678(va))          == 3> t3;
-    sa<sizeof(sink_7_1345678(cva))         == 4> t4;
-    sa<sizeof(sink_7_1345678(source()))    == 5> t5;
-    sa<sizeof(sink_7_1345678(c_source()))  == 6> t6;
-    sa<sizeof(sink_7_1345678(v_source()))  == 7> t7;
-    sa<sizeof(sink_7_1345678(cv_source())) == 8> t8;
+    sa<sizeof(sink_7_1345678(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_7_1345678(ca))          == 4 * sizeof(long)> t2;
+    sa<sizeof(sink_7_1345678(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_7_1345678(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_7_1345678(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_7_1345678(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_7_1345678(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_7_1345678(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
@@ -216,13 +216,13 @@ int test7_2345678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_7_2345678(ca))          == 2> t2;
-    sa<sizeof(sink_7_2345678(va))          == 3> t3;
-    sa<sizeof(sink_7_2345678(cva))         == 4> t4;
-    sa<sizeof(sink_7_2345678(source()))    == 5> t5;
-    sa<sizeof(sink_7_2345678(c_source()))  == 6> t6;
-    sa<sizeof(sink_7_2345678(v_source()))  == 7> t7;
-    sa<sizeof(sink_7_2345678(cv_source())) == 8> t8;
+    sa<sizeof(sink_7_2345678(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_7_2345678(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_7_2345678(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_7_2345678(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_7_2345678(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_7_2345678(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_7_2345678(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
index 8ee993854b8d3e8e53ac1ffd5fadb688314fc742..fb9ec4ce7926f47212c37a8d2be537bb6c3e7f81 100644 (file)
@@ -8,14 +8,14 @@
 template <bool> struct sa;
 template <> struct sa<true> {};
 
-struct one   {char x[1];};
-struct two   {char x[2];};
-struct three {char x[3];};
-struct four  {char x[4];};
-struct five  {char x[5];};
-struct six   {char x[6];};
-struct seven {char x[7];};
-struct eight {char x[8];};
+struct one   {long x[1];};
+struct two   {long x[2];};
+struct three {long x[3];};
+struct four  {long x[4];};
+struct five  {long x[5];};
+struct six   {long x[6];};
+struct seven {long x[7];};
+struct eight {long x[8];};
 
 struct A
 {
@@ -45,14 +45,14 @@ int test8_12345678()
     const          A ca;
           volatile A va;
     const volatile A cva;
-    sa<sizeof(sink_8_12345678(a))           == 1> t1;
-    sa<sizeof(sink_8_12345678(ca))          == 2> t2;
-    sa<sizeof(sink_8_12345678(va))          == 3> t3;
-    sa<sizeof(sink_8_12345678(cva))         == 4> t4;
-    sa<sizeof(sink_8_12345678(source()))    == 5> t5;
-    sa<sizeof(sink_8_12345678(c_source()))  == 6> t6;
-    sa<sizeof(sink_8_12345678(v_source()))  == 7> t7;
-    sa<sizeof(sink_8_12345678(cv_source())) == 8> t8;
+    sa<sizeof(sink_8_12345678(a))           == 1 * sizeof(long)> t1;
+    sa<sizeof(sink_8_12345678(ca))          == 2 * sizeof(long)> t2;
+    sa<sizeof(sink_8_12345678(va))          == 3 * sizeof(long)> t3;
+    sa<sizeof(sink_8_12345678(cva))         == 4 * sizeof(long)> t4;
+    sa<sizeof(sink_8_12345678(source()))    == 5 * sizeof(long)> t5;
+    sa<sizeof(sink_8_12345678(c_source()))  == 6 * sizeof(long)> t6;
+    sa<sizeof(sink_8_12345678(v_source()))  == 7 * sizeof(long)> t7;
+    sa<sizeof(sink_8_12345678(cv_source())) == 8 * sizeof(long)> t8;
     return 0;
 }
 
index 57d635961ba2275e43862b2fdfd45996bc094022..c59667645863f03d06ef1a7bfb0bfa630a2cb73f 100644 (file)
@@ -8,8 +8,8 @@
 template <bool> struct sa;
 template <> struct sa<true> {};
 
-struct one   {char x[1];};
-struct two   {char x[2];};
+struct one   {long x[1];};
+struct two   {long x[2];};
 
 struct A {};
 
@@ -25,7 +25,7 @@ A&& source() {static A a; return movel(a);}
 
 int test1()
 {
-    sa<sizeof(foo(source())) == 2> t1;
+    sa<sizeof(foo(source())) == 2 * sizeof(long)> t1;
     return 0;
 }