]> git.pld-linux.org Git - packages/crossmingw32-gcc.git/blob - gcc-branch.diff
- restored fortran
[packages/crossmingw32-gcc.git] / gcc-branch.diff
1 Index: gcc/optabs.c
2 ===================================================================
3 --- gcc/optabs.c        (.../tags/gcc_4_5_1_release)    (wersja 163628)
4 +++ gcc/optabs.c        (.../branches/gcc-4_5-branch)   (wersja 163628)
5 @@ -7033,6 +7033,7 @@
6    if (icode == CODE_FOR_nothing)
7      return NULL_RTX;
8  
9 +  do_pending_stack_adjust ();
10    do
11      {
12        start_sequence ();
13 Index: gcc/DATESTAMP
14 ===================================================================
15 --- gcc/DATESTAMP       (.../tags/gcc_4_5_1_release)    (wersja 163628)
16 +++ gcc/DATESTAMP       (.../branches/gcc-4_5-branch)   (wersja 163628)
17 @@ -1 +1 @@
18 -20100731
19 +20100829
20 Index: gcc/postreload.c
21 ===================================================================
22 --- gcc/postreload.c    (.../tags/gcc_4_5_1_release)    (wersja 163628)
23 +++ gcc/postreload.c    (.../branches/gcc-4_5-branch)   (wersja 163628)
24 @@ -810,7 +810,7 @@
25           rtx reg = SET_DEST (set);
26           rtx plus = SET_SRC (set);
27           rtx base = XEXP (plus, 1);
28 -         rtx prev = prev_nonnote_insn (insn);
29 +         rtx prev = prev_nonnote_nondebug_insn (insn);
30           rtx prev_set = prev ? single_set (prev) : NULL_RTX;
31           unsigned int regno = REGNO (reg);
32           rtx index_reg = NULL_RTX;
33 @@ -1323,7 +1323,7 @@
34                        && MODES_OK_FOR_MOVE2ADD (GET_MODE (reg),
35                                                  reg_mode[REGNO (src)]))
36                 {
37 -                 rtx next = next_nonnote_insn (insn);
38 +                 rtx next = next_nonnote_nondebug_insn (insn);
39                   rtx set = NULL_RTX;
40                   if (next)
41                     set = single_set (next);
42 Index: gcc/rtlanal.c
43 ===================================================================
44 --- gcc/rtlanal.c       (.../tags/gcc_4_5_1_release)    (wersja 163628)
45 +++ gcc/rtlanal.c       (.../branches/gcc-4_5-branch)   (wersja 163628)
46 @@ -4755,9 +4755,7 @@
47          stop if it isn't a single set or if it has a REG_INC note because
48          we don't want to bother dealing with it.  */
49  
50 -      do
51 -       prev = prev_nonnote_insn (prev);
52 -      while (prev && DEBUG_INSN_P (prev));
53 +      prev = prev_nonnote_nondebug_insn (prev);
54  
55        if (prev == 0
56           || !NONJUMP_INSN_P (prev)
57 Index: gcc/fold-const.c
58 ===================================================================
59 --- gcc/fold-const.c    (.../tags/gcc_4_5_1_release)    (wersja 163628)
60 +++ gcc/fold-const.c    (.../branches/gcc-4_5-branch)   (wersja 163628)
61 @@ -4737,9 +4737,9 @@
62           n_high = range_binop (MINUS_EXPR, exp_type,
63                                 build_int_cst (exp_type, 0),
64                                 0, low, 0);
65 -         low = n_low, high = n_high;
66 -         exp = arg0;
67 -         continue;
68 +         if (n_high != 0 && TREE_OVERFLOW (n_high))
69 +           break;
70 +         goto normalize;
71  
72         case BIT_NOT_EXPR:
73           /* ~ X -> -X - 1  */
74 @@ -4773,6 +4773,7 @@
75           if (TYPE_OVERFLOW_UNDEFINED (arg0_type))
76             *strict_overflow_p = true;
77  
78 +       normalize:
79           /* Check for an unsigned range which has wrapped around the maximum
80              value thus making n_high < n_low, and normalize it.  */
81           if (n_low && n_high && tree_int_cst_lt (n_high, n_low))
82 Index: gcc/DEV-PHASE
83 ===================================================================
84 --- gcc/DEV-PHASE       (.../tags/gcc_4_5_1_release)    (wersja 163628)
85 +++ gcc/DEV-PHASE       (.../branches/gcc-4_5-branch)   (wersja 163628)
86 @@ -0,0 +1 @@
87 +prerelease
88 Index: gcc/ChangeLog
89 ===================================================================
90 --- gcc/ChangeLog       (.../tags/gcc_4_5_1_release)    (wersja 163628)
91 +++ gcc/ChangeLog       (.../branches/gcc-4_5-branch)   (wersja 163628)
92 @@ -1,3 +1,244 @@
93 +2010-08-28  Eric Botcazou  <ebotcazou@adacore.com>
94 +
95 +       * config/ia64/ia64.md (cstorebi4): Fix thinko.
96 +
97 +2010-08-28  Uros Bizjak  <ubizjak@gmail.com>
98 +
99 +       PR target/41484
100 +       * config/i386/sse.md (sse4_1_extendv8qiv8hi2): Also accept memory
101 +       operands for operand 1.
102 +       (sse4_1_extendv4qiv4si2): Ditto.
103 +       (sse4_1_extendv2qiv2di2): Ditto.
104 +       (sse4_1_extendv4hiv4si2): Ditto.
105 +       (sse4_1_extendv2hiv2di2): Ditto.
106 +       (sse4_1_extendv2siv2di2): Ditto.
107 +       (sse4_1_zero_extendv8qiv8hi2): Ditto.
108 +       (sse4_1_zero_extendv4qiv4si2): Ditto.
109 +       (sse4_1_zero_extendv2qiv2di2): Ditto.
110 +       (sse4_1_zero_extendv4hiv4si2): Ditto.
111 +       (sse4_1_zero_extendv2hiv2di2): Ditto.
112 +       (sse4_1_zero_extendv2siv2di2): Ditto.
113 +       (*sse4_1_extendv8qiv8hi2): Remove insn pattern.
114 +       (*sse4_1_extendv4qiv4si2): Ditto.
115 +       (*sse4_1_extendv2qiv2di2): Ditto.
116 +       (*sse4_1_extendv4hiv4si2): Ditto.
117 +       (*sse4_1_extendv2hiv2di2): Ditto.
118 +       (*sse4_1_extendv2siv2di2): Ditto.
119 +       (*sse4_1_zero_extendv8qiv8hi2): Ditto.
120 +       (*sse4_1_zero_extendv4qiv4si2): Ditto.
121 +       (*sse4_1_zero_extendv2qiv2di2): Ditto.
122 +       (*sse4_1_zero_extendv4hiv4si2): Ditto.
123 +       (*sse4_1_zero_extendv2hiv2di2): Ditto.
124 +       (*sse4_1_zero_extendv2siv2di2): Ditto.
125 +
126 +2010-08-25  Jakub Jelinek  <jakub@redhat.com>
127 +
128 +       PR rtl-optimization/44858
129 +       * combine.c (try_combine): If recog_for_combine added CLOBBERs to
130 +       newi2pat, make sure they don't affect newpat.
131 +
132 +       PR rtl-optimization/45400
133 +       * combine.c (simplify_shift_const_1) <case SUBREG>: Only use
134 +       SUBREG_REG if both modes are of MODE_INT class.
135 +
136 +2010-08-20  Changpeng Fang  <changpeng.fang@amd.com>
137 +
138 +       PR tree-optimization/45260
139 +       * tree-flow.h (may_be_nonaddressable_p): New definition. Make the
140 +       existing static function global.
141 +
142 +       * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): This function
143 +       is changed to global.
144 +
145 +       * tree-ssa-loop-prefetch.c (gather_memory_references_ref): Call
146 +       may_be_nonaddressable_p on base, and don't collect this reference
147 +       if the address of the base could not be taken.
148 +
149 +2010-08-20  David Edelsohn  <edelsohn@gnu.org>
150 +
151 +       Backport from mainline
152 +       2010-04-22  David Edelsohn  <edelsohn@gnu.org>
153 +
154 +       * config/rs6000/x-aix: Override LDFLAGS for all COMPILERS.
155 +
156 +2010-08-19  Uros Bizjak  <ubizjak@gmail.com>
157 +
158 +       * config/i386/i386.md (*add<SWI:mode>3_cconly_overflow): Do not use
159 +       ix86_binary_operator_ok.
160 +
161 +2010-08-18  Uros Bizjak  <ubizjak@gmail.com>
162 +
163 +       PR target/45327
164 +       * config/i386/i386.md (<any_or:code><SWI:mode>_3): Do not use
165 +       ix86_binary_operator_ok.
166 +
167 +2010-08-18  H.J. Lu  <hongjiu.lu@intel.com>
168 +
169 +       Backport from mainline
170 +       2010-08-18  Paolo Bonzini  <bonzini@gnu.org>
171 +
172 +       PR middle-end/45292
173 +       * optabs.c (expand_bool_compare_and_swap): Expand pending
174 +       pops before trying the optab.
175 +
176 +2010-08-17  Uros Bizjak  <ubizjak@gmail.com>
177 +
178 +       PR target/45296
179 +       * reginfo.c (globalize_reg): Reject stack registers.
180 +
181 +2010-08-16  Changpeng Fang  <changpeng.fang@amd.com>
182 +
183 +       Backport from mainline:
184 +       2010-08-12  Changpeng Fang  <changpeng.fang@amd.com>
185 +
186 +       PR tree-optimization/45241
187 +       * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Give
188 +       up dot_prod pattern searching if a stmt is outside the loop.
189 +
190 +2010-08-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
191 +
192 +       Backport from mainline:
193 +       2010-08-09  Richard Guenther  <rguenther@suse.de>
194 +
195 +       PR middle-end/44632
196 +       * function.c (gimplify_parameters): Do not clear addressable
197 +       bit of the original parameter.
198 +
199 +2010-08-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
200 +
201 +       Revert:
202 +       2010-08-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
203 +
204 +       PR boehm-gc/34544
205 +       * gthr-posix.h (__gthread_start): Delete.
206 +       (__gthread_active_init): Use pthread_default_stacksize_np instead of
207 +       pthread_create to determine if hpux pthreads are active.
208 +       * gthr-posix95.h (__gthread_start): Delete.
209 +       (__gthread_active_init): Likewise use pthread_default_stacksize_np.
210 +
211 +2010-08-12  Jakub Jelinek  <jakub@redhat.com>
212 +
213 +       PR middle-end/45262
214 +       * fold-const.c (make_range) <case NEGATE_EXPR>: Punt if
215 +       -a overflows.  Normalize the range.
216 +
217 +       PR debug/45259
218 +       * caller-save.c (save_call_clobbered_regs): Only swap notes with
219 +       DEBUG_INSNs if n_regs_saved.
220 +
221 +       Backport from mainline
222 +       2010-07-30  Jakub Jelinek  <jakub@redhat.com>
223 +
224 +       PR debug/45055
225 +       PR rtl-optimization/45137
226 +       * rtl.h (prev_nonnote_nondebug_insn, next_nonnote_nondebug_insn): New
227 +       prototypes.
228 +       * emit-rtl.c (prev_nonnote_nondebug_insn, next_nonnote_nondebug_insn):
229 +       New functions.
230 +       * combine.c (next_nonnote_nondebug_insn): Removed.
231 +       * ifcvt.c (noce_process_if_block): Use prev_nonnote_nondebug_insn.
232 +       * haifa-sched.c (queue_to_ready): Use next_nonnote_nondebug_insn.
233 +       * sched-deps.c (sched_analyze_insn): Likewise.
234 +       (fixup_sched_groups, deps_start_bb): Use prev_nonnote_nondebug_insn.
235 +       * rtlanal.c (canonicalize_condition): Likewise.
236 +       * postreload.c (reload_combine): Likewise.
237 +       (reload_cse_move2add): Use next_nonnote_nondebug_insn.
238 +
239 +2010-08-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
240 +
241 +       Backport from mainline.
242 +       2010-07-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
243 +
244 +       PR target/44805
245 +       * config/pa/pa.h (CONSTANT_ALIGNMENT): Align strings to BITS_PER_WORD
246 +       on all targets.
247 +
248 +2010-08-08  Richard Guenther  <rguenther@suse.de>
249 +
250 +       PR middle-end/45034
251 +       * convert.c (convert_to_integer): Always use an unsigned
252 +       type for narrowed negate and bitwise not.
253 +
254 +2010-08-08  Richard Guenther  <rguenther@suse.de>
255 +
256 +       PR tree-optimization/45109
257 +       * tree-ssa-structalias.c (get_constraint_for_component_ref):
258 +       Explicitly strip handled components and indirect references.
259 +
260 +2010-08-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
261 +
262 +       PR boehm-gc/34544
263 +       * gthr-posix.h (__gthread_start): Delete.
264 +       (__gthread_active_init): Use pthread_default_stacksize_np instead of
265 +       pthread_create to determine if hpux pthreads are active.
266 +       * gthr-posix95.h (__gthread_start): Delete.
267 +       (__gthread_active_init): Likewise use pthread_default_stacksize_np.
268 +
269 +2010-08-06  Eric Botcazou  <ebotcazou@adacore.com>
270 +
271 +       PR target/44942
272 +       * config/sparc/sparc.c (function_arg_advance): Always take into account
273 +       the padding, if any.
274 +
275 +2010-08-06  Uros Bizjak  <ubizjak@gmail.com>
276 +
277 +       * expmed.c (expand_mult_const) <case alg_shift>: Expand shift into
278 +       temporary. Emit move from temporary to accum, so REG_EQUAL note will
279 +       be attached to this insn in correct mode.
280 +
281 +2010-08-06  Uros Bizjak  <ubizjak@gmail.com>
282 +
283 +       * config/i386/i386.c (ix86_decompose_address): Check for SI_REG
284 +       using REGNO of base_reg directly.
285 +
286 +2010-08-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
287 +
288 +       * config/spu/spu.c (spu_emit_branch_hint): Do not access NOTE_KIND of
289 +       non-NOTE insns.
290 +
291 +2010-08-03  Uros Bizjak  <ubizjak@gmail.com>
292 +
293 +       PR target/41089
294 +       * config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset
295 +       as volatile.
296 +
297 +2010-08-03  Martin Jambor  <mjambor@suse.cz>
298 +
299 +       PR tree-optimization/44914
300 +       * tree-sra.c (cfg_changed): New variable.
301 +       (sra_initialize): Initialize cgf_changed to false.
302 +       (scan_function): Set cfg_changed if cfg was changed.
303 +       (perform_intra_sra): Return also TODO_cleanup_cfg if cfg was changed.
304 +       (ipa_early_sra): Likewise.
305 +
306 +2010-08-02  DJ Delorie  <dj@redhat.com>
307 +
308 +       * config/rx/predicates.md (rx_constshift_operand): New.
309 +       * config/rx/rx.md (zs_cond): New.
310 +       (cbranchsi4): Remove mode.
311 +       (*cbranchsi4_<code>): Likewise.
312 +       (*tstbranchsi4_<code>): New.
313 +       (*tstbranchsi4r_<code>): New.
314 +       (*tstbranchsi4m_eq): New.
315 +       (*tstbranchsi4m_ne): New.
316 +       (cbranchsf4): Remove mode.
317 +       (*cbranchsf4_<code>): Likewise.
318 +
319 +2010-07-31  Richard Guenther  <rguenther@suse.de>
320 +
321 +       PR tree-optimization/45052
322 +       * ipa-pure-const.c (check_stmt): Check volatileness.
323 +
324 +2010-07-31  Richard Guenther  <rguenther@suse.de>
325 +
326 +       * ipa-prop.c (ipa_modify_formal_parameters): Use
327 +       build_distinct_type_copy.
328 +
329 +2010-07-31  Richard Guenther  <rguenther@suse.de>
330 +
331 +       * DEV-PHASE: Set back to prerelease.
332 +       * BASE-VER: Bump to 4.5.2.
333 +
334  2010-07-31  Release Manager
335  
336         * GCC 4.5.1 released.
337 @@ -105,8 +346,8 @@
338  2010-07-19  Bingfeng Mei  <bmei@broadcom.com>
339  
340         * ddg.c (create_ddg): Exclude nodes of debug_insn in counting nodes
341 -        of a loop.
342 -        * loop-doloop.c (doloop_condition_get): Skip possible debug_insn.
343 +       of a loop.
344 +       * loop-doloop.c (doloop_condition_get): Skip possible debug_insn.
345  
346  2010-07-15  Jie Zhang  <jie@codesourcery.com>
347  
348 @@ -286,7 +527,7 @@
349         if old_decl was DECL_ONE_ONLY.
350  
351         2010-06-21  Jakub Jelinek  <jakub@redhat.com>
352
353 +
354         PR target/44575
355         * config/i386/i386.c (ix86_gimplify_va_arg): When copying
356         va_arg from a set of register save slots into a temporary,
357 @@ -392,24 +633,24 @@
358         Backport from mainline
359         2010-05-17  Martin Jambor  <mjambor@suse.cz>
360  
361 -        PR middle-end/44133
362 -        * tree-sra.c (create_access_replacement): New parameter rename, mark
363 -        the replaement for renaming only when it is true.
364 -        (get_access_replacement): Pass true in the rename parameter of
365 -        create_access_replacement.
366 -        (get_unrenamed_access_replacement): New function.
367 -        (replace_uses_with_default_def_ssa_name): New parameter racc, get the
368 -        replacement declaration from it.
369 +       PR middle-end/44133
370 +       * tree-sra.c (create_access_replacement): New parameter rename, mark
371 +       the replaement for renaming only when it is true.
372 +       (get_access_replacement): Pass true in the rename parameter of
373 +       create_access_replacement.
374 +       (get_unrenamed_access_replacement): New function.
375 +       (replace_uses_with_default_def_ssa_name): New parameter racc, get the
376 +       replacement declaration from it.
377  
378  2010-06-29  Martin Jambor  <mjambor@suse.cz>
379  
380         Backport from mainline
381         2010-04-13  Martin Jambor  <mjambor@suse.cz>
382  
383 -        * tree-sra.c (replace_uses_with_default_def_ssa_name): New function.
384 -        (sra_modify_assign): Delete stmts loading dead data even if racc has no
385 -        children.  Call replace_uses_with_default_def_ssa_name to handle
386 -        SSA_NAES on lhs.
387 +       * tree-sra.c (replace_uses_with_default_def_ssa_name): New function.
388 +       (sra_modify_assign): Delete stmts loading dead data even if racc has no
389 +       children.  Call replace_uses_with_default_def_ssa_name to handle
390 +       SSA_NAES on lhs.
391  
392  2010-06-27  Jan Hubicka  <jh@suse.cz>
393  
394 @@ -536,7 +777,7 @@
395         Backport from mainline:
396         2010-05-18  Steven Bosscher  <steven@gcc.gnu.org>
397  
398 -        * darwin.c (darwin_asm_named_section): Do not add assembler comment
399 +       * darwin.c (darwin_asm_named_section): Do not add assembler comment
400         after .section directive; just print it before the directive
401         instead.
402  
403 @@ -1659,7 +1900,7 @@
404         * tree-tailcall.c (find_tail_calls): Verify the tail call
405         properly.
406  
407 -2010-04-19 Ira Rosen <irar@il.ibm.com>
408 +2010-04-19 Ira Rosen  <irar@il.ibm.com>
409  
410         PR tree-optimization/43771
411         * tree-vect-slp.c (vect_supported_load_permutation_p): Check that
412 @@ -1925,11 +2166,11 @@
413         * Makefile.in ($(out_object_file)): Depend on
414         gt-$(basename $(notdir $(out_file))).h.
415  
416 -2010-04-01  Ralf Corsépius <ralf.corsepius@rtems.org>
417 +2010-04-01  Ralf Corsépius  <ralf.corsepius@rtems.org>
418  
419         * config.gcc (lm32-*-rtems*): Add t-lm32.
420  
421 -2010-04-01  Joel Sherrill <joel.sherrill@oarcorp.com>
422 +2010-04-01  Joel Sherrill  <joel.sherrill@oarcorp.com>
423  
424         * config.gcc: Add lm32-*-rtems*.
425         * config/lm32/rtems.h: New file.
426 @@ -1984,8 +2225,8 @@
427  
428         PR middle-end/43602
429         Revert
430 -       2010-03-30  Seongbae Park <seongbae.park@gmail.com>
431 -           Jack Howarth <howarth@bromo.med.uc.edu>
432 +       2010-03-30  Seongbae Park  <seongbae.park@gmail.com>
433 +                   Jack Howarth  <howarth@bromo.med.uc.edu>
434  
435         * tree-profile.c (tree_init_ic_make_global_vars): Make static
436         variables TLS.
437 @@ -2276,8 +2517,8 @@
438         * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
439         stack check if the mask would be zero.
440  
441 -2010-03-30  Seongbae Park <seongbae.park@gmail.com>
442 -           Jack Howarth <howarth@bromo.med.uc.edu>
443 +2010-03-30  Seongbae Park  <seongbae.park@gmail.com>
444 +           Jack Howarth  <howarth@bromo.med.uc.edu>
445  
446         * tree-profile.c (tree_init_ic_make_global_vars): Make static
447         variables TLS.
448 @@ -2620,7 +2861,7 @@
449         instead of callq.
450  
451  2010-03-22  Janis Johnson  <janis187@us.ibm.com>
452 -           Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
453 +           Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
454  
455         * doc/sourcebuild.texi (Test Directives): Split into six
456         subsections, with most of the current text in new subsections
457 @@ -2775,8 +3016,8 @@
458         (sparc_file_end): Emit a hidden comdat symbol for the PIC
459         thunk if possible.  Output CFI information as needed.
460  
461 -2010-03-18  Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
462 -           Jack Howarth <howarth@bromo.med.uc.edu>
463 +2010-03-18  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
464 +           Jack Howarth  <howarth@bromo.med.uc.edu>
465  
466         PR target/36399
467         * config/i386/i386.h: Fix ABI on darwin x86-32.
468 @@ -2919,7 +3160,7 @@
469         * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
470         statements before splitting block.
471  
472 -2010-03-16  Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
473 +2010-03-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
474  
475         * doc/sourcebuild.texi (Testsuites): Fix markup.
476         Use pathnames relative to gcc/testsuite.
477 @@ -3531,7 +3772,7 @@
478         * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
479         uses of relevant DEFs that are dead outside the loop too.
480  
481 -2010-03-06  Alexandre Oliva <aoliva@redhat.com>
482 +2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
483  
484         * var-tracking.c (dataflow_set_merge): Swap src and src2.
485         Reverted:
486 @@ -4313,7 +4554,7 @@
487         * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
488         lang_hooks.types_compatible_p instead of comptypes.
489  
490 -2010-02-18  Sebastian Huber <sebastian.huber@embedded-brains.de>
491 +2010-02-18  Sebastian Huber  <sebastian.huber@embedded-brains.de>
492  
493         * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
494         (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
495 @@ -4384,7 +4625,7 @@
496         statements ...
497         (vrp_visit_phi_node): ... but only for loop PHI nodes.
498  
499 -2010-02-16  Ira Rosen <irar@il.ibm.com>
500 +2010-02-16  Ira Rosen  <irar@il.ibm.com>
501  
502         PR tree-optimization/43074
503         * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
504 @@ -4412,8 +4653,8 @@
505         flag_var_tracking_assignments.
506         * Makefile.in (var-tracking.o): Adjust dependencies.
507  
508 -2010-02-16  Jack Howarth <howarth@bromo.med.uc.edu>
509 -           Jakub Jelinek <jakub@redhat.com>
510 +2010-02-16  Jack Howarth  <howarth@bromo.med.uc.edu>
511 +           Jakub Jelinek  <jakub@redhat.com>
512  
513         PR target/42854
514         * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
515 @@ -4511,7 +4752,7 @@
516  
517  2010-02-12  Dave Korn  <dave.korn.cygwin@gmail.com>
518             Jack Howarth  <howarth@bromo.med.uc.edu>
519 -           Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
520 +           Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
521  
522         PR target/42982
523         Partial revert of unintended change in fix for PR41605.
524 @@ -5934,7 +6175,7 @@
525         (maybe_tidy_empty_bb): Delete prototype.
526         (purge_empty_blocks): Declare.
527  
528 -2010-01-14  Andrey Belevantsev <abel@ispras.ru>
529 +2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
530  
531         PR rtl-optimization/42249
532         * sel-sched.c (try_replace_dest_reg): When chosen register
533 Index: gcc/testsuite/gcc.c-torture/execute/pr45034.c
534 ===================================================================
535 --- gcc/testsuite/gcc.c-torture/execute/pr45034.c       (.../tags/gcc_4_5_1_release)    (wersja 0)
536 +++ gcc/testsuite/gcc.c-torture/execute/pr45034.c       (.../branches/gcc-4_5-branch)   (wersja 163628)
537 @@ -0,0 +1,45 @@
538 +extern void abort (void);
539 +static void fixnum_neg(signed char x, signed char *py, int *pv)
540 +{
541 +  unsigned char ux, uy;
542 +
543 +  ux = (unsigned char)x;
544 +  uy = -ux;
545 +  *py = (uy <= 127) ? (signed char)uy : (-(signed char)(255 - uy) - 1);
546 +  *pv = (x == -128) ? 1 : 0;
547 +}
548 +
549 +void __attribute__((noinline)) foo(int x, int y, int v)
550 +{
551 +  if (y < -128 || y > 127)
552 +    abort();
553 +}
554 +
555 +int test_neg(void)
556 +{
557 +  signed char x, y;
558 +  int v, err;
559 +
560 +  err = 0;
561 +  x = -128;
562 +  for (;;) {
563 +      fixnum_neg(x, &y, &v);
564 +      foo((int)x, (int)y, v);
565 +      if ((v && x != -128) || (!v && x == -128))
566 +       ++err;
567 +      if (x == 127)
568 +       break;
569 +      ++x;
570 +  }
571 +  return err;
572 +}
573 +
574 +int main(void)
575 +{
576 +  if (sizeof (char) != 1)
577 +    return 0;
578 +  if (test_neg() != 0)
579 +    abort();
580 +  return 0;
581 +}
582 +
583 Index: gcc/testsuite/gcc.c-torture/execute/pr44858.c
584 ===================================================================
585 --- gcc/testsuite/gcc.c-torture/execute/pr44858.c       (.../tags/gcc_4_5_1_release)    (wersja 0)
586 +++ gcc/testsuite/gcc.c-torture/execute/pr44858.c       (.../branches/gcc-4_5-branch)   (wersja 163628)
587 @@ -0,0 +1,28 @@
588 +/* PR rtl-optimization/44858 */
589 +
590 +extern void abort (void);
591 +int a = 3;
592 +int b = 1;
593 +
594 +__attribute__((noinline)) long long
595 +foo (int x, int y)
596 +{
597 +  return x / y;
598 +}
599 +
600 +__attribute__((noinline)) int
601 +bar (void)
602 +{
603 +  int c = 2;
604 +  c &= foo (1, b) > b;
605 +  b = (a != 0) | c;
606 +  return c;
607 +}
608 +
609 +int
610 +main (void)
611 +{
612 +  if (bar () != 0 || b != 1)
613 +    abort ();
614 +  return 0;
615 +}
616 Index: gcc/testsuite/gcc.c-torture/execute/pr45262.c
617 ===================================================================
618 --- gcc/testsuite/gcc.c-torture/execute/pr45262.c       (.../tags/gcc_4_5_1_release)    (wersja 0)
619 +++ gcc/testsuite/gcc.c-torture/execute/pr45262.c       (.../branches/gcc-4_5-branch)   (wersja 163628)
620 @@ -0,0 +1,33 @@
621 +/* PR middle-end/45262 */
622 +
623 +extern void abort (void);
624 +
625 +int
626 +foo (unsigned int x)
627 +{
628 +  return ((int) x < 0) || ((int) (-x) < 0);
629 +}
630 +
631 +int
632 +bar (unsigned int x)
633 +{
634 +  return x >> 31 || (-x) >> 31;
635 +}
636 +
637 +int
638 +main (void)
639 +{
640 +  if (foo (1) != 1)
641 +    abort ();
642 +  if (foo (0) != 0)
643 +    abort ();
644 +  if (foo (-1) != 1)
645 +    abort ();
646 +  if (bar (1) != 1)
647 +    abort ();
648 +  if (bar (0) != 0)
649 +    abort ();
650 +  if (bar (-1) != 1)
651 +    abort ();
652 +  return 0;
653 +}
654 Index: gcc/testsuite/gcc.c-torture/compile/pr45109.c
655 ===================================================================
656 --- gcc/testsuite/gcc.c-torture/compile/pr45109.c       (.../tags/gcc_4_5_1_release)    (wersja 0)
657 +++ gcc/testsuite/gcc.c-torture/compile/pr45109.c       (.../branches/gcc-4_5-branch)   (wersja 163628)
658 @@ -0,0 +1,38 @@
659 +struct o_fsm_t;
660 +struct o_fsm_event_t;
661 +
662 +typedef void (*fn_t) (struct o_fsm_t *,
663 +                     struct o_fsm_event_t const *);
664 +
665 +struct o_fsm_state_t {
666 +    fn_t dispatch;
667 +};
668 +
669 +struct o_fsm_t {
670 +    fn_t dispatch;
671 +};
672 +
673 +extern struct o_fsm_state_t o_fsm_tran(struct o_fsm_t *fsm,
674 +                                      struct o_fsm_state_t next_state);
675 +static void plist_parser_state_start(struct o_fsm_t *fsm,
676 +                                    struct o_fsm_event_t const *fsm_event);
677 +
678 +struct o_fsm_state_t o_fsm_state(fn_t dispatch_fcn)
679 +{
680 +  return *(struct o_fsm_state_t *)&dispatch_fcn;
681 +}
682 +
683 +typedef struct _o_plist_parser_t {
684 +    struct o_fsm_t fsm;
685 +} o_plist_parser_t;
686 +
687 +static void plist_parser_state_start(struct o_fsm_t *fsm,
688 +                                    struct o_fsm_event_t const *fsm_event)
689 +{
690 +}
691 +
692 +void o_plist_deserialize_xml(int fin)
693 +{
694 +  o_plist_parser_t parser;
695 +  o_fsm_tran(&parser.fsm, o_fsm_state(plist_parser_state_start));
696 +}
697 Index: gcc/testsuite/gcc.target/i386/pr45296.c
698 ===================================================================
699 --- gcc/testsuite/gcc.target/i386/pr45296.c     (.../tags/gcc_4_5_1_release)    (wersja 0)
700 +++ gcc/testsuite/gcc.target/i386/pr45296.c     (.../branches/gcc-4_5-branch)   (wersja 163628)
701 @@ -0,0 +1,4 @@
702 +/* { dg-do compile } */
703 +/* { dg-options "" } */
704 +
705 +register long double F80 asm("st"); /* { dg-error "stack register" } */
706 Index: gcc/testsuite/gcc.dg/20050330-2.c
707 ===================================================================
708 --- gcc/testsuite/gcc.dg/20050330-2.c   (.../tags/gcc_4_5_1_release)    (wersja 163628)
709 +++ gcc/testsuite/gcc.dg/20050330-2.c   (.../branches/gcc-4_5-branch)   (wersja 163628)
710 @@ -19,5 +19,3 @@
711      x->b[y] = x->b[y + 1];
712    x->b[x->a] = (void *) 0;
713  }
714 -
715 -/* { dg-final { cleanup-coverage-files } } */
716 Index: gcc/testsuite/gcc.dg/gomp/pr34610.c
717 ===================================================================
718 --- gcc/testsuite/gcc.dg/gomp/pr34610.c (.../tags/gcc_4_5_1_release)    (wersja 163628)
719 +++ gcc/testsuite/gcc.dg/gomp/pr34610.c (.../branches/gcc-4_5-branch)   (wersja 163628)
720 @@ -26,5 +26,3 @@
721    for (i = 0; i < 10; ++i)
722      bar (i);
723  }
724 -
725 -/* { dg-final { cleanup-coverage-files } } */
726 Index: gcc/testsuite/gcc.dg/gomp/pr27573.c
727 ===================================================================
728 --- gcc/testsuite/gcc.dg/gomp/pr27573.c (.../tags/gcc_4_5_1_release)    (wersja 163628)
729 +++ gcc/testsuite/gcc.dg/gomp/pr27573.c (.../branches/gcc-4_5-branch)   (wersja 163628)
730 @@ -16,5 +16,3 @@
731    }
732    return 0;
733  }
734 -
735 -/* { dg-final { cleanup-coverage-files } } */
736 Index: gcc/testsuite/gcc.dg/pr32773.c
737 ===================================================================
738 --- gcc/testsuite/gcc.dg/pr32773.c      (.../tags/gcc_4_5_1_release)    (wersja 163628)
739 +++ gcc/testsuite/gcc.dg/pr32773.c      (.../branches/gcc-4_5-branch)   (wersja 163628)
740 @@ -7,5 +7,3 @@
741    if (p)
742      *p = 0;
743  } /* { dg-message "note: \[^\n\]*execution counts estimated" } */
744 -
745 -/* { dg-final { cleanup-coverage-files } } */
746 Index: gcc/testsuite/gcc.dg/20030107-1.c
747 ===================================================================
748 --- gcc/testsuite/gcc.dg/20030107-1.c   (.../tags/gcc_4_5_1_release)    (wersja 163628)
749 +++ gcc/testsuite/gcc.dg/20030107-1.c   (.../branches/gcc-4_5-branch)   (wersja 163628)
750 @@ -3,5 +3,3 @@
751  
752  extern void bar(void) __attribute__((noreturn));
753  int foo (void) { bar(); }
754 -
755 -/* { dg-final { cleanup-coverage-files } } */
756 Index: gcc/testsuite/gcc.dg/20051201-1.c
757 ===================================================================
758 --- gcc/testsuite/gcc.dg/20051201-1.c   (.../tags/gcc_4_5_1_release)    (wersja 163628)
759 +++ gcc/testsuite/gcc.dg/20051201-1.c   (.../branches/gcc-4_5-branch)   (wersja 163628)
760 @@ -24,5 +24,3 @@
761    
762    res = bar ();
763  }
764 -
765 -/* { dg-final { cleanup-coverage-files } } */
766 Index: gcc/testsuite/gcc.dg/20030702-1.c
767 ===================================================================
768 --- gcc/testsuite/gcc.dg/20030702-1.c   (.../tags/gcc_4_5_1_release)    (wersja 163628)
769 +++ gcc/testsuite/gcc.dg/20030702-1.c   (.../branches/gcc-4_5-branch)   (wersja 163628)
770 @@ -8,5 +8,3 @@
771  {
772    fork ();
773  }
774 -
775 -/* { dg-final { cleanup-coverage-files } } */
776 Index: gcc/testsuite/gcc.dg/march.c
777 ===================================================================
778 --- gcc/testsuite/gcc.dg/march.c        (.../tags/gcc_4_5_1_release)    (wersja 163628)
779 +++ gcc/testsuite/gcc.dg/march.c        (.../branches/gcc-4_5-branch)   (wersja 163628)
780 @@ -1,4 +1,5 @@
781  /* { dg-do compile } */
782 +/* { dg-skip-if "" { *-*-* } { "-march=*" } { "" } } */
783  /* { dg-options "-march=foo" } */
784  /* { dg-error "march" "" { target *-*-* } 0 } */
785  /* { dg-bogus "mtune" "" { target *-*-* } 0 } */
786 Index: gcc/testsuite/gcc.dg/profile-dir-1.c
787 ===================================================================
788 --- gcc/testsuite/gcc.dg/profile-dir-1.c        (.../tags/gcc_4_5_1_release)    (wersja 163628)
789 +++ gcc/testsuite/gcc.dg/profile-dir-1.c        (.../branches/gcc-4_5-branch)   (wersja 163628)
790 @@ -1,6 +1,5 @@
791  /* { dg-do compile } */
792  /* { dg-options "-O -fprofile-generate=. -fdump-tree-tree_profile" } */
793 -/* { dg-require-host-local "" } */
794  /* { dg-final { scan-tree-dump " ./profile-dir-1.gcda" "tree_profile" } } */
795  
796  int
797 @@ -9,5 +8,4 @@
798    return 0;
799  }
800  
801 -/* { dg-final { cleanup-coverage-files } } */
802  /* { dg-final { cleanup-tree-dump "tree_profile" } } */
803 Index: gcc/testsuite/gcc.dg/pr24225.c
804 ===================================================================
805 --- gcc/testsuite/gcc.dg/pr24225.c      (.../tags/gcc_4_5_1_release)    (wersja 163628)
806 +++ gcc/testsuite/gcc.dg/pr24225.c      (.../branches/gcc-4_5-branch)   (wersja 163628)
807 @@ -13,5 +13,3 @@
808      return 0;
809    }
810  }
811 -
812 -/* { dg-final { cleanup-coverage-files } } */
813 Index: gcc/testsuite/gcc.dg/graphite/interchange-0.c
814 ===================================================================
815 --- gcc/testsuite/gcc.dg/graphite/interchange-0.c       (.../tags/gcc_4_5_1_release)    (wersja 163628)
816 +++ gcc/testsuite/gcc.dg/graphite/interchange-0.c       (.../branches/gcc-4_5-branch)   (wersja 163628)
817 @@ -47,4 +47,4 @@
818  }
819  
820  /* { dg-final { scan-tree-dump-times "will be interchanged" 1 "graphite" } } */
821 -/* { dg -final { cleanup-tree-dump "graphite" } } */
822 +/* { dg-final { cleanup-tree-dump "graphite" } } */
823 Index: gcc/testsuite/gcc.dg/pr26570.c
824 ===================================================================
825 --- gcc/testsuite/gcc.dg/pr26570.c      (.../tags/gcc_4_5_1_release)    (wersja 163628)
826 +++ gcc/testsuite/gcc.dg/pr26570.c      (.../branches/gcc-4_5-branch)   (wersja 163628)
827 @@ -5,5 +5,3 @@
828  {
829    return a / b;
830  } /* { dg-message "note: \[^\n\]*execution counts estimated" } */
831 -
832 -/* { dg-final { cleanup-coverage-files } } */
833 Index: gcc/testsuite/gcc.dg/lto/20091216-1_0.c
834 ===================================================================
835 --- gcc/testsuite/gcc.dg/lto/20091216-1_0.c     (.../tags/gcc_4_5_1_release)    (wersja 163628)
836 +++ gcc/testsuite/gcc.dg/lto/20091216-1_0.c     (.../branches/gcc-4_5-branch)   (wersja 163628)
837 @@ -1,6 +1,10 @@
838  /* { dg-lto-do run } */
839  
840 +#ifdef __ia64
841 +asm (".globl start_\nstart_: nop 0");
842 +#else
843  asm (".globl start_; start_: nop");
844 +#endif
845  
846  int
847  main ()
848 Index: gcc/testsuite/gcc.dg/lto/20090313_0.c
849 ===================================================================
850 --- gcc/testsuite/gcc.dg/lto/20090313_0.c       (.../tags/gcc_4_5_1_release)    (wersja 163628)
851 +++ gcc/testsuite/gcc.dg/lto/20090313_0.c       (.../branches/gcc-4_5-branch)   (wersja 163628)
852 @@ -1,4 +1,5 @@
853  /* { dg-lto-options "-mcpu=v9" { target sparc*-*-* } } */
854 +/* { dg-require-effective-target sync_char_short } */
855  void
856  _cairo_clip_path_reference () {
857    int a;
858 Index: gcc/testsuite/gcc.dg/profile-dir-2.c
859 ===================================================================
860 --- gcc/testsuite/gcc.dg/profile-dir-2.c        (.../tags/gcc_4_5_1_release)    (wersja 163628)
861 +++ gcc/testsuite/gcc.dg/profile-dir-2.c        (.../branches/gcc-4_5-branch)   (wersja 163628)
862 @@ -1,6 +1,5 @@
863  /* { dg-do compile } */
864  /* { dg-options "-O -fprofile-generate -fdump-tree-tree_profile" } */
865 -/* { dg-require-host-local "" } */
866  /* { dg-final { scan-tree-dump "/profile-dir-2.gcda" "tree_profile" } } */
867  
868  int
869 @@ -9,5 +8,4 @@
870    return 0;
871  }
872  
873 -/* { dg-final { cleanup-coverage-files } } */
874  /* { dg-final { cleanup-tree-dump "tree_profile" } } */
875 Index: gcc/testsuite/gcc.dg/tree-ssa/sra-10.c
876 ===================================================================
877 --- gcc/testsuite/gcc.dg/tree-ssa/sra-10.c      (.../tags/gcc_4_5_1_release)    (wersja 163628)
878 +++ gcc/testsuite/gcc.dg/tree-ssa/sra-10.c      (.../branches/gcc-4_5-branch)   (wersja 163628)
879 @@ -1,5 +1,5 @@
880  /* { dg-do compile } */
881 -/* { dg-options "-O1 -fdump-tree-optimized -fdump-tree-esra-details" } */
882 +/* { dg-options "-O1 -fdump-tree-optimized" } */
883  
884  struct S
885  {
886 Index: gcc/testsuite/gcc.dg/pr45055.c
887 ===================================================================
888 --- gcc/testsuite/gcc.dg/pr45055.c      (.../tags/gcc_4_5_1_release)    (wersja 0)
889 +++ gcc/testsuite/gcc.dg/pr45055.c      (.../branches/gcc-4_5-branch)   (wersja 163628)
890 @@ -0,0 +1,41 @@
891 +/* PR debug/45055 */
892 +/* { dg-do compile } */
893 +/* { dg-options "-O2 -ftracer -fsched-pressure -funroll-loops -fschedule-insns -fcompare-debug" } */
894 +
895 +int colormap[10];
896 +
897 +extern int bar ();
898 +
899 +void
900 +foo (int *img, int fp, int y, int *ptr, int depth, int c, int t, int xm)
901 +{
902 +  int x, color, count;
903 +  for (; y; y--)
904 +    {
905 +      if (depth)
906 +       {
907 +         count = bar ();
908 +         for (x = xm; x; x--)
909 +           {
910 +             if (c != 1)
911 +               count = color = -1;
912 +             if (count == 0)
913 +               color = count = bar ();
914 +             if (color)
915 +               t = bar (fp);
916 +             *ptr++ = colormap[t];
917 +           }
918 +       }
919 +      switch (*img)
920 +       {
921 +       case 1:
922 +         bar ();
923 +       case 3:
924 +       case -1:
925 +       case -3:
926 +         bar ();
927 +       case -4:
928 +         bar ();
929 +       }
930 +    }
931 +}
932 Index: gcc/testsuite/gcc.dg/20050325-1.c
933 ===================================================================
934 --- gcc/testsuite/gcc.dg/20050325-1.c   (.../tags/gcc_4_5_1_release)    (wersja 163628)
935 +++ gcc/testsuite/gcc.dg/20050325-1.c   (.../branches/gcc-4_5-branch)   (wersja 163628)
936 @@ -17,5 +17,3 @@
937  {
938    g (42, ff);
939  }
940 -
941 -/* { dg-final { cleanup-coverage-files } } */
942 Index: gcc/testsuite/gcc.dg/pr45259.c
943 ===================================================================
944 --- gcc/testsuite/gcc.dg/pr45259.c      (.../tags/gcc_4_5_1_release)    (wersja 0)
945 +++ gcc/testsuite/gcc.dg/pr45259.c      (.../branches/gcc-4_5-branch)   (wersja 163628)
946 @@ -0,0 +1,42 @@
947 +/* PR debug/45259 */
948 +/* { dg-do compile } */
949 +/* { dg-options "-g -O2 -fpic -w" { target fpic } } */
950 +
951 +struct S { void (*bar) (long); };
952 +struct T { struct S *t; };
953 +int w;
954 +extern int baz (int);
955 +
956 +void
957 +foo (int x, int u, char *z)
958 +{
959 +  struct T *v;
960 +  static void *y[256] = { &&l1, &&l2 };
961 +  for (;;)
962 +    switch (x)
963 +      {
964 +      l2:
965 +       x = 9;
966 +      case 9:
967 +       goto *y[*z++];
968 +      case 10:
969 +      case 27:
970 +      case 54:
971 +      case 99:
972 +      case 100:
973 +      case 120:
974 +      case 122:
975 +      case 131:
976 +      case 132:
977 +      case 134:
978 +      case 141:
979 +      case 142:
980 +       v->t->bar (u);
981 +       v->t->bar (u);
982 +      case 143:
983 +       continue;
984 +      l1:
985 +      default:
986 +       baz (w);
987 +      }
988 +}
989 Index: gcc/testsuite/gcc.dg/profile-dir-3.c
990 ===================================================================
991 --- gcc/testsuite/gcc.dg/profile-dir-3.c        (.../tags/gcc_4_5_1_release)    (wersja 163628)
992 +++ gcc/testsuite/gcc.dg/profile-dir-3.c        (.../branches/gcc-4_5-branch)   (wersja 163628)
993 @@ -1,6 +1,5 @@
994  /* { dg-do compile } */
995  /* { dg-options "-O -fprofile-generate -fprofile-dir=. -fdump-tree-tree_profile" } */
996 -/* { dg-require-host-local "" } */
997  /* { dg-final { scan-tree-dump " ./profile-dir-3.gcda" "tree_profile" } } */
998  
999  int
1000 @@ -9,5 +8,4 @@
1001    return 0;
1002  }
1003  
1004 -/* { dg-final { cleanup-coverage-files } } */
1005  /* { dg-final { cleanup-tree-dump "tree_profile" } } */
1006 Index: gcc/testsuite/gcc.dg/vect/no-tree-pre-pr45241.c
1007 ===================================================================
1008 --- gcc/testsuite/gcc.dg/vect/no-tree-pre-pr45241.c     (.../tags/gcc_4_5_1_release)    (wersja 0)
1009 +++ gcc/testsuite/gcc.dg/vect/no-tree-pre-pr45241.c     (.../branches/gcc-4_5-branch)   (wersja 163628)
1010 @@ -0,0 +1,20 @@
1011 +/* PR tree-optimization/45241 */
1012 +/* { dg-do compile } */
1013 +/* { dg-options "-fno-tree-vectorize" } */
1014 +
1015 +int
1016 +foo (short x)
1017 +{
1018 +  short i, y;
1019 +  int sum;
1020 +
1021 +  for (i = 0; i < x; i++)
1022 +    y = x * i;
1023 +
1024 +  for (i = x; i > 0; i--)
1025 +    sum += y;
1026 +
1027 +  return sum;
1028 +}
1029 +
1030 +/* { dg-final { cleanup-tree-dump "vect" } } */
1031 Index: gcc/testsuite/gcc.dg/mtune.c
1032 ===================================================================
1033 --- gcc/testsuite/gcc.dg/mtune.c        (.../tags/gcc_4_5_1_release)    (wersja 163628)
1034 +++ gcc/testsuite/gcc.dg/mtune.c        (.../branches/gcc-4_5-branch)   (wersja 163628)
1035 @@ -1,4 +1,5 @@
1036  /* { dg-do compile } */
1037 +/* { dg-skip-if "" { *-*-* } { "-mtune=*" } { "" } } */
1038  /* { dg-options "-mtune=foo" } */
1039  /* { dg-error "mtune" "" { target *-*-* } 0 } */
1040  /* { dg-bogus "march" "" { target *-*-* } 0 } */
1041 Index: gcc/testsuite/gcc.dg/20050309-1.c
1042 ===================================================================
1043 --- gcc/testsuite/gcc.dg/20050309-1.c   (.../tags/gcc_4_5_1_release)    (wersja 163628)
1044 +++ gcc/testsuite/gcc.dg/20050309-1.c   (.../branches/gcc-4_5-branch)   (wersja 163628)
1045 @@ -34,5 +34,3 @@
1046    error (1, 0, 0, node, "%s", name);
1047    return 0;
1048  }
1049 -
1050 -/* { dg-final { cleanup-coverage-files } } */
1051 Index: gcc/testsuite/ChangeLog
1052 ===================================================================
1053 --- gcc/testsuite/ChangeLog     (.../tags/gcc_4_5_1_release)    (wersja 163628)
1054 +++ gcc/testsuite/ChangeLog     (.../branches/gcc-4_5-branch)   (wersja 163628)
1055 @@ -1,3 +1,150 @@
1056 +2010-08-25  Jakub Jelinek  <jakub@redhat.com>
1057 +
1058 +       PR rtl-optimization/44858
1059 +       * gcc.c-torture/execute/pr44858.c: New test.
1060 +
1061 +       PR rtl-optimization/45400
1062 +       * g++.dg/other/i386-8.C: New test.
1063 +
1064 +2010-08-19  Jason Merrill  <jason@redhat.com>
1065 +
1066 +       * g++.dg/init/value8.C: New.
1067 +
1068 +2010-08-20  Jakub Jelinek  <jakub@redhat.com>
1069 +
1070 +       PR fortran/45344
1071 +       Backport from mainline
1072 +       2010-05-14  Jakub Jelinek  <jakub@redhat.com>
1073 +
1074 +       * gfortran.dg/gomp/pr44036-1.f90: Adjust.
1075 +
1076 +2010-08-17  Uros Bizjak  <ubizjak@gmail.com>
1077 +
1078 +       PR target/45296
1079 +       * gcc.target/i386/pr45296.c: New test.
1080 +
1081 +2010-08-16  Changpeng Fang  <changpeng.fang@amd.com>
1082 +
1083 +        PR tree-optimization/45241
1084 +        * gcc.dg/vect/no-tree-pre-pr45241.c: New test.
1085 +
1086 +2010-08-14  Uros Bizjak  <ubizjak@gmail.com>
1087 +
1088 +       * g++.dg/cast.C: Change fields of structures to "long" to pass
1089 +       the test on targets with STRUCTURE_SIZE_BOUNDARY != BITS_PER_UNIT.
1090 +       * g++.dg/cpp0x/iop.C: Ditto.
1091 +       * g++.dg/cpp0x/named_refs.C: Ditto.
1092 +       * g++.dg/cpp0x/rv1p.C: Ditto.
1093 +       * g++.dg/cpp0x/rv2p.C: Ditto.
1094 +       * g++.dg/cpp0x/rv3p.C: Ditto.
1095 +       * g++.dg/cpp0x/rv4p.C: Ditto.
1096 +       * g++.dg/cpp0x/rv5p.C: Ditto.
1097 +       * g++.dg/cpp0x/rv6p.C: Ditto.
1098 +       * g++.dg/cpp0x/rv7p.C: Ditto.
1099 +       * g++.dg/cpp0x/rv8p.C: Ditto.
1100 +       * g++.dg/cpp0x/unnamed_refs.C: Ditto.
1101 +
1102 +2010-08-12  Jakub Jelinek  <jakub@redhat.com>
1103 +
1104 +       PR middle-end/45262
1105 +       * gcc.c-torture/execute/pr45262.c: New test.
1106 +
1107 +       PR debug/45259
1108 +       * gcc.dg/pr45259.c: New test.
1109 +
1110 +       Backport from mainline
1111 +       2010-07-30  Jakub Jelinek  <jakub@redhat.com>
1112 +
1113 +       PR debug/45055
1114 +       PR rtl-optimization/45137
1115 +       * gcc.dg/pr45055.c: New test.
1116 +
1117 +2010-08-08  Uros Bizjak  <ubizjak@gmail.com>
1118 +
1119 +       * gcc.dg/20030107-1.c: Do not call cleanup-coverage-files.
1120 +       * gcc.dg/20030702-1.c: Ditto.
1121 +       * gcc.dg/20050309-1.c: Ditto.
1122 +       * gcc.dg/20050325-1.c: Ditto.
1123 +       * gcc.dg/20050330-2.c: Ditto.
1124 +       * gcc.dg/20051201-1.c: Ditto.
1125 +       * gcc.dg/gomp/pr27573.c: Ditto.
1126 +       * gcc.dg/gomp/pr34610.c: Ditto.
1127 +       * gcc.dg/pr24225.c: Ditto.
1128 +       * gcc.dg/pr26570.c: Ditto.
1129 +       * gcc.dg/pr32773.c: Ditto.
1130 +       * g++.dg/gcov/gcov-6.C: Ditto.
1131 +       * g++.dg/gomp/pr34608.C: Ditto.
1132 +       * gfortran.dg/gomp/pr27573.f90: Ditto.
1133 +
1134 +       * gcc.dg/profile-dir-1.c: Do not call cleanup-coverage-files.  Remove
1135 +       dg-require-host-local dg directive.
1136 +       * gcc.dg/profile-dir-2.c: Ditto.
1137 +       * gcc.dg/profile-dir-3.c: Ditto.
1138 +
1139 +2010-08-08  Richard Guenther  <rguenther@suse.de>
1140 +
1141 +       PR middle-end/45034
1142 +       * gcc.c-torture/execute/pr45034.c: New testcase.
1143 +
1144 +2010-08-08  Richard Guenther  <rguenther@suse.de>
1145 +
1146 +       PR tree-optimization/45109
1147 +       * gcc.c-torture/compile/pr45109.c: New testcase.
1148 +
1149 +2010-08-08  Uros Bizjak  <ubizjak@gmail.com>
1150 +
1151 +       * gcc.dg/march.c: Skip if -march defined.
1152 +       * gcc.dg/mtune.c: Skip if -mtune defined.
1153 +
1154 +       * g++.old-deja/g++.jason/thunk3.C: Skip for targets with
1155 +       generic thunk support.
1156 +
1157 +       Backport from mainline:
1158 +       2010-05-25  Richard Guenther  <rguenther@suse.de>
1159 +
1160 +       * gcc.dg/tree-ssa/sra-10.c: Do not dump esra details.
1161 +
1162 +       Backport from mainline:
1163 +       2010-04-22  Uros Bizjak  <ubizjak@gmail.com>
1164 +
1165 +       * gcc.dg/graphite/interchange-0.c: Fix dg-final directive.
1166 +
1167 +2010-08-05  Janus Weil  <janus@gcc.gnu.org>
1168 +
1169 +       PR fortran/44929
1170 +       * gfortran.dg/allocate_derived_3.f90: New.
1171 +
1172 +2010-08-04  Uros Bizjak  <ubizjak@gmail.com>
1173 +
1174 +       Backport from mainline:
1175 +       2010-07-20  Bingfeng Mei  <bmei@broadcom.com>
1176 +
1177 +       * gcc.dg/lto/20090313_0.c: Use dg-require-effective-target
1178 +       sync_char_short.
1179 +
1180 +       2010-06-24  Steve Ellcey  <sje@cup.hp.com>
1181 +
1182 +       PR testsuite/43283
1183 +       * gcc.dg/lto/20091216-1_0.c: Use newline instead of semicolon
1184 +       and add argument to nop for IA64.
1185 +
1186 +2010-08-03  Martin Jambor  <mjambor@suse.cz>
1187 +
1188 +       PR tree-optimization/44914
1189 +       * g++.dg/tree-ssa/pr44914.C: New test.
1190 +
1191 +2010-08-02  Uros Bizjak  <ubizjak@gmail.com>
1192 +
1193 +       * lib/gcc-dg.exp (cleanup-coverage-files): Remove options from
1194 +       test name.
1195 +       (cleanup-repo-files): Ditto.
1196 +       (cleanup-saved-temps): Ditto.
1197 +
1198 +2010-07-31  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1199 +
1200 +       PR c++/45112
1201 +       * testsuite/g++.dg/pr45112.C: New test.
1202 +
1203  2010-07-31  Release Manager
1204  
1205         * GCC 4.5.1 released.
1206 @@ -479,15 +626,15 @@
1207         Backport from mainline
1208         2010-05-17  Martin Jambor  <mjambor@suse.cz>
1209  
1210 -        PR middle-end/44133
1211 -        * gcc.dg/tree-ssa/pr44133.c: New test.
1212 +       PR middle-end/44133
1213 +       * gcc.dg/tree-ssa/pr44133.c: New test.
1214  
1215  2010-06-29  Martin Jambor  <mjambor@suse.cz>
1216  
1217         Backport from mainline
1218         2010-04-13  Martin Jambor  <mjambor@suse.cz>
1219  
1220 -        * gcc.dg/tree-ssa/sra-9.c: New test.
1221 +       * gcc.dg/tree-ssa/sra-9.c: New test.
1222  
1223  2010-06-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1224  
1225 @@ -636,7 +783,7 @@
1226         PR testsuite/44518
1227         * obj-c++.dg/encode-2.mm: XFAIL new test for all targets.
1228         * obj-c++.dg/encode-3.mm: Restore XFAIL run for all targets.
1229 -       
1230 +
1231  2010-06-12  Daniel Franke  <franke.daniel@gmail.com>
1232  
1233         PR fortran/44347
1234 Index: gcc/testsuite/g++.old-deja/g++.jason/thunk3.C
1235 ===================================================================
1236 --- gcc/testsuite/g++.old-deja/g++.jason/thunk3.C       (.../tags/gcc_4_5_1_release)    (wersja 163628)
1237 +++ gcc/testsuite/g++.old-deja/g++.jason/thunk3.C       (.../branches/gcc-4_5-branch)   (wersja 163628)
1238 @@ -1,4 +1,5 @@
1239 -// { dg-do run { xfail rs6000-*-* powerpc-*-eabi v850-*-* sh-*-* sh64-*-* h8*-*-* xtensa*-*-* m32r*-*-* lm32-*-* } }
1240 +// { dg-do run }
1241 +// { dg-skip-if "fails with generic thunk support" { rs6000-*-* powerpc-*-eabi v850-*-* sh-*-* sh64-*-* h8*-*-* xtensa*-*-* m32r*-*-* lm32-*-* } { "*" } { "" } }
1242  // Test that variadic function calls using thunks work right.
1243  // Note that this will break on any target that uses the generic thunk
1244  //  support, because it doesn't support variadic functions.
1245 Index: gcc/testsuite/g++.dg/other/i386-8.C
1246 ===================================================================
1247 --- gcc/testsuite/g++.dg/other/i386-8.C (.../tags/gcc_4_5_1_release)    (wersja 0)
1248 +++ gcc/testsuite/g++.dg/other/i386-8.C (.../branches/gcc-4_5-branch)   (wersja 163628)
1249 @@ -0,0 +1,23 @@
1250 +// PR rtl-optimization/45400
1251 +// { dg-do compile { target i?86-*-* x86_64-*-* } }
1252 +// { dg-options "-O2 -msse2" }
1253 +// { dg-options "-O2 -msse2 -fpic" { target fpic } }
1254 +// { dg-require-effective-target sse2 }
1255 +
1256 +#include <xmmintrin.h>
1257 +
1258 +static inline unsigned short
1259 +bar (unsigned short x)
1260 +{
1261 +  return ((x << 8) | (x >> 8));
1262 +}
1263 +
1264 +unsigned int
1265 +foo (float *x, short *y)
1266 +{
1267 +  __m128 a = _mm_set_ps1 (32767.5f);
1268 +  __m128 b = _mm_mul_ps (_mm_load_ps (x), a);
1269 +  __m64 c = _mm_cvtps_pi16 (b);
1270 +  __builtin_memcpy (y, &c, sizeof (short) * 4);
1271 +  y[0] = bar (y[0]);
1272 +}
1273 Index: gcc/testsuite/g++.dg/tree-ssa/pr44914.C
1274 ===================================================================
1275 --- gcc/testsuite/g++.dg/tree-ssa/pr44914.C     (.../tags/gcc_4_5_1_release)    (wersja 0)
1276 +++ gcc/testsuite/g++.dg/tree-ssa/pr44914.C     (.../branches/gcc-4_5-branch)   (wersja 163628)
1277 @@ -0,0 +1,20 @@
1278 +/* { dg-do compile } */
1279 +/* { dg-options "-O1 -fipa-sra -fnon-call-exceptions" } */
1280 +
1281 +struct A
1282 +{
1283 +  ~A () { }
1284 +};
1285 +
1286 +struct B
1287 +{
1288 +  A a;
1289 +  int i;
1290 +  void f (int) { }
1291 +  B ()
1292 +  {
1293 +    f (i);
1294 +  }
1295 +};
1296 +
1297 +B b;
1298 Index: gcc/testsuite/g++.dg/pr45112.C
1299 ===================================================================
1300 --- gcc/testsuite/g++.dg/pr45112.C      (.../tags/gcc_4_5_1_release)    (wersja 0)
1301 +++ gcc/testsuite/g++.dg/pr45112.C      (.../branches/gcc-4_5-branch)   (wersja 163628)
1302 @@ -0,0 +1,12 @@
1303 +/* { dg-do compile } */
1304 +
1305 +struct JSString
1306 +{
1307 +  unsigned char mLength;
1308 +  static JSString unitStringTable[];
1309 +};
1310 +
1311 +JSString JSString::unitStringTable[] __attribute__ ((aligned (8))) = { 1 };
1312 +
1313 +int bug [__alignof__ (JSString::unitStringTable) >= 8 ? 1 : -1];
1314 +
1315 Index: gcc/testsuite/g++.dg/cpp0x/rv6p.C
1316 ===================================================================
1317 --- gcc/testsuite/g++.dg/cpp0x/rv6p.C   (.../tags/gcc_4_5_1_release)    (wersja 163628)
1318 +++ gcc/testsuite/g++.dg/cpp0x/rv6p.C   (.../branches/gcc-4_5-branch)   (wersja 163628)
1319 @@ -8,14 +8,14 @@
1320  template <bool> struct sa;
1321  template <> struct sa<true> {};
1322  
1323 -struct one   {char x[1];};
1324 -struct two   {char x[2];};
1325 -struct three {char x[3];};
1326 -struct four  {char x[4];};
1327 -struct five  {char x[5];};
1328 -struct six   {char x[6];};
1329 -struct seven {char x[7];};
1330 -struct eight {char x[8];};
1331 +struct one   {long x[1];};
1332 +struct two   {long x[2];};
1333 +struct three {long x[3];};
1334 +struct four  {long x[4];};
1335 +struct five  {long x[5];};
1336 +struct six   {long x[6];};
1337 +struct seven {long x[7];};
1338 +struct eight {long x[8];};
1339  
1340  struct A
1341  {
1342 @@ -43,12 +43,12 @@
1343      const          A ca = a;
1344            volatile A va;
1345      const volatile A cva = a;
1346 -    sa<sizeof(sink_6_123456(a))           == 1> t1;
1347 -    sa<sizeof(sink_6_123456(ca))          == 2> t2;
1348 -    sa<sizeof(sink_6_123456(va))          == 3> t3;
1349 -    sa<sizeof(sink_6_123456(cva))         == 4> t4;
1350 -    sa<sizeof(sink_6_123456(source()))    == 5> t5;
1351 -    sa<sizeof(sink_6_123456(c_source()))  == 6> t6;
1352 +    sa<sizeof(sink_6_123456(a))           == 1 * sizeof(long)> t1;
1353 +    sa<sizeof(sink_6_123456(ca))          == 2 * sizeof(long)> t2;
1354 +    sa<sizeof(sink_6_123456(va))          == 3 * sizeof(long)> t3;
1355 +    sa<sizeof(sink_6_123456(cva))         == 4 * sizeof(long)> t4;
1356 +    sa<sizeof(sink_6_123456(source()))    == 5 * sizeof(long)> t5;
1357 +    sa<sizeof(sink_6_123456(c_source()))  == 6 * sizeof(long)> t6;
1358      return 0;
1359  }
1360  
1361 @@ -65,13 +65,13 @@
1362      const          A ca = a;
1363            volatile A va;
1364      const volatile A cva = a;
1365 -    sa<sizeof(sink_6_123457(a))           == 1> t1;
1366 -    sa<sizeof(sink_6_123457(ca))          == 2> t2;
1367 -    sa<sizeof(sink_6_123457(va))          == 3> t3;
1368 -    sa<sizeof(sink_6_123457(cva))         == 4> t4;
1369 -    sa<sizeof(sink_6_123457(source()))    == 5> t5;
1370 -    sa<sizeof(sink_6_123457(c_source()))  == 2> t6;
1371 -    sa<sizeof(sink_6_123457(v_source()))  == 7> t7;
1372 +    sa<sizeof(sink_6_123457(a))           == 1 * sizeof(long)> t1;
1373 +    sa<sizeof(sink_6_123457(ca))          == 2 * sizeof(long)> t2;
1374 +    sa<sizeof(sink_6_123457(va))          == 3 * sizeof(long)> t3;
1375 +    sa<sizeof(sink_6_123457(cva))         == 4 * sizeof(long)> t4;
1376 +    sa<sizeof(sink_6_123457(source()))    == 5 * sizeof(long)> t5;
1377 +    sa<sizeof(sink_6_123457(c_source()))  == 2 * sizeof(long)> t6;
1378 +    sa<sizeof(sink_6_123457(v_source()))  == 7 * sizeof(long)> t7;
1379      return 0;
1380  }
1381  
1382 @@ -88,14 +88,14 @@
1383      const          A ca = a;
1384            volatile A va;
1385      const volatile A cva = a;
1386 -    sa<sizeof(sink_6_123458(a))           == 1> t1;
1387 -    sa<sizeof(sink_6_123458(ca))          == 2> t2;
1388 -    sa<sizeof(sink_6_123458(va))          == 3> t3;
1389 -    sa<sizeof(sink_6_123458(cva))         == 4> t4;
1390 -    sa<sizeof(sink_6_123458(source()))    == 5> t5;
1391 -    sa<sizeof(sink_6_123458(c_source()))  == 8> t6;
1392 -    sa<sizeof(sink_6_123458(v_source()))  == 8> t7;
1393 -    sa<sizeof(sink_6_123458(cv_source())) == 8> t8;
1394 +    sa<sizeof(sink_6_123458(a))           == 1 * sizeof(long)> t1;
1395 +    sa<sizeof(sink_6_123458(ca))          == 2 * sizeof(long)> t2;
1396 +    sa<sizeof(sink_6_123458(va))          == 3 * sizeof(long)> t3;
1397 +    sa<sizeof(sink_6_123458(cva))         == 4 * sizeof(long)> t4;
1398 +    sa<sizeof(sink_6_123458(source()))    == 5 * sizeof(long)> t5;
1399 +    sa<sizeof(sink_6_123458(c_source()))  == 8 * sizeof(long)> t6;
1400 +    sa<sizeof(sink_6_123458(v_source()))  == 8 * sizeof(long)> t7;
1401 +    sa<sizeof(sink_6_123458(cv_source())) == 8 * sizeof(long)> t8;
1402      return 0;
1403  }
1404  
1405 @@ -112,12 +112,12 @@
1406      const          A ca = a;
1407            volatile A va;
1408      const volatile A cva = a;
1409 -    sa<sizeof(sink_6_123467(a))           == 1> t1;
1410 -    sa<sizeof(sink_6_123467(ca))          == 2> t2;
1411 -    sa<sizeof(sink_6_123467(va))          == 3> t3;
1412 -    sa<sizeof(sink_6_123467(cva))         == 4> t4;
1413 -    sa<sizeof(sink_6_123467(c_source()))  == 6> t6;
1414 -    sa<sizeof(sink_6_123467(v_source()))  == 7> t7;
1415 +    sa<sizeof(sink_6_123467(a))           == 1 * sizeof(long)> t1;
1416 +    sa<sizeof(sink_6_123467(ca))          == 2 * sizeof(long)> t2;
1417 +    sa<sizeof(sink_6_123467(va))          == 3 * sizeof(long)> t3;
1418 +    sa<sizeof(sink_6_123467(cva))         == 4 * sizeof(long)> t4;
1419 +    sa<sizeof(sink_6_123467(c_source()))  == 6 * sizeof(long)> t6;
1420 +    sa<sizeof(sink_6_123467(v_source()))  == 7 * sizeof(long)> t7;
1421      return 0;
1422  }
1423  
1424 @@ -134,14 +134,14 @@
1425      const          A ca = a;
1426            volatile A va;
1427      const volatile A cva = a;
1428 -    sa<sizeof(sink_6_123468(a))           == 1> t1;
1429 -    sa<sizeof(sink_6_123468(ca))          == 2> t2;
1430 -    sa<sizeof(sink_6_123468(va))          == 3> t3;
1431 -    sa<sizeof(sink_6_123468(cva))         == 4> t4;
1432 -    sa<sizeof(sink_6_123468(source()))    == 6> t5;
1433 -    sa<sizeof(sink_6_123468(c_source()))  == 6> t6;
1434 -    sa<sizeof(sink_6_123468(v_source()))  == 8> t7;
1435 -    sa<sizeof(sink_6_123468(cv_source())) == 8> t8;
1436 +    sa<sizeof(sink_6_123468(a))           == 1 * sizeof(long)> t1;
1437 +    sa<sizeof(sink_6_123468(ca))          == 2 * sizeof(long)> t2;
1438 +    sa<sizeof(sink_6_123468(va))          == 3 * sizeof(long)> t3;
1439 +    sa<sizeof(sink_6_123468(cva))         == 4 * sizeof(long)> t4;
1440 +    sa<sizeof(sink_6_123468(source()))    == 6 * sizeof(long)> t5;
1441 +    sa<sizeof(sink_6_123468(c_source()))  == 6 * sizeof(long)> t6;
1442 +    sa<sizeof(sink_6_123468(v_source()))  == 8 * sizeof(long)> t7;
1443 +    sa<sizeof(sink_6_123468(cv_source())) == 8 * sizeof(long)> t8;
1444      return 0;
1445  }
1446  
1447 @@ -158,14 +158,14 @@
1448      const          A ca = a;
1449            volatile A va;
1450      const volatile A cva = a;
1451 -    sa<sizeof(sink_6_123478(a))           == 1> t1;
1452 -    sa<sizeof(sink_6_123478(ca))          == 2> t2;
1453 -    sa<sizeof(sink_6_123478(va))          == 3> t3;
1454 -    sa<sizeof(sink_6_123478(cva))         == 4> t4;
1455 -    sa<sizeof(sink_6_123478(source()))    == 7> t5;
1456 -    sa<sizeof(sink_6_123478(c_source()))  == 8> t6;
1457 -    sa<sizeof(sink_6_123478(v_source()))  == 7> t7;
1458 -    sa<sizeof(sink_6_123478(cv_source())) == 8> t8;
1459 +    sa<sizeof(sink_6_123478(a))           == 1 * sizeof(long)> t1;
1460 +    sa<sizeof(sink_6_123478(ca))          == 2 * sizeof(long)> t2;
1461 +    sa<sizeof(sink_6_123478(va))          == 3 * sizeof(long)> t3;
1462 +    sa<sizeof(sink_6_123478(cva))         == 4 * sizeof(long)> t4;
1463 +    sa<sizeof(sink_6_123478(source()))    == 7 * sizeof(long)> t5;
1464 +    sa<sizeof(sink_6_123478(c_source()))  == 8 * sizeof(long)> t6;
1465 +    sa<sizeof(sink_6_123478(v_source()))  == 7 * sizeof(long)> t7;
1466 +    sa<sizeof(sink_6_123478(cv_source())) == 8 * sizeof(long)> t8;
1467      return 0;
1468  }
1469  
1470 @@ -182,12 +182,12 @@
1471      const          A ca = a;
1472            volatile A va;
1473      const volatile A cva = a;
1474 -    sa<sizeof(sink_6_123567(a))           == 1> t1;
1475 -    sa<sizeof(sink_6_123567(ca))          == 2> t2;
1476 -    sa<sizeof(sink_6_123567(va))          == 3> t3;
1477 -    sa<sizeof(sink_6_123567(source()))    == 5> t5;
1478 -    sa<sizeof(sink_6_123567(c_source()))  == 6> t6;
1479 -    sa<sizeof(sink_6_123567(v_source()))  == 7> t7;
1480 +    sa<sizeof(sink_6_123567(a))           == 1 * sizeof(long)> t1;
1481 +    sa<sizeof(sink_6_123567(ca))          == 2 * sizeof(long)> t2;
1482 +    sa<sizeof(sink_6_123567(va))          == 3 * sizeof(long)> t3;
1483 +    sa<sizeof(sink_6_123567(source()))    == 5 * sizeof(long)> t5;
1484 +    sa<sizeof(sink_6_123567(c_source()))  == 6 * sizeof(long)> t6;
1485 +    sa<sizeof(sink_6_123567(v_source()))  == 7 * sizeof(long)> t7;
1486      return 0;
1487  }
1488  
1489 @@ -204,13 +204,13 @@
1490      const          A ca = a;
1491            volatile A va;
1492      const volatile A cva = a;
1493 -    sa<sizeof(sink_6_123568(a))           == 1> t1;
1494 -    sa<sizeof(sink_6_123568(ca))          == 2> t2;
1495 -    sa<sizeof(sink_6_123568(va))          == 3> t3;
1496 -    sa<sizeof(sink_6_123568(source()))    == 5> t5;
1497 -    sa<sizeof(sink_6_123568(c_source()))  == 6> t6;
1498 -    sa<sizeof(sink_6_123568(v_source()))  == 8> t7;
1499 -    sa<sizeof(sink_6_123568(cv_source())) == 8> t8;
1500 +    sa<sizeof(sink_6_123568(a))           == 1 * sizeof(long)> t1;
1501 +    sa<sizeof(sink_6_123568(ca))          == 2 * sizeof(long)> t2;
1502 +    sa<sizeof(sink_6_123568(va))          == 3 * sizeof(long)> t3;
1503 +    sa<sizeof(sink_6_123568(source()))    == 5 * sizeof(long)> t5;
1504 +    sa<sizeof(sink_6_123568(c_source()))  == 6 * sizeof(long)> t6;
1505 +    sa<sizeof(sink_6_123568(v_source()))  == 8 * sizeof(long)> t7;
1506 +    sa<sizeof(sink_6_123568(cv_source())) == 8 * sizeof(long)> t8;
1507      return 0;
1508  }
1509  
1510 @@ -227,13 +227,13 @@
1511      const          A ca = a;
1512            volatile A va;
1513      const volatile A cva = a;
1514 -    sa<sizeof(sink_6_123578(a))           == 1> t1;
1515 -    sa<sizeof(sink_6_123578(ca))          == 2> t2;
1516 -    sa<sizeof(sink_6_123578(va))          == 3> t3;
1517 -    sa<sizeof(sink_6_123578(source()))    == 5> t5;
1518 -    sa<sizeof(sink_6_123578(c_source()))  == 8> t6;
1519 -    sa<sizeof(sink_6_123578(v_source()))  == 7> t7;
1520 -    sa<sizeof(sink_6_123578(cv_source())) == 8> t8;
1521 +    sa<sizeof(sink_6_123578(a))           == 1 * sizeof(long)> t1;
1522 +    sa<sizeof(sink_6_123578(ca))          == 2 * sizeof(long)> t2;
1523 +    sa<sizeof(sink_6_123578(va))          == 3 * sizeof(long)> t3;
1524 +    sa<sizeof(sink_6_123578(source()))    == 5 * sizeof(long)> t5;
1525 +    sa<sizeof(sink_6_123578(c_source()))  == 8 * sizeof(long)> t6;
1526 +    sa<sizeof(sink_6_123578(v_source()))  == 7 * sizeof(long)> t7;
1527 +    sa<sizeof(sink_6_123578(cv_source())) == 8 * sizeof(long)> t8;
1528      return 0;
1529  }
1530  
1531 @@ -250,12 +250,12 @@
1532      const          A ca = a;
1533            volatile A va;
1534      const volatile A cva = a;
1535 -    sa<sizeof(sink_6_123678(a))           == 1> t1;
1536 -    sa<sizeof(sink_6_123678(ca))          == 2> t2;
1537 -    sa<sizeof(sink_6_123678(va))          == 3> t3;
1538 -    sa<sizeof(sink_6_123678(c_source()))  == 6> t6;
1539 -    sa<sizeof(sink_6_123678(v_source()))  == 7> t7;
1540 -    sa<sizeof(sink_6_123678(cv_source())) == 8> t8;
1541 +    sa<sizeof(sink_6_123678(a))           == 1 * sizeof(long)> t1;
1542 +    sa<sizeof(sink_6_123678(ca))          == 2 * sizeof(long)> t2;
1543 +    sa<sizeof(sink_6_123678(va))          == 3 * sizeof(long)> t3;
1544 +    sa<sizeof(sink_6_123678(c_source()))  == 6 * sizeof(long)> t6;
1545 +    sa<sizeof(sink_6_123678(v_source()))  == 7 * sizeof(long)> t7;
1546 +    sa<sizeof(sink_6_123678(cv_source())) == 8 * sizeof(long)> t8;
1547      return 0;
1548  }
1549  
1550 @@ -272,13 +272,13 @@
1551      const          A ca = a;
1552            volatile A va;
1553      const volatile A cva = a;
1554 -    sa<sizeof(sink_6_124567(a))           == 1> t1;
1555 -    sa<sizeof(sink_6_124567(ca))          == 2> t2;
1556 -    sa<sizeof(sink_6_124567(va))          == 4> t3;
1557 -    sa<sizeof(sink_6_124567(cva))         == 4> t4;
1558 -    sa<sizeof(sink_6_124567(source()))    == 5> t5;
1559 -    sa<sizeof(sink_6_124567(c_source()))  == 6> t6;
1560 -    sa<sizeof(sink_6_124567(v_source()))  == 7> t7;
1561 +    sa<sizeof(sink_6_124567(a))           == 1 * sizeof(long)> t1;
1562 +    sa<sizeof(sink_6_124567(ca))          == 2 * sizeof(long)> t2;
1563 +    sa<sizeof(sink_6_124567(va))          == 4 * sizeof(long)> t3;
1564 +    sa<sizeof(sink_6_124567(cva))         == 4 * sizeof(long)> t4;
1565 +    sa<sizeof(sink_6_124567(source()))    == 5 * sizeof(long)> t5;
1566 +    sa<sizeof(sink_6_124567(c_source()))  == 6 * sizeof(long)> t6;
1567 +    sa<sizeof(sink_6_124567(v_source()))  == 7 * sizeof(long)> t7;
1568      return 0;
1569  }
1570  
1571 @@ -295,14 +295,14 @@
1572      const          A ca = a;
1573            volatile A va;
1574      const volatile A cva = a;
1575 -    sa<sizeof(sink_6_124568(a))           == 1> t1;
1576 -    sa<sizeof(sink_6_124568(ca))          == 2> t2;
1577 -    sa<sizeof(sink_6_124568(va))          == 4> t3;
1578 -    sa<sizeof(sink_6_124568(cva))         == 4> t4;
1579 -    sa<sizeof(sink_6_124568(source()))    == 5> t5;
1580 -    sa<sizeof(sink_6_124568(c_source()))  == 6> t6;
1581 -    sa<sizeof(sink_6_124568(v_source()))  == 8> t7;
1582 -    sa<sizeof(sink_6_124568(cv_source())) == 8> t8;
1583 +    sa<sizeof(sink_6_124568(a))           == 1 * sizeof(long)> t1;
1584 +    sa<sizeof(sink_6_124568(ca))          == 2 * sizeof(long)> t2;
1585 +    sa<sizeof(sink_6_124568(va))          == 4 * sizeof(long)> t3;
1586 +    sa<sizeof(sink_6_124568(cva))         == 4 * sizeof(long)> t4;
1587 +    sa<sizeof(sink_6_124568(source()))    == 5 * sizeof(long)> t5;
1588 +    sa<sizeof(sink_6_124568(c_source()))  == 6 * sizeof(long)> t6;
1589 +    sa<sizeof(sink_6_124568(v_source()))  == 8 * sizeof(long)> t7;
1590 +    sa<sizeof(sink_6_124568(cv_source())) == 8 * sizeof(long)> t8;
1591      return 0;
1592  }
1593  
1594 @@ -319,14 +319,14 @@
1595      const          A ca = a;
1596            volatile A va;
1597      const volatile A cva = a;
1598 -    sa<sizeof(sink_6_124578(a))           == 1> t1;
1599 -    sa<sizeof(sink_6_124578(ca))          == 2> t2;
1600 -    sa<sizeof(sink_6_124578(va))          == 4> t3;
1601 -    sa<sizeof(sink_6_124578(cva))         == 4> t4;
1602 -    sa<sizeof(sink_6_124578(source()))    == 5> t5;
1603 -    sa<sizeof(sink_6_124578(c_source()))  == 8> t6;
1604 -    sa<sizeof(sink_6_124578(v_source()))  == 7> t7;
1605 -    sa<sizeof(sink_6_124578(cv_source())) == 8> t8;
1606 +    sa<sizeof(sink_6_124578(a))           == 1 * sizeof(long)> t1;
1607 +    sa<sizeof(sink_6_124578(ca))          == 2 * sizeof(long)> t2;
1608 +    sa<sizeof(sink_6_124578(va))          == 4 * sizeof(long)> t3;
1609 +    sa<sizeof(sink_6_124578(cva))         == 4 * sizeof(long)> t4;
1610 +    sa<sizeof(sink_6_124578(source()))    == 5 * sizeof(long)> t5;
1611 +    sa<sizeof(sink_6_124578(c_source()))  == 8 * sizeof(long)> t6;
1612 +    sa<sizeof(sink_6_124578(v_source()))  == 7 * sizeof(long)> t7;
1613 +    sa<sizeof(sink_6_124578(cv_source())) == 8 * sizeof(long)> t8;
1614      return 0;
1615  }
1616  
1617 @@ -343,13 +343,13 @@
1618      const          A ca = a;
1619            volatile A va;
1620      const volatile A cva = a;
1621 -    sa<sizeof(sink_6_124678(a))           == 1> t1;
1622 -    sa<sizeof(sink_6_124678(ca))          == 2> t2;
1623 -    sa<sizeof(sink_6_124678(va))          == 4> t3;
1624 -    sa<sizeof(sink_6_124678(cva))         == 4> t4;
1625 -    sa<sizeof(sink_6_124678(c_source()))  == 6> t6;
1626 -    sa<sizeof(sink_6_124678(v_source()))  == 7> t7;
1627 -    sa<sizeof(sink_6_124678(cv_source())) == 8> t8;
1628 +    sa<sizeof(sink_6_124678(a))           == 1 * sizeof(long)> t1;
1629 +    sa<sizeof(sink_6_124678(ca))          == 2 * sizeof(long)> t2;
1630 +    sa<sizeof(sink_6_124678(va))          == 4 * sizeof(long)> t3;
1631 +    sa<sizeof(sink_6_124678(cva))         == 4 * sizeof(long)> t4;
1632 +    sa<sizeof(sink_6_124678(c_source()))  == 6 * sizeof(long)> t6;
1633 +    sa<sizeof(sink_6_124678(v_source()))  == 7 * sizeof(long)> t7;
1634 +    sa<sizeof(sink_6_124678(cv_source())) == 8 * sizeof(long)> t8;
1635      return 0;
1636  }
1637  
1638 @@ -366,12 +366,12 @@
1639      const          A ca = a;
1640            volatile A va;
1641      const volatile A cva = a;
1642 -    sa<sizeof(sink_6_125678(a))           == 1> t1;
1643 -    sa<sizeof(sink_6_125678(ca))          == 2> t2;
1644 -    sa<sizeof(sink_6_125678(source()))    == 5> t5;
1645 -    sa<sizeof(sink_6_125678(c_source()))  == 6> t6;
1646 -    sa<sizeof(sink_6_125678(v_source()))  == 7> t7;
1647 -    sa<sizeof(sink_6_125678(cv_source())) == 8> t8;
1648 +    sa<sizeof(sink_6_125678(a))           == 1 * sizeof(long)> t1;
1649 +    sa<sizeof(sink_6_125678(ca))          == 2 * sizeof(long)> t2;
1650 +    sa<sizeof(sink_6_125678(source()))    == 5 * sizeof(long)> t5;
1651 +    sa<sizeof(sink_6_125678(c_source()))  == 6 * sizeof(long)> t6;
1652 +    sa<sizeof(sink_6_125678(v_source()))  == 7 * sizeof(long)> t7;
1653 +    sa<sizeof(sink_6_125678(cv_source())) == 8 * sizeof(long)> t8;
1654      return 0;
1655  }
1656  
1657 @@ -388,13 +388,13 @@
1658      const          A ca = a;
1659            volatile A va;
1660      const volatile A cva = a;
1661 -    sa<sizeof(sink_6_134567(a))           == 1> t1;
1662 -    sa<sizeof(sink_6_134567(ca))          == 4> t2;
1663 -    sa<sizeof(sink_6_134567(va))          == 3> t3;
1664 -    sa<sizeof(sink_6_134567(cva))         == 4> t4;
1665 -    sa<sizeof(sink_6_134567(source()))    == 5> t5;
1666 -    sa<sizeof(sink_6_134567(c_source()))  == 6> t6;
1667 -    sa<sizeof(sink_6_134567(v_source()))  == 7> t7;
1668 +    sa<sizeof(sink_6_134567(a))           == 1 * sizeof(long)> t1;
1669 +    sa<sizeof(sink_6_134567(ca))          == 4 * sizeof(long)> t2;
1670 +    sa<sizeof(sink_6_134567(va))          == 3 * sizeof(long)> t3;
1671 +    sa<sizeof(sink_6_134567(cva))         == 4 * sizeof(long)> t4;
1672 +    sa<sizeof(sink_6_134567(source()))    == 5 * sizeof(long)> t5;
1673 +    sa<sizeof(sink_6_134567(c_source()))  == 6 * sizeof(long)> t6;
1674 +    sa<sizeof(sink_6_134567(v_source()))  == 7 * sizeof(long)> t7;
1675      return 0;
1676  }
1677  
1678 @@ -411,14 +411,14 @@
1679      const          A ca = a;
1680            volatile A va;
1681      const volatile A cva = a;
1682 -    sa<sizeof(sink_6_134568(a))           == 1> t1;
1683 -    sa<sizeof(sink_6_134568(ca))          == 4> t2;
1684 -    sa<sizeof(sink_6_134568(va))          == 3> t3;
1685 -    sa<sizeof(sink_6_134568(cva))         == 4> t4;
1686 -    sa<sizeof(sink_6_134568(source()))    == 5> t5;
1687 -    sa<sizeof(sink_6_134568(c_source()))  == 6> t6;
1688 -    sa<sizeof(sink_6_134568(v_source()))  == 8> t7;
1689 -    sa<sizeof(sink_6_134568(cv_source())) == 8> t8;
1690 +    sa<sizeof(sink_6_134568(a))           == 1 * sizeof(long)> t1;
1691 +    sa<sizeof(sink_6_134568(ca))          == 4 * sizeof(long)> t2;
1692 +    sa<sizeof(sink_6_134568(va))          == 3 * sizeof(long)> t3;
1693 +    sa<sizeof(sink_6_134568(cva))         == 4 * sizeof(long)> t4;
1694 +    sa<sizeof(sink_6_134568(source()))    == 5 * sizeof(long)> t5;
1695 +    sa<sizeof(sink_6_134568(c_source()))  == 6 * sizeof(long)> t6;
1696 +    sa<sizeof(sink_6_134568(v_source()))  == 8 * sizeof(long)> t7;
1697 +    sa<sizeof(sink_6_134568(cv_source())) == 8 * sizeof(long)> t8;
1698      return 0;
1699  }
1700  
1701 @@ -435,14 +435,14 @@
1702      const          A ca = a;
1703            volatile A va;
1704      const volatile A cva = a;
1705 -    sa<sizeof(sink_6_134578(a))           == 1> t1;
1706 -    sa<sizeof(sink_6_134578(ca))          == 4> t2;
1707 -    sa<sizeof(sink_6_134578(va))          == 3> t3;
1708 -    sa<sizeof(sink_6_134578(cva))         == 4> t4;
1709 -    sa<sizeof(sink_6_134578(source()))    == 5> t5;
1710 -    sa<sizeof(sink_6_134578(c_source()))  == 8> t6;
1711 -    sa<sizeof(sink_6_134578(v_source()))  == 7> t7;
1712 -    sa<sizeof(sink_6_134578(cv_source())) == 8> t8;
1713 +    sa<sizeof(sink_6_134578(a))           == 1 * sizeof(long)> t1;
1714 +    sa<sizeof(sink_6_134578(ca))          == 4 * sizeof(long)> t2;
1715 +    sa<sizeof(sink_6_134578(va))          == 3 * sizeof(long)> t3;
1716 +    sa<sizeof(sink_6_134578(cva))         == 4 * sizeof(long)> t4;
1717 +    sa<sizeof(sink_6_134578(source()))    == 5 * sizeof(long)> t5;
1718 +    sa<sizeof(sink_6_134578(c_source()))  == 8 * sizeof(long)> t6;
1719 +    sa<sizeof(sink_6_134578(v_source()))  == 7 * sizeof(long)> t7;
1720 +    sa<sizeof(sink_6_134578(cv_source())) == 8 * sizeof(long)> t8;
1721      return 0;
1722  }
1723  
1724 @@ -459,13 +459,13 @@
1725      const          A ca = a;
1726            volatile A va;
1727      const volatile A cva = a;
1728 -    sa<sizeof(sink_6_134678(a))           == 1> t1;
1729 -    sa<sizeof(sink_6_134678(ca))          == 4> t2;
1730 -    sa<sizeof(sink_6_134678(va))          == 3> t3;
1731 -    sa<sizeof(sink_6_134678(cva))         == 4> t4;
1732 -    sa<sizeof(sink_6_134678(c_source()))  == 6> t6;
1733 -    sa<sizeof(sink_6_134678(v_source()))  == 7> t7;
1734 -    sa<sizeof(sink_6_134678(cv_source())) == 8> t8;
1735 +    sa<sizeof(sink_6_134678(a))           == 1 * sizeof(long)> t1;
1736 +    sa<sizeof(sink_6_134678(ca))          == 4 * sizeof(long)> t2;
1737 +    sa<sizeof(sink_6_134678(va))          == 3 * sizeof(long)> t3;
1738 +    sa<sizeof(sink_6_134678(cva))         == 4 * sizeof(long)> t4;
1739 +    sa<sizeof(sink_6_134678(c_source()))  == 6 * sizeof(long)> t6;
1740 +    sa<sizeof(sink_6_134678(v_source()))  == 7 * sizeof(long)> t7;
1741 +    sa<sizeof(sink_6_134678(cv_source())) == 8 * sizeof(long)> t8;
1742      return 0;
1743  }
1744  
1745 @@ -482,12 +482,12 @@
1746      const          A ca = a;
1747            volatile A va;
1748      const volatile A cva = a;
1749 -    sa<sizeof(sink_6_135678(a))           == 1> t1;
1750 -    sa<sizeof(sink_6_135678(va))          == 3> t3;
1751 -    sa<sizeof(sink_6_135678(source()))    == 5> t5;
1752 -    sa<sizeof(sink_6_135678(c_source()))  == 6> t6;
1753 -    sa<sizeof(sink_6_135678(v_source()))  == 7> t7;
1754 -    sa<sizeof(sink_6_135678(cv_source())) == 8> t8;
1755 +    sa<sizeof(sink_6_135678(a))           == 1 * sizeof(long)> t1;
1756 +    sa<sizeof(sink_6_135678(va))          == 3 * sizeof(long)> t3;
1757 +    sa<sizeof(sink_6_135678(source()))    == 5 * sizeof(long)> t5;
1758 +    sa<sizeof(sink_6_135678(c_source()))  == 6 * sizeof(long)> t6;
1759 +    sa<sizeof(sink_6_135678(v_source()))  == 7 * sizeof(long)> t7;
1760 +    sa<sizeof(sink_6_135678(cv_source())) == 8 * sizeof(long)> t8;
1761      return 0;
1762  }
1763  
1764 @@ -504,14 +504,14 @@
1765      const          A ca = a;
1766            volatile A va;
1767      const volatile A cva = a;
1768 -    sa<sizeof(sink_6_145678(a))           == 1> t1;
1769 -    sa<sizeof(sink_6_145678(ca))          == 4> t2;
1770 -    sa<sizeof(sink_6_145678(va))          == 4> t3;
1771 -    sa<sizeof(sink_6_145678(cva))         == 4> t4;
1772 -    sa<sizeof(sink_6_145678(source()))    == 5> t5;
1773 -    sa<sizeof(sink_6_145678(c_source()))  == 6> t6;
1774 -    sa<sizeof(sink_6_145678(v_source()))  == 7> t7;
1775 -    sa<sizeof(sink_6_145678(cv_source())) == 8> t8;
1776 +    sa<sizeof(sink_6_145678(a))           == 1 * sizeof(long)> t1;
1777 +    sa<sizeof(sink_6_145678(ca))          == 4 * sizeof(long)> t2;
1778 +    sa<sizeof(sink_6_145678(va))          == 4 * sizeof(long)> t3;
1779 +    sa<sizeof(sink_6_145678(cva))         == 4 * sizeof(long)> t4;
1780 +    sa<sizeof(sink_6_145678(source()))    == 5 * sizeof(long)> t5;
1781 +    sa<sizeof(sink_6_145678(c_source()))  == 6 * sizeof(long)> t6;
1782 +    sa<sizeof(sink_6_145678(v_source()))  == 7 * sizeof(long)> t7;
1783 +    sa<sizeof(sink_6_145678(cv_source())) == 8 * sizeof(long)> t8;
1784      return 0;
1785  }
1786  
1787 @@ -528,12 +528,12 @@
1788      const          A ca = a;
1789            volatile A va;
1790      const volatile A cva = a;
1791 -    sa<sizeof(sink_6_234567(ca))          == 2> t2;
1792 -    sa<sizeof(sink_6_234567(va))          == 3> t3;
1793 -    sa<sizeof(sink_6_234567(cva))         == 4> t4;
1794 -    sa<sizeof(sink_6_234567(source()))    == 5> t5;
1795 -    sa<sizeof(sink_6_234567(c_source()))  == 6> t6;
1796 -    sa<sizeof(sink_6_234567(v_source()))  == 7> t7;
1797 +    sa<sizeof(sink_6_234567(ca))          == 2 * sizeof(long)> t2;
1798 +    sa<sizeof(sink_6_234567(va))          == 3 * sizeof(long)> t3;
1799 +    sa<sizeof(sink_6_234567(cva))         == 4 * sizeof(long)> t4;
1800 +    sa<sizeof(sink_6_234567(source()))    == 5 * sizeof(long)> t5;
1801 +    sa<sizeof(sink_6_234567(c_source()))  == 6 * sizeof(long)> t6;
1802 +    sa<sizeof(sink_6_234567(v_source()))  == 7 * sizeof(long)> t7;
1803      return 0;
1804  }
1805  
1806 @@ -550,13 +550,13 @@
1807      const          A ca = a;
1808            volatile A va;
1809      const volatile A cva = a;
1810 -    sa<sizeof(sink_6_234568(ca))          == 2> t2;
1811 -    sa<sizeof(sink_6_234568(va))          == 3> t3;
1812 -    sa<sizeof(sink_6_234568(cva))         == 4> t4;
1813 -    sa<sizeof(sink_6_234568(source()))    == 5> t5;
1814 -    sa<sizeof(sink_6_234568(c_source()))  == 6> t6;
1815 -    sa<sizeof(sink_6_234568(v_source()))  == 8> t7;
1816 -    sa<sizeof(sink_6_234568(cv_source())) == 8> t8;
1817 +    sa<sizeof(sink_6_234568(ca))          == 2 * sizeof(long)> t2;
1818 +    sa<sizeof(sink_6_234568(va))          == 3 * sizeof(long)> t3;
1819 +    sa<sizeof(sink_6_234568(cva))         == 4 * sizeof(long)> t4;
1820 +    sa<sizeof(sink_6_234568(source()))    == 5 * sizeof(long)> t5;
1821 +    sa<sizeof(sink_6_234568(c_source()))  == 6 * sizeof(long)> t6;
1822 +    sa<sizeof(sink_6_234568(v_source()))  == 8 * sizeof(long)> t7;
1823 +    sa<sizeof(sink_6_234568(cv_source())) == 8 * sizeof(long)> t8;
1824      return 0;
1825  }
1826  
1827 @@ -573,13 +573,13 @@
1828      const          A ca = a;
1829            volatile A va;
1830      const volatile A cva = a;
1831 -    sa<sizeof(sink_6_234578(ca))          == 2> t2;
1832 -    sa<sizeof(sink_6_234578(va))          == 3> t3;
1833 -    sa<sizeof(sink_6_234578(cva))         == 4> t4;
1834 -    sa<sizeof(sink_6_234578(source()))    == 5> t5;
1835 -    sa<sizeof(sink_6_234578(c_source()))  == 8> t6;
1836 -    sa<sizeof(sink_6_234578(v_source()))  == 7> t7;
1837 -    sa<sizeof(sink_6_234578(cv_source())) == 8> t8;
1838 +    sa<sizeof(sink_6_234578(ca))          == 2 * sizeof(long)> t2;
1839 +    sa<sizeof(sink_6_234578(va))          == 3 * sizeof(long)> t3;
1840 +    sa<sizeof(sink_6_234578(cva))         == 4 * sizeof(long)> t4;
1841 +    sa<sizeof(sink_6_234578(source()))    == 5 * sizeof(long)> t5;
1842 +    sa<sizeof(sink_6_234578(c_source()))  == 8 * sizeof(long)> t6;
1843 +    sa<sizeof(sink_6_234578(v_source()))  == 7 * sizeof(long)> t7;
1844 +    sa<sizeof(sink_6_234578(cv_source())) == 8 * sizeof(long)> t8;
1845      return 0;
1846  }
1847  
1848 @@ -596,12 +596,12 @@
1849      const          A ca = a;
1850            volatile A va;
1851      const volatile A cva = a;
1852 -    sa<sizeof(sink_6_234678(ca))          == 2> t2;
1853 -    sa<sizeof(sink_6_234678(va))          == 3> t3;
1854 -    sa<sizeof(sink_6_234678(cva))         == 4> t4;
1855 -    sa<sizeof(sink_6_234678(c_source()))  == 6> t6;
1856 -    sa<sizeof(sink_6_234678(v_source()))  == 7> t7;
1857 -    sa<sizeof(sink_6_234678(cv_source())) == 8> t8;
1858 +    sa<sizeof(sink_6_234678(ca))          == 2 * sizeof(long)> t2;
1859 +    sa<sizeof(sink_6_234678(va))          == 3 * sizeof(long)> t3;
1860 +    sa<sizeof(sink_6_234678(cva))         == 4 * sizeof(long)> t4;
1861 +    sa<sizeof(sink_6_234678(c_source()))  == 6 * sizeof(long)> t6;
1862 +    sa<sizeof(sink_6_234678(v_source()))  == 7 * sizeof(long)> t7;
1863 +    sa<sizeof(sink_6_234678(cv_source())) == 8 * sizeof(long)> t8;
1864      return 0;
1865  }
1866  
1867 @@ -618,12 +618,12 @@
1868      const          A ca = a;
1869            volatile A va;
1870      const volatile A cva = a;
1871 -    sa<sizeof(sink_6_235678(ca))          == 2> t2;
1872 -    sa<sizeof(sink_6_235678(va))          == 3> t3;
1873 -    sa<sizeof(sink_6_235678(source()))    == 5> t5;
1874 -    sa<sizeof(sink_6_235678(c_source()))  == 6> t6;
1875 -    sa<sizeof(sink_6_235678(v_source()))  == 7> t7;
1876 -    sa<sizeof(sink_6_235678(cv_source())) == 8> t8;
1877 +    sa<sizeof(sink_6_235678(ca))          == 2 * sizeof(long)> t2;
1878 +    sa<sizeof(sink_6_235678(va))          == 3 * sizeof(long)> t3;
1879 +    sa<sizeof(sink_6_235678(source()))    == 5 * sizeof(long)> t5;
1880 +    sa<sizeof(sink_6_235678(c_source()))  == 6 * sizeof(long)> t6;
1881 +    sa<sizeof(sink_6_235678(v_source()))  == 7 * sizeof(long)> t7;
1882 +    sa<sizeof(sink_6_235678(cv_source())) == 8 * sizeof(long)> t8;
1883      return 0;
1884  }
1885  
1886 @@ -640,14 +640,14 @@
1887      const          A ca = a;
1888            volatile A va;
1889      const volatile A cva = a;
1890 -    sa<sizeof(sink_6_245678(a))           == 2> t1;
1891 -    sa<sizeof(sink_6_245678(ca))          == 2> t2;
1892 -    sa<sizeof(sink_6_245678(va))          == 4> t3;
1893 -    sa<sizeof(sink_6_245678(cva))         == 4> t4;
1894 -    sa<sizeof(sink_6_245678(source()))    == 5> t5;
1895 -    sa<sizeof(sink_6_245678(c_source()))  == 6> t6;
1896 -    sa<sizeof(sink_6_245678(v_source()))  == 7> t7;
1897 -    sa<sizeof(sink_6_245678(cv_source())) == 8> t8;
1898 +    sa<sizeof(sink_6_245678(a))           == 2 * sizeof(long)> t1;
1899 +    sa<sizeof(sink_6_245678(ca))          == 2 * sizeof(long)> t2;
1900 +    sa<sizeof(sink_6_245678(va))          == 4 * sizeof(long)> t3;
1901 +    sa<sizeof(sink_6_245678(cva))         == 4 * sizeof(long)> t4;
1902 +    sa<sizeof(sink_6_245678(source()))    == 5 * sizeof(long)> t5;
1903 +    sa<sizeof(sink_6_245678(c_source()))  == 6 * sizeof(long)> t6;
1904 +    sa<sizeof(sink_6_245678(v_source()))  == 7 * sizeof(long)> t7;
1905 +    sa<sizeof(sink_6_245678(cv_source())) == 8 * sizeof(long)> t8;
1906      return 0;
1907  }
1908  
1909 @@ -664,14 +664,14 @@
1910      const          A ca = a;
1911            volatile A va;
1912      const volatile A cva = a;
1913 -    sa<sizeof(sink_6_345678(a))           == 3> t1;
1914 -    sa<sizeof(sink_6_345678(ca))          == 4> t2;
1915 -    sa<sizeof(sink_6_345678(va))          == 3> t3;
1916 -    sa<sizeof(sink_6_345678(cva))         == 4> t4;
1917 -    sa<sizeof(sink_6_345678(source()))    == 5> t5;
1918 -    sa<sizeof(sink_6_345678(c_source()))  == 6> t6;
1919 -    sa<sizeof(sink_6_345678(v_source()))  == 7> t7;
1920 -    sa<sizeof(sink_6_345678(cv_source())) == 8> t8;
1921 +    sa<sizeof(sink_6_345678(a))           == 3 * sizeof(long)> t1;
1922 +    sa<sizeof(sink_6_345678(ca))          == 4 * sizeof(long)> t2;
1923 +    sa<sizeof(sink_6_345678(va))          == 3 * sizeof(long)> t3;
1924 +    sa<sizeof(sink_6_345678(cva))         == 4 * sizeof(long)> t4;
1925 +    sa<sizeof(sink_6_345678(source()))    == 5 * sizeof(long)> t5;
1926 +    sa<sizeof(sink_6_345678(c_source()))  == 6 * sizeof(long)> t6;
1927 +    sa<sizeof(sink_6_345678(v_source()))  == 7 * sizeof(long)> t7;
1928 +    sa<sizeof(sink_6_345678(cv_source())) == 8 * sizeof(long)> t8;
1929      return 0;
1930  }
1931  
1932 Index: gcc/testsuite/g++.dg/cpp0x/rv1p.C
1933 ===================================================================
1934 --- gcc/testsuite/g++.dg/cpp0x/rv1p.C   (.../tags/gcc_4_5_1_release)    (wersja 163628)
1935 +++ gcc/testsuite/g++.dg/cpp0x/rv1p.C   (.../branches/gcc-4_5-branch)   (wersja 163628)
1936 @@ -8,14 +8,14 @@
1937  template <bool> struct sa;
1938  template <> struct sa<true> {};
1939  
1940 -struct one   {char x[1];};
1941 -struct two   {char x[2];};
1942 -struct three {char x[3];};
1943 -struct four  {char x[4];};
1944 -struct five  {char x[5];};
1945 -struct six   {char x[6];};
1946 -struct seven {char x[7];};
1947 -struct eight {char x[8];};
1948 +struct one   {long x[1];};
1949 +struct two   {long x[2];};
1950 +struct three {long x[3];};
1951 +struct four  {long x[4];};
1952 +struct five  {long x[5];};
1953 +struct six   {long x[6];};
1954 +struct seven {long x[7];};
1955 +struct eight {long x[8];};
1956  
1957  struct A
1958  {
1959 @@ -38,7 +38,7 @@
1960      const          A ca = a;
1961            volatile A va;
1962      const volatile A cva = a;
1963 -    sa<sizeof(sink_1_1(a))           == 1> t1;
1964 +    sa<sizeof(sink_1_1(a))           == 1 * sizeof(long)> t1;
1965      return 0;
1966  }
1967  
1968 @@ -50,10 +50,10 @@
1969      const          A ca = a;
1970            volatile A va;
1971      const volatile A cva = a;
1972 -    sa<sizeof(sink_1_2(a))           == 2> t1;
1973 -    sa<sizeof(sink_1_2(ca))          == 2> t2;
1974 -    sa<sizeof(sink_1_2(source()))    == 2> t5;
1975 -    sa<sizeof(sink_1_2(c_source()))  == 2> t6;
1976 +    sa<sizeof(sink_1_2(a))           == 2 * sizeof(long)> t1;
1977 +    sa<sizeof(sink_1_2(ca))          == 2 * sizeof(long)> t2;
1978 +    sa<sizeof(sink_1_2(source()))    == 2 * sizeof(long)> t5;
1979 +    sa<sizeof(sink_1_2(c_source()))  == 2 * sizeof(long)> t6;
1980      return 0;
1981  }
1982  
1983 @@ -65,8 +65,8 @@
1984      const          A ca = a;
1985            volatile A va;
1986      const volatile A cva = a;
1987 -    sa<sizeof(sink_1_3(a))           == 3> t1;
1988 -    sa<sizeof(sink_1_3(va))          == 3> t3;
1989 +    sa<sizeof(sink_1_3(a))           == 3 * sizeof(long)> t1;
1990 +    sa<sizeof(sink_1_3(va))          == 3 * sizeof(long)> t3;
1991      return 0;
1992  }
1993  
1994 @@ -78,10 +78,10 @@
1995      const          A ca = a;
1996            volatile A va;
1997      const volatile A cva = a;
1998 -    sa<sizeof(sink_1_4(a))           == 4> t1;
1999 -    sa<sizeof(sink_1_4(ca))          == 4> t2;
2000 -    sa<sizeof(sink_1_4(va))          == 4> t3;
2001 -    sa<sizeof(sink_1_4(cva))         == 4> t4;
2002 +    sa<sizeof(sink_1_4(a))           == 4 * sizeof(long)> t1;
2003 +    sa<sizeof(sink_1_4(ca))          == 4 * sizeof(long)> t2;
2004 +    sa<sizeof(sink_1_4(va))          == 4 * sizeof(long)> t3;
2005 +    sa<sizeof(sink_1_4(cva))         == 4 * sizeof(long)> t4;
2006      return 0;
2007  }
2008  
2009 @@ -93,7 +93,7 @@
2010      const          A ca = a;
2011            volatile A va;
2012      const volatile A cva = a;
2013 -    sa<sizeof(sink_1_5(source()))    == 5> t5;
2014 +    sa<sizeof(sink_1_5(source()))    == 5 * sizeof(long)> t5;
2015      return 0;
2016  }
2017  
2018 @@ -105,8 +105,8 @@
2019      const          A ca = a;
2020            volatile A va;
2021      const volatile A cva = a;
2022 -    sa<sizeof(sink_1_6(source()))    == 6> t5;
2023 -    sa<sizeof(sink_1_6(c_source()))  == 6> t6;
2024 +    sa<sizeof(sink_1_6(source()))    == 6 * sizeof(long)> t5;
2025 +    sa<sizeof(sink_1_6(c_source()))  == 6 * sizeof(long)> t6;
2026      return 0;
2027  }
2028  
2029 @@ -118,8 +118,8 @@
2030      const          A ca = a;
2031            volatile A va;
2032      const volatile A cva = a;
2033 -    sa<sizeof(sink_1_7(source()))    == 7> t5;
2034 -    sa<sizeof(sink_1_7(v_source()))  == 7> t7;
2035 +    sa<sizeof(sink_1_7(source()))    == 7 * sizeof(long)> t5;
2036 +    sa<sizeof(sink_1_7(v_source()))  == 7 * sizeof(long)> t7;
2037      return 0;
2038  }
2039  
2040 @@ -131,10 +131,10 @@
2041      const          A ca = a;
2042            volatile A va;
2043      const volatile A cva = a;
2044 -    sa<sizeof(sink_1_8(source()))    == 8> t5;
2045 -    sa<sizeof(sink_1_8(c_source()))  == 8> t6;
2046 -    sa<sizeof(sink_1_8(v_source()))  == 8> t7;
2047 -    sa<sizeof(sink_1_8(cv_source())) == 8> t8;
2048 +    sa<sizeof(sink_1_8(source()))    == 8 * sizeof(long)> t5;
2049 +    sa<sizeof(sink_1_8(c_source()))  == 8 * sizeof(long)> t6;
2050 +    sa<sizeof(sink_1_8(v_source()))  == 8 * sizeof(long)> t7;
2051 +    sa<sizeof(sink_1_8(cv_source())) == 8 * sizeof(long)> t8;
2052      return 0;
2053  }
2054  
2055 Index: gcc/testsuite/g++.dg/cpp0x/cast.C
2056 ===================================================================
2057 --- gcc/testsuite/g++.dg/cpp0x/cast.C   (.../tags/gcc_4_5_1_release)    (wersja 163628)
2058 +++ gcc/testsuite/g++.dg/cpp0x/cast.C   (.../branches/gcc-4_5-branch)   (wersja 163628)
2059 @@ -8,8 +8,8 @@
2060  template <bool> struct sa;
2061  template <> struct sa<true> {};
2062  
2063 -struct one   {char x[1];};
2064 -struct two   {char x[2];};
2065 +struct one   {long x[1];};
2066 +struct two   {long x[2];};
2067  
2068  struct A {};
2069  
2070 @@ -19,8 +19,8 @@
2071  int test1()
2072  {
2073      A a;
2074 -    sa<sizeof(foo(a)) == 1> t1;
2075 -    sa<sizeof(foo(static_cast<A&&>(a))) == 2> t2;
2076 +    sa<sizeof(foo(a)) == 1 * sizeof(long)> t1;
2077 +    sa<sizeof(foo(static_cast<A&&>(a))) == 2 * sizeof(long)> t2;
2078      return 0;
2079  }
2080  
2081 Index: gcc/testsuite/g++.dg/cpp0x/rv7p.C
2082 ===================================================================
2083 --- gcc/testsuite/g++.dg/cpp0x/rv7p.C   (.../tags/gcc_4_5_1_release)    (wersja 163628)
2084 +++ gcc/testsuite/g++.dg/cpp0x/rv7p.C   (.../branches/gcc-4_5-branch)   (wersja 163628)
2085 @@ -8,14 +8,14 @@
2086  template <bool> struct sa;
2087  template <> struct sa<true> {};
2088  
2089 -struct one   {char x[1];};
2090 -struct two   {char x[2];};
2091 -struct three {char x[3];};
2092 -struct four  {char x[4];};
2093 -struct five  {char x[5];};
2094 -struct six   {char x[6];};
2095 -struct seven {char x[7];};
2096 -struct eight {char x[8];};
2097 +struct one   {long x[1];};
2098 +struct two   {long x[2];};
2099 +struct three {long x[3];};
2100 +struct four  {long x[4];};
2101 +struct five  {long x[5];};
2102 +struct six   {long x[6];};
2103 +struct seven {long x[7];};
2104 +struct eight {long x[8];};
2105  
2106  struct A
2107  {
2108 @@ -44,13 +44,13 @@
2109      const          A ca = a;
2110            volatile A va;
2111      const volatile A cva = a;
2112 -    sa<sizeof(sink_7_1234567(a))           == 1> t1;
2113 -    sa<sizeof(sink_7_1234567(ca))          == 2> t2;
2114 -    sa<sizeof(sink_7_1234567(va))          == 3> t3;
2115 -    sa<sizeof(sink_7_1234567(cva))         == 4> t4;
2116 -    sa<sizeof(sink_7_1234567(source()))    == 5> t5;
2117 -    sa<sizeof(sink_7_1234567(c_source()))  == 6> t6;
2118 -    sa<sizeof(sink_7_1234567(v_source()))  == 7> t7;
2119 +    sa<sizeof(sink_7_1234567(a))           == 1 * sizeof(long)> t1;
2120 +    sa<sizeof(sink_7_1234567(ca))          == 2 * sizeof(long)> t2;
2121 +    sa<sizeof(sink_7_1234567(va))          == 3 * sizeof(long)> t3;
2122 +    sa<sizeof(sink_7_1234567(cva))         == 4 * sizeof(long)> t4;
2123 +    sa<sizeof(sink_7_1234567(source()))    == 5 * sizeof(long)> t5;
2124 +    sa<sizeof(sink_7_1234567(c_source()))  == 6 * sizeof(long)> t6;
2125 +    sa<sizeof(sink_7_1234567(v_source()))  == 7 * sizeof(long)> t7;
2126      return 0;
2127  }
2128  
2129 @@ -68,14 +68,14 @@
2130      const          A ca = a;
2131            volatile A va;
2132      const volatile A cva = a;
2133 -    sa<sizeof(sink_7_1234568(a))           == 1> t1;
2134 -    sa<sizeof(sink_7_1234568(ca))          == 2> t2;
2135 -    sa<sizeof(sink_7_1234568(va))          == 3> t3;
2136 -    sa<sizeof(sink_7_1234568(cva))         == 4> t4;
2137 -    sa<sizeof(sink_7_1234568(source()))    == 5> t5;
2138 -    sa<sizeof(sink_7_1234568(c_source()))  == 6> t6;
2139 -    sa<sizeof(sink_7_1234568(v_source()))  == 8> t7;
2140 -    sa<sizeof(sink_7_1234568(cv_source())) == 8> t8;
2141 +    sa<sizeof(sink_7_1234568(a))           == 1 * sizeof(long)> t1;
2142 +    sa<sizeof(sink_7_1234568(ca))          == 2 * sizeof(long)> t2;
2143 +    sa<sizeof(sink_7_1234568(va))          == 3 * sizeof(long)> t3;
2144 +    sa<sizeof(sink_7_1234568(cva))         == 4 * sizeof(long)> t4;
2145 +    sa<sizeof(sink_7_1234568(source()))    == 5 * sizeof(long)> t5;
2146 +    sa<sizeof(sink_7_1234568(c_source()))  == 6 * sizeof(long)> t6;
2147 +    sa<sizeof(sink_7_1234568(v_source()))  == 8 * sizeof(long)> t7;
2148 +    sa<sizeof(sink_7_1234568(cv_source())) == 8 * sizeof(long)> t8;
2149      return 0;
2150  }
2151  
2152 @@ -93,14 +93,14 @@
2153      const          A ca = a;
2154            volatile A va;
2155      const volatile A cva = a;
2156 -    sa<sizeof(sink_7_1234578(a))           == 1> t1;
2157 -    sa<sizeof(sink_7_1234578(ca))          == 2> t2;
2158 -    sa<sizeof(sink_7_1234578(va))          == 3> t3;
2159 -    sa<sizeof(sink_7_1234578(cva))         == 4> t4;
2160 -    sa<sizeof(sink_7_1234578(source()))    == 5> t5;
2161 -    sa<sizeof(sink_7_1234578(c_source()))  == 8> t6;
2162 -    sa<sizeof(sink_7_1234578(v_source()))  == 7> t7;
2163 -    sa<sizeof(sink_7_1234578(cv_source())) == 8> t8;
2164 +    sa<sizeof(sink_7_1234578(a))           == 1 * sizeof(long)> t1;
2165 +    sa<sizeof(sink_7_1234578(ca))          == 2 * sizeof(long)> t2;
2166 +    sa<sizeof(sink_7_1234578(va))          == 3 * sizeof(long)> t3;
2167 +    sa<sizeof(sink_7_1234578(cva))         == 4 * sizeof(long)> t4;
2168 +    sa<sizeof(sink_7_1234578(source()))    == 5 * sizeof(long)> t5;
2169 +    sa<sizeof(sink_7_1234578(c_source()))  == 8 * sizeof(long)> t6;
2170 +    sa<sizeof(sink_7_1234578(v_source()))  == 7 * sizeof(long)> t7;
2171 +    sa<sizeof(sink_7_1234578(cv_source())) == 8 * sizeof(long)> t8;
2172      return 0;
2173  }
2174  
2175 @@ -118,13 +118,13 @@
2176      const          A ca = a;
2177            volatile A va;
2178      const volatile A cva = a;
2179 -    sa<sizeof(sink_7_1234678(a))           == 1> t1;
2180 -    sa<sizeof(sink_7_1234678(ca))          == 2> t2;
2181 -    sa<sizeof(sink_7_1234678(va))          == 3> t3;
2182 -    sa<sizeof(sink_7_1234678(cva))         == 4> t4;
2183 -    sa<sizeof(sink_7_1234678(c_source()))  == 6> t6;
2184 -    sa<sizeof(sink_7_1234678(v_source()))  == 7> t7;
2185 -    sa<sizeof(sink_7_1234678(cv_source())) == 8> t8;
2186 +    sa<sizeof(sink_7_1234678(a))           == 1 * sizeof(long)> t1;
2187 +    sa<sizeof(sink_7_1234678(ca))          == 2 * sizeof(long)> t2;
2188 +    sa<sizeof(sink_7_1234678(va))          == 3 * sizeof(long)> t3;
2189 +    sa<sizeof(sink_7_1234678(cva))         == 4 * sizeof(long)> t4;
2190 +    sa<sizeof(sink_7_1234678(c_source()))  == 6 * sizeof(long)> t6;
2191 +    sa<sizeof(sink_7_1234678(v_source()))  == 7 * sizeof(long)> t7;
2192 +    sa<sizeof(sink_7_1234678(cv_source())) == 8 * sizeof(long)> t8;
2193      return 0;
2194  }
2195  
2196 @@ -142,13 +142,13 @@
2197      const          A ca = a;
2198            volatile A va;
2199      const volatile A cva = a;
2200 -    sa<sizeof(sink_7_1235678(a))           == 1> t1;
2201 -    sa<sizeof(sink_7_1235678(ca))          == 2> t2;
2202 -    sa<sizeof(sink_7_1235678(va))          == 3> t3;
2203 -    sa<sizeof(sink_7_1235678(source()))    == 5> t5;
2204 -    sa<sizeof(sink_7_1235678(c_source()))  == 6> t6;
2205 -    sa<sizeof(sink_7_1235678(v_source()))  == 7> t7;
2206 -    sa<sizeof(sink_7_1235678(cv_source())) == 8> t8;
2207 +    sa<sizeof(sink_7_1235678(a))           == 1 * sizeof(long)> t1;
2208 +    sa<sizeof(sink_7_1235678(ca))          == 2 * sizeof(long)> t2;
2209 +    sa<sizeof(sink_7_1235678(va))          == 3 * sizeof(long)> t3;
2210 +    sa<sizeof(sink_7_1235678(source()))    == 5 * sizeof(long)> t5;
2211 +    sa<sizeof(sink_7_1235678(c_source()))  == 6 * sizeof(long)> t6;
2212 +    sa<sizeof(sink_7_1235678(v_source()))  == 7 * sizeof(long)> t7;
2213 +    sa<sizeof(sink_7_1235678(cv_source())) == 8 * sizeof(long)> t8;
2214      return 0;
2215  }
2216  
2217 @@ -166,14 +166,14 @@
2218      const          A ca = a;
2219            volatile A va;
2220      const volatile A cva = a;
2221 -    sa<sizeof(sink_7_1245678(a))           == 1> t1;
2222 -    sa<sizeof(sink_7_1245678(ca))          == 2> t2;
2223 -    sa<sizeof(sink_7_1245678(va))          == 4> t3;
2224 -    sa<sizeof(sink_7_1245678(cva))         == 4> t4;
2225 -    sa<sizeof(sink_7_1245678(source()))    == 5> t5;
2226 -    sa<sizeof(sink_7_1245678(c_source()))  == 6> t6;
2227 -    sa<sizeof(sink_7_1245678(v_source()))  == 7> t7;
2228 -    sa<sizeof(sink_7_1245678(cv_source())) == 8> t8;
2229 +    sa<sizeof(sink_7_1245678(a))           == 1 * sizeof(long)> t1;
2230 +    sa<sizeof(sink_7_1245678(ca))          == 2 * sizeof(long)> t2;
2231 +    sa<sizeof(sink_7_1245678(va))          == 4 * sizeof(long)> t3;
2232 +    sa<sizeof(sink_7_1245678(cva))         == 4 * sizeof(long)> t4;
2233 +    sa<sizeof(sink_7_1245678(source()))    == 5 * sizeof(long)> t5;
2234 +    sa<sizeof(sink_7_1245678(c_source()))  == 6 * sizeof(long)> t6;
2235 +    sa<sizeof(sink_7_1245678(v_source()))  == 7 * sizeof(long)> t7;
2236 +    sa<sizeof(sink_7_1245678(cv_source())) == 8 * sizeof(long)> t8;
2237      return 0;
2238  }
2239  
2240 @@ -191,14 +191,14 @@
2241      const          A ca = a;
2242            volatile A va;
2243      const volatile A cva = a;
2244 -    sa<sizeof(sink_7_1345678(a))           == 1> t1;
2245 -    sa<sizeof(sink_7_1345678(ca))          == 4> t2;
2246 -    sa<sizeof(sink_7_1345678(va))          == 3> t3;
2247 -    sa<sizeof(sink_7_1345678(cva))         == 4> t4;
2248 -    sa<sizeof(sink_7_1345678(source()))    == 5> t5;
2249 -    sa<sizeof(sink_7_1345678(c_source()))  == 6> t6;
2250 -    sa<sizeof(sink_7_1345678(v_source()))  == 7> t7;
2251 -    sa<sizeof(sink_7_1345678(cv_source())) == 8> t8;
2252 +    sa<sizeof(sink_7_1345678(a))           == 1 * sizeof(long)> t1;
2253 +    sa<sizeof(sink_7_1345678(ca))          == 4 * sizeof(long)> t2;
2254 +    sa<sizeof(sink_7_1345678(va))          == 3 * sizeof(long)> t3;
2255 +    sa<sizeof(sink_7_1345678(cva))         == 4 * sizeof(long)> t4;
2256 +    sa<sizeof(sink_7_1345678(source()))    == 5 * sizeof(long)> t5;
2257 +    sa<sizeof(sink_7_1345678(c_source()))  == 6 * sizeof(long)> t6;
2258 +    sa<sizeof(sink_7_1345678(v_source()))  == 7 * sizeof(long)> t7;
2259 +    sa<sizeof(sink_7_1345678(cv_source())) == 8 * sizeof(long)> t8;
2260      return 0;
2261  }
2262  
2263 @@ -216,13 +216,13 @@
2264      const          A ca = a;
2265            volatile A va;
2266      const volatile A cva = a;
2267 -    sa<sizeof(sink_7_2345678(ca))          == 2> t2;
2268 -    sa<sizeof(sink_7_2345678(va))          == 3> t3;
2269 -    sa<sizeof(sink_7_2345678(cva))         == 4> t4;
2270 -    sa<sizeof(sink_7_2345678(source()))    == 5> t5;
2271 -    sa<sizeof(sink_7_2345678(c_source()))  == 6> t6;
2272 -    sa<sizeof(sink_7_2345678(v_source()))  == 7> t7;
2273 -    sa<sizeof(sink_7_2345678(cv_source())) == 8> t8;
2274 +    sa<sizeof(sink_7_2345678(ca))          == 2 * sizeof(long)> t2;
2275 +    sa<sizeof(sink_7_2345678(va))          == 3 * sizeof(long)> t3;
2276 +    sa<sizeof(sink_7_2345678(cva))         == 4 * sizeof(long)> t4;
2277 +    sa<sizeof(sink_7_2345678(source()))    == 5 * sizeof(long)> t5;
2278 +    sa<sizeof(sink_7_2345678(c_source()))  == 6 * sizeof(long)> t6;
2279 +    sa<sizeof(sink_7_2345678(v_source()))  == 7 * sizeof(long)> t7;
2280 +    sa<sizeof(sink_7_2345678(cv_source())) == 8 * sizeof(long)> t8;
2281      return 0;
2282  }
2283  
2284 Index: gcc/testsuite/g++.dg/cpp0x/rv2p.C
2285 ===================================================================
2286 --- gcc/testsuite/g++.dg/cpp0x/rv2p.C   (.../tags/gcc_4_5_1_release)    (wersja 163628)
2287 +++ gcc/testsuite/g++.dg/cpp0x/rv2p.C   (.../branches/gcc-4_5-branch)   (wersja 163628)
2288 @@ -8,14 +8,14 @@
2289  template <bool> struct sa;
2290  template <> struct sa<true> {};
2291  
2292 -struct one   {char x[1];};
2293 -struct two   {char x[2];};
2294 -struct three {char x[3];};
2295 -struct four  {char x[4];};
2296 -struct five  {char x[5];};
2297 -struct six   {char x[6];};
2298 -struct seven {char x[7];};
2299 -struct eight {char x[8];};
2300 +struct one   {long x[1];};
2301 +struct two   {long x[2];};
2302 +struct three {long x[3];};
2303 +struct four  {long x[4];};
2304 +struct five  {long x[5];};
2305 +struct six   {long x[6];};
2306 +struct seven {long x[7];};
2307 +struct eight {long x[8];};
2308  
2309  struct A
2310  {
2311 @@ -39,10 +39,10 @@
2312      const          A ca = a;
2313            volatile A va;
2314      const volatile A cva = a;
2315 -    sa<sizeof(sink_2_12(a))           == 1> t1;
2316 -    sa<sizeof(sink_2_12(ca))          == 2> t2;
2317 -    sa<sizeof(sink_2_12(source()))    == 2> t5;
2318 -    sa<sizeof(sink_2_12(c_source()))  == 2> t6;
2319 +    sa<sizeof(sink_2_12(a))           == 1 * sizeof(long)> t1;
2320 +    sa<sizeof(sink_2_12(ca))          == 2 * sizeof(long)> t2;
2321 +    sa<sizeof(sink_2_12(source()))    == 2 * sizeof(long)> t5;
2322 +    sa<sizeof(sink_2_12(c_source()))  == 2 * sizeof(long)> t6;
2323      return 0;
2324  }
2325  
2326 @@ -55,8 +55,8 @@
2327      const          A ca = a;
2328            volatile A va;
2329      const volatile A cva = a;
2330 -    sa<sizeof(sink_2_13(a))           == 1> t1;
2331 -    sa<sizeof(sink_2_13(va))          == 3> t3;
2332 +    sa<sizeof(sink_2_13(a))           == 1 * sizeof(long)> t1;
2333 +    sa<sizeof(sink_2_13(va))          == 3 * sizeof(long)> t3;
2334      return 0;
2335  }
2336  
2337 @@ -69,10 +69,10 @@
2338      const          A ca = a;
2339            volatile A va;
2340      const volatile A cva = a;
2341 -    sa<sizeof(sink_2_14(a))           == 1> t1;
2342 -    sa<sizeof(sink_2_14(ca))          == 4> t2;
2343 -    sa<sizeof(sink_2_14(va))          == 4> t3;
2344 -    sa<sizeof(sink_2_14(cva))         == 4> t4;
2345 +    sa<sizeof(sink_2_14(a))           == 1 * sizeof(long)> t1;
2346 +    sa<sizeof(sink_2_14(ca))          == 4 * sizeof(long)> t2;
2347 +    sa<sizeof(sink_2_14(va))          == 4 * sizeof(long)> t3;
2348 +    sa<sizeof(sink_2_14(cva))         == 4 * sizeof(long)> t4;
2349      return 0;
2350  }
2351  
2352 @@ -85,8 +85,8 @@
2353      const          A ca = a;
2354            volatile A va;
2355      const volatile A cva = a;
2356 -    sa<sizeof(sink_2_15(a))           == 1> t1;
2357 -    sa<sizeof(sink_2_15(source()))    == 5> t5;
2358 +    sa<sizeof(sink_2_15(a))           == 1 * sizeof(long)> t1;
2359 +    sa<sizeof(sink_2_15(source()))    == 5 * sizeof(long)> t5;
2360      return 0;
2361  }
2362  
2363 @@ -99,9 +99,9 @@
2364      const          A ca = a;
2365            volatile A va;
2366      const volatile A cva = a;
2367 -    sa<sizeof(sink_2_16(a))           == 1> t1;
2368 -    sa<sizeof(sink_2_16(source()))    == 6> t5;
2369 -    sa<sizeof(sink_2_16(c_source()))  == 6> t6;
2370 +    sa<sizeof(sink_2_16(a))           == 1 * sizeof(long)> t1;
2371 +    sa<sizeof(sink_2_16(source()))    == 6 * sizeof(long)> t5;
2372 +    sa<sizeof(sink_2_16(c_source()))  == 6 * sizeof(long)> t6;
2373      return 0;
2374  }
2375  
2376 @@ -114,9 +114,9 @@
2377      const          A ca = a;
2378            volatile A va;
2379      const volatile A cva = a;
2380 -    sa<sizeof(sink_2_17(a))           == 1> t1;
2381 -    sa<sizeof(sink_2_17(source()))    == 7> t5;
2382 -    sa<sizeof(sink_2_17(v_source()))  == 7> t7;
2383 +    sa<sizeof(sink_2_17(a))           == 1 * sizeof(long)> t1;
2384 +    sa<sizeof(sink_2_17(source()))    == 7 * sizeof(long)> t5;
2385 +    sa<sizeof(sink_2_17(v_source()))  == 7 * sizeof(long)> t7;
2386      return 0;
2387  }
2388  
2389 @@ -129,11 +129,11 @@
2390      const          A ca = a;
2391            volatile A va;
2392      const volatile A cva = a;
2393 -    sa<sizeof(sink_2_18(a))           == 1> t1;
2394 -    sa<sizeof(sink_2_18(source()))    == 8> t5;
2395 -    sa<sizeof(sink_2_18(c_source()))  == 8> t6;
2396 -    sa<sizeof(sink_2_18(v_source()))  == 8> t7;
2397 -    sa<sizeof(sink_2_18(cv_source())) == 8> t8;
2398 +    sa<sizeof(sink_2_18(a))           == 1 * sizeof(long)> t1;
2399 +    sa<sizeof(sink_2_18(source()))    == 8 * sizeof(long)> t5;
2400 +    sa<sizeof(sink_2_18(c_source()))  == 8 * sizeof(long)> t6;
2401 +    sa<sizeof(sink_2_18(v_source()))  == 8 * sizeof(long)> t7;
2402 +    sa<sizeof(sink_2_18(cv_source())) == 8 * sizeof(long)> t8;
2403      return 0;
2404  }
2405  
2406 @@ -146,10 +146,10 @@
2407      const          A ca = a;
2408            volatile A va;
2409      const volatile A cva = a;
2410 -    sa<sizeof(sink_2_23(ca))          == 2> t2;
2411 -    sa<sizeof(sink_2_23(va))          == 3> t3;
2412 -    sa<sizeof(sink_2_23(source()))    == 2> t5;
2413 -    sa<sizeof(sink_2_23(c_source()))  == 2> t6;
2414 +    sa<sizeof(sink_2_23(ca))          == 2 * sizeof(long)> t2;
2415 +    sa<sizeof(sink_2_23(va))          == 3 * sizeof(long)> t3;
2416 +    sa<sizeof(sink_2_23(source()))    == 2 * sizeof(long)> t5;
2417 +    sa<sizeof(sink_2_23(c_source()))  == 2 * sizeof(long)> t6;
2418      return 0;
2419  }
2420  
2421 @@ -162,14 +162,14 @@
2422      const          A ca = a;
2423            volatile A va;
2424      const volatile A cva = a;
2425 -    sa<sizeof(sink_2_24(a))           == 2> t1;
2426 -    sa<sizeof(sink_2_24(ca))          == 2> t2;
2427 -    sa<sizeof(sink_2_24(va))          == 4> t3;
2428 -    sa<sizeof(sink_2_24(cva))         == 4> t4;
2429 -    sa<sizeof(sink_2_24(source()))    == 2> t5;
2430 -    sa<sizeof(sink_2_24(c_source()))  == 2> t6;
2431 -//    sa<sizeof(sink_2_24(v_source()))  == 4> t7;
2432 -//    sa<sizeof(sink_2_24(cv_source())) == 4> t8;
2433 +    sa<sizeof(sink_2_24(a))           == 2 * sizeof(long)> t1;
2434 +    sa<sizeof(sink_2_24(ca))          == 2 * sizeof(long)> t2;
2435 +    sa<sizeof(sink_2_24(va))          == 4 * sizeof(long)> t3;
2436 +    sa<sizeof(sink_2_24(cva))         == 4 * sizeof(long)> t4;
2437 +    sa<sizeof(sink_2_24(source()))    == 2 * sizeof(long)> t5;
2438 +    sa<sizeof(sink_2_24(c_source()))  == 2 * sizeof(long)> t6;
2439 +//    sa<sizeof(sink_2_24(v_source()))  == 4 * sizeof(long)> t7;
2440 +//    sa<sizeof(sink_2_24(cv_source())) == 4 * sizeof(long)> t8;
2441      return 0;
2442  }
2443  
2444 @@ -182,10 +182,10 @@
2445      const          A ca = a;
2446            volatile A va;
2447      const volatile A cva = a;
2448 -    sa<sizeof(sink_2_25(a))           == 2> t1;
2449 -    sa<sizeof(sink_2_25(ca))          == 2> t2;
2450 -    sa<sizeof(sink_2_25(source()))    == 5> t5;
2451 -    sa<sizeof(sink_2_25(c_source()))  == 2> t6;
2452 +    sa<sizeof(sink_2_25(a))           == 2 * sizeof(long)> t1;
2453 +    sa<sizeof(sink_2_25(ca))          == 2 * sizeof(long)> t2;
2454 +    sa<sizeof(sink_2_25(source()))    == 5 * sizeof(long)> t5;
2455 +    sa<sizeof(sink_2_25(c_source()))  == 2 * sizeof(long)> t6;
2456      return 0;
2457  }
2458  
2459 @@ -198,10 +198,10 @@
2460      const          A ca = a;
2461            volatile A va;
2462      const volatile A cva = a;
2463 -    sa<sizeof(sink_2_26(a))           == 2> t1;
2464 -    sa<sizeof(sink_2_26(ca))          == 2> t2;
2465 -    sa<sizeof(sink_2_26(source()))    == 6> t5;
2466 -    sa<sizeof(sink_2_26(c_source()))  == 6> t6;
2467 +    sa<sizeof(sink_2_26(a))           == 2 * sizeof(long)> t1;
2468 +    sa<sizeof(sink_2_26(ca))          == 2 * sizeof(long)> t2;
2469 +    sa<sizeof(sink_2_26(source()))    == 6 * sizeof(long)> t5;
2470 +    sa<sizeof(sink_2_26(c_source()))  == 6 * sizeof(long)> t6;
2471      return 0;
2472  }
2473  
2474 @@ -214,11 +214,11 @@
2475      const          A ca = a;
2476            volatile A va;
2477      const volatile A cva = a;
2478 -    sa<sizeof(sink_2_27(a))           == 2> t1;
2479 -    sa<sizeof(sink_2_27(ca))          == 2> t2;
2480 -    sa<sizeof(sink_2_27(source()))    == 7> t5;
2481 -    sa<sizeof(sink_2_27(c_source()))  == 2> t6;
2482 -    sa<sizeof(sink_2_27(v_source()))  == 7> t7;
2483 +    sa<sizeof(sink_2_27(a))           == 2 * sizeof(long)> t1;
2484 +    sa<sizeof(sink_2_27(ca))          == 2 * sizeof(long)> t2;
2485 +    sa<sizeof(sink_2_27(source()))    == 7 * sizeof(long)> t5;
2486 +    sa<sizeof(sink_2_27(c_source()))  == 2 * sizeof(long)> t6;
2487 +    sa<sizeof(sink_2_27(v_source()))  == 7 * sizeof(long)> t7;
2488      return 0;
2489  }
2490  
2491 @@ -231,12 +231,12 @@
2492      const          A ca = a;
2493            volatile A va;
2494      const volatile A cva = a;
2495 -    sa<sizeof(sink_2_28(a))           == 2> t1;
2496 -    sa<sizeof(sink_2_28(ca))          == 2> t2;
2497 -    sa<sizeof(sink_2_28(source()))    == 8> t5;
2498 -    sa<sizeof(sink_2_28(c_source()))  == 8> t6;
2499 -    sa<sizeof(sink_2_28(v_source()))  == 8> t7;
2500 -    sa<sizeof(sink_2_28(cv_source())) == 8> t8;
2501 +    sa<sizeof(sink_2_28(a))           == 2 * sizeof(long)> t1;
2502 +    sa<sizeof(sink_2_28(ca))          == 2 * sizeof(long)> t2;
2503 +    sa<sizeof(sink_2_28(source()))    == 8 * sizeof(long)> t5;
2504 +    sa<sizeof(sink_2_28(c_source()))  == 8 * sizeof(long)> t6;
2505 +    sa<sizeof(sink_2_28(v_source()))  == 8 * sizeof(long)> t7;
2506 +    sa<sizeof(sink_2_28(cv_source())) == 8 * sizeof(long)> t8;
2507      return 0;
2508  }
2509  
2510 @@ -249,14 +249,14 @@
2511      const          A ca = a;
2512            volatile A va;
2513      const volatile A cva = a;
2514 -    sa<sizeof(sink_2_34(a))           == 3> t1;
2515 -    sa<sizeof(sink_2_34(ca))          == 4> t2;
2516 -    sa<sizeof(sink_2_34(va))          == 3> t3;
2517 -    sa<sizeof(sink_2_34(cva))         == 4> t4;
2518 -//    sa<sizeof(sink_2_34(source()))    == 4> t5;
2519 -//    sa<sizeof(sink_2_34(c_source()))  == 4> t6;
2520 -//    sa<sizeof(sink_2_34(v_source()))  == 4> t7;
2521 -//    sa<sizeof(sink_2_34(cv_source())) == 4> t8;
2522 +    sa<sizeof(sink_2_34(a))           == 3 * sizeof(long)> t1;
2523 +    sa<sizeof(sink_2_34(ca))          == 4 * sizeof(long)> t2;
2524 +    sa<sizeof(sink_2_34(va))          == 3 * sizeof(long)> t3;
2525 +    sa<sizeof(sink_2_34(cva))         == 4 * sizeof(long)> t4;
2526 +//    sa<sizeof(sink_2_34(source()))    == 4 * sizeof(long)> t5;
2527 +//    sa<sizeof(sink_2_34(c_source()))  == 4 * sizeof(long)> t6;
2528 +//    sa<sizeof(sink_2_34(v_source()))  == 4 * sizeof(long)> t7;
2529 +//    sa<sizeof(sink_2_34(cv_source())) == 4 * sizeof(long)> t8;
2530      return 0;
2531  }
2532  
2533 @@ -269,9 +269,9 @@
2534      const          A ca = a;
2535            volatile A va;
2536      const volatile A cva = a;
2537 -    sa<sizeof(sink_2_35(a))           == 3> t1;
2538 -    sa<sizeof(sink_2_35(va))          == 3> t3;
2539 -    sa<sizeof(sink_2_35(source()))    == 5> t5;
2540 +    sa<sizeof(sink_2_35(a))           == 3 * sizeof(long)> t1;
2541 +    sa<sizeof(sink_2_35(va))          == 3 * sizeof(long)> t3;
2542 +    sa<sizeof(sink_2_35(source()))    == 5 * sizeof(long)> t5;
2543      return 0;
2544  }
2545  
2546 @@ -284,10 +284,10 @@
2547      const          A ca = a;
2548            volatile A va;
2549      const volatile A cva = a;
2550 -    sa<sizeof(sink_2_36(a))           == 3> t1;
2551 -    sa<sizeof(sink_2_36(va))          == 3> t3;
2552 -    sa<sizeof(sink_2_36(source()))    == 6> t5;
2553 -    sa<sizeof(sink_2_36(c_source()))  == 6> t6;
2554 +    sa<sizeof(sink_2_36(a))           == 3 * sizeof(long)> t1;
2555 +    sa<sizeof(sink_2_36(va))          == 3 * sizeof(long)> t3;
2556 +    sa<sizeof(sink_2_36(source()))    == 6 * sizeof(long)> t5;
2557 +    sa<sizeof(sink_2_36(c_source()))  == 6 * sizeof(long)> t6;
2558      return 0;
2559  }
2560  
2561 @@ -300,10 +300,10 @@
2562      const          A ca = a;
2563            volatile A va;
2564      const volatile A cva = a;
2565 -    sa<sizeof(sink_2_37(a))           == 3> t1;
2566 -    sa<sizeof(sink_2_37(va))          == 3> t3;
2567 -    sa<sizeof(sink_2_37(source()))    == 7> t5;
2568 -    sa<sizeof(sink_2_37(v_source()))  == 7> t7;
2569 +    sa<sizeof(sink_2_37(a))           == 3 * sizeof(long)> t1;
2570 +    sa<sizeof(sink_2_37(va))          == 3 * sizeof(long)> t3;
2571 +    sa<sizeof(sink_2_37(source()))    == 7 * sizeof(long)> t5;
2572 +    sa<sizeof(sink_2_37(v_source()))  == 7 * sizeof(long)> t7;
2573      return 0;
2574  }
2575  
2576 @@ -316,12 +316,12 @@
2577      const          A ca = a;
2578            volatile A va;
2579      const volatile A cva = a;
2580 -    sa<sizeof(sink_2_38(a))           == 3> t1;
2581 -    sa<sizeof(sink_2_38(va))          == 3> t3;
2582 -    sa<sizeof(sink_2_38(source()))    == 8> t5;
2583 -    sa<sizeof(sink_2_38(c_source()))  == 8> t6;
2584 -    sa<sizeof(sink_2_38(v_source()))  == 8> t7;
2585 -    sa<sizeof(sink_2_38(cv_source())) == 8> t8;
2586 +    sa<sizeof(sink_2_38(a))           == 3 * sizeof(long)> t1;
2587 +    sa<sizeof(sink_2_38(va))          == 3 * sizeof(long)> t3;
2588 +    sa<sizeof(sink_2_38(source()))    == 8 * sizeof(long)> t5;
2589 +    sa<sizeof(sink_2_38(c_source()))  == 8 * sizeof(long)> t6;
2590 +    sa<sizeof(sink_2_38(v_source()))  == 8 * sizeof(long)> t7;
2591 +    sa<sizeof(sink_2_38(cv_source())) == 8 * sizeof(long)> t8;
2592      return 0;
2593  }
2594  
2595 @@ -334,14 +334,14 @@
2596      const          A ca = a;
2597            volatile A va;
2598      const volatile A cva = a;
2599 -    sa<sizeof(sink_2_45(a))           == 4> t1;
2600 -    sa<sizeof(sink_2_45(ca))          == 4> t2;
2601 -    sa<sizeof(sink_2_45(va))          == 4> t3;
2602 -    sa<sizeof(sink_2_45(cva))         == 4> t4;
2603 -    sa<sizeof(sink_2_45(source()))    == 5> t5;
2604 -//    sa<sizeof(sink_2_45(c_source()))  == 4> t6;
2605 -//    sa<sizeof(sink_2_45(v_source()))  == 4> t7;
2606 -//    sa<sizeof(sink_2_45(cv_source())) == 4> t8;
2607 +    sa<sizeof(sink_2_45(a))           == 4 * sizeof(long)> t1;
2608 +    sa<sizeof(sink_2_45(ca))          == 4 * sizeof(long)> t2;
2609 +    sa<sizeof(sink_2_45(va))          == 4 * sizeof(long)> t3;
2610 +    sa<sizeof(sink_2_45(cva))         == 4 * sizeof(long)> t4;
2611 +    sa<sizeof(sink_2_45(source()))    == 5 * sizeof(long)> t5;
2612 +//    sa<sizeof(sink_2_45(c_source()))  == 4 * sizeof(long)> t6;
2613 +//    sa<sizeof(sink_2_45(v_source()))  == 4 * sizeof(long)> t7;
2614 +//    sa<sizeof(sink_2_45(cv_source())) == 4 * sizeof(long)> t8;
2615      return 0;
2616  }
2617  
2618 @@ -354,14 +354,14 @@
2619      const          A ca = a;
2620            volatile A va;
2621      const volatile A cva = a;
2622 -    sa<sizeof(sink_2_46(a))           == 4> t1;
2623 -    sa<sizeof(sink_2_46(ca))          == 4> t2;
2624 -    sa<sizeof(sink_2_46(va))          == 4> t3;
2625 -    sa<sizeof(sink_2_46(cva))         == 4> t4;
2626 -    sa<sizeof(sink_2_46(source()))    == 6> t5;
2627 -    sa<sizeof(sink_2_46(c_source()))  == 6> t6;
2628 -//    sa<sizeof(sink_2_46(v_source()))  == 4> t7;
2629 -//    sa<sizeof(sink_2_46(cv_source())) == 4> t8;
2630 +    sa<sizeof(sink_2_46(a))           == 4 * sizeof(long)> t1;
2631 +    sa<sizeof(sink_2_46(ca))          == 4 * sizeof(long)> t2;
2632 +    sa<sizeof(sink_2_46(va))          == 4 * sizeof(long)> t3;
2633 +    sa<sizeof(sink_2_46(cva))         == 4 * sizeof(long)> t4;
2634 +    sa<sizeof(sink_2_46(source()))    == 6 * sizeof(long)> t5;
2635 +    sa<sizeof(sink_2_46(c_source()))  == 6 * sizeof(long)> t6;
2636 +//    sa<sizeof(sink_2_46(v_source()))  == 4 * sizeof(long)> t7;
2637 +//    sa<sizeof(sink_2_46(cv_source())) == 4 * sizeof(long)> t8;
2638      return 0;
2639  }
2640  
2641 @@ -374,14 +374,14 @@
2642      const          A ca = a;
2643            volatile A va;
2644      const volatile A cva = a;
2645 -    sa<sizeof(sink_2_47(a))           == 4> t1;
2646 -    sa<sizeof(sink_2_47(ca))          == 4> t2;
2647 -    sa<sizeof(sink_2_47(va))          == 4> t3;
2648 -    sa<sizeof(sink_2_47(cva))         == 4> t4;
2649 -    sa<sizeof(sink_2_47(source()))    == 7> t5;
2650 -//    sa<sizeof(sink_2_47(c_source()))  == 4> t6;
2651 -    sa<sizeof(sink_2_47(v_source()))  == 7> t7;
2652 -//    sa<sizeof(sink_2_47(cv_source())) == 4> t8;
2653 +    sa<sizeof(sink_2_47(a))           == 4 * sizeof(long)> t1;
2654 +    sa<sizeof(sink_2_47(ca))          == 4 * sizeof(long)> t2;
2655 +    sa<sizeof(sink_2_47(va))          == 4 * sizeof(long)> t3;
2656 +    sa<sizeof(sink_2_47(cva))         == 4 * sizeof(long)> t4;
2657 +    sa<sizeof(sink_2_47(source()))    == 7 * sizeof(long)> t5;
2658 +//    sa<sizeof(sink_2_47(c_source()))  == 4 * sizeof(long)> t6;
2659 +    sa<sizeof(sink_2_47(v_source()))  == 7 * sizeof(long)> t7;
2660 +//    sa<sizeof(sink_2_47(cv_source())) == 4 * sizeof(long)> t8;
2661      return 0;
2662  }
2663  
2664 @@ -394,14 +394,14 @@
2665      const          A ca = a;
2666            volatile A va;
2667      const volatile A cva = a;
2668 -    sa<sizeof(sink_2_48(a))           == 4> t1;
2669 -    sa<sizeof(sink_2_48(ca))          == 4> t2;
2670 -    sa<sizeof(sink_2_48(va))          == 4> t3;
2671 -    sa<sizeof(sink_2_48(cva))         == 4> t4;
2672 -    sa<sizeof(sink_2_48(source()))    == 8> t5;
2673 -    sa<sizeof(sink_2_48(c_source()))  == 8> t6;
2674 -    sa<sizeof(sink_2_48(v_source()))  == 8> t7;
2675 -    sa<sizeof(sink_2_48(cv_source())) == 8> t8;
2676 +    sa<sizeof(sink_2_48(a))           == 4 * sizeof(long)> t1;
2677 +    sa<sizeof(sink_2_48(ca))          == 4 * sizeof(long)> t2;
2678 +    sa<sizeof(sink_2_48(va))          == 4 * sizeof(long)> t3;
2679 +    sa<sizeof(sink_2_48(cva))         == 4 * sizeof(long)> t4;
2680 +    sa<sizeof(sink_2_48(source()))    == 8 * sizeof(long)> t5;
2681 +    sa<sizeof(sink_2_48(c_source()))  == 8 * sizeof(long)> t6;
2682 +    sa<sizeof(sink_2_48(v_source()))  == 8 * sizeof(long)> t7;
2683 +    sa<sizeof(sink_2_48(cv_source())) == 8 * sizeof(long)> t8;
2684      return 0;
2685  }
2686  
2687 @@ -414,8 +414,8 @@
2688      const          A ca = a;
2689            volatile A va;
2690      const volatile A cva = a;
2691 -    sa<sizeof(sink_2_56(source()))    == 5> t5;
2692 -    sa<sizeof(sink_2_56(c_source()))  == 6> t6;
2693 +    sa<sizeof(sink_2_56(source()))    == 5 * sizeof(long)> t5;
2694 +    sa<sizeof(sink_2_56(c_source()))  == 6 * sizeof(long)> t6;
2695      return 0;
2696  }
2697  
2698 @@ -428,8 +428,8 @@
2699      const          A ca = a;
2700            volatile A va;
2701      const volatile A cva = a;
2702 -    sa<sizeof(sink_2_57(source()))    == 5> t5;
2703 -    sa<sizeof(sink_2_57(v_source()))  == 7> t7;
2704 +    sa<sizeof(sink_2_57(source()))    == 5 * sizeof(long)> t5;
2705 +    sa<sizeof(sink_2_57(v_source()))  == 7 * sizeof(long)> t7;
2706      return 0;
2707  }
2708  
2709 @@ -442,10 +442,10 @@
2710      const          A ca = a;
2711            volatile A va;
2712      const volatile A cva = a;
2713 -    sa<sizeof(sink_2_58(source()))    == 5> t5;
2714 -    sa<sizeof(sink_2_58(c_source()))  == 8> t6;
2715 -    sa<sizeof(sink_2_58(v_source()))  == 8> t7;
2716 -    sa<sizeof(sink_2_58(cv_source())) == 8> t8;
2717 +    sa<sizeof(sink_2_58(source()))    == 5 * sizeof(long)> t5;
2718 +    sa<sizeof(sink_2_58(c_source()))  == 8 * sizeof(long)> t6;
2719 +    sa<sizeof(sink_2_58(v_source()))  == 8 * sizeof(long)> t7;
2720 +    sa<sizeof(sink_2_58(cv_source())) == 8 * sizeof(long)> t8;
2721      return 0;
2722  }
2723  
2724 @@ -458,8 +458,8 @@
2725      const          A ca = a;
2726            volatile A va;
2727      const volatile A cva = a;
2728 -    sa<sizeof(sink_2_67(c_source()))  == 6> t6;
2729 -    sa<sizeof(sink_2_67(v_source()))  == 7> t7;
2730 +    sa<sizeof(sink_2_67(c_source()))  == 6 * sizeof(long)> t6;
2731 +    sa<sizeof(sink_2_67(v_source()))  == 7 * sizeof(long)> t7;
2732      return 0;
2733  }
2734  
2735 @@ -472,10 +472,10 @@
2736      const          A ca = a;
2737            volatile A va;
2738      const volatile A cva = a;
2739 -    sa<sizeof(sink_2_68(source()))    == 6> t5;
2740 -    sa<sizeof(sink_2_68(c_source()))  == 6> t6;
2741 -    sa<sizeof(sink_2_68(v_source()))  == 8> t7;
2742 -    sa<sizeof(sink_2_68(cv_source())) == 8> t8;
2743 +    sa<sizeof(sink_2_68(source()))    == 6 * sizeof(long)> t5;
2744 +    sa<sizeof(sink_2_68(c_source()))  == 6 * sizeof(long)> t6;
2745 +    sa<sizeof(sink_2_68(v_source()))  == 8 * sizeof(long)> t7;
2746 +    sa<sizeof(sink_2_68(cv_source())) == 8 * sizeof(long)> t8;
2747      return 0;
2748  }
2749  
2750 @@ -488,10 +488,10 @@
2751      const          A ca = a;
2752            volatile A va;
2753      const volatile A cva = a;
2754 -    sa<sizeof(sink_2_78(source()))    == 7> t5;
2755 -    sa<sizeof(sink_2_78(c_source()))  == 8> t6;
2756 -    sa<sizeof(sink_2_78(v_source()))  == 7> t7;
2757 -    sa<sizeof(sink_2_78(cv_source())) == 8> t8;
2758 +    sa<sizeof(sink_2_78(source()))    == 7 * sizeof(long)> t5;
2759 +    sa<sizeof(sink_2_78(c_source()))  == 8 * sizeof(long)> t6;
2760 +    sa<sizeof(sink_2_78(v_source()))  == 7 * sizeof(long)> t7;
2761 +    sa<sizeof(sink_2_78(cv_source())) == 8 * sizeof(long)> t8;
2762      return 0;
2763  }
2764  
2765 Index: gcc/testsuite/g++.dg/cpp0x/rv8p.C
2766 ===================================================================
2767 --- gcc/testsuite/g++.dg/cpp0x/rv8p.C   (.../tags/gcc_4_5_1_release)    (wersja 163628)
2768 +++ gcc/testsuite/g++.dg/cpp0x/rv8p.C   (.../branches/gcc-4_5-branch)   (wersja 163628)
2769 @@ -8,14 +8,14 @@
2770  template <bool> struct sa;
2771  template <> struct sa<true> {};
2772  
2773 -struct one   {char x[1];};
2774 -struct two   {char x[2];};
2775 -struct three {char x[3];};
2776 -struct four  {char x[4];};
2777 -struct five  {char x[5];};
2778 -struct six   {char x[6];};
2779 -struct seven {char x[7];};
2780 -struct eight {char x[8];};
2781 +struct one   {long x[1];};
2782 +struct two   {long x[2];};
2783 +struct three {long x[3];};
2784 +struct four  {long x[4];};
2785 +struct five  {long x[5];};
2786 +struct six   {long x[6];};
2787 +struct seven {long x[7];};
2788 +struct eight {long x[8];};
2789  
2790  struct A
2791  {
2792 @@ -45,14 +45,14 @@
2793      const          A ca = a;
2794            volatile A va;
2795      const volatile A cva = a;
2796 -    sa<sizeof(sink_8_12345678(a))           == 1> t1;
2797 -    sa<sizeof(sink_8_12345678(ca))          == 2> t2;
2798 -    sa<sizeof(sink_8_12345678(va))          == 3> t3;
2799 -    sa<sizeof(sink_8_12345678(cva))         == 4> t4;
2800 -    sa<sizeof(sink_8_12345678(source()))    == 5> t5;
2801 -    sa<sizeof(sink_8_12345678(c_source()))  == 6> t6;
2802 -    sa<sizeof(sink_8_12345678(v_source()))  == 7> t7;
2803 -    sa<sizeof(sink_8_12345678(cv_source())) == 8> t8;
2804 +    sa<sizeof(sink_8_12345678(a))           == 1 * sizeof(long)> t1;
2805 +    sa<sizeof(sink_8_12345678(ca))          == 2 * sizeof(long)> t2;
2806 +    sa<sizeof(sink_8_12345678(va))          == 3 * sizeof(long)> t3;
2807 +    sa<sizeof(sink_8_12345678(cva))         == 4 * sizeof(long)> t4;
2808 +    sa<sizeof(sink_8_12345678(source()))    == 5 * sizeof(long)> t5;
2809 +    sa<sizeof(sink_8_12345678(c_source()))  == 6 * sizeof(long)> t6;
2810 +    sa<sizeof(sink_8_12345678(v_source()))  == 7 * sizeof(long)> t7;
2811 +    sa<sizeof(sink_8_12345678(cv_source())) == 8 * sizeof(long)> t8;
2812      return 0;
2813  }
2814  
2815 Index: gcc/testsuite/g++.dg/cpp0x/rv3p.C
2816 ===================================================================
2817 --- gcc/testsuite/g++.dg/cpp0x/rv3p.C   (.../tags/gcc_4_5_1_release)    (wersja 163628)
2818 +++ gcc/testsuite/g++.dg/cpp0x/rv3p.C   (.../branches/gcc-4_5-branch)   (wersja 163628)
2819 @@ -8,14 +8,14 @@
2820  template <bool> struct sa;
2821  template <> struct sa<true> {};
2822  
2823 -struct one   {char x[1];};
2824 -struct two   {char x[2];};
2825 -struct three {char x[3];};
2826 -struct four  {char x[4];};
2827 -struct five  {char x[5];};
2828 -struct six   {char x[6];};
2829 -struct seven {char x[7];};
2830 -struct eight {char x[8];};
2831 +struct one   {long x[1];};
2832 +struct two   {long x[2];};
2833 +struct three {long x[3];};
2834 +struct four  {long x[4];};
2835 +struct five  {long x[5];};
2836 +struct six   {long x[6];};
2837 +struct seven {long x[7];};
2838 +struct eight {long x[8];};
2839  
2840  struct A
2841  {
2842 @@ -40,11 +40,11 @@
2843      const          A ca = a;
2844            volatile A va;
2845      const volatile A cva = a;
2846 -    sa<sizeof(sink_3_123(a))           == 1> t1;
2847 -    sa<sizeof(sink_3_123(ca))          == 2> t2;
2848 -    sa<sizeof(sink_3_123(va))          == 3> t3;
2849 -    sa<sizeof(sink_3_123(source()))    == 2> t5;
2850 -    sa<sizeof(sink_3_123(c_source()))  == 2> t6;
2851 +    sa<sizeof(sink_3_123(a))           == 1 * sizeof(long)> t1;
2852 +    sa<sizeof(sink_3_123(ca))          == 2 * sizeof(long)> t2;
2853 +    sa<sizeof(sink_3_123(va))          == 3 * sizeof(long)> t3;
2854 +    sa<sizeof(sink_3_123(source()))    == 2 * sizeof(long)> t5;
2855 +    sa<sizeof(sink_3_123(c_source()))  == 2 * sizeof(long)> t6;
2856      return 0;
2857  }
2858  
2859 @@ -58,12 +58,12 @@
2860      const          A ca = a;
2861            volatile A va;
2862      const volatile A cva = a;
2863 -    sa<sizeof(sink_3_124(a))           == 1> t1;
2864 -    sa<sizeof(sink_3_124(ca))          == 2> t2;
2865 -    sa<sizeof(sink_3_124(va))          == 4> t3;
2866 -    sa<sizeof(sink_3_124(cva))         == 4> t4;
2867 -    sa<sizeof(sink_3_124(source()))    == 2> t5;
2868 -    sa<sizeof(sink_3_124(c_source()))  == 2> t6;
2869 +    sa<sizeof(sink_3_124(a))           == 1 * sizeof(long)> t1;
2870 +    sa<sizeof(sink_3_124(ca))          == 2 * sizeof(long)> t2;
2871 +    sa<sizeof(sink_3_124(va))          == 4 * sizeof(long)> t3;
2872 +    sa<sizeof(sink_3_124(cva))         == 4 * sizeof(long)> t4;
2873 +    sa<sizeof(sink_3_124(source()))    == 2 * sizeof(long)> t5;
2874 +    sa<sizeof(sink_3_124(c_source()))  == 2 * sizeof(long)> t6;
2875      return 0;
2876  }
2877  
2878 @@ -77,10 +77,10 @@
2879      const          A ca = a;
2880            volatile A va;
2881      const volatile A cva = a;
2882 -    sa<sizeof(sink_3_125(a))           == 1> t1;
2883 -    sa<sizeof(sink_3_125(ca))          == 2> t2;
2884 -    sa<sizeof(sink_3_125(source()))    == 5> t5;
2885 -    sa<sizeof(sink_3_125(c_source()))  == 2> t6;
2886 +    sa<sizeof(sink_3_125(a))           == 1 * sizeof(long)> t1;
2887 +    sa<sizeof(sink_3_125(ca))          == 2 * sizeof(long)> t2;
2888 +    sa<sizeof(sink_3_125(source()))    == 5 * sizeof(long)> t5;
2889 +    sa<sizeof(sink_3_125(c_source()))  == 2 * sizeof(long)> t6;
2890      return 0;
2891  }
2892  
2893 @@ -94,10 +94,10 @@
2894      const          A ca = a;
2895            volatile A va;
2896      const volatile A cva = a;
2897 -    sa<sizeof(sink_3_126(a))           == 1> t1;
2898 -    sa<sizeof(sink_3_126(ca))          == 2> t2;
2899 -    sa<sizeof(sink_3_126(source()))    == 6> t5;
2900 -    sa<sizeof(sink_3_126(c_source()))  == 6> t6;
2901 +    sa<sizeof(sink_3_126(a))           == 1 * sizeof(long)> t1;
2902 +    sa<sizeof(sink_3_126(ca))          == 2 * sizeof(long)> t2;
2903 +    sa<sizeof(sink_3_126(source()))    == 6 * sizeof(long)> t5;
2904 +    sa<sizeof(sink_3_126(c_source()))  == 6 * sizeof(long)> t6;
2905      return 0;
2906  }
2907  
2908 @@ -111,11 +111,11 @@
2909      const          A ca = a;
2910            volatile A va;
2911      const volatile A cva = a;
2912 -    sa<sizeof(sink_3_127(a))           == 1> t1;
2913 -    sa<sizeof(sink_3_127(ca))          == 2> t2;
2914 -    sa<sizeof(sink_3_127(source()))    == 7> t5;
2915 -    sa<sizeof(sink_3_127(c_source()))  == 2> t6;
2916 -    sa<sizeof(sink_3_127(v_source()))  == 7> t7;
2917 +    sa<sizeof(sink_3_127(a))           == 1 * sizeof(long)> t1;
2918 +    sa<sizeof(sink_3_127(ca))          == 2 * sizeof(long)> t2;
2919 +    sa<sizeof(sink_3_127(source()))    == 7 * sizeof(long)> t5;
2920 +    sa<sizeof(sink_3_127(c_source()))  == 2 * sizeof(long)> t6;
2921 +    sa<sizeof(sink_3_127(v_source()))  == 7 * sizeof(long)> t7;
2922      return 0;
2923  }
2924  
2925 @@ -129,12 +129,12 @@
2926      const          A ca = a;
2927            volatile A va;
2928      const volatile A cva = a;
2929 -    sa<sizeof(sink_3_128(a))           == 1> t1;
2930 -    sa<sizeof(sink_3_128(ca))          == 2> t2;
2931 -    sa<sizeof(sink_3_128(source()))    == 8> t5;
2932 -    sa<sizeof(sink_3_128(c_source()))  == 8> t6;
2933 -    sa<sizeof(sink_3_128(v_source()))  == 8> t7;
2934 -    sa<sizeof(sink_3_128(cv_source())) == 8> t8;
2935 +    sa<sizeof(sink_3_128(a))           == 1 * sizeof(long)> t1;
2936 +    sa<sizeof(sink_3_128(ca))          == 2 * sizeof(long)> t2;
2937 +    sa<sizeof(sink_3_128(source()))    == 8 * sizeof(long)> t5;
2938 +    sa<sizeof(sink_3_128(c_source()))  == 8 * sizeof(long)> t6;
2939 +    sa<sizeof(sink_3_128(v_source()))  == 8 * sizeof(long)> t7;
2940 +    sa<sizeof(sink_3_128(cv_source())) == 8 * sizeof(long)> t8;
2941      return 0;
2942  }
2943  
2944 @@ -148,10 +148,10 @@
2945      const          A ca = a;
2946            volatile A va;
2947      const volatile A cva = a;
2948 -    sa<sizeof(sink_3_134(a))           == 1> t1;
2949 -    sa<sizeof(sink_3_134(ca))          == 4> t2;
2950 -    sa<sizeof(sink_3_134(va))          == 3> t3;
2951 -    sa<sizeof(sink_3_134(cva))         == 4> t4;
2952 +    sa<sizeof(sink_3_134(a))           == 1 * sizeof(long)> t1;
2953 +    sa<sizeof(sink_3_134(ca))          == 4 * sizeof(long)> t2;
2954 +    sa<sizeof(sink_3_134(va))          == 3 * sizeof(long)> t3;
2955 +    sa<sizeof(sink_3_134(cva))         == 4 * sizeof(long)> t4;
2956      return 0;
2957  }
2958  
2959 @@ -165,9 +165,9 @@
2960      const          A ca = a;
2961            volatile A va;
2962      const volatile A cva = a;
2963 -    sa<sizeof(sink_3_135(a))           == 1> t1;
2964 -    sa<sizeof(sink_3_135(va))          == 3> t3;
2965 -    sa<sizeof(sink_3_135(source()))    == 5> t5;
2966 +    sa<sizeof(sink_3_135(a))           == 1 * sizeof(long)> t1;
2967 +    sa<sizeof(sink_3_135(va))          == 3 * sizeof(long)> t3;
2968 +    sa<sizeof(sink_3_135(source()))    == 5 * sizeof(long)> t5;
2969      return 0;
2970  }
2971  
2972 @@ -181,10 +181,10 @@
2973      const          A ca = a;
2974            volatile A va;
2975      const volatile A cva = a;
2976 -    sa<sizeof(sink_3_136(a))           == 1> t1;
2977 -    sa<sizeof(sink_3_136(va))          == 3> t3;
2978 -    sa<sizeof(sink_3_136(source()))    == 6> t5;
2979 -    sa<sizeof(sink_3_136(c_source()))  == 6> t6;
2980 +    sa<sizeof(sink_3_136(a))           == 1 * sizeof(long)> t1;
2981 +    sa<sizeof(sink_3_136(va))          == 3 * sizeof(long)> t3;
2982 +    sa<sizeof(sink_3_136(source()))    == 6 * sizeof(long)> t5;
2983 +    sa<sizeof(sink_3_136(c_source()))  == 6 * sizeof(long)> t6;
2984      return 0;
2985  }
2986  
2987 @@ -198,10 +198,10 @@
2988      const          A ca = a;
2989            volatile A va;
2990      const volatile A cva = a;
2991 -    sa<sizeof(sink_3_137(a))           == 1> t1;
2992 -    sa<sizeof(sink_3_137(va))          == 3> t3;
2993 -    sa<sizeof(sink_3_137(source()))    == 7> t5;
2994 -    sa<sizeof(sink_3_137(v_source()))  == 7> t7;
2995 +    sa<sizeof(sink_3_137(a))           == 1 * sizeof(long)> t1;
2996 +    sa<sizeof(sink_3_137(va))          == 3 * sizeof(long)> t3;
2997 +    sa<sizeof(sink_3_137(source()))    == 7 * sizeof(long)> t5;
2998 +    sa<sizeof(sink_3_137(v_source()))  == 7 * sizeof(long)> t7;
2999      return 0;
3000  }
3001  
3002 @@ -215,12 +215,12 @@
3003      const          A ca = a;
3004            volatile A va;
3005      const volatile A cva = a;
3006 -    sa<sizeof(sink_3_138(a))           == 1> t1;
3007 -    sa<sizeof(sink_3_138(va))          == 3> t3;
3008 -    sa<sizeof(sink_3_138(source()))    == 8> t5;
3009 -    sa<sizeof(sink_3_138(c_source()))  == 8> t6;
3010 -    sa<sizeof(sink_3_138(v_source()))  == 8> t7;
3011 -    sa<sizeof(sink_3_138(cv_source())) == 8> t8;
3012 +    sa<sizeof(sink_3_138(a))           == 1 * sizeof(long)> t1;
3013 +    sa<sizeof(sink_3_138(va))          == 3 * sizeof(long)> t3;
3014 +    sa<sizeof(sink_3_138(source()))    == 8 * sizeof(long)> t5;
3015 +    sa<sizeof(sink_3_138(c_source()))  == 8 * sizeof(long)> t6;
3016 +    sa<sizeof(sink_3_138(v_source()))  == 8 * sizeof(long)> t7;
3017 +    sa<sizeof(sink_3_138(cv_source())) == 8 * sizeof(long)> t8;
3018      return 0;
3019  }
3020  
3021 @@ -234,11 +234,11 @@
3022      const          A ca = a;
3023            volatile A va;
3024      const volatile A cva = a;
3025 -    sa<sizeof(sink_3_145(a))           == 1> t1;
3026 -    sa<sizeof(sink_3_145(ca))          == 4> t2;
3027 -    sa<sizeof(sink_3_145(va))          == 4> t3;
3028 -    sa<sizeof(sink_3_145(cva))         == 4> t4;
3029 -    sa<sizeof(sink_3_145(source()))    == 5> t5;
3030 +    sa<sizeof(sink_3_145(a))           == 1 * sizeof(long)> t1;
3031 +    sa<sizeof(sink_3_145(ca))          == 4 * sizeof(long)> t2;
3032 +    sa<sizeof(sink_3_145(va))          == 4 * sizeof(long)> t3;
3033 +    sa<sizeof(sink_3_145(cva))         == 4 * sizeof(long)> t4;
3034 +    sa<sizeof(sink_3_145(source()))    == 5 * sizeof(long)> t5;
3035      return 0;
3036  }
3037  
3038 @@ -252,12 +252,12 @@
3039      const          A ca = a;
3040            volatile A va;
3041      const volatile A cva = a;
3042 -    sa<sizeof(sink_3_146(a))           == 1> t1;
3043 -    sa<sizeof(sink_3_146(ca))          == 4> t2;
3044 -    sa<sizeof(sink_3_146(va))          == 4> t3;
3045 -    sa<sizeof(sink_3_146(cva))         == 4> t4;
3046 -    sa<sizeof(sink_3_146(source()))    == 6> t5;
3047 -    sa<sizeof(sink_3_146(c_source()))  == 6> t6;
3048 +    sa<sizeof(sink_3_146(a))           == 1 * sizeof(long)> t1;
3049 +    sa<sizeof(sink_3_146(ca))          == 4 * sizeof(long)> t2;
3050 +    sa<sizeof(sink_3_146(va))          == 4 * sizeof(long)> t3;
3051 +    sa<sizeof(sink_3_146(cva))         == 4 * sizeof(long)> t4;
3052 +    sa<sizeof(sink_3_146(source()))    == 6 * sizeof(long)> t5;
3053 +    sa<sizeof(sink_3_146(c_source()))  == 6 * sizeof(long)> t6;
3054      return 0;
3055  }
3056  
3057 @@ -271,12 +271,12 @@
3058      const          A ca = a;
3059            volatile A va;
3060      const volatile A cva = a;
3061 -    sa<sizeof(sink_3_147(a))           == 1> t1;
3062 -    sa<sizeof(sink_3_147(ca))          == 4> t2;
3063 -    sa<sizeof(sink_3_147(va))          == 4> t3;
3064 -    sa<sizeof(sink_3_147(cva))         == 4> t4;
3065 -    sa<sizeof(sink_3_147(source()))    == 7> t5;
3066 -    sa<sizeof(sink_3_147(v_source()))  == 7> t7;
3067 +    sa<sizeof(sink_3_147(a))           == 1 * sizeof(long)> t1;
3068 +    sa<sizeof(sink_3_147(ca))          == 4 * sizeof(long)> t2;
3069 +    sa<sizeof(sink_3_147(va))          == 4 * sizeof(long)> t3;
3070 +    sa<sizeof(sink_3_147(cva))         == 4 * sizeof(long)> t4;
3071 +    sa<sizeof(sink_3_147(source()))    == 7 * sizeof(long)> t5;
3072 +    sa<sizeof(sink_3_147(v_source()))  == 7 * sizeof(long)> t7;
3073      return 0;
3074  }
3075  
3076 @@ -290,14 +290,14 @@
3077      const          A ca = a;
3078            volatile A va;
3079      const volatile A cva = a;
3080 -    sa<sizeof(sink_3_148(a))           == 1> t1;
3081 -    sa<sizeof(sink_3_148(ca))          == 4> t2;
3082 -    sa<sizeof(sink_3_148(va))          == 4> t3;
3083 -    sa<sizeof(sink_3_148(cva))         == 4> t4;
3084 -    sa<sizeof(sink_3_148(source()))    == 8> t5;
3085 -    sa<sizeof(sink_3_148(c_source()))  == 8> t6;
3086 -    sa<sizeof(sink_3_148(v_source()))  == 8> t7;
3087 -    sa<sizeof(sink_3_148(cv_source())) == 8> t8;
3088 +    sa<sizeof(sink_3_148(a))           == 1 * sizeof(long)> t1;
3089 +    sa<sizeof(sink_3_148(ca))          == 4 * sizeof(long)> t2;
3090 +    sa<sizeof(sink_3_148(va))          == 4 * sizeof(long)> t3;
3091 +    sa<sizeof(sink_3_148(cva))         == 4 * sizeof(long)> t4;
3092 +    sa<sizeof(sink_3_148(source()))    == 8 * sizeof(long)> t5;
3093 +    sa<sizeof(sink_3_148(c_source()))  == 8 * sizeof(long)> t6;
3094 +    sa<sizeof(sink_3_148(v_source()))  == 8 * sizeof(long)> t7;
3095 +    sa<sizeof(sink_3_148(cv_source())) == 8 * sizeof(long)> t8;
3096      return 0;
3097  }
3098  
3099 @@ -311,9 +311,9 @@
3100      const          A ca = a;
3101            volatile A va;
3102      const volatile A cva = a;
3103 -    sa<sizeof(sink_3_156(a))           == 1> t1;
3104 -    sa<sizeof(sink_3_156(source()))    == 5> t5;
3105 -    sa<sizeof(sink_3_156(c_source()))  == 6> t6;
3106 +    sa<sizeof(sink_3_156(a))           == 1 * sizeof(long)> t1;
3107 +    sa<sizeof(sink_3_156(source()))    == 5 * sizeof(long)> t5;
3108 +    sa<sizeof(sink_3_156(c_source()))  == 6 * sizeof(long)> t6;
3109      return 0;
3110  }
3111  
3112 @@ -327,9 +327,9 @@
3113      const          A ca = a;
3114            volatile A va;
3115      const volatile A cva = a;
3116 -    sa<sizeof(sink_3_157(a))           == 1> t1;
3117 -    sa<sizeof(sink_3_157(source()))    == 5> t5;
3118 -    sa<sizeof(sink_3_157(v_source()))  == 7> t7;
3119 +    sa<sizeof(sink_3_157(a))           == 1 * sizeof(long)> t1;
3120 +    sa<sizeof(sink_3_157(source()))    == 5 * sizeof(long)> t5;
3121 +    sa<sizeof(sink_3_157(v_source()))  == 7 * sizeof(long)> t7;
3122      return 0;
3123  }
3124  
3125 @@ -343,11 +343,11 @@
3126      const          A ca = a;
3127            volatile A va;
3128      const volatile A cva = a;
3129 -    sa<sizeof(sink_3_158(a))           == 1> t1;
3130 -    sa<sizeof(sink_3_158(source()))    == 5> t5;
3131 -    sa<sizeof(sink_3_158(c_source()))  == 8> t6;
3132 -    sa<sizeof(sink_3_158(v_source()))  == 8> t7;
3133 -    sa<sizeof(sink_3_158(cv_source())) == 8> t8;
3134 +    sa<sizeof(sink_3_158(a))           == 1 * sizeof(long)> t1;
3135 +    sa<sizeof(sink_3_158(source()))    == 5 * sizeof(long)> t5;
3136 +    sa<sizeof(sink_3_158(c_source()))  == 8 * sizeof(long)> t6;
3137 +    sa<sizeof(sink_3_158(v_source()))  == 8 * sizeof(long)> t7;
3138 +    sa<sizeof(sink_3_158(cv_source())) == 8 * sizeof(long)> t8;
3139      return 0;
3140  }
3141  
3142 @@ -361,9 +361,9 @@
3143      const          A ca = a;
3144            volatile A va;
3145      const volatile A cva = a;
3146 -    sa<sizeof(sink_3_167(a))           == 1> t1;
3147 -    sa<sizeof(sink_3_167(c_source()))  == 6> t6;
3148 -    sa<sizeof(sink_3_167(v_source()))  == 7> t7;
3149 +    sa<sizeof(sink_3_167(a))           == 1 * sizeof(long)> t1;
3150 +    sa<sizeof(sink_3_167(c_source()))  == 6 * sizeof(long)> t6;
3151 +    sa<sizeof(sink_3_167(v_source()))  == 7 * sizeof(long)> t7;
3152      return 0;
3153  }
3154  
3155 @@ -377,11 +377,11 @@
3156      const          A ca = a;
3157            volatile A va;
3158      const volatile A cva = a;
3159 -    sa<sizeof(sink_3_168(a))           == 1> t1;
3160 -    sa<sizeof(sink_3_168(source()))    == 6> t5;
3161 -    sa<sizeof(sink_3_168(c_source()))  == 6> t6;
3162 -    sa<sizeof(sink_3_168(v_source()))  == 8> t7;
3163 -    sa<sizeof(sink_3_168(cv_source())) == 8> t8;
3164 +    sa<sizeof(sink_3_168(a))           == 1 * sizeof(long)> t1;
3165 +    sa<sizeof(sink_3_168(source()))    == 6 * sizeof(long)> t5;
3166 +    sa<sizeof(sink_3_168(c_source()))  == 6 * sizeof(long)> t6;
3167 +    sa<sizeof(sink_3_168(v_source()))  == 8 * sizeof(long)> t7;
3168 +    sa<sizeof(sink_3_168(cv_source())) == 8 * sizeof(long)> t8;
3169      return 0;
3170  }
3171  
3172 @@ -395,11 +395,11 @@
3173      const          A ca = a;
3174            volatile A va;
3175      const volatile A cva = a;
3176 -    sa<sizeof(sink_3_178(a))           == 1> t1;
3177 -    sa<sizeof(sink_3_178(source()))    == 7> t5;
3178 -    sa<sizeof(sink_3_178(c_source()))  == 8> t6;
3179 -    sa<sizeof(sink_3_178(v_source()))  == 7> t7;
3180 -    sa<sizeof(sink_3_178(cv_source())) == 8> t8;
3181 +    sa<sizeof(sink_3_178(a))           == 1 * sizeof(long)> t1;
3182 +    sa<sizeof(sink_3_178(source()))    == 7 * sizeof(long)> t5;
3183 +    sa<sizeof(sink_3_178(c_source()))  == 8 * sizeof(long)> t6;
3184 +    sa<sizeof(sink_3_178(v_source()))  == 7 * sizeof(long)> t7;
3185 +    sa<sizeof(sink_3_178(cv_source())) == 8 * sizeof(long)> t8;
3186      return 0;
3187  }
3188  
3189 @@ -413,11 +413,11 @@
3190      const          A ca = a;
3191            volatile A va;
3192      const volatile A cva = a;
3193 -    sa<sizeof(sink_3_234(ca))          == 2> t2;
3194 -    sa<sizeof(sink_3_234(va))          == 3> t3;
3195 -    sa<sizeof(sink_3_234(cva))         == 4> t4;
3196 -    sa<sizeof(sink_3_234(source()))    == 2> t5;
3197 -    sa<sizeof(sink_3_234(c_source()))  == 2> t6;
3198 +    sa<sizeof(sink_3_234(ca))          == 2 * sizeof(long)> t2;
3199 +    sa<sizeof(sink_3_234(va))          == 3 * sizeof(long)> t3;
3200 +    sa<sizeof(sink_3_234(cva))         == 4 * sizeof(long)> t4;
3201 +    sa<sizeof(sink_3_234(source()))    == 2 * sizeof(long)> t5;
3202 +    sa<sizeof(sink_3_234(c_source()))  == 2 * sizeof(long)> t6;
3203      return 0;
3204  }
3205  
3206 @@ -431,10 +431,10 @@
3207      const          A ca = a;
3208            volatile A va;
3209      const volatile A cva = a;
3210 -    sa<sizeof(sink_3_235(ca))          == 2> t2;
3211 -    sa<sizeof(sink_3_235(va))          == 3> t3;
3212 -    sa<sizeof(sink_3_235(source()))    == 5> t5;
3213 -    sa<sizeof(sink_3_235(c_source()))  == 2> t6;
3214 +    sa<sizeof(sink_3_235(ca))          == 2 * sizeof(long)> t2;
3215 +    sa<sizeof(sink_3_235(va))          == 3 * sizeof(long)> t3;
3216 +    sa<sizeof(sink_3_235(source()))    == 5 * sizeof(long)> t5;
3217 +    sa<sizeof(sink_3_235(c_source()))  == 2 * sizeof(long)> t6;
3218      return 0;
3219  }
3220  
3221 @@ -448,10 +448,10 @@
3222      const          A ca = a;
3223            volatile A va;
3224      const volatile A cva = a;
3225 -    sa<sizeof(sink_3_236(ca))          == 2> t2;
3226 -    sa<sizeof(sink_3_236(va))          == 3> t3;
3227 -    sa<sizeof(sink_3_236(source()))    == 6> t5;
3228 -    sa<sizeof(sink_3_236(c_source()))  == 6> t6;
3229 +    sa<sizeof(sink_3_236(ca))          == 2 * sizeof(long)> t2;
3230 +    sa<sizeof(sink_3_236(va))          == 3 * sizeof(long)> t3;
3231 +    sa<sizeof(sink_3_236(source()))    == 6 * sizeof(long)> t5;
3232 +    sa<sizeof(sink_3_236(c_source()))  == 6 * sizeof(long)> t6;
3233      return 0;
3234  }
3235  
3236 @@ -465,11 +465,11 @@
3237      const          A ca = a;
3238            volatile A va;
3239      const volatile A cva = a;
3240 -    sa<sizeof(sink_3_237(ca))          == 2> t2;
3241 -    sa<sizeof(sink_3_237(va))          == 3> t3;
3242 -    sa<sizeof(sink_3_237(source()))    == 7> t5;
3243 -    sa<sizeof(sink_3_237(c_source()))  == 2> t6;
3244 -    sa<sizeof(sink_3_237(v_source()))  == 7> t7;
3245 +    sa<sizeof(sink_3_237(ca))          == 2 * sizeof(long)> t2;
3246 +    sa<sizeof(sink_3_237(va))          == 3 * sizeof(long)> t3;
3247 +    sa<sizeof(sink_3_237(source()))    == 7 * sizeof(long)> t5;
3248 +    sa<sizeof(sink_3_237(c_source()))  == 2 * sizeof(long)> t6;
3249 +    sa<sizeof(sink_3_237(v_source()))  == 7 * sizeof(long)> t7;
3250      return 0;
3251  }
3252  
3253 @@ -483,12 +483,12 @@
3254      const          A ca = a;
3255            volatile A va;
3256      const volatile A cva = a;
3257 -    sa<sizeof(sink_3_238(ca))          == 2> t2;
3258 -    sa<sizeof(sink_3_238(va))          == 3> t3;
3259 -    sa<sizeof(sink_3_238(source()))    == 8> t5;
3260 -    sa<sizeof(sink_3_238(c_source()))  == 8> t6;
3261 -    sa<sizeof(sink_3_238(v_source()))  == 8> t7;
3262 -    sa<sizeof(sink_3_238(cv_source())) == 8> t8;
3263 +    sa<sizeof(sink_3_238(ca))          == 2 * sizeof(long)> t2;
3264 +    sa<sizeof(sink_3_238(va))          == 3 * sizeof(long)> t3;
3265 +    sa<sizeof(sink_3_238(source()))    == 8 * sizeof(long)> t5;
3266 +    sa<sizeof(sink_3_238(c_source()))  == 8 * sizeof(long)> t6;
3267 +    sa<sizeof(sink_3_238(v_source()))  == 8 * sizeof(long)> t7;
3268 +    sa<sizeof(sink_3_238(cv_source())) == 8 * sizeof(long)> t8;
3269      return 0;
3270  }
3271  
3272 @@ -502,12 +502,12 @@
3273      const          A ca = a;
3274            volatile A va;
3275      const volatile A cva = a;
3276 -    sa<sizeof(sink_3_245(a))           == 2> t1;
3277 -    sa<sizeof(sink_3_245(ca))          == 2> t2;
3278 -    sa<sizeof(sink_3_245(va))          == 4> t3;
3279 -    sa<sizeof(sink_3_245(cva))         == 4> t4;
3280 -    sa<sizeof(sink_3_245(source()))    == 5> t5;
3281 -    sa<sizeof(sink_3_245(c_source()))  == 2> t6;
3282 +    sa<sizeof(sink_3_245(a))           == 2 * sizeof(long)> t1;
3283 +    sa<sizeof(sink_3_245(ca))          == 2 * sizeof(long)> t2;
3284 +    sa<sizeof(sink_3_245(va))          == 4 * sizeof(long)> t3;
3285 +    sa<sizeof(sink_3_245(cva))         == 4 * sizeof(long)> t4;
3286 +    sa<sizeof(sink_3_245(source()))    == 5 * sizeof(long)> t5;
3287 +    sa<sizeof(sink_3_245(c_source()))  == 2 * sizeof(long)> t6;
3288      return 0;
3289  }
3290  
3291 @@ -521,12 +521,12 @@
3292      const          A ca = a;
3293            volatile A va;
3294      const volatile A cva = a;
3295 -    sa<sizeof(sink_3_246(a))           == 2> t1;
3296 -    sa<sizeof(sink_3_246(ca))          == 2> t2;
3297 -    sa<sizeof(sink_3_246(va))          == 4> t3;
3298 -    sa<sizeof(sink_3_246(cva))         == 4> t4;
3299 -    sa<sizeof(sink_3_246(source()))    == 6> t5;
3300 -    sa<sizeof(sink_3_246(c_source()))  == 6> t6;
3301 +    sa<sizeof(sink_3_246(a))           == 2 * sizeof(long)> t1;
3302 +    sa<sizeof(sink_3_246(ca))          == 2 * sizeof(long)> t2;
3303 +    sa<sizeof(sink_3_246(va))          == 4 * sizeof(long)> t3;
3304 +    sa<sizeof(sink_3_246(cva))         == 4 * sizeof(long)> t4;
3305 +    sa<sizeof(sink_3_246(source()))    == 6 * sizeof(long)> t5;
3306 +    sa<sizeof(sink_3_246(c_source()))  == 6 * sizeof(long)> t6;
3307      return 0;
3308  }
3309  
3310 @@ -540,13 +540,13 @@
3311      const          A ca = a;
3312            volatile A va;
3313      const volatile A cva = a;
3314 -    sa<sizeof(sink_3_247(a))           == 2> t1;
3315 -    sa<sizeof(sink_3_247(ca))          == 2> t2;
3316 -    sa<sizeof(sink_3_247(va))          == 4> t3;
3317 -    sa<sizeof(sink_3_247(cva))         == 4> t4;
3318 -    sa<sizeof(sink_3_247(source()))    == 7> t5;
3319 -    sa<sizeof(sink_3_247(c_source()))  == 2> t6;
3320 -    sa<sizeof(sink_3_247(v_source()))  == 7> t7;
3321 +    sa<sizeof(sink_3_247(a))           == 2 * sizeof(long)> t1;
3322 +    sa<sizeof(sink_3_247(ca))          == 2 * sizeof(long)> t2;
3323 +    sa<sizeof(sink_3_247(va))          == 4 * sizeof(long)> t3;
3324 +    sa<sizeof(sink_3_247(cva))         == 4 * sizeof(long)> t4;
3325 +    sa<sizeof(sink_3_247(source()))    == 7 * sizeof(long)> t5;
3326 +    sa<sizeof(sink_3_247(c_source()))  == 2 * sizeof(long)> t6;
3327 +    sa<sizeof(sink_3_247(v_source()))  == 7 * sizeof(long)> t7;
3328      return 0;
3329  }
3330  
3331 @@ -560,14 +560,14 @@
3332      const          A ca = a;
3333            volatile A va;
3334      const volatile A cva = a;
3335 -    sa<sizeof(sink_3_248(a))           == 2> t1;
3336 -    sa<sizeof(sink_3_248(ca))          == 2> t2;
3337 -    sa<sizeof(sink_3_248(va))          == 4> t3;
3338 -    sa<sizeof(sink_3_248(cva))         == 4> t4;
3339 -    sa<sizeof(sink_3_248(source()))    == 8> t5;
3340 -    sa<sizeof(sink_3_248(c_source()))  == 8> t6;
3341 -    sa<sizeof(sink_3_248(v_source()))  == 8> t7;
3342 -    sa<sizeof(sink_3_248(cv_source())) == 8> t8;
3343 +    sa<sizeof(sink_3_248(a))           == 2 * sizeof(long)> t1;
3344 +    sa<sizeof(sink_3_248(ca))          == 2 * sizeof(long)> t2;
3345 +    sa<sizeof(sink_3_248(va))          == 4 * sizeof(long)> t3;
3346 +    sa<sizeof(sink_3_248(cva))         == 4 * sizeof(long)> t4;
3347 +    sa<sizeof(sink_3_248(source()))    == 8 * sizeof(long)> t5;
3348 +    sa<sizeof(sink_3_248(c_source()))  == 8 * sizeof(long)> t6;
3349 +    sa<sizeof(sink_3_248(v_source()))  == 8 * sizeof(long)> t7;
3350 +    sa<sizeof(sink_3_248(cv_source())) == 8 * sizeof(long)> t8;
3351      return 0;
3352  }
3353  
3354 @@ -581,10 +581,10 @@
3355      const          A ca = a;
3356            volatile A va;
3357      const volatile A cva = a;
3358 -    sa<sizeof(sink_3_256(a))           == 2> t1;
3359 -    sa<sizeof(sink_3_256(ca))          == 2> t2;
3360 -    sa<sizeof(sink_3_256(source()))    == 5> t5;
3361 -    sa<sizeof(sink_3_256(c_source()))  == 6> t6;
3362 +    sa<sizeof(sink_3_256(a))           == 2 * sizeof(long)> t1;
3363 +    sa<sizeof(sink_3_256(ca))          == 2 * sizeof(long)> t2;
3364 +    sa<sizeof(sink_3_256(source()))    == 5 * sizeof(long)> t5;
3365 +    sa<sizeof(sink_3_256(c_source()))  == 6 * sizeof(long)> t6;
3366      return 0;
3367  }
3368  
3369 @@ -598,11 +598,11 @@
3370      const          A ca = a;
3371            volatile A va;
3372      const volatile A cva = a;
3373 -    sa<sizeof(sink_3_257(a))           == 2> t1;
3374 -    sa<sizeof(sink_3_257(ca))          == 2> t2;
3375 -    sa<sizeof(sink_3_257(source()))    == 5> t5;
3376 -    sa<sizeof(sink_3_257(c_source()))  == 2> t6;
3377 -    sa<sizeof(sink_3_257(v_source()))  == 7> t7;
3378 +    sa<sizeof(sink_3_257(a))           == 2 * sizeof(long)> t1;
3379 +    sa<sizeof(sink_3_257(ca))          == 2 * sizeof(long)> t2;
3380 +    sa<sizeof(sink_3_257(source()))    == 5 * sizeof(long)> t5;
3381 +    sa<sizeof(sink_3_257(c_source()))  == 2 * sizeof(long)> t6;
3382 +    sa<sizeof(sink_3_257(v_source()))  == 7 * sizeof(long)> t7;
3383      return 0;
3384  }
3385  
3386 @@ -616,12 +616,12 @@
3387      const          A ca = a;
3388            volatile A va;
3389      const volatile A cva = a;
3390 -    sa<sizeof(sink_3_258(a))           == 2> t1;
3391 -    sa<sizeof(sink_3_258(ca))          == 2> t2;
3392 -    sa<sizeof(sink_3_258(source()))    == 5> t5;
3393 -    sa<sizeof(sink_3_258(c_source()))  == 8> t6;
3394 -    sa<sizeof(sink_3_258(v_source()))  == 8> t7;
3395 -    sa<sizeof(sink_3_258(cv_source())) == 8> t8;
3396 +    sa<sizeof(sink_3_258(a))           == 2 * sizeof(long)> t1;
3397 +    sa<sizeof(sink_3_258(ca))          == 2 * sizeof(long)> t2;
3398 +    sa<sizeof(sink_3_258(source()))    == 5 * sizeof(long)> t5;
3399 +    sa<sizeof(sink_3_258(c_source()))  == 8 * sizeof(long)> t6;
3400 +    sa<sizeof(sink_3_258(v_source()))  == 8 * sizeof(long)> t7;
3401 +    sa<sizeof(sink_3_258(cv_source())) == 8 * sizeof(long)> t8;
3402      return 0;
3403  }
3404  
3405 @@ -635,10 +635,10 @@
3406      const          A ca = a;
3407            volatile A va;
3408      const volatile A cva = a;
3409 -    sa<sizeof(sink_3_267(a))           == 2> t1;
3410 -    sa<sizeof(sink_3_267(ca))          == 2> t2;
3411 -    sa<sizeof(sink_3_267(c_source()))  == 6> t6;
3412 -    sa<sizeof(sink_3_267(v_source()))  == 7> t7;
3413 +    sa<sizeof(sink_3_267(a))           == 2 * sizeof(long)> t1;
3414 +    sa<sizeof(sink_3_267(ca))          == 2 * sizeof(long)> t2;
3415 +    sa<sizeof(sink_3_267(c_source()))  == 6 * sizeof(long)> t6;
3416 +    sa<sizeof(sink_3_267(v_source()))  == 7 * sizeof(long)> t7;
3417      return 0;
3418  }
3419  
3420 @@ -652,12 +652,12 @@
3421      const          A ca = a;
3422            volatile A va;
3423      const volatile A cva = a;
3424 -    sa<sizeof(sink_3_268(a))           == 2> t1;
3425 -    sa<sizeof(sink_3_268(ca))          == 2> t2;
3426 -    sa<sizeof(sink_3_268(source()))    == 6> t5;
3427 -    sa<sizeof(sink_3_268(c_source()))  == 6> t6;
3428 -    sa<sizeof(sink_3_268(v_source()))  == 8> t7;
3429 -    sa<sizeof(sink_3_268(cv_source())) == 8> t8;
3430 +    sa<sizeof(sink_3_268(a))           == 2 * sizeof(long)> t1;
3431 +    sa<sizeof(sink_3_268(ca))          == 2 * sizeof(long)> t2;
3432 +    sa<sizeof(sink_3_268(source()))    == 6 * sizeof(long)> t5;
3433 +    sa<sizeof(sink_3_268(c_source()))  == 6 * sizeof(long)> t6;
3434 +    sa<sizeof(sink_3_268(v_source()))  == 8 * sizeof(long)> t7;
3435 +    sa<sizeof(sink_3_268(cv_source())) == 8 * sizeof(long)> t8;
3436      return 0;
3437  }
3438  
3439 @@ -671,12 +671,12 @@
3440      const          A ca = a;
3441            volatile A va;
3442      const volatile A cva = a;
3443 -    sa<sizeof(sink_3_278(a))           == 2> t1;
3444 -    sa<sizeof(sink_3_278(ca))          == 2> t2;
3445 -    sa<sizeof(sink_3_278(source()))    == 7> t5;
3446 -    sa<sizeof(sink_3_278(c_source()))  == 8> t6;
3447 -    sa<sizeof(sink_3_278(v_source()))  == 7> t7;
3448 -    sa<sizeof(sink_3_278(cv_source())) == 8> t8;
3449 +    sa<sizeof(sink_3_278(a))           == 2 * sizeof(long)> t1;
3450 +    sa<sizeof(sink_3_278(ca))          == 2 * sizeof(long)> t2;
3451 +    sa<sizeof(sink_3_278(source()))    == 7 * sizeof(long)> t5;
3452 +    sa<sizeof(sink_3_278(c_source()))  == 8 * sizeof(long)> t6;
3453 +    sa<sizeof(sink_3_278(v_source()))  == 7 * sizeof(long)> t7;
3454 +    sa<sizeof(sink_3_278(cv_source())) == 8 * sizeof(long)> t8;
3455      return 0;
3456  }
3457  
3458 @@ -690,11 +690,11 @@
3459      const          A ca = a;
3460            volatile A va;
3461      const volatile A cva = a;
3462 -    sa<sizeof(sink_3_345(a))           == 3> t1;
3463 -    sa<sizeof(sink_3_345(ca))          == 4> t2;
3464 -    sa<sizeof(sink_3_345(va))          == 3> t3;
3465 -    sa<sizeof(sink_3_345(cva))         == 4> t4;
3466 -    sa<sizeof(sink_3_345(source()))    == 5> t5;
3467 +    sa<sizeof(sink_3_345(a))           == 3 * sizeof(long)> t1;
3468 +    sa<sizeof(sink_3_345(ca))          == 4 * sizeof(long)> t2;
3469 +    sa<sizeof(sink_3_345(va))          == 3 * sizeof(long)> t3;
3470 +    sa<sizeof(sink_3_345(cva))         == 4 * sizeof(long)> t4;
3471 +    sa<sizeof(sink_3_345(source()))    == 5 * sizeof(long)> t5;
3472      return 0;
3473  }
3474  
3475 @@ -708,12 +708,12 @@
3476      const          A ca = a;
3477            volatile A va;
3478      const volatile A cva = a;
3479 -    sa<sizeof(sink_3_346(a))           == 3> t1;
3480 -    sa<sizeof(sink_3_346(ca))          == 4> t2;
3481 -    sa<sizeof(sink_3_346(va))          == 3> t3;
3482 -    sa<sizeof(sink_3_346(cva))         == 4> t4;
3483 -    sa<sizeof(sink_3_346(source()))    == 6> t5;
3484 -    sa<sizeof(sink_3_346(c_source()))  == 6> t6;
3485 +    sa<sizeof(sink_3_346(a))           == 3 * sizeof(long)> t1;
3486 +    sa<sizeof(sink_3_346(ca))          == 4 * sizeof(long)> t2;
3487 +    sa<sizeof(sink_3_346(va))          == 3 * sizeof(long)> t3;
3488 +    sa<sizeof(sink_3_346(cva))         == 4 * sizeof(long)> t4;
3489 +    sa<sizeof(sink_3_346(source()))    == 6 * sizeof(long)> t5;
3490 +    sa<sizeof(sink_3_346(c_source()))  == 6 * sizeof(long)> t6;
3491      return 0;
3492  }
3493  
3494 @@ -727,12 +727,12 @@
3495      const          A ca = a;
3496            volatile A va;
3497      const volatile A cva = a;
3498 -    sa<sizeof(sink_3_347(a))           == 3> t1;
3499 -    sa<sizeof(sink_3_347(ca))          == 4> t2;
3500 -    sa<sizeof(sink_3_347(va))          == 3> t3;
3501 -    sa<sizeof(sink_3_347(cva))         == 4> t4;
3502 -    sa<sizeof(sink_3_347(source()))    == 7> t5;
3503 -    sa<sizeof(sink_3_347(v_source()))  == 7> t7;
3504 +    sa<sizeof(sink_3_347(a))           == 3 * sizeof(long)> t1;
3505 +    sa<sizeof(sink_3_347(ca))          == 4 * sizeof(long)> t2;
3506 +    sa<sizeof(sink_3_347(va))          == 3 * sizeof(long)> t3;
3507 +    sa<sizeof(sink_3_347(cva))         == 4 * sizeof(long)> t4;
3508 +    sa<sizeof(sink_3_347(source()))    == 7 * sizeof(long)> t5;
3509 +    sa<sizeof(sink_3_347(v_source()))  == 7 * sizeof(long)> t7;
3510      return 0;
3511  }
3512  
3513 @@ -746,14 +746,14 @@
3514      const          A ca = a;
3515            volatile A va;
3516      const volatile A cva = a;
3517 -    sa<sizeof(sink_3_348(a))           == 3> t1;
3518 -    sa<sizeof(sink_3_348(ca))          == 4> t2;
3519 -    sa<sizeof(sink_3_348(va))          == 3> t3;
3520 -    sa<sizeof(sink_3_348(cva))         == 4> t4;
3521 -    sa<sizeof(sink_3_348(source()))    == 8> t5;
3522 -    sa<sizeof(sink_3_348(c_source()))  == 8> t6;
3523 -    sa<sizeof(sink_3_348(v_source()))  == 8> t7;
3524 -    sa<sizeof(sink_3_348(cv_source())) == 8> t8;
3525 +    sa<sizeof(sink_3_348(a))           == 3 * sizeof(long)> t1;
3526 +    sa<sizeof(sink_3_348(ca))          == 4 * sizeof(long)> t2;
3527 +    sa<sizeof(sink_3_348(va))          == 3 * sizeof(long)> t3;
3528 +    sa<sizeof(sink_3_348(cva))         == 4 * sizeof(long)> t4;
3529 +    sa<sizeof(sink_3_348(source()))    == 8 * sizeof(long)> t5;
3530 +    sa<sizeof(sink_3_348(c_source()))  == 8 * sizeof(long)> t6;
3531 +    sa<sizeof(sink_3_348(v_source()))  == 8 * sizeof(long)> t7;
3532 +    sa<sizeof(sink_3_348(cv_source())) == 8 * sizeof(long)> t8;
3533      return 0;
3534  }
3535  
3536 @@ -767,10 +767,10 @@
3537      const          A ca = a;
3538            volatile A va;
3539      const volatile A cva = a;
3540 -    sa<sizeof(sink_3_356(a))           == 3> t1;
3541 -    sa<sizeof(sink_3_356(va))          == 3> t3;
3542 -    sa<sizeof(sink_3_356(source()))    == 5> t5;
3543 -    sa<sizeof(sink_3_356(c_source()))  == 6> t6;
3544 +    sa<sizeof(sink_3_356(a))           == 3 * sizeof(long)> t1;
3545 +    sa<sizeof(sink_3_356(va))          == 3 * sizeof(long)> t3;
3546 +    sa<sizeof(sink_3_356(source()))    == 5 * sizeof(long)> t5;
3547 +    sa<sizeof(sink_3_356(c_source()))  == 6 * sizeof(long)> t6;
3548      return 0;
3549  }
3550  
3551 @@ -784,10 +784,10 @@
3552      const          A ca = a;
3553            volatile A va;
3554      const volatile A cva = a;
3555 -    sa<sizeof(sink_3_357(a))           == 3> t1;
3556 -    sa<sizeof(sink_3_357(va))          == 3> t3;
3557 -    sa<sizeof(sink_3_357(source()))    == 5> t5;
3558 -    sa<sizeof(sink_3_357(v_source()))  == 7> t7;
3559 +    sa<sizeof(sink_3_357(a))           == 3 * sizeof(long)> t1;
3560 +    sa<sizeof(sink_3_357(va))          == 3 * sizeof(long)> t3;
3561 +    sa<sizeof(sink_3_357(source()))    == 5 * sizeof(long)> t5;
3562 +    sa<sizeof(sink_3_357(v_source()))  == 7 * sizeof(long)> t7;
3563      return 0;
3564  }
3565  
3566 @@ -801,12 +801,12 @@
3567      const          A ca = a;
3568            volatile A va;
3569      const volatile A cva = a;
3570 -    sa<sizeof(sink_3_358(a))           == 3> t1;
3571 -    sa<sizeof(sink_3_358(va))          == 3> t3;
3572 -    sa<sizeof(sink_3_358(source()))    == 5> t5;
3573 -    sa<sizeof(sink_3_358(c_source()))  == 8> t6;
3574 -    sa<sizeof(sink_3_358(v_source()))  == 8> t7;
3575 -    sa<sizeof(sink_3_358(cv_source())) == 8> t8;
3576 +    sa<sizeof(sink_3_358(a))           == 3 * sizeof(long)> t1;
3577 +    sa<sizeof(sink_3_358(va))          == 3 * sizeof(long)> t3;
3578 +    sa<sizeof(sink_3_358(source()))    == 5 * sizeof(long)> t5;
3579 +    sa<sizeof(sink_3_358(c_source()))  == 8 * sizeof(long)> t6;
3580 +    sa<sizeof(sink_3_358(v_source()))  == 8 * sizeof(long)> t7;
3581 +    sa<sizeof(sink_3_358(cv_source())) == 8 * sizeof(long)> t8;
3582      return 0;
3583  }
3584  
3585 @@ -820,10 +820,10 @@
3586      const          A ca = a;
3587            volatile A va;
3588      const volatile A cva = a;
3589 -    sa<sizeof(sink_3_367(a))           == 3> t1;
3590 -    sa<sizeof(sink_3_367(va))          == 3> t3;
3591 -    sa<sizeof(sink_3_367(c_source()))  == 6> t6;
3592 -    sa<sizeof(sink_3_367(v_source()))  == 7> t7;
3593 +    sa<sizeof(sink_3_367(a))           == 3 * sizeof(long)> t1;
3594 +    sa<sizeof(sink_3_367(va))          == 3 * sizeof(long)> t3;
3595 +    sa<sizeof(sink_3_367(c_source()))  == 6 * sizeof(long)> t6;
3596 +    sa<sizeof(sink_3_367(v_source()))  == 7 * sizeof(long)> t7;
3597      return 0;
3598  }
3599  
3600 @@ -837,12 +837,12 @@
3601      const          A ca = a;
3602            volatile A va;
3603      const volatile A cva = a;
3604 -    sa<sizeof(sink_3_368(a))           == 3> t1;
3605 -    sa<sizeof(sink_3_368(va))          == 3> t3;
3606 -    sa<sizeof(sink_3_368(source()))    == 6> t5;
3607 -    sa<sizeof(sink_3_368(c_source()))  == 6> t6;
3608 -    sa<sizeof(sink_3_368(v_source()))  == 8> t7;
3609 -    sa<sizeof(sink_3_368(cv_source())) == 8> t8;
3610 +    sa<sizeof(sink_3_368(a))           == 3 * sizeof(long)> t1;
3611 +    sa<sizeof(sink_3_368(va))          == 3 * sizeof(long)> t3;
3612 +    sa<sizeof(sink_3_368(source()))    == 6 * sizeof(long)> t5;
3613 +    sa<sizeof(sink_3_368(c_source()))  == 6 * sizeof(long)> t6;
3614 +    sa<sizeof(sink_3_368(v_source()))  == 8 * sizeof(long)> t7;
3615 +    sa<sizeof(sink_3_368(cv_source())) == 8 * sizeof(long)> t8;
3616      return 0;
3617  }
3618  
3619 @@ -856,12 +856,12 @@
3620      const          A ca = a;
3621            volatile A va;
3622      const volatile A cva = a;
3623 -    sa<sizeof(sink_3_378(a))           == 3> t1;
3624 -    sa<sizeof(sink_3_378(va))          == 3> t3;
3625 -    sa<sizeof(sink_3_378(source()))    == 7> t5;
3626 -    sa<sizeof(sink_3_378(c_source()))  == 8> t6;
3627 -    sa<sizeof(sink_3_378(v_source()))  == 7> t7;
3628 -    sa<sizeof(sink_3_378(cv_source())) == 8> t8;
3629 +    sa<sizeof(sink_3_378(a))           == 3 * sizeof(long)> t1;
3630 +    sa<sizeof(sink_3_378(va))          == 3 * sizeof(long)> t3;
3631 +    sa<sizeof(sink_3_378(source()))    == 7 * sizeof(long)> t5;
3632 +    sa<sizeof(sink_3_378(c_source()))  == 8 * sizeof(long)> t6;
3633 +    sa<sizeof(sink_3_378(v_source()))  == 7 * sizeof(long)> t7;
3634 +    sa<sizeof(sink_3_378(cv_source())) == 8 * sizeof(long)> t8;
3635      return 0;
3636  }
3637  
3638 @@ -875,12 +875,12 @@
3639      const          A ca = a;
3640            volatile A va;
3641      const volatile A cva = a;
3642 -    sa<sizeof(sink_3_456(a))           == 4> t1;
3643 -    sa<sizeof(sink_3_456(ca))          == 4> t2;
3644 -    sa<sizeof(sink_3_456(va))          == 4> t3;
3645 -    sa<sizeof(sink_3_456(cva))         == 4> t4;
3646 -    sa<sizeof(sink_3_456(source()))    == 5> t5;
3647 -    sa<sizeof(sink_3_456(c_source()))  == 6> t6;
3648 +    sa<sizeof(sink_3_456(a))           == 4 * sizeof(long)> t1;
3649 +    sa<sizeof(sink_3_456(ca))          == 4 * sizeof(long)> t2;
3650 +    sa<sizeof(sink_3_456(va))          == 4 * sizeof(long)> t3;
3651 +    sa<sizeof(sink_3_456(cva))         == 4 * sizeof(long)> t4;
3652 +    sa<sizeof(sink_3_456(source()))    == 5 * sizeof(long)> t5;
3653 +    sa<sizeof(sink_3_456(c_source()))  == 6 * sizeof(long)> t6;
3654      return 0;
3655  }
3656  
3657 @@ -894,12 +894,12 @@
3658      const          A ca = a;
3659            volatile A va;
3660      const volatile A cva = a;
3661 -    sa<sizeof(sink_3_457(a))           == 4> t1;
3662 -    sa<sizeof(sink_3_457(ca))          == 4> t2;
3663 -    sa<sizeof(sink_3_457(va))          == 4> t3;
3664 -    sa<sizeof(sink_3_457(cva))         == 4> t4;
3665 -    sa<sizeof(sink_3_457(source()))    == 5> t5;
3666 -    sa<sizeof(sink_3_457(v_source()))  == 7> t7;
3667 +    sa<sizeof(sink_3_457(a))           == 4 * sizeof(long)> t1;
3668 +    sa<sizeof(sink_3_457(ca))          == 4 * sizeof(long)> t2;
3669 +    sa<sizeof(sink_3_457(va))          == 4 * sizeof(long)> t3;
3670 +    sa<sizeof(sink_3_457(cva))         == 4 * sizeof(long)> t4;
3671 +    sa<sizeof(sink_3_457(source()))    == 5 * sizeof(long)> t5;
3672 +    sa<sizeof(sink_3_457(v_source()))  == 7 * sizeof(long)> t7;
3673      return 0;
3674  }
3675  
3676 @@ -913,14 +913,14 @@
3677      const          A ca = a;
3678            volatile A va;
3679      const volatile A cva = a;
3680 -    sa<sizeof(sink_3_458(a))           == 4> t1;
3681 -    sa<sizeof(sink_3_458(ca))          == 4> t2;
3682 -    sa<sizeof(sink_3_458(va))          == 4> t3;
3683 -    sa<sizeof(sink_3_458(cva))         == 4> t4;
3684 -    sa<sizeof(sink_3_458(source()))    == 5> t5;
3685 -    sa<sizeof(sink_3_458(c_source()))  == 8> t6;
3686 -    sa<sizeof(sink_3_458(v_source()))  == 8> t7;
3687 -    sa<sizeof(sink_3_458(cv_source())) == 8> t8;
3688 +    sa<sizeof(sink_3_458(a))           == 4 * sizeof(long)> t1;
3689 +    sa<sizeof(sink_3_458(ca))          == 4 * sizeof(long)> t2;
3690 +    sa<sizeof(sink_3_458(va))          == 4 * sizeof(long)> t3;
3691 +    sa<sizeof(sink_3_458(cva))         == 4 * sizeof(long)> t4;
3692 +    sa<sizeof(sink_3_458(source()))    == 5 * sizeof(long)> t5;
3693 +    sa<sizeof(sink_3_458(c_source()))  == 8 * sizeof(long)> t6;
3694 +    sa<sizeof(sink_3_458(v_source()))  == 8 * sizeof(long)> t7;
3695 +    sa<sizeof(sink_3_458(cv_source())) == 8 * sizeof(long)> t8;
3696      return 0;
3697  }
3698  
3699 @@ -934,12 +934,12 @@
3700      const          A ca = a;
3701            volatile A va;
3702      const volatile A cva = a;
3703 -    sa<sizeof(sink_3_467(a))           == 4> t1;
3704 -    sa<sizeof(sink_3_467(ca))          == 4> t2;
3705 -    sa<sizeof(sink_3_467(va))          == 4> t3;
3706 -    sa<sizeof(sink_3_467(cva))         == 4> t4;
3707 -    sa<sizeof(sink_3_467(c_source()))  == 6> t6;
3708 -    sa<sizeof(sink_3_467(v_source()))  == 7> t7;
3709 +    sa<sizeof(sink_3_467(a))           == 4 * sizeof(long)> t1;
3710 +    sa<sizeof(sink_3_467(ca))          == 4 * sizeof(long)> t2;
3711 +    sa<sizeof(sink_3_467(va))          == 4 * sizeof(long)> t3;
3712 +    sa<sizeof(sink_3_467(cva))         == 4 * sizeof(long)> t4;
3713 +    sa<sizeof(sink_3_467(c_source()))  == 6 * sizeof(long)> t6;
3714 +    sa<sizeof(sink_3_467(v_source()))  == 7 * sizeof(long)> t7;
3715      return 0;
3716  }
3717  
3718 @@ -953,14 +953,14 @@
3719      const          A ca = a;
3720            volatile A va;
3721      const volatile A cva = a;
3722 -    sa<sizeof(sink_3_468(a))           == 4> t1;
3723 -    sa<sizeof(sink_3_468(ca))          == 4> t2;
3724 -    sa<sizeof(sink_3_468(va))          == 4> t3;
3725 -    sa<sizeof(sink_3_468(cva))         == 4> t4;
3726 -    sa<sizeof(sink_3_468(source()))    == 6> t5;
3727 -    sa<sizeof(sink_3_468(c_source()))  == 6> t6;
3728 -    sa<sizeof(sink_3_468(v_source()))  == 8> t7;
3729 -    sa<sizeof(sink_3_468(cv_source())) == 8> t8;
3730 +    sa<sizeof(sink_3_468(a))           == 4 * sizeof(long)> t1;
3731 +    sa<sizeof(sink_3_468(ca))          == 4 * sizeof(long)> t2;
3732 +    sa<sizeof(sink_3_468(va))          == 4 * sizeof(long)> t3;
3733 +    sa<sizeof(sink_3_468(cva))         == 4 * sizeof(long)> t4;
3734 +    sa<sizeof(sink_3_468(source()))    == 6 * sizeof(long)> t5;
3735 +    sa<sizeof(sink_3_468(c_source()))  == 6 * sizeof(long)> t6;
3736 +    sa<sizeof(sink_3_468(v_source()))  == 8 * sizeof(long)> t7;
3737 +    sa<sizeof(sink_3_468(cv_source())) == 8 * sizeof(long)> t8;
3738      return 0;
3739  }
3740  
3741 @@ -974,14 +974,14 @@
3742      const          A ca = a;
3743            volatile A va;
3744      const volatile A cva = a;
3745 -    sa<sizeof(sink_3_478(a))           == 4> t1;
3746 -    sa<sizeof(sink_3_478(ca))          == 4> t2;
3747 -    sa<sizeof(sink_3_478(va))          == 4> t3;
3748 -    sa<sizeof(sink_3_478(cva))         == 4> t4;
3749 -    sa<sizeof(sink_3_478(source()))    == 7> t5;
3750 -    sa<sizeof(sink_3_478(c_source()))  == 8> t6;
3751 -    sa<sizeof(sink_3_478(v_source()))  == 7> t7;
3752 -    sa<sizeof(sink_3_478(cv_source())) == 8> t8;
3753 +    sa<sizeof(sink_3_478(a))           == 4 * sizeof(long)> t1;
3754 +    sa<sizeof(sink_3_478(ca))          == 4 * sizeof(long)> t2;
3755 +    sa<sizeof(sink_3_478(va))          == 4 * sizeof(long)> t3;
3756 +    sa<sizeof(sink_3_478(cva))         == 4 * sizeof(long)> t4;
3757 +    sa<sizeof(sink_3_478(source()))    == 7 * sizeof(long)> t5;
3758 +    sa<sizeof(sink_3_478(c_source()))  == 8 * sizeof(long)> t6;
3759 +    sa<sizeof(sink_3_478(v_source()))  == 7 * sizeof(long)> t7;
3760 +    sa<sizeof(sink_3_478(cv_source())) == 8 * sizeof(long)> t8;
3761      return 0;
3762  }
3763  
3764 @@ -995,9 +995,9 @@
3765      const          A ca = a;
3766            volatile A va;
3767      const volatile A cva = a;
3768 -    sa<sizeof(sink_3_567(source()))    == 5> t5;
3769 -    sa<sizeof(sink_3_567(c_source()))  == 6> t6;
3770 -    sa<sizeof(sink_3_567(v_source()))  == 7> t7;
3771 +    sa<sizeof(sink_3_567(source()))    == 5 * sizeof(long)> t5;
3772 +    sa<sizeof(sink_3_567(c_source()))  == 6 * sizeof(long)> t6;
3773 +    sa<sizeof(sink_3_567(v_source()))  == 7 * sizeof(long)> t7;
3774      return 0;
3775  }
3776  
3777 @@ -1011,10 +1011,10 @@
3778      const          A ca = a;
3779            volatile A va;
3780      const volatile A cva = a;
3781 -    sa<sizeof(sink_3_568(source()))    == 5> t5;
3782 -    sa<sizeof(sink_3_568(c_source()))  == 6> t6;
3783 -    sa<sizeof(sink_3_568(v_source()))  == 8> t7;
3784 -    sa<sizeof(sink_3_568(cv_source())) == 8> t8;
3785 +    sa<sizeof(sink_3_568(source()))    == 5 * sizeof(long)> t5;
3786 +    sa<sizeof(sink_3_568(c_source()))  == 6 * sizeof(long)> t6;
3787 +    sa<sizeof(sink_3_568(v_source()))  == 8 * sizeof(long)> t7;
3788 +    sa<sizeof(sink_3_568(cv_source())) == 8 * sizeof(long)> t8;
3789      return 0;
3790  }
3791  
3792 @@ -1028,10 +1028,10 @@
3793      const          A ca = a;
3794            volatile A va;
3795      const volatile A cva = a;
3796 -    sa<sizeof(sink_3_578(source()))    == 5> t5;
3797 -    sa<sizeof(sink_3_578(c_source()))  == 8> t6;
3798 -    sa<sizeof(sink_3_578(v_source()))  == 7> t7;
3799 -    sa<sizeof(sink_3_578(cv_source())) == 8> t8;
3800 +    sa<sizeof(sink_3_578(source()))    == 5 * sizeof(long)> t5;
3801 +    sa<sizeof(sink_3_578(c_source()))  == 8 * sizeof(long)> t6;
3802 +    sa<sizeof(sink_3_578(v_source()))  == 7 * sizeof(long)> t7;
3803 +    sa<sizeof(sink_3_578(cv_source())) == 8 * sizeof(long)> t8;
3804      return 0;
3805  }
3806  
3807 @@ -1045,9 +1045,9 @@
3808      const          A ca = a;
3809            volatile A va;
3810      const volatile A cva = a;
3811 -    sa<sizeof(sink_3_678(c_source()))  == 6> t6;
3812 -    sa<sizeof(sink_3_678(v_source()))  == 7> t7;
3813 -    sa<sizeof(sink_3_678(cv_source())) == 8> t8;
3814 +    sa<sizeof(sink_3_678(c_source()))  == 6 * sizeof(long)> t6;
3815 +    sa<sizeof(sink_3_678(v_source()))  == 7 * sizeof(long)> t7;
3816 +    sa<sizeof(sink_3_678(cv_source())) == 8 * sizeof(long)> t8;
3817      return 0;
3818  }
3819  
3820 Index: gcc/testsuite/g++.dg/cpp0x/rv4p.C
3821 ===================================================================
3822 --- gcc/testsuite/g++.dg/cpp0x/rv4p.C   (.../tags/gcc_4_5_1_release)    (wersja 163628)
3823 +++ gcc/testsuite/g++.dg/cpp0x/rv4p.C   (.../branches/gcc-4_5-branch)   (wersja 163628)
3824 @@ -8,14 +8,14 @@
3825  template <bool> struct sa;
3826  template <> struct sa<true> {};
3827  
3828 -struct one   {char x[1];};
3829 -struct two   {char x[2];};
3830 -struct three {char x[3];};
3831 -struct four  {char x[4];};
3832 -struct five  {char x[5];};
3833 -struct six   {char x[6];};
3834 -struct seven {char x[7];};
3835 -struct eight {char x[8];};
3836 +struct one   {long x[1];};
3837 +struct two   {long x[2];};
3838 +struct three {long x[3];};
3839 +struct four  {long x[4];};
3840 +struct five  {long x[5];};
3841 +struct six   {long x[6];};
3842 +struct seven {long x[7];};
3843 +struct eight {long x[8];};
3844  
3845  struct A
3846  {
3847 @@ -41,12 +41,12 @@
3848      const          A ca = a;
3849            volatile A va;
3850      const volatile A cva = a;
3851 -    sa<sizeof(sink_4_1234(a))           == 1> t1;
3852 -    sa<sizeof(sink_4_1234(ca))          == 2> t2;
3853 -    sa<sizeof(sink_4_1234(va))          == 3> t3;
3854 -    sa<sizeof(sink_4_1234(cva))         == 4> t4;
3855 -    sa<sizeof(sink_4_1234(source()))    == 2> t5;
3856 -    sa<sizeof(sink_4_1234(c_source()))  == 2> t6;
3857 +    sa<sizeof(sink_4_1234(a))           == 1 * sizeof(long)> t1;
3858 +    sa<sizeof(sink_4_1234(ca))          == 2 * sizeof(long)> t2;
3859 +    sa<sizeof(sink_4_1234(va))          == 3 * sizeof(long)> t3;
3860 +    sa<sizeof(sink_4_1234(cva))         == 4 * sizeof(long)> t4;
3861 +    sa<sizeof(sink_4_1234(source()))    == 2 * sizeof(long)> t5;
3862 +    sa<sizeof(sink_4_1234(c_source()))  == 2 * sizeof(long)> t6;
3863      return 0;
3864  }
3865  
3866 @@ -61,11 +61,11 @@
3867      const          A ca = a;
3868            volatile A va;
3869      const volatile A cva = a;
3870 -    sa<sizeof(sink_4_1235(a))           == 1> t1;
3871 -    sa<sizeof(sink_4_1235(ca))          == 2> t2;
3872 -    sa<sizeof(sink_4_1235(va))          == 3> t3;
3873 -    sa<sizeof(sink_4_1235(source()))    == 5> t5;
3874 -    sa<sizeof(sink_4_1235(c_source()))  == 2> t6;
3875 +    sa<sizeof(sink_4_1235(a))           == 1 * sizeof(long)> t1;
3876 +    sa<sizeof(sink_4_1235(ca))          == 2 * sizeof(long)> t2;
3877 +    sa<sizeof(sink_4_1235(va))          == 3 * sizeof(long)> t3;
3878 +    sa<sizeof(sink_4_1235(source()))    == 5 * sizeof(long)> t5;
3879 +    sa<sizeof(sink_4_1235(c_source()))  == 2 * sizeof(long)> t6;
3880      return 0;
3881  }
3882  
3883 @@ -80,11 +80,11 @@
3884      const          A ca = a;
3885            volatile A va;
3886      const volatile A cva = a;
3887 -    sa<sizeof(sink_4_1236(a))           == 1> t1;
3888 -    sa<sizeof(sink_4_1236(ca))          == 2> t2;
3889 -    sa<sizeof(sink_4_1236(va))          == 3> t3;
3890 -    sa<sizeof(sink_4_1236(source()))    == 6> t5;
3891 -    sa<sizeof(sink_4_1236(c_source()))  == 6> t6;
3892 +    sa<sizeof(sink_4_1236(a))           == 1 * sizeof(long)> t1;
3893 +    sa<sizeof(sink_4_1236(ca))          == 2 * sizeof(long)> t2;
3894 +    sa<sizeof(sink_4_1236(va))          == 3 * sizeof(long)> t3;
3895 +    sa<sizeof(sink_4_1236(source()))    == 6 * sizeof(long)> t5;
3896 +    sa<sizeof(sink_4_1236(c_source()))  == 6 * sizeof(long)> t6;
3897      return 0;
3898  }
3899  
3900 @@ -99,12 +99,12 @@
3901      const          A ca = a;
3902            volatile A va;
3903      const volatile A cva = a;
3904 -    sa<sizeof(sink_4_1237(a))           == 1> t1;
3905 -    sa<sizeof(sink_4_1237(ca))          == 2> t2;
3906 -    sa<sizeof(sink_4_1237(va))          == 3> t3;
3907 -    sa<sizeof(sink_4_1237(source()))    == 7> t5;
3908 -    sa<sizeof(sink_4_1237(c_source()))  == 2> t6;
3909 -    sa<sizeof(sink_4_1237(v_source()))  == 7> t7;
3910 +    sa<sizeof(sink_4_1237(a))           == 1 * sizeof(long)> t1;
3911 +    sa<sizeof(sink_4_1237(ca))          == 2 * sizeof(long)> t2;
3912 +    sa<sizeof(sink_4_1237(va))          == 3 * sizeof(long)> t3;
3913 +    sa<sizeof(sink_4_1237(source()))    == 7 * sizeof(long)> t5;
3914 +    sa<sizeof(sink_4_1237(c_source()))  == 2 * sizeof(long)> t6;
3915 +    sa<sizeof(sink_4_1237(v_source()))  == 7 * sizeof(long)> t7;
3916      return 0;
3917  }
3918  
3919 @@ -119,13 +119,13 @@
3920      const          A ca = a;
3921            volatile A va;
3922      const volatile A cva = a;
3923 -    sa<sizeof(sink_4_1238(a))           == 1> t1;
3924 -    sa<sizeof(sink_4_1238(ca))          == 2> t2;
3925 -    sa<sizeof(sink_4_1238(va))          == 3> t3;
3926 -    sa<sizeof(sink_4_1238(source()))    == 8> t5;
3927 -    sa<sizeof(sink_4_1238(c_source()))  == 8> t6;
3928 -    sa<sizeof(sink_4_1238(v_source()))  == 8> t7;
3929 -    sa<sizeof(sink_4_1238(cv_source())) == 8> t8;
3930 +    sa<sizeof(sink_4_1238(a))           == 1 * sizeof(long)> t1;
3931 +    sa<sizeof(sink_4_1238(ca))          == 2 * sizeof(long)> t2;
3932 +    sa<sizeof(sink_4_1238(va))          == 3 * sizeof(long)> t3;
3933 +    sa<sizeof(sink_4_1238(source()))    == 8 * sizeof(long)> t5;
3934 +    sa<sizeof(sink_4_1238(c_source()))  == 8 * sizeof(long)> t6;
3935 +    sa<sizeof(sink_4_1238(v_source()))  == 8 * sizeof(long)> t7;
3936 +    sa<sizeof(sink_4_1238(cv_source())) == 8 * sizeof(long)> t8;
3937      return 0;
3938  }
3939  
3940 @@ -140,12 +140,12 @@
3941      const          A ca = a;
3942            volatile A va;
3943      const volatile A cva = a;
3944 -    sa<sizeof(sink_4_1245(a))           == 1> t1;
3945 -    sa<sizeof(sink_4_1245(ca))          == 2> t2;
3946 -    sa<sizeof(sink_4_1245(va))          == 4> t3;
3947 -    sa<sizeof(sink_4_1245(cva))         == 4> t4;
3948 -    sa<sizeof(sink_4_1245(source()))    == 5> t5;
3949 -    sa<sizeof(sink_4_1245(c_source()))  == 2> t6;
3950 +    sa<sizeof(sink_4_1245(a))           == 1 * sizeof(long)> t1;
3951 +    sa<sizeof(sink_4_1245(ca))          == 2 * sizeof(long)> t2;
3952 +    sa<sizeof(sink_4_1245(va))          == 4 * sizeof(long)> t3;
3953 +    sa<sizeof(sink_4_1245(cva))         == 4 * sizeof(long)> t4;
3954 +    sa<sizeof(sink_4_1245(source()))    == 5 * sizeof(long)> t5;
3955 +    sa<sizeof(sink_4_1245(c_source()))  == 2 * sizeof(long)> t6;
3956      return 0;
3957  }
3958  
3959 @@ -160,12 +160,12 @@
3960      const          A ca = a;
3961            volatile A va;
3962      const volatile A cva = a;
3963 -    sa<sizeof(sink_4_1246(a))           == 1> t1;
3964 -    sa<sizeof(sink_4_1246(ca))          == 2> t2;
3965 -    sa<sizeof(sink_4_1246(va))          == 4> t3;
3966 -    sa<sizeof(sink_4_1246(cva))         == 4> t4;
3967 -    sa<sizeof(sink_4_1246(source()))    == 6> t5;
3968 -    sa<sizeof(sink_4_1246(c_source()))  == 6> t6;
3969 +    sa<sizeof(sink_4_1246(a))           == 1 * sizeof(long)> t1;
3970 +    sa<sizeof(sink_4_1246(ca))          == 2 * sizeof(long)> t2;
3971 +    sa<sizeof(sink_4_1246(va))          == 4 * sizeof(long)> t3;
3972 +    sa<sizeof(sink_4_1246(cva))         == 4 * sizeof(long)> t4;
3973 +    sa<sizeof(sink_4_1246(source()))    == 6 * sizeof(long)> t5;
3974 +    sa<sizeof(sink_4_1246(c_source()))  == 6 * sizeof(long)> t6;
3975      return 0;
3976  }
3977  
3978 @@ -180,13 +180,13 @@
3979      const          A ca = a;
3980            volatile A va;
3981      const volatile A cva = a;
3982 -    sa<sizeof(sink_4_1247(a))           == 1> t1;
3983 -    sa<sizeof(sink_4_1247(ca))          == 2> t2;
3984 -    sa<sizeof(sink_4_1247(va))          == 4> t3;
3985 -    sa<sizeof(sink_4_1247(cva))         == 4> t4;
3986 -    sa<sizeof(sink_4_1247(source()))    == 7> t5;
3987 -    sa<sizeof(sink_4_1247(c_source()))  == 2> t6;
3988 -    sa<sizeof(sink_4_1247(v_source()))  == 7> t7;
3989 +    sa<sizeof(sink_4_1247(a))           == 1 * sizeof(long)> t1;
3990 +    sa<sizeof(sink_4_1247(ca))          == 2 * sizeof(long)> t2;
3991 +    sa<sizeof(sink_4_1247(va))          == 4 * sizeof(long)> t3;
3992 +    sa<sizeof(sink_4_1247(cva))         == 4 * sizeof(long)> t4;
3993 +    sa<sizeof(sink_4_1247(source()))    == 7 * sizeof(long)> t5;
3994 +    sa<sizeof(sink_4_1247(c_source()))  == 2 * sizeof(long)> t6;
3995 +    sa<sizeof(sink_4_1247(v_source()))  == 7 * sizeof(long)> t7;
3996      return 0;
3997  }
3998  
3999 @@ -201,14 +201,14 @@
4000      const          A ca = a;
4001            volatile A va;
4002      const volatile A cva = a;
4003 -    sa<sizeof(sink_4_1248(a))           == 1> t1;
4004 -    sa<sizeof(sink_4_1248(ca))          == 2> t2;
4005 -    sa<sizeof(sink_4_1248(va))          == 4> t3;
4006 -    sa<sizeof(sink_4_1248(cva))         == 4> t4;
4007 -    sa<sizeof(sink_4_1248(source()))    == 8> t5;
4008 -    sa<sizeof(sink_4_1248(c_source()))  == 8> t6;
4009 -    sa<sizeof(sink_4_1248(v_source()))  == 8> t7;
4010 -    sa<sizeof(sink_4_1248(cv_source())) == 8> t8;
4011 +    sa<sizeof(sink_4_1248(a))           == 1 * sizeof(long)> t1;
4012 +    sa<sizeof(sink_4_1248(ca))          == 2 * sizeof(long)> t2;
4013 +    sa<sizeof(sink_4_1248(va))          == 4 * sizeof(long)> t3;
4014 +    sa<sizeof(sink_4_1248(cva))         == 4 * sizeof(long)> t4;
4015 +    sa<sizeof(sink_4_1248(source()))    == 8 * sizeof(long)> t5;
4016 +    sa<sizeof(sink_4_1248(c_source()))  == 8 * sizeof(long)> t6;
4017 +    sa<sizeof(sink_4_1248(v_source()))  == 8 * sizeof(long)> t7;
4018 +    sa<sizeof(sink_4_1248(cv_source())) == 8 * sizeof(long)> t8;
4019      return 0;
4020  }
4021  
4022 @@ -223,10 +223,10 @@
4023      const          A ca = a;
4024            volatile A va;
4025      const volatile A cva = a;
4026 -    sa<sizeof(sink_4_1256(a))           == 1> t1;
4027 -    sa<sizeof(sink_4_1256(ca))          == 2> t2;
4028 -    sa<sizeof(sink_4_1256(source()))    == 5> t5;
4029 -    sa<sizeof(sink_4_1256(c_source()))  == 6> t6;
4030 +    sa<sizeof(sink_4_1256(a))           == 1 * sizeof(long)> t1;
4031 +    sa<sizeof(sink_4_1256(ca))          == 2 * sizeof(long)> t2;
4032 +    sa<sizeof(sink_4_1256(source()))    == 5 * sizeof(long)> t5;
4033 +    sa<sizeof(sink_4_1256(c_source()))  == 6 * sizeof(long)> t6;
4034      return 0;
4035  }
4036  
4037 @@ -241,11 +241,11 @@
4038      const          A ca = a;
4039            volatile A va;
4040      const volatile A cva = a;
4041 -    sa<sizeof(sink_4_1257(a))           == 1> t1;
4042 -    sa<sizeof(sink_4_1257(ca))          == 2> t2;
4043 -    sa<sizeof(sink_4_1257(source()))    == 5> t5;
4044 -    sa<sizeof(sink_4_1257(c_source()))  == 2> t6;
4045 -    sa<sizeof(sink_4_1257(v_source()))  == 7> t7;
4046 +    sa<sizeof(sink_4_1257(a))           == 1 * sizeof(long)> t1;
4047 +    sa<sizeof(sink_4_1257(ca))          == 2 * sizeof(long)> t2;
4048 +    sa<sizeof(sink_4_1257(source()))    == 5 * sizeof(long)> t5;
4049 +    sa<sizeof(sink_4_1257(c_source()))  == 2 * sizeof(long)> t6;
4050 +    sa<sizeof(sink_4_1257(v_source()))  == 7 * sizeof(long)> t7;
4051      return 0;
4052  }
4053  
4054 @@ -260,12 +260,12 @@
4055      const          A ca = a;
4056            volatile A va;
4057      const volatile A cva = a;
4058 -    sa<sizeof(sink_4_1258(a))           == 1> t1;
4059 -    sa<sizeof(sink_4_1258(ca))          == 2> t2;
4060 -    sa<sizeof(sink_4_1258(source()))    == 5> t5;
4061 -    sa<sizeof(sink_4_1258(c_source()))  == 8> t6;
4062 -    sa<sizeof(sink_4_1258(v_source()))  == 8> t7;
4063 -    sa<sizeof(sink_4_1258(cv_source())) == 8> t8;
4064 +    sa<sizeof(sink_4_1258(a))           == 1 * sizeof(long)> t1;
4065 +    sa<sizeof(sink_4_1258(ca))          == 2 * sizeof(long)> t2;
4066 +    sa<sizeof(sink_4_1258(source()))    == 5 * sizeof(long)> t5;
4067 +    sa<sizeof(sink_4_1258(c_source()))  == 8 * sizeof(long)> t6;
4068 +    sa<sizeof(sink_4_1258(v_source()))  == 8 * sizeof(long)> t7;
4069 +    sa<sizeof(sink_4_1258(cv_source())) == 8 * sizeof(long)> t8;
4070      return 0;
4071  }
4072  
4073 @@ -280,10 +280,10 @@
4074      const          A ca = a;
4075            volatile A va;
4076      const volatile A cva = a;
4077 -    sa<sizeof(sink_4_1267(a))           == 1> t1;
4078 -    sa<sizeof(sink_4_1267(ca))          == 2> t2;
4079 -    sa<sizeof(sink_4_1267(c_source()))  == 6> t6;
4080 -    sa<sizeof(sink_4_1267(v_source()))  == 7> t7;
4081 +    sa<sizeof(sink_4_1267(a))           == 1 * sizeof(long)> t1;
4082 +    sa<sizeof(sink_4_1267(ca))          == 2 * sizeof(long)> t2;
4083 +    sa<sizeof(sink_4_1267(c_source()))  == 6 * sizeof(long)> t6;
4084 +    sa<sizeof(sink_4_1267(v_source()))  == 7 * sizeof(long)> t7;
4085      return 0;
4086  }
4087  
4088 @@ -298,12 +298,12 @@
4089      const          A ca = a;
4090            volatile A va;
4091      const volatile A cva = a;
4092 -    sa<sizeof(sink_4_1268(a))           == 1> t1;
4093 -    sa<sizeof(sink_4_1268(ca))          == 2> t2;
4094 -    sa<sizeof(sink_4_1268(source()))    == 6> t5;
4095 -    sa<sizeof(sink_4_1268(c_source()))  == 6> t6;
4096 -    sa<sizeof(sink_4_1268(v_source()))  == 8> t7;
4097 -    sa<sizeof(sink_4_1268(cv_source())) == 8> t8;
4098 +    sa<sizeof(sink_4_1268(a))           == 1 * sizeof(long)> t1;
4099 +    sa<sizeof(sink_4_1268(ca))          == 2 * sizeof(long)> t2;
4100 +    sa<sizeof(sink_4_1268(source()))    == 6 * sizeof(long)> t5;
4101 +    sa<sizeof(sink_4_1268(c_source()))  == 6 * sizeof(long)> t6;
4102 +    sa<sizeof(sink_4_1268(v_source()))  == 8 * sizeof(long)> t7;
4103 +    sa<sizeof(sink_4_1268(cv_source())) == 8 * sizeof(long)> t8;
4104      return 0;
4105  }
4106  
4107 @@ -318,12 +318,12 @@
4108      const          A ca = a;
4109            volatile A va;
4110      const volatile A cva = a;
4111 -    sa<sizeof(sink_4_1278(a))           == 1> t1;
4112 -    sa<sizeof(sink_4_1278(ca))          == 2> t2;
4113 -    sa<sizeof(sink_4_1278(source()))    == 7> t5;
4114 -    sa<sizeof(sink_4_1278(c_source()))  == 8> t6;
4115 -    sa<sizeof(sink_4_1278(v_source()))  == 7> t7;
4116 -    sa<sizeof(sink_4_1278(cv_source())) == 8> t8;
4117 +    sa<sizeof(sink_4_1278(a))           == 1 * sizeof(long)> t1;
4118 +    sa<sizeof(sink_4_1278(ca))          == 2 * sizeof(long)> t2;
4119 +    sa<sizeof(sink_4_1278(source()))    == 7 * sizeof(long)> t5;
4120 +    sa<sizeof(sink_4_1278(c_source()))  == 8 * sizeof(long)> t6;
4121 +    sa<sizeof(sink_4_1278(v_source()))  == 7 * sizeof(long)> t7;
4122 +    sa<sizeof(sink_4_1278(cv_source())) == 8 * sizeof(long)> t8;
4123      return 0;
4124  }
4125  
4126 @@ -338,11 +338,11 @@
4127      const          A ca = a;
4128            volatile A va;
4129      const volatile A cva = a;
4130 -    sa<sizeof(sink_4_1345(a))           == 1> t1;
4131 -    sa<sizeof(sink_4_1345(ca))          == 4> t2;
4132 -    sa<sizeof(sink_4_1345(va))          == 3> t3;
4133 -    sa<sizeof(sink_4_1345(cva))         == 4> t4;
4134 -    sa<sizeof(sink_4_1345(source()))    == 5> t5;
4135 +    sa<sizeof(sink_4_1345(a))           == 1 * sizeof(long)> t1;
4136 +    sa<sizeof(sink_4_1345(ca))          == 4 * sizeof(long)> t2;
4137 +    sa<sizeof(sink_4_1345(va))          == 3 * sizeof(long)> t3;
4138 +    sa<sizeof(sink_4_1345(cva))         == 4 * sizeof(long)> t4;
4139 +    sa<sizeof(sink_4_1345(source()))    == 5 * sizeof(long)> t5;
4140      return 0;
4141  }
4142  
4143 @@ -357,12 +357,12 @@
4144      const          A ca = a;
4145            volatile A va;
4146      const volatile A cva = a;
4147 -    sa<sizeof(sink_4_1346(a))           == 1> t1;
4148 -    sa<sizeof(sink_4_1346(ca))          == 4> t2;
4149 -    sa<sizeof(sink_4_1346(va))          == 3> t3;
4150 -    sa<sizeof(sink_4_1346(cva))         == 4> t4;
4151 -    sa<sizeof(sink_4_1346(source()))    == 6> t5;
4152 -    sa<sizeof(sink_4_1346(c_source()))  == 6> t6;
4153 +    sa<sizeof(sink_4_1346(a))           == 1 * sizeof(long)> t1;
4154 +    sa<sizeof(sink_4_1346(ca))          == 4 * sizeof(long)> t2;
4155 +    sa<sizeof(sink_4_1346(va))          == 3 * sizeof(long)> t3;
4156 +    sa<sizeof(sink_4_1346(cva))         == 4 * sizeof(long)> t4;
4157 +    sa<sizeof(sink_4_1346(source()))    == 6 * sizeof(long)> t5;
4158 +    sa<sizeof(sink_4_1346(c_source()))  == 6 * sizeof(long)> t6;
4159      return 0;
4160  }
4161  
4162 @@ -377,12 +377,12 @@
4163      const          A ca = a;
4164            volatile A va;
4165      const volatile A cva = a;
4166 -    sa<sizeof(sink_4_1347(a))           == 1> t1;
4167 -    sa<sizeof(sink_4_1347(ca))          == 4> t2;
4168 -    sa<sizeof(sink_4_1347(va))          == 3> t3;
4169 -    sa<sizeof(sink_4_1347(cva))         == 4> t4;
4170 -    sa<sizeof(sink_4_1347(source()))    == 7> t5;
4171 -    sa<sizeof(sink_4_1347(v_source()))  == 7> t7;
4172 +    sa<sizeof(sink_4_1347(a))           == 1 * sizeof(long)> t1;
4173 +    sa<sizeof(sink_4_1347(ca))          == 4 * sizeof(long)> t2;
4174 +    sa<sizeof(sink_4_1347(va))          == 3 * sizeof(long)> t3;
4175 +    sa<sizeof(sink_4_1347(cva))         == 4 * sizeof(long)> t4;
4176 +    sa<sizeof(sink_4_1347(source()))    == 7 * sizeof(long)> t5;
4177 +    sa<sizeof(sink_4_1347(v_source()))  == 7 * sizeof(long)> t7;
4178      return 0;
4179  }
4180  
4181 @@ -397,14 +397,14 @@
4182      const          A ca = a;
4183            volatile A va;
4184      const volatile A cva = a;
4185 -    sa<sizeof(sink_4_1348(a))           == 1> t1;
4186 -    sa<sizeof(sink_4_1348(ca))          == 4> t2;
4187 -    sa<sizeof(sink_4_1348(va))          == 3> t3;
4188 -    sa<sizeof(sink_4_1348(cva))         == 4> t4;
4189 -    sa<sizeof(sink_4_1348(source()))    == 8> t5;
4190 -    sa<sizeof(sink_4_1348(c_source()))  == 8> t6;
4191 -    sa<sizeof(sink_4_1348(v_source()))  == 8> t7;
4192 -    sa<sizeof(sink_4_1348(cv_source())) == 8> t8;
4193 +    sa<sizeof(sink_4_1348(a))           == 1 * sizeof(long)> t1;
4194 +    sa<sizeof(sink_4_1348(ca))          == 4 * sizeof(long)> t2;
4195 +    sa<sizeof(sink_4_1348(va))          == 3 * sizeof(long)> t3;
4196 +    sa<sizeof(sink_4_1348(cva))         == 4 * sizeof(long)> t4;
4197 +    sa<sizeof(sink_4_1348(source()))    == 8 * sizeof(long)> t5;
4198 +    sa<sizeof(sink_4_1348(c_source()))  == 8 * sizeof(long)> t6;
4199 +    sa<sizeof(sink_4_1348(v_source()))  == 8 * sizeof(long)> t7;
4200 +    sa<sizeof(sink_4_1348(cv_source())) == 8 * sizeof(long)> t8;
4201      return 0;
4202  }
4203  
4204 @@ -419,10 +419,10 @@
4205      const          A ca = a;
4206            volatile A va;
4207      const volatile A cva = a;
4208 -    sa<sizeof(sink_4_1356(a))           == 1> t1;
4209 -    sa<sizeof(sink_4_1356(va))          == 3> t3;
4210 -    sa<sizeof(sink_4_1356(source()))    == 5> t5;
4211 -    sa<sizeof(sink_4_1356(c_source()))  == 6> t6;
4212 +    sa<sizeof(sink_4_1356(a))           == 1 * sizeof(long)> t1;
4213 +    sa<sizeof(sink_4_1356(va))          == 3 * sizeof(long)> t3;
4214 +    sa<sizeof(sink_4_1356(source()))    == 5 * sizeof(long)> t5;
4215 +    sa<sizeof(sink_4_1356(c_source()))  == 6 * sizeof(long)> t6;
4216      return 0;
4217  }
4218  
4219 @@ -437,10 +437,10 @@
4220      const          A ca = a;
4221            volatile A va;
4222      const volatile A cva = a;
4223 -    sa<sizeof(sink_4_1357(a))           == 1> t1;
4224 -    sa<sizeof(sink_4_1357(va))          == 3> t3;
4225 -    sa<sizeof(sink_4_1357(source()))    == 5> t5;
4226 -    sa<sizeof(sink_4_1357(v_source()))  == 7> t7;
4227 +    sa<sizeof(sink_4_1357(a))           == 1 * sizeof(long)> t1;
4228 +    sa<sizeof(sink_4_1357(va))          == 3 * sizeof(long)> t3;
4229 +    sa<sizeof(sink_4_1357(source()))    == 5 * sizeof(long)> t5;
4230 +    sa<sizeof(sink_4_1357(v_source()))  == 7 * sizeof(long)> t7;
4231      return 0;
4232  }
4233  
4234 @@ -455,12 +455,12 @@
4235      const          A ca = a;
4236            volatile A va;
4237      const volatile A cva = a;
4238 -    sa<sizeof(sink_4_1358(a))           == 1> t1;
4239 -    sa<sizeof(sink_4_1358(va))          == 3> t3;
4240 -    sa<sizeof(sink_4_1358(source()))    == 5> t5;
4241 -    sa<sizeof(sink_4_1358(c_source()))  == 8> t6;
4242 -    sa<sizeof(sink_4_1358(v_source()))  == 8> t7;
4243 -    sa<sizeof(sink_4_1358(cv_source())) == 8> t8;
4244 +    sa<sizeof(sink_4_1358(a))           == 1 * sizeof(long)> t1;
4245 +    sa<sizeof(sink_4_1358(va))          == 3 * sizeof(long)> t3;
4246 +    sa<sizeof(sink_4_1358(source()))    == 5 * sizeof(long)> t5;
4247 +    sa<sizeof(sink_4_1358(c_source()))  == 8 * sizeof(long)> t6;
4248 +    sa<sizeof(sink_4_1358(v_source()))  == 8 * sizeof(long)> t7;
4249 +    sa<sizeof(sink_4_1358(cv_source())) == 8 * sizeof(long)> t8;
4250      return 0;
4251  }
4252  
4253 @@ -475,10 +475,10 @@
4254      const          A ca = a;
4255            volatile A va;
4256      const volatile A cva = a;
4257 -    sa<sizeof(sink_4_1367(a))           == 1> t1;
4258 -    sa<sizeof(sink_4_1367(va))          == 3> t3;
4259 -    sa<sizeof(sink_4_1367(c_source()))  == 6> t6;
4260 -    sa<sizeof(sink_4_1367(v_source()))  == 7> t7;
4261 +    sa<sizeof(sink_4_1367(a))           == 1 * sizeof(long)> t1;
4262 +    sa<sizeof(sink_4_1367(va))          == 3 * sizeof(long)> t3;
4263 +    sa<sizeof(sink_4_1367(c_source()))  == 6 * sizeof(long)> t6;
4264 +    sa<sizeof(sink_4_1367(v_source()))  == 7 * sizeof(long)> t7;
4265      return 0;
4266  }
4267  
4268 @@ -493,12 +493,12 @@
4269      const          A ca = a;
4270            volatile A va;
4271      const volatile A cva = a;
4272 -    sa<sizeof(sink_4_1368(a))           == 1> t1;
4273 -    sa<sizeof(sink_4_1368(va))          == 3> t3;
4274 -    sa<sizeof(sink_4_1368(source()))    == 6> t5;
4275 -    sa<sizeof(sink_4_1368(c_source()))  == 6> t6;
4276 -    sa<sizeof(sink_4_1368(v_source()))  == 8> t7;
4277 -    sa<sizeof(sink_4_1368(cv_source())) == 8> t8;
4278 +    sa<sizeof(sink_4_1368(a))           == 1 * sizeof(long)> t1;
4279 +    sa<sizeof(sink_4_1368(va))          == 3 * sizeof(long)> t3;
4280 +    sa<sizeof(sink_4_1368(source()))    == 6 * sizeof(long)> t5;
4281 +    sa<sizeof(sink_4_1368(c_source()))  == 6 * sizeof(long)> t6;
4282 +    sa<sizeof(sink_4_1368(v_source()))  == 8 * sizeof(long)> t7;
4283 +    sa<sizeof(sink_4_1368(cv_source())) == 8 * sizeof(long)> t8;
4284      return 0;
4285  }
4286  
4287 @@ -513,12 +513,12 @@
4288      const          A ca = a;
4289            volatile A va;
4290      const volatile A cva = a;
4291 -    sa<sizeof(sink_4_1378(a))           == 1> t1;
4292 -    sa<sizeof(sink_4_1378(va))          == 3> t3;
4293 -    sa<sizeof(sink_4_1378(source()))    == 7> t5;
4294 -    sa<sizeof(sink_4_1378(c_source()))  == 8> t6;
4295 -    sa<sizeof(sink_4_1378(v_source()))  == 7> t7;
4296 -    sa<sizeof(sink_4_1378(cv_source())) == 8> t8;
4297 +    sa<sizeof(sink_4_1378(a))           == 1 * sizeof(long)> t1;
4298 +    sa<sizeof(sink_4_1378(va))          == 3 * sizeof(long)> t3;
4299 +    sa<sizeof(sink_4_1378(source()))    == 7 * sizeof(long)> t5;
4300 +    sa<sizeof(sink_4_1378(c_source()))  == 8 * sizeof(long)> t6;
4301 +    sa<sizeof(sink_4_1378(v_source()))  == 7 * sizeof(long)> t7;
4302 +    sa<sizeof(sink_4_1378(cv_source())) == 8 * sizeof(long)> t8;
4303      return 0;
4304  }
4305  
4306 @@ -533,12 +533,12 @@
4307      const          A ca = a;
4308            volatile A va;
4309      const volatile A cva = a;
4310 -    sa<sizeof(sink_4_1456(a))           == 1> t1;
4311 -    sa<sizeof(sink_4_1456(ca))          == 4> t2;
4312 -    sa<sizeof(sink_4_1456(va))          == 4> t3;
4313 -    sa<sizeof(sink_4_1456(cva))         == 4> t4;
4314 -    sa<sizeof(sink_4_1456(source()))    == 5> t5;
4315 -    sa<sizeof(sink_4_1456(c_source()))  == 6> t6;
4316 +    sa<sizeof(sink_4_1456(a))           == 1 * sizeof(long)> t1;
4317 +    sa<sizeof(sink_4_1456(ca))          == 4 * sizeof(long)> t2;
4318 +    sa<sizeof(sink_4_1456(va))          == 4 * sizeof(long)> t3;
4319 +    sa<sizeof(sink_4_1456(cva))         == 4 * sizeof(long)> t4;
4320 +    sa<sizeof(sink_4_1456(source()))    == 5 * sizeof(long)> t5;
4321 +    sa<sizeof(sink_4_1456(c_source()))  == 6 * sizeof(long)> t6;
4322      return 0;
4323  }
4324  
4325 @@ -553,12 +553,12 @@
4326      const          A ca = a;
4327            volatile A va;
4328      const volatile A cva = a;
4329 -    sa<sizeof(sink_4_1457(a))           == 1> t1;
4330 -    sa<sizeof(sink_4_1457(ca))          == 4> t2;
4331 -    sa<sizeof(sink_4_1457(va))          == 4> t3;
4332 -    sa<sizeof(sink_4_1457(cva))         == 4> t4;
4333 -    sa<sizeof(sink_4_1457(source()))    == 5> t5;
4334 -    sa<sizeof(sink_4_1457(v_source()))  == 7> t7;
4335 +    sa<sizeof(sink_4_1457(a))           == 1 * sizeof(long)> t1;
4336 +    sa<sizeof(sink_4_1457(ca))          == 4 * sizeof(long)> t2;
4337 +    sa<sizeof(sink_4_1457(va))          == 4 * sizeof(long)> t3;
4338 +    sa<sizeof(sink_4_1457(cva))         == 4 * sizeof(long)> t4;
4339 +    sa<sizeof(sink_4_1457(source()))    == 5 * sizeof(long)> t5;
4340 +    sa<sizeof(sink_4_1457(v_source()))  == 7 * sizeof(long)> t7;
4341      return 0;
4342  }
4343  
4344 @@ -573,14 +573,14 @@
4345      const          A ca = a;
4346            volatile A va;
4347      const volatile A cva = a;
4348 -    sa<sizeof(sink_4_1458(a))           == 1> t1;
4349 -    sa<sizeof(sink_4_1458(ca))          == 4> t2;
4350 -    sa<sizeof(sink_4_1458(va))          == 4> t3;
4351 -    sa<sizeof(sink_4_1458(cva))         == 4> t4;
4352 -    sa<sizeof(sink_4_1458(source()))    == 5> t5;
4353 -    sa<sizeof(sink_4_1458(c_source()))  == 8> t6;
4354 -    sa<sizeof(sink_4_1458(v_source()))  == 8> t7;
4355 -    sa<sizeof(sink_4_1458(cv_source())) == 8> t8;
4356 +    sa<sizeof(sink_4_1458(a))           == 1 * sizeof(long)> t1;
4357 +    sa<sizeof(sink_4_1458(ca))          == 4 * sizeof(long)> t2;
4358 +    sa<sizeof(sink_4_1458(va))          == 4 * sizeof(long)> t3;
4359 +    sa<sizeof(sink_4_1458(cva))         == 4 * sizeof(long)> t4;
4360 +    sa<sizeof(sink_4_1458(source()))    == 5 * sizeof(long)> t5;
4361 +    sa<sizeof(sink_4_1458(c_source()))  == 8 * sizeof(long)> t6;
4362 +    sa<sizeof(sink_4_1458(v_source()))  == 8 * sizeof(long)> t7;
4363 +    sa<sizeof(sink_4_1458(cv_source())) == 8 * sizeof(long)> t8;
4364      return 0;
4365  }
4366  
4367 @@ -595,12 +595,12 @@
4368      const          A ca = a;
4369            volatile A va;
4370      const volatile A cva = a;
4371 -    sa<sizeof(sink_4_1467(a))           == 1> t1;
4372 -    sa<sizeof(sink_4_1467(ca))          == 4> t2;
4373 -    sa<sizeof(sink_4_1467(va))          == 4> t3;
4374 -    sa<sizeof(sink_4_1467(cva))         == 4> t4;
4375 -    sa<sizeof(sink_4_1467(c_source()))  == 6> t6;
4376 -    sa<sizeof(sink_4_1467(v_source()))  == 7> t7;
4377 +    sa<sizeof(sink_4_1467(a))           == 1 * sizeof(long)> t1;
4378 +    sa<sizeof(sink_4_1467(ca))          == 4 * sizeof(long)> t2;
4379 +    sa<sizeof(sink_4_1467(va))          == 4 * sizeof(long)> t3;
4380 +    sa<sizeof(sink_4_1467(cva))         == 4 * sizeof(long)> t4;
4381 +    sa<sizeof(sink_4_1467(c_source()))  == 6 * sizeof(long)> t6;
4382 +    sa<sizeof(sink_4_1467(v_source()))  == 7 * sizeof(long)> t7;
4383      return 0;
4384  }
4385  
4386 @@ -615,14 +615,14 @@
4387      const          A ca = a;
4388            volatile A va;
4389      const volatile A cva = a;
4390 -    sa<sizeof(sink_4_1468(a))           == 1> t1;
4391 -    sa<sizeof(sink_4_1468(ca))          == 4> t2;
4392 -    sa<sizeof(sink_4_1468(va))          == 4> t3;
4393 -    sa<sizeof(sink_4_1468(cva))         == 4> t4;
4394 -    sa<sizeof(sink_4_1468(source()))    == 6> t5;
4395 -    sa<sizeof(sink_4_1468(c_source()))  == 6> t6;
4396 -    sa<sizeof(sink_4_1468(v_source()))  == 8> t7;
4397 -    sa<sizeof(sink_4_1468(cv_source())) == 8> t8;
4398 +    sa<sizeof(sink_4_1468(a))           == 1 * sizeof(long)> t1;
4399 +    sa<sizeof(sink_4_1468(ca))          == 4 * sizeof(long)> t2;
4400 +    sa<sizeof(sink_4_1468(va))          == 4 * sizeof(long)> t3;
4401 +    sa<sizeof(sink_4_1468(cva))         == 4 * sizeof(long)> t4;
4402 +    sa<sizeof(sink_4_1468(source()))    == 6 * sizeof(long)> t5;
4403 +    sa<sizeof(sink_4_1468(c_source()))  == 6 * sizeof(long)> t6;
4404 +    sa<sizeof(sink_4_1468(v_source()))  == 8 * sizeof(long)> t7;
4405 +    sa<sizeof(sink_4_1468(cv_source())) == 8 * sizeof(long)> t8;
4406      return 0;
4407  }
4408  
4409 @@ -637,14 +637,14 @@
4410      const          A ca = a;
4411            volatile A va;
4412      const volatile A cva = a;
4413 -    sa<sizeof(sink_4_1478(a))           == 1> t1;
4414 -    sa<sizeof(sink_4_1478(ca))          == 4> t2;
4415 -    sa<sizeof(sink_4_1478(va))          == 4> t3;
4416 -    sa<sizeof(sink_4_1478(cva))         == 4> t4;
4417 -    sa<sizeof(sink_4_1478(source()))    == 7> t5;
4418 -    sa<sizeof(sink_4_1478(c_source()))  == 8> t6;
4419 -    sa<sizeof(sink_4_1478(v_source()))  == 7> t7;
4420 -    sa<sizeof(sink_4_1478(cv_source())) == 8> t8;
4421 +    sa<sizeof(sink_4_1478(a))           == 1 * sizeof(long)> t1;
4422 +    sa<sizeof(sink_4_1478(ca))          == 4 * sizeof(long)> t2;
4423 +    sa<sizeof(sink_4_1478(va))          == 4 * sizeof(long)> t3;
4424 +    sa<sizeof(sink_4_1478(cva))         == 4 * sizeof(long)> t4;
4425 +    sa<sizeof(sink_4_1478(source()))    == 7 * sizeof(long)> t5;
4426 +    sa<sizeof(sink_4_1478(c_source()))  == 8 * sizeof(long)> t6;
4427 +    sa<sizeof(sink_4_1478(v_source()))  == 7 * sizeof(long)> t7;
4428 +    sa<sizeof(sink_4_1478(cv_source())) == 8 * sizeof(long)> t8;
4429      return 0;
4430  }
4431  
4432 @@ -659,10 +659,10 @@
4433      const          A ca = a;
4434            volatile A va;
4435      const volatile A cva = a;
4436 -    sa<sizeof(sink_4_1567(a))           == 1> t1;
4437 -    sa<sizeof(sink_4_1567(source()))    == 5> t5;
4438 -    sa<sizeof(sink_4_1567(c_source()))  == 6> t6;
4439 -    sa<sizeof(sink_4_1567(v_source()))  == 7> t7;
4440 +    sa<sizeof(sink_4_1567(a))           == 1 * sizeof(long)> t1;
4441 +    sa<sizeof(sink_4_1567(source()))    == 5 * sizeof(long)> t5;
4442 +    sa<sizeof(sink_4_1567(c_source()))  == 6 * sizeof(long)> t6;
4443 +    sa<sizeof(sink_4_1567(v_source()))  == 7 * sizeof(long)> t7;
4444      return 0;
4445  }
4446  
4447 @@ -677,11 +677,11 @@
4448      const          A ca = a;
4449            volatile A va;
4450      const volatile A cva = a;
4451 -    sa<sizeof(sink_4_1568(a))           == 1> t1;
4452 -    sa<sizeof(sink_4_1568(source()))    == 5> t5;
4453 -    sa<sizeof(sink_4_1568(c_source()))  == 6> t6;
4454 -    sa<sizeof(sink_4_1568(v_source()))  == 8> t7;
4455 -    sa<sizeof(sink_4_1568(cv_source())) == 8> t8;
4456 +    sa<sizeof(sink_4_1568(a))           == 1 * sizeof(long)> t1;
4457 +    sa<sizeof(sink_4_1568(source()))    == 5 * sizeof(long)> t5;
4458 +    sa<sizeof(sink_4_1568(c_source()))  == 6 * sizeof(long)> t6;
4459 +    sa<sizeof(sink_4_1568(v_source()))  == 8 * sizeof(long)> t7;
4460 +    sa<sizeof(sink_4_1568(cv_source())) == 8 * sizeof(long)> t8;
4461      return 0;
4462  }
4463  
4464 @@ -696,11 +696,11 @@
4465      const          A ca = a;
4466            volatile A va;
4467      const volatile A cva = a;
4468 -    sa<sizeof(sink_4_1578(a))           == 1> t1;
4469 -    sa<sizeof(sink_4_1578(source()))    == 5> t5;
4470 -    sa<sizeof(sink_4_1578(c_source()))  == 8> t6;
4471 -    sa<sizeof(sink_4_1578(v_source()))  == 7> t7;
4472 -    sa<sizeof(sink_4_1578(cv_source())) == 8> t8;
4473 +    sa<sizeof(sink_4_1578(a))           == 1 * sizeof(long)> t1;
4474 +    sa<sizeof(sink_4_1578(source()))    == 5 * sizeof(long)> t5;
4475 +    sa<sizeof(sink_4_1578(c_source()))  == 8 * sizeof(long)> t6;
4476 +    sa<sizeof(sink_4_1578(v_source()))  == 7 * sizeof(long)> t7;
4477 +    sa<sizeof(sink_4_1578(cv_source())) == 8 * sizeof(long)> t8;
4478      return 0;
4479  }
4480  
4481 @@ -715,10 +715,10 @@
4482      const          A ca = a;
4483            volatile A va;
4484      const volatile A cva = a;
4485 -    sa<sizeof(sink_4_1678(a))           == 1> t1;
4486 -    sa<sizeof(sink_4_1678(c_source()))  == 6> t6;
4487 -    sa<sizeof(sink_4_1678(v_source()))  == 7> t7;
4488 -    sa<sizeof(sink_4_1678(cv_source())) == 8> t8;
4489 +    sa<sizeof(sink_4_1678(a))           == 1 * sizeof(long)> t1;
4490 +    sa<sizeof(sink_4_1678(c_source()))  == 6 * sizeof(long)> t6;
4491 +    sa<sizeof(sink_4_1678(v_source()))  == 7 * sizeof(long)> t7;
4492 +    sa<sizeof(sink_4_1678(cv_source())) == 8 * sizeof(long)> t8;
4493      return 0;
4494  }
4495  
4496 @@ -733,11 +733,11 @@
4497      const          A ca = a;
4498            volatile A va;
4499      const volatile A cva = a;
4500 -    sa<sizeof(sink_4_2345(ca))          == 2> t2;
4501 -    sa<sizeof(sink_4_2345(va))          == 3> t3;
4502 -    sa<sizeof(sink_4_2345(cva))         == 4> t4;
4503 -    sa<sizeof(sink_4_2345(source()))    == 5> t5;
4504 -    sa<sizeof(sink_4_2345(c_source()))  == 2> t6;
4505 +    sa<sizeof(sink_4_2345(ca))          == 2 * sizeof(long)> t2;
4506 +    sa<sizeof(sink_4_2345(va))          == 3 * sizeof(long)> t3;
4507 +    sa<sizeof(sink_4_2345(cva))         == 4 * sizeof(long)> t4;
4508 +    sa<sizeof(sink_4_2345(source()))    == 5 * sizeof(long)> t5;
4509 +    sa<sizeof(sink_4_2345(c_source()))  == 2 * sizeof(long)> t6;
4510      return 0;
4511  }
4512  
4513 @@ -752,11 +752,11 @@
4514      const          A ca = a;
4515            volatile A va;
4516      const volatile A cva = a;
4517 -    sa<sizeof(sink_4_2346(ca))          == 2> t2;
4518 -    sa<sizeof(sink_4_2346(va))          == 3> t3;
4519 -    sa<sizeof(sink_4_2346(cva))         == 4> t4;
4520 -    sa<sizeof(sink_4_2346(source()))    == 6> t5;
4521 -    sa<sizeof(sink_4_2346(c_source()))  == 6> t6;
4522 +    sa<sizeof(sink_4_2346(ca))          == 2 * sizeof(long)> t2;
4523 +    sa<sizeof(sink_4_2346(va))          == 3 * sizeof(long)> t3;
4524 +    sa<sizeof(sink_4_2346(cva))         == 4 * sizeof(long)> t4;
4525 +    sa<sizeof(sink_4_2346(source()))    == 6 * sizeof(long)> t5;
4526 +    sa<sizeof(sink_4_2346(c_source()))  == 6 * sizeof(long)> t6;
4527      return 0;
4528  }
4529  
4530 @@ -771,12 +771,12 @@
4531      const          A ca = a;
4532            volatile A va;
4533      const volatile A cva = a;
4534 -    sa<sizeof(sink_4_2347(ca))          == 2> t2;
4535 -    sa<sizeof(sink_4_2347(va))          == 3> t3;
4536 -    sa<sizeof(sink_4_2347(cva))         == 4> t4;
4537 -    sa<sizeof(sink_4_2347(source()))    == 7> t5;
4538 -    sa<sizeof(sink_4_2347(c_source()))  == 2> t6;
4539 -    sa<sizeof(sink_4_2347(v_source()))  == 7> t7;
4540 +    sa<sizeof(sink_4_2347(ca))          == 2 * sizeof(long)> t2;
4541 +    sa<sizeof(sink_4_2347(va))          == 3 * sizeof(long)> t3;
4542 +    sa<sizeof(sink_4_2347(cva))         == 4 * sizeof(long)> t4;
4543 +    sa<sizeof(sink_4_2347(source()))    == 7 * sizeof(long)> t5;
4544 +    sa<sizeof(sink_4_2347(c_source()))  == 2 * sizeof(long)> t6;
4545 +    sa<sizeof(sink_4_2347(v_source()))  == 7 * sizeof(long)> t7;
4546      return 0;
4547  }
4548  
4549 @@ -791,13 +791,13 @@
4550      const          A ca = a;
4551            volatile A va;
4552      const volatile A cva = a;
4553 -    sa<sizeof(sink_4_2348(ca))          == 2> t2;
4554 -    sa<sizeof(sink_4_2348(va))          == 3> t3;
4555 -    sa<sizeof(sink_4_2348(cva))         == 4> t4;
4556 -    sa<sizeof(sink_4_2348(source()))    == 8> t5;
4557 -    sa<sizeof(sink_4_2348(c_source()))  == 8> t6;
4558 -    sa<sizeof(sink_4_2348(v_source()))  == 8> t7;
4559 -    sa<sizeof(sink_4_2348(cv_source())) == 8> t8;
4560 +    sa<sizeof(sink_4_2348(ca))          == 2 * sizeof(long)> t2;
4561 +    sa<sizeof(sink_4_2348(va))          == 3 * sizeof(long)> t3;
4562 +    sa<sizeof(sink_4_2348(cva))         == 4 * sizeof(long)> t4;
4563 +    sa<sizeof(sink_4_2348(source()))    == 8 * sizeof(long)> t5;
4564 +    sa<sizeof(sink_4_2348(c_source()))  == 8 * sizeof(long)> t6;
4565 +    sa<sizeof(sink_4_2348(v_source()))  == 8 * sizeof(long)> t7;
4566 +    sa<sizeof(sink_4_2348(cv_source())) == 8 * sizeof(long)> t8;
4567      return 0;
4568  }
4569  
4570 @@ -812,10 +812,10 @@
4571      const          A ca = a;
4572            volatile A va;
4573      const volatile A cva = a;
4574 -    sa<sizeof(sink_4_2356(ca))          == 2> t2;
4575 -    sa<sizeof(sink_4_2356(va))          == 3> t3;
4576 -    sa<sizeof(sink_4_2356(source()))    == 5> t5;
4577 -    sa<sizeof(sink_4_2356(c_source()))  == 6> t6;
4578 +    sa<sizeof(sink_4_2356(ca))          == 2 * sizeof(long)> t2;
4579 +    sa<sizeof(sink_4_2356(va))          == 3 * sizeof(long)> t3;
4580 +    sa<sizeof(sink_4_2356(source()))    == 5 * sizeof(long)> t5;
4581 +    sa<sizeof(sink_4_2356(c_source()))  == 6 * sizeof(long)> t6;
4582      return 0;
4583  }
4584  
4585 @@ -830,11 +830,11 @@
4586      const          A ca = a;
4587            volatile A va;
4588      const volatile A cva = a;
4589 -    sa<sizeof(sink_4_2357(ca))          == 2> t2;
4590 -    sa<sizeof(sink_4_2357(va))          == 3> t3;
4591 -    sa<sizeof(sink_4_2357(source()))    == 5> t5;
4592 -    sa<sizeof(sink_4_2357(c_source()))  == 2> t6;
4593 -    sa<sizeof(sink_4_2357(v_source()))  == 7> t7;
4594 +    sa<sizeof(sink_4_2357(ca))          == 2 * sizeof(long)> t2;
4595 +    sa<sizeof(sink_4_2357(va))          == 3 * sizeof(long)> t3;
4596 +    sa<sizeof(sink_4_2357(source()))    == 5 * sizeof(long)> t5;
4597 +    sa<sizeof(sink_4_2357(c_source()))  == 2 * sizeof(long)> t6;
4598 +    sa<sizeof(sink_4_2357(v_source()))  == 7 * sizeof(long)> t7;
4599      return 0;
4600  }
4601  
4602 @@ -849,12 +849,12 @@
4603      const          A ca = a;
4604            volatile A va;
4605      const volatile A cva = a;
4606 -    sa<sizeof(sink_4_2358(ca))          == 2> t2;
4607 -    sa<sizeof(sink_4_2358(va))          == 3> t3;
4608 -    sa<sizeof(sink_4_2358(source()))    == 5> t5;
4609 -    sa<sizeof(sink_4_2358(c_source()))  == 8> t6;
4610 -    sa<sizeof(sink_4_2358(v_source()))  == 8> t7;
4611 -    sa<sizeof(sink_4_2358(cv_source())) == 8> t8;
4612 +    sa<sizeof(sink_4_2358(ca))          == 2 * sizeof(long)> t2;
4613 +    sa<sizeof(sink_4_2358(va))          == 3 * sizeof(long)> t3;
4614 +    sa<sizeof(sink_4_2358(source()))    == 5 * sizeof(long)> t5;
4615 +    sa<sizeof(sink_4_2358(c_source()))  == 8 * sizeof(long)> t6;
4616 +    sa<sizeof(sink_4_2358(v_source()))  == 8 * sizeof(long)> t7;
4617 +    sa<sizeof(sink_4_2358(cv_source())) == 8 * sizeof(long)> t8;
4618      return 0;
4619  }
4620  
4621 @@ -869,10 +869,10 @@
4622      const          A ca = a;
4623            volatile A va;
4624      const volatile A cva = a;
4625 -    sa<sizeof(sink_4_2367(ca))          == 2> t2;
4626 -    sa<sizeof(sink_4_2367(va))          == 3> t3;
4627 -    sa<sizeof(sink_4_2367(c_source()))  == 6> t6;
4628 -    sa<sizeof(sink_4_2367(v_source()))  == 7> t7;
4629 +    sa<sizeof(sink_4_2367(ca))          == 2 * sizeof(long)> t2;
4630 +    sa<sizeof(sink_4_2367(va))          == 3 * sizeof(long)> t3;
4631 +    sa<sizeof(sink_4_2367(c_source()))  == 6 * sizeof(long)> t6;
4632 +    sa<sizeof(sink_4_2367(v_source()))  == 7 * sizeof(long)> t7;
4633      return 0;
4634  }
4635  
4636 @@ -887,12 +887,12 @@
4637      const          A ca = a;
4638            volatile A va;
4639      const volatile A cva = a;
4640 -    sa<sizeof(sink_4_2368(ca))          == 2> t2;
4641 -    sa<sizeof(sink_4_2368(va))          == 3> t3;
4642 -    sa<sizeof(sink_4_2368(source()))    == 6> t5;
4643 -    sa<sizeof(sink_4_2368(c_source()))  == 6> t6;
4644 -    sa<sizeof(sink_4_2368(v_source()))  == 8> t7;
4645 -    sa<sizeof(sink_4_2368(cv_source())) == 8> t8;
4646 +    sa<sizeof(sink_4_2368(ca))          == 2 * sizeof(long)> t2;
4647 +    sa<sizeof(sink_4_2368(va))          == 3 * sizeof(long)> t3;
4648 +    sa<sizeof(sink_4_2368(source()))    == 6 * sizeof(long)> t5;
4649 +    sa<sizeof(sink_4_2368(c_source()))  == 6 * sizeof(long)> t6;
4650 +    sa<sizeof(sink_4_2368(v_source()))  == 8 * sizeof(long)> t7;
4651 +    sa<sizeof(sink_4_2368(cv_source())) == 8 * sizeof(long)> t8;
4652      return 0;
4653  }
4654  
4655 @@ -907,12 +907,12 @@
4656      const          A ca = a;
4657            volatile A va;
4658      const volatile A cva = a;
4659 -    sa<sizeof(sink_4_2378(ca))          == 2> t2;
4660 -    sa<sizeof(sink_4_2378(va))          == 3> t3;
4661 -    sa<sizeof(sink_4_2378(source()))    == 7> t5;
4662 -    sa<sizeof(sink_4_2378(c_source()))  == 8> t6;
4663 -    sa<sizeof(sink_4_2378(v_source()))  == 7> t7;
4664 -    sa<sizeof(sink_4_2378(cv_source())) == 8> t8;
4665 +    sa<sizeof(sink_4_2378(ca))          == 2 * sizeof(long)> t2;
4666 +    sa<sizeof(sink_4_2378(va))          == 3 * sizeof(long)> t3;
4667 +    sa<sizeof(sink_4_2378(source()))    == 7 * sizeof(long)> t5;
4668 +    sa<sizeof(sink_4_2378(c_source()))  == 8 * sizeof(long)> t6;
4669 +    sa<sizeof(sink_4_2378(v_source()))  == 7 * sizeof(long)> t7;
4670 +    sa<sizeof(sink_4_2378(cv_source())) == 8 * sizeof(long)> t8;
4671      return 0;
4672  }
4673  
4674 @@ -927,12 +927,12 @@
4675      const          A ca = a;
4676            volatile A va;
4677      const volatile A cva = a;
4678 -    sa<sizeof(sink_4_2456(a))           == 2> t1;
4679 -    sa<sizeof(sink_4_2456(ca))          == 2> t2;
4680 -    sa<sizeof(sink_4_2456(va))          == 4> t3;
4681 -    sa<sizeof(sink_4_2456(cva))         == 4> t4;
4682 -    sa<sizeof(sink_4_2456(source()))    == 5> t5;
4683 -    sa<sizeof(sink_4_2456(c_source()))  == 6> t6;
4684 +    sa<sizeof(sink_4_2456(a))           == 2 * sizeof(long)> t1;
4685 +    sa<sizeof(sink_4_2456(ca))          == 2 * sizeof(long)> t2;
4686 +    sa<sizeof(sink_4_2456(va))          == 4 * sizeof(long)> t3;
4687 +    sa<sizeof(sink_4_2456(cva))         == 4 * sizeof(long)> t4;
4688 +    sa<sizeof(sink_4_2456(source()))    == 5 * sizeof(long)> t5;
4689 +    sa<sizeof(sink_4_2456(c_source()))  == 6 * sizeof(long)> t6;
4690      return 0;
4691  }
4692  
4693 @@ -947,13 +947,13 @@
4694      const          A ca = a;
4695            volatile A va;
4696      const volatile A cva = a;
4697 -    sa<sizeof(sink_4_2457(a))           == 2> t1;
4698 -    sa<sizeof(sink_4_2457(ca))          == 2> t2;
4699 -    sa<sizeof(sink_4_2457(va))          == 4> t3;
4700 -    sa<sizeof(sink_4_2457(cva))         == 4> t4;
4701 -    sa<sizeof(sink_4_2457(source()))    == 5> t5;
4702 -    sa<sizeof(sink_4_2457(c_source()))  == 2> t6;
4703 -    sa<sizeof(sink_4_2457(v_source()))  == 7> t7;
4704 +    sa<sizeof(sink_4_2457(a))           == 2 * sizeof(long)> t1;
4705 +    sa<sizeof(sink_4_2457(ca))          == 2 * sizeof(long)> t2;
4706 +    sa<sizeof(sink_4_2457(va))          == 4 * sizeof(long)> t3;
4707 +    sa<sizeof(sink_4_2457(cva))         == 4 * sizeof(long)> t4;
4708 +    sa<sizeof(sink_4_2457(source()))    == 5 * sizeof(long)> t5;
4709 +    sa<sizeof(sink_4_2457(c_source()))  == 2 * sizeof(long)> t6;
4710 +    sa<sizeof(sink_4_2457(v_source()))  == 7 * sizeof(long)> t7;
4711      return 0;
4712  }
4713  
4714 @@ -968,14 +968,14 @@
4715      const          A ca = a;
4716            volatile A va;
4717      const volatile A cva = a;
4718 -    sa<sizeof(sink_4_2458(a))           == 2> t1;
4719 -    sa<sizeof(sink_4_2458(ca))          == 2> t2;
4720 -    sa<sizeof(sink_4_2458(va))          == 4> t3;
4721 -    sa<sizeof(sink_4_2458(cva))         == 4> t4;
4722 -    sa<sizeof(sink_4_2458(source()))    == 5> t5;
4723 -    sa<sizeof(sink_4_2458(c_source()))  == 8> t6;
4724 -    sa<sizeof(sink_4_2458(v_source()))  == 8> t7;
4725 -    sa<sizeof(sink_4_2458(cv_source())) == 8> t8;
4726 +    sa<sizeof(sink_4_2458(a))           == 2 * sizeof(long)> t1;
4727 +    sa<sizeof(sink_4_2458(ca))          == 2 * sizeof(long)> t2;
4728 +    sa<sizeof(sink_4_2458(va))          == 4 * sizeof(long)> t3;
4729 +    sa<sizeof(sink_4_2458(cva))         == 4 * sizeof(long)> t4;
4730 +    sa<sizeof(sink_4_2458(source()))    == 5 * sizeof(long)> t5;
4731 +    sa<sizeof(sink_4_2458(c_source()))  == 8 * sizeof(long)> t6;
4732 +    sa<sizeof(sink_4_2458(v_source()))  == 8 * sizeof(long)> t7;
4733 +    sa<sizeof(sink_4_2458(cv_source())) == 8 * sizeof(long)> t8;
4734      return 0;
4735  }
4736  
4737 @@ -990,12 +990,12 @@
4738      const          A ca = a;
4739            volatile A va;
4740      const volatile A cva = a;
4741 -    sa<sizeof(sink_4_2467(a))           == 2> t1;
4742 -    sa<sizeof(sink_4_2467(ca))          == 2> t2;
4743 -    sa<sizeof(sink_4_2467(va))          == 4> t3;
4744 -    sa<sizeof(sink_4_2467(cva))         == 4> t4;
4745 -    sa<sizeof(sink_4_2467(c_source()))  == 6> t6;
4746 -    sa<sizeof(sink_4_2467(v_source()))  == 7> t7;
4747 +    sa<sizeof(sink_4_2467(a))           == 2 * sizeof(long)> t1;
4748 +    sa<sizeof(sink_4_2467(ca))          == 2 * sizeof(long)> t2;
4749 +    sa<sizeof(sink_4_2467(va))          == 4 * sizeof(long)> t3;
4750 +    sa<sizeof(sink_4_2467(cva))         == 4 * sizeof(long)> t4;
4751 +    sa<sizeof(sink_4_2467(c_source()))  == 6 * sizeof(long)> t6;
4752 +    sa<sizeof(sink_4_2467(v_source()))  == 7 * sizeof(long)> t7;
4753      return 0;
4754  }
4755  
4756 @@ -1010,14 +1010,14 @@
4757      const          A ca = a;
4758            volatile A va;
4759      const volatile A cva = a;
4760 -    sa<sizeof(sink_4_2468(a))           == 2> t1;
4761 -    sa<sizeof(sink_4_2468(ca))          == 2> t2;
4762 -    sa<sizeof(sink_4_2468(va))          == 4> t3;
4763 -    sa<sizeof(sink_4_2468(cva))         == 4> t4;
4764 -    sa<sizeof(sink_4_2468(source()))    == 6> t5;
4765 -    sa<sizeof(sink_4_2468(c_source()))  == 6> t6;
4766 -    sa<sizeof(sink_4_2468(v_source()))  == 8> t7;
4767 -    sa<sizeof(sink_4_2468(cv_source())) == 8> t8;
4768 +    sa<sizeof(sink_4_2468(a))           == 2 * sizeof(long)> t1;
4769 +    sa<sizeof(sink_4_2468(ca))          == 2 * sizeof(long)> t2;
4770 +    sa<sizeof(sink_4_2468(va))          == 4 * sizeof(long)> t3;
4771 +    sa<sizeof(sink_4_2468(cva))         == 4 * sizeof(long)> t4;
4772 +    sa<sizeof(sink_4_2468(source()))    == 6 * sizeof(long)> t5;
4773 +    sa<sizeof(sink_4_2468(c_source()))  == 6 * sizeof(long)> t6;
4774 +    sa<sizeof(sink_4_2468(v_source()))  == 8 * sizeof(long)> t7;
4775 +    sa<sizeof(sink_4_2468(cv_source())) == 8 * sizeof(long)> t8;
4776      return 0;
4777  }
4778  
4779 @@ -1032,14 +1032,14 @@
4780      const          A ca = a;
4781            volatile A va;
4782      const volatile A cva = a;
4783 -    sa<sizeof(sink_4_2478(a))           == 2> t1;
4784 -    sa<sizeof(sink_4_2478(ca))          == 2> t2;
4785 -    sa<sizeof(sink_4_2478(va))          == 4> t3;
4786 -    sa<sizeof(sink_4_2478(cva))         == 4> t4;
4787 -    sa<sizeof(sink_4_2478(source()))    == 7> t5;
4788 -    sa<sizeof(sink_4_2478(c_source()))  == 8> t6;
4789 -    sa<sizeof(sink_4_2478(v_source()))  == 7> t7;
4790 -    sa<sizeof(sink_4_2478(cv_source())) == 8> t8;
4791 +    sa<sizeof(sink_4_2478(a))           == 2 * sizeof(long)> t1;
4792 +    sa<sizeof(sink_4_2478(ca))          == 2 * sizeof(long)> t2;
4793 +    sa<sizeof(sink_4_2478(va))          == 4 * sizeof(long)> t3;
4794 +    sa<sizeof(sink_4_2478(cva))         == 4 * sizeof(long)> t4;
4795 +    sa<sizeof(sink_4_2478(source()))    == 7 * sizeof(long)> t5;
4796 +    sa<sizeof(sink_4_2478(c_source()))  == 8 * sizeof(long)> t6;
4797 +    sa<sizeof(sink_4_2478(v_source()))  == 7 * sizeof(long)> t7;
4798 +    sa<sizeof(sink_4_2478(cv_source())) == 8 * sizeof(long)> t8;
4799      return 0;
4800  }
4801  
4802 @@ -1054,11 +1054,11 @@
4803      const          A ca = a;
4804            volatile A va;
4805      const volatile A cva = a;
4806 -    sa<sizeof(sink_4_2567(a))           == 2> t1;
4807 -    sa<sizeof(sink_4_2567(ca))          == 2> t2;
4808 -    sa<sizeof(sink_4_2567(source()))    == 5> t5;
4809 -    sa<sizeof(sink_4_2567(c_source()))  == 6> t6;
4810 -    sa<sizeof(sink_4_2567(v_source()))  == 7> t7;
4811 +    sa<sizeof(sink_4_2567(a))           == 2 * sizeof(long)> t1;
4812 +    sa<sizeof(sink_4_2567(ca))          == 2 * sizeof(long)> t2;
4813 +    sa<sizeof(sink_4_2567(source()))    == 5 * sizeof(long)> t5;
4814 +    sa<sizeof(sink_4_2567(c_source()))  == 6 * sizeof(long)> t6;
4815 +    sa<sizeof(sink_4_2567(v_source()))  == 7 * sizeof(long)> t7;
4816      return 0;
4817  }
4818  
4819 @@ -1073,12 +1073,12 @@
4820      const          A ca = a;
4821            volatile A va;
4822      const volatile A cva = a;
4823 -    sa<sizeof(sink_4_2568(a))           == 2> t1;
4824 -    sa<sizeof(sink_4_2568(ca))          == 2> t2;
4825 -    sa<sizeof(sink_4_2568(source()))    == 5> t5;
4826 -    sa<sizeof(sink_4_2568(c_source()))  == 6> t6;
4827 -    sa<sizeof(sink_4_2568(v_source()))  == 8> t7;
4828 -    sa<sizeof(sink_4_2568(cv_source())) == 8> t8;
4829 +    sa<sizeof(sink_4_2568(a))           == 2 * sizeof(long)> t1;
4830 +    sa<sizeof(sink_4_2568(ca))          == 2 * sizeof(long)> t2;
4831 +    sa<sizeof(sink_4_2568(source()))    == 5 * sizeof(long)> t5;
4832 +    sa<sizeof(sink_4_2568(c_source()))  == 6 * sizeof(long)> t6;
4833 +    sa<sizeof(sink_4_2568(v_source()))  == 8 * sizeof(long)> t7;
4834 +    sa<sizeof(sink_4_2568(cv_source())) == 8 * sizeof(long)> t8;
4835      return 0;
4836  }
4837  
4838 @@ -1093,12 +1093,12 @@
4839      const          A ca = a;
4840            volatile A va;
4841      const volatile A cva = a;
4842 -    sa<sizeof(sink_4_2578(a))           == 2> t1;
4843 -    sa<sizeof(sink_4_2578(ca))          == 2> t2;
4844 -    sa<sizeof(sink_4_2578(source()))    == 5> t5;
4845 -    sa<sizeof(sink_4_2578(c_source()))  == 8> t6;
4846 -    sa<sizeof(sink_4_2578(v_source()))  == 7> t7;
4847 -    sa<sizeof(sink_4_2578(cv_source())) == 8> t8;
4848 +    sa<sizeof(sink_4_2578(a))           == 2 * sizeof(long)> t1;
4849 +    sa<sizeof(sink_4_2578(ca))          == 2 * sizeof(long)> t2;
4850 +    sa<sizeof(sink_4_2578(source()))    == 5 * sizeof(long)> t5;
4851 +    sa<sizeof(sink_4_2578(c_source()))  == 8 * sizeof(long)> t6;
4852 +    sa<sizeof(sink_4_2578(v_source()))  == 7 * sizeof(long)> t7;
4853 +    sa<sizeof(sink_4_2578(cv_source())) == 8 * sizeof(long)> t8;
4854      return 0;
4855  }
4856  
4857 @@ -1113,11 +1113,11 @@
4858      const          A ca = a;
4859            volatile A va;
4860      const volatile A cva = a;
4861 -    sa<sizeof(sink_4_2678(a))           == 2> t1;
4862 -    sa<sizeof(sink_4_2678(ca))          == 2> t2;
4863 -    sa<sizeof(sink_4_2678(c_source()))  == 6> t6;
4864 -    sa<sizeof(sink_4_2678(v_source()))  == 7> t7;
4865 -    sa<sizeof(sink_4_2678(cv_source())) == 8> t8;
4866 +    sa<sizeof(sink_4_2678(a))           == 2 * sizeof(long)> t1;
4867 +    sa<sizeof(sink_4_2678(ca))          == 2 * sizeof(long)> t2;
4868 +    sa<sizeof(sink_4_2678(c_source()))  == 6 * sizeof(long)> t6;
4869 +    sa<sizeof(sink_4_2678(v_source()))  == 7 * sizeof(long)> t7;
4870 +    sa<sizeof(sink_4_2678(cv_source())) == 8 * sizeof(long)> t8;
4871      return 0;
4872  }
4873  
4874 @@ -1132,12 +1132,12 @@
4875      const          A ca = a;
4876            volatile A va;
4877      const volatile A cva = a;
4878 -    sa<sizeof(sink_4_3456(a))           == 3> t1;
4879 -    sa<sizeof(sink_4_3456(ca))          == 4> t2;
4880 -    sa<sizeof(sink_4_3456(va))          == 3> t3;
4881 -    sa<sizeof(sink_4_3456(cva))         == 4> t4;
4882 -    sa<sizeof(sink_4_3456(source()))    == 5> t5;
4883 -    sa<sizeof(sink_4_3456(c_source()))  == 6> t6;
4884 +    sa<sizeof(sink_4_3456(a))           == 3 * sizeof(long)> t1;
4885 +    sa<sizeof(sink_4_3456(ca))          == 4 * sizeof(long)> t2;
4886 +    sa<sizeof(sink_4_3456(va))          == 3 * sizeof(long)> t3;
4887 +    sa<sizeof(sink_4_3456(cva))         == 4 * sizeof(long)> t4;
4888 +    sa<sizeof(sink_4_3456(source()))    == 5 * sizeof(long)> t5;
4889 +    sa<sizeof(sink_4_3456(c_source()))  == 6 * sizeof(long)> t6;
4890      return 0;
4891  }
4892  
4893 @@ -1152,12 +1152,12 @@
4894      const          A ca = a;
4895            volatile A va;
4896      const volatile A cva = a;
4897 -    sa<sizeof(sink_4_3457(a))           == 3> t1;
4898 -    sa<sizeof(sink_4_3457(ca))          == 4> t2;
4899 -    sa<sizeof(sink_4_3457(va))          == 3> t3;
4900 -    sa<sizeof(sink_4_3457(cva))         == 4> t4;
4901 -    sa<sizeof(sink_4_3457(source()))    == 5> t5;
4902 -    sa<sizeof(sink_4_3457(v_source()))  == 7> t7;
4903 +    sa<sizeof(sink_4_3457(a))           == 3 * sizeof(long)> t1;
4904 +    sa<sizeof(sink_4_3457(ca))          == 4 * sizeof(long)> t2;
4905 +    sa<sizeof(sink_4_3457(va))          == 3 * sizeof(long)> t3;
4906 +    sa<sizeof(sink_4_3457(cva))         == 4 * sizeof(long)> t4;
4907 +    sa<sizeof(sink_4_3457(source()))    == 5 * sizeof(long)> t5;
4908 +    sa<sizeof(sink_4_3457(v_source()))  == 7 * sizeof(long)> t7;
4909      return 0;
4910  }
4911  
4912 @@ -1172,14 +1172,14 @@
4913      const          A ca = a;
4914            volatile A va;
4915      const volatile A cva = a;
4916 -    sa<sizeof(sink_4_3458(a))           == 3> t1;
4917 -    sa<sizeof(sink_4_3458(ca))          == 4> t2;
4918 -    sa<sizeof(sink_4_3458(va))          == 3> t3;
4919 -    sa<sizeof(sink_4_3458(cva))         == 4> t4;
4920 -    sa<sizeof(sink_4_3458(source()))    == 5> t5;
4921 -    sa<sizeof(sink_4_3458(c_source()))  == 8> t6;
4922 -    sa<sizeof(sink_4_3458(v_source()))  == 8> t7;
4923 -    sa<sizeof(sink_4_3458(cv_source())) == 8> t8;
4924 +    sa<sizeof(sink_4_3458(a))           == 3 * sizeof(long)> t1;
4925 +    sa<sizeof(sink_4_3458(ca))          == 4 * sizeof(long)> t2;
4926 +    sa<sizeof(sink_4_3458(va))          == 3 * sizeof(long)> t3;
4927 +    sa<sizeof(sink_4_3458(cva))         == 4 * sizeof(long)> t4;
4928 +    sa<sizeof(sink_4_3458(source()))    == 5 * sizeof(long)> t5;
4929 +    sa<sizeof(sink_4_3458(c_source()))  == 8 * sizeof(long)> t6;
4930 +    sa<sizeof(sink_4_3458(v_source()))  == 8 * sizeof(long)> t7;
4931 +    sa<sizeof(sink_4_3458(cv_source())) == 8 * sizeof(long)> t8;
4932      return 0;
4933  }
4934  
4935 @@ -1194,12 +1194,12 @@
4936      const          A ca = a;
4937            volatile A va;
4938      const volatile A cva = a;
4939 -    sa<sizeof(sink_4_3467(a))           == 3> t1;
4940 -    sa<sizeof(sink_4_3467(ca))          == 4> t2;
4941 -    sa<sizeof(sink_4_3467(va))          == 3> t3;
4942 -    sa<sizeof(sink_4_3467(cva))         == 4> t4;
4943 -    sa<sizeof(sink_4_3467(c_source()))  == 6> t6;
4944 -    sa<sizeof(sink_4_3467(v_source()))  == 7> t7;
4945 +    sa<sizeof(sink_4_3467(a))           == 3 * sizeof(long)> t1;
4946 +    sa<sizeof(sink_4_3467(ca))          == 4 * sizeof(long)> t2;
4947 +    sa<sizeof(sink_4_3467(va))          == 3 * sizeof(long)> t3;
4948 +    sa<sizeof(sink_4_3467(cva))         == 4 * sizeof(long)> t4;
4949 +    sa<sizeof(sink_4_3467(c_source()))  == 6 * sizeof(long)> t6;
4950 +    sa<sizeof(sink_4_3467(v_source()))  == 7 * sizeof(long)> t7;
4951      return 0;
4952  }
4953  
4954 @@ -1214,14 +1214,14 @@
4955      const          A ca = a;
4956            volatile A va;
4957      const volatile A cva = a;
4958 -    sa<sizeof(sink_4_3468(a))           == 3> t1;
4959 -    sa<sizeof(sink_4_3468(ca))          == 4> t2;
4960 -    sa<sizeof(sink_4_3468(va))          == 3> t3;
4961 -    sa<sizeof(sink_4_3468(cva))         == 4> t4;
4962 -    sa<sizeof(sink_4_3468(source()))    == 6> t5;
4963 -    sa<sizeof(sink_4_3468(c_source()))  == 6> t6;
4964 -    sa<sizeof(sink_4_3468(v_source()))  == 8> t7;
4965 -    sa<sizeof(sink_4_3468(cv_source())) == 8> t8;
4966 +    sa<sizeof(sink_4_3468(a))           == 3 * sizeof(long)> t1;
4967 +    sa<sizeof(sink_4_3468(ca))          == 4 * sizeof(long)> t2;
4968 +    sa<sizeof(sink_4_3468(va))          == 3 * sizeof(long)> t3;
4969 +    sa<sizeof(sink_4_3468(cva))         == 4 * sizeof(long)> t4;
4970 +    sa<sizeof(sink_4_3468(source()))    == 6 * sizeof(long)> t5;
4971 +    sa<sizeof(sink_4_3468(c_source()))  == 6 * sizeof(long)> t6;
4972 +    sa<sizeof(sink_4_3468(v_source()))  == 8 * sizeof(long)> t7;
4973 +    sa<sizeof(sink_4_3468(cv_source())) == 8 * sizeof(long)> t8;
4974      return 0;
4975  }
4976  
4977 @@ -1236,14 +1236,14 @@
4978      const          A ca = a;
4979            volatile A va;
4980      const volatile A cva = a;
4981 -    sa<sizeof(sink_4_3478(a))           == 3> t1;
4982 -    sa<sizeof(sink_4_3478(ca))          == 4> t2;
4983 -    sa<sizeof(sink_4_3478(va))          == 3> t3;
4984 -    sa<sizeof(sink_4_3478(cva))         == 4> t4;
4985 -    sa<sizeof(sink_4_3478(source()))    == 7> t5;
4986 -    sa<sizeof(sink_4_3478(c_source()))  == 8> t6;
4987 -    sa<sizeof(sink_4_3478(v_source()))  == 7> t7;
4988 -    sa<sizeof(sink_4_3478(cv_source())) == 8> t8;
4989 +    sa<sizeof(sink_4_3478(a))           == 3 * sizeof(long)> t1;
4990 +    sa<sizeof(sink_4_3478(ca))          == 4 * sizeof(long)> t2;
4991 +    sa<sizeof(sink_4_3478(va))          == 3 * sizeof(long)> t3;
4992 +    sa<sizeof(sink_4_3478(cva))         == 4 * sizeof(long)> t4;
4993 +    sa<sizeof(sink_4_3478(source()))    == 7 * sizeof(long)> t5;
4994 +    sa<sizeof(sink_4_3478(c_source()))  == 8 * sizeof(long)> t6;
4995 +    sa<sizeof(sink_4_3478(v_source()))  == 7 * sizeof(long)> t7;
4996 +    sa<sizeof(sink_4_3478(cv_source())) == 8 * sizeof(long)> t8;
4997      return 0;
4998  }
4999  
5000 @@ -1258,11 +1258,11 @@
5001      const          A ca = a;
5002            volatile A va;
5003      const volatile A cva = a;
5004 -    sa<sizeof(sink_4_3567(a))           == 3> t1;
5005 -    sa<sizeof(sink_4_3567(va))          == 3> t3;
5006 -    sa<sizeof(sink_4_3567(source()))    == 5> t5;
5007 -    sa<sizeof(sink_4_3567(c_source()))  == 6> t6;
5008 -    sa<sizeof(sink_4_3567(v_source()))  == 7> t7;
5009 +    sa<sizeof(sink_4_3567(a))           == 3 * sizeof(long)> t1;
5010 +    sa<sizeof(sink_4_3567(va))          == 3 * sizeof(long)> t3;
5011 +    sa<sizeof(sink_4_3567(source()))    == 5 * sizeof(long)> t5;
5012 +    sa<sizeof(sink_4_3567(c_source()))  == 6 * sizeof(long)> t6;
5013 +    sa<sizeof(sink_4_3567(v_source()))  == 7 * sizeof(long)> t7;
5014      return 0;
5015  }
5016  
5017 @@ -1277,12 +1277,12 @@
5018      const          A ca = a;
5019            volatile A va;
5020      const volatile A cva = a;
5021 -    sa<sizeof(sink_4_3568(a))           == 3> t1;
5022 -    sa<sizeof(sink_4_3568(va))          == 3> t3;
5023 -    sa<sizeof(sink_4_3568(source()))    == 5> t5;
5024 -    sa<sizeof(sink_4_3568(c_source()))  == 6> t6;
5025 -    sa<sizeof(sink_4_3568(v_source()))  == 8> t7;
5026 -    sa<sizeof(sink_4_3568(cv_source())) == 8> t8;
5027 +    sa<sizeof(sink_4_3568(a))           == 3 * sizeof(long)> t1;
5028 +    sa<sizeof(sink_4_3568(va))          == 3 * sizeof(long)> t3;
5029 +    sa<sizeof(sink_4_3568(source()))    == 5 * sizeof(long)> t5;
5030 +    sa<sizeof(sink_4_3568(c_source()))  == 6 * sizeof(long)> t6;
5031 +    sa<sizeof(sink_4_3568(v_source()))  == 8 * sizeof(long)> t7;
5032 +    sa<sizeof(sink_4_3568(cv_source())) == 8 * sizeof(long)> t8;
5033      return 0;
5034  }
5035  
5036 @@ -1297,12 +1297,12 @@
5037      const          A ca = a;
5038            volatile A va;
5039      const volatile A cva = a;
5040 -    sa<sizeof(sink_4_3578(a))           == 3> t1;
5041 -    sa<sizeof(sink_4_3578(va))          == 3> t3;
5042 -    sa<sizeof(sink_4_3578(source()))    == 5> t5;
5043 -    sa<sizeof(sink_4_3578(c_source()))  == 8> t6;
5044 -    sa<sizeof(sink_4_3578(v_source()))  == 7> t7;
5045 -    sa<sizeof(sink_4_3578(cv_source())) == 8> t8;
5046 +    sa<sizeof(sink_4_3578(a))           == 3 * sizeof(long)> t1;
5047 +    sa<sizeof(sink_4_3578(va))          == 3 * sizeof(long)> t3;
5048 +    sa<sizeof(sink_4_3578(source()))    == 5 * sizeof(long)> t5;
5049 +    sa<sizeof(sink_4_3578(c_source()))  == 8 * sizeof(long)> t6;
5050 +    sa<sizeof(sink_4_3578(v_source()))  == 7 * sizeof(long)> t7;
5051 +    sa<sizeof(sink_4_3578(cv_source())) == 8 * sizeof(long)> t8;
5052      return 0;
5053  }
5054  
5055 @@ -1317,11 +1317,11 @@
5056      const          A ca = a;
5057            volatile A va;
5058      const volatile A cva = a;
5059 -    sa<sizeof(sink_4_3678(a))           == 3> t1;
5060 -    sa<sizeof(sink_4_3678(va))          == 3> t3;
5061 -    sa<sizeof(sink_4_3678(c_source()))  == 6> t6;
5062 -    sa<sizeof(sink_4_3678(v_source()))  == 7> t7;
5063 -    sa<sizeof(sink_4_3678(cv_source())) == 8> t8;
5064 +    sa<sizeof(sink_4_3678(a))           == 3 * sizeof(long)> t1;
5065 +    sa<sizeof(sink_4_3678(va))          == 3 * sizeof(long)> t3;
5066 +    sa<sizeof(sink_4_3678(c_source()))  == 6 * sizeof(long)> t6;
5067 +    sa<sizeof(sink_4_3678(v_source()))  == 7 * sizeof(long)> t7;
5068 +    sa<sizeof(sink_4_3678(cv_source())) == 8 * sizeof(long)> t8;
5069      return 0;
5070  }
5071  
5072 @@ -1336,13 +1336,13 @@
5073      const          A ca = a;
5074            volatile A va;
5075      const volatile A cva = a;
5076 -    sa<sizeof(sink_4_4567(a))           == 4> t1;
5077 -    sa<sizeof(sink_4_4567(ca))          == 4> t2;
5078 -    sa<sizeof(sink_4_4567(va))          == 4> t3;
5079 -    sa<sizeof(sink_4_4567(cva))         == 4> t4;
5080 -    sa<sizeof(sink_4_4567(source()))    == 5> t5;
5081 -    sa<sizeof(sink_4_4567(c_source()))  == 6> t6;
5082 -    sa<sizeof(sink_4_4567(v_source()))  == 7> t7;
5083 +    sa<sizeof(sink_4_4567(a))           == 4 * sizeof(long)> t1;
5084 +    sa<sizeof(sink_4_4567(ca))          == 4 * sizeof(long)> t2;
5085 +    sa<sizeof(sink_4_4567(va))          == 4 * sizeof(long)> t3;
5086 +    sa<sizeof(sink_4_4567(cva))         == 4 * sizeof(long)> t4;
5087 +    sa<sizeof(sink_4_4567(source()))    == 5 * sizeof(long)> t5;
5088 +    sa<sizeof(sink_4_4567(c_source()))  == 6 * sizeof(long)> t6;
5089 +    sa<sizeof(sink_4_4567(v_source()))  == 7 * sizeof(long)> t7;
5090      return 0;
5091  }
5092  
5093 @@ -1357,14 +1357,14 @@
5094      const          A ca = a;
5095            volatile A va;
5096      const volatile A cva = a;
5097 -    sa<sizeof(sink_4_4568(a))           == 4> t1;
5098 -    sa<sizeof(sink_4_4568(ca))          == 4> t2;
5099 -    sa<sizeof(sink_4_4568(va))          == 4> t3;
5100 -    sa<sizeof(sink_4_4568(cva))         == 4> t4;
5101 -    sa<sizeof(sink_4_4568(source()))    == 5> t5;
5102 -    sa<sizeof(sink_4_4568(c_source()))  == 6> t6;
5103 -    sa<sizeof(sink_4_4568(v_source()))  == 8> t7;
5104 -    sa<sizeof(sink_4_4568(cv_source())) == 8> t8;
5105 +    sa<sizeof(sink_4_4568(a))           == 4 * sizeof(long)> t1;
5106 +    sa<sizeof(sink_4_4568(ca))          == 4 * sizeof(long)> t2;
5107 +    sa<sizeof(sink_4_4568(va))          == 4 * sizeof(long)> t3;
5108 +    sa<sizeof(sink_4_4568(cva))         == 4 * sizeof(long)> t4;
5109 +    sa<sizeof(sink_4_4568(source()))    == 5 * sizeof(long)> t5;
5110 +    sa<sizeof(sink_4_4568(c_source()))  == 6 * sizeof(long)> t6;
5111 +    sa<sizeof(sink_4_4568(v_source()))  == 8 * sizeof(long)> t7;
5112 +    sa<sizeof(sink_4_4568(cv_source())) == 8 * sizeof(long)> t8;
5113      return 0;
5114  }
5115  
5116 @@ -1379,14 +1379,14 @@
5117      const          A ca = a;
5118            volatile A va;
5119      const volatile A cva = a;
5120 -    sa<sizeof(sink_4_4578(a))           == 4> t1;
5121 -    sa<sizeof(sink_4_4578(ca))          == 4> t2;
5122 -    sa<sizeof(sink_4_4578(va))          == 4> t3;
5123 -    sa<sizeof(sink_4_4578(cva))         == 4> t4;
5124 -    sa<sizeof(sink_4_4578(source()))    == 5> t5;
5125 -    sa<sizeof(sink_4_4578(c_source()))  == 8> t6;
5126 -    sa<sizeof(sink_4_4578(v_source()))  == 7> t7;
5127 -    sa<sizeof(sink_4_4578(cv_source())) == 8> t8;
5128 +    sa<sizeof(sink_4_4578(a))           == 4 * sizeof(long)> t1;
5129 +    sa<sizeof(sink_4_4578(ca))          == 4 * sizeof(long)> t2;
5130 +    sa<sizeof(sink_4_4578(va))          == 4 * sizeof(long)> t3;
5131 +    sa<sizeof(sink_4_4578(cva))         == 4 * sizeof(long)> t4;
5132 +    sa<sizeof(sink_4_4578(source()))    == 5 * sizeof(long)> t5;
5133 +    sa<sizeof(sink_4_4578(c_source()))  == 8 * sizeof(long)> t6;
5134 +    sa<sizeof(sink_4_4578(v_source()))  == 7 * sizeof(long)> t7;
5135 +    sa<sizeof(sink_4_4578(cv_source())) == 8 * sizeof(long)> t8;
5136      return 0;
5137  }
5138  
5139 @@ -1401,13 +1401,13 @@
5140      const          A ca = a;
5141            volatile A va;
5142      const volatile A cva = a;
5143 -    sa<sizeof(sink_4_4678(a))           == 4> t1;
5144 -    sa<sizeof(sink_4_4678(ca))          == 4> t2;
5145 -    sa<sizeof(sink_4_4678(va))          == 4> t3;
5146 -    sa<sizeof(sink_4_4678(cva))         == 4> t4;
5147 -    sa<sizeof(sink_4_4678(c_source()))  == 6> t6;
5148 -    sa<sizeof(sink_4_4678(v_source()))  == 7> t7;
5149 -    sa<sizeof(sink_4_4678(cv_source())) == 8> t8;
5150 +    sa<sizeof(sink_4_4678(a))           == 4 * sizeof(long)> t1;
5151 +    sa<sizeof(sink_4_4678(ca))          == 4 * sizeof(long)> t2;
5152 +    sa<sizeof(sink_4_4678(va))          == 4 * sizeof(long)> t3;
5153 +    sa<sizeof(sink_4_4678(cva))         == 4 * sizeof(long)> t4;
5154 +    sa<sizeof(sink_4_4678(c_source()))  == 6 * sizeof(long)> t6;
5155 +    sa<sizeof(sink_4_4678(v_source()))  == 7 * sizeof(long)> t7;
5156 +    sa<sizeof(sink_4_4678(cv_source())) == 8 * sizeof(long)> t8;
5157      return 0;
5158  }
5159  
5160 @@ -1422,10 +1422,10 @@
5161      const          A ca = a;
5162            volatile A va;
5163      const volatile A cva = a;
5164 -    sa<sizeof(sink_4_5678(source()))    == 5> t5;
5165 -    sa<sizeof(sink_4_5678(c_source()))  == 6> t6;
5166 -    sa<sizeof(sink_4_5678(v_source()))  == 7> t7;
5167 -    sa<sizeof(sink_4_5678(cv_source())) == 8> t8;
5168 +    sa<sizeof(sink_4_5678(source()))    == 5 * sizeof(long)> t5;
5169 +    sa<sizeof(sink_4_5678(c_source()))  == 6 * sizeof(long)> t6;
5170 +    sa<sizeof(sink_4_5678(v_source()))  == 7 * sizeof(long)> t7;
5171 +    sa<sizeof(sink_4_5678(cv_source())) == 8 * sizeof(long)> t8;
5172      return 0;
5173  }
5174  
5175 Index: gcc/testsuite/g++.dg/cpp0x/iop.C
5176 ===================================================================
5177 --- gcc/testsuite/g++.dg/cpp0x/iop.C    (.../tags/gcc_4_5_1_release)    (wersja 163628)
5178 +++ gcc/testsuite/g++.dg/cpp0x/iop.C    (.../branches/gcc-4_5-branch)   (wersja 163628)
5179 @@ -12,8 +12,8 @@
5180  template <bool> struct sa;
5181  template <> struct sa<true> {};
5182  
5183 -struct one   {char x[1];};
5184 -struct two   {char x[2];};
5185 +struct one   {long x[1];};
5186 +struct two   {long x[2];};
5187  
5188  struct os
5189  {
5190 @@ -30,7 +30,7 @@
5191  void test()
5192  {
5193      os o;
5194 -    sa<sizeof(o << 1) == 1> t1;  // Calls os::operator<<(int)
5195 +    sa<sizeof(o << 1) == 1 * sizeof(long)> t1;  // Calls os::operator<<(int)
5196                                   // Would be ambiguous if the implicit object parameter
5197                                   // was an rvalue reference.
5198  }
5199 Index: gcc/testsuite/g++.dg/cpp0x/rv5p.C
5200 ===================================================================
5201 --- gcc/testsuite/g++.dg/cpp0x/rv5p.C   (.../tags/gcc_4_5_1_release)    (wersja 163628)
5202 +++ gcc/testsuite/g++.dg/cpp0x/rv5p.C   (.../branches/gcc-4_5-branch)   (wersja 163628)
5203 @@ -8,14 +8,14 @@
5204  template <bool> struct sa;
5205  template <> struct sa<true> {};
5206  
5207 -struct one   {char x[1];};
5208 -struct two   {char x[2];};
5209 -struct three {char x[3];};
5210 -struct four  {char x[4];};
5211 -struct five  {char x[5];};
5212 -struct six   {char x[6];};
5213 -struct seven {char x[7];};
5214 -struct eight {char x[8];};
5215 +struct one   {long x[1];};
5216 +struct two   {long x[2];};
5217 +struct three {long x[3];};
5218 +struct four  {long x[4];};
5219 +struct five  {long x[5];};
5220 +struct six   {long x[6];};
5221 +struct seven {long x[7];};
5222 +struct eight {long x[8];};
5223  
5224  struct A
5225  {
5226 @@ -42,12 +42,12 @@
5227      const          A ca = a;
5228            volatile A va;
5229      const volatile A cva = a;
5230 -    sa<sizeof(sink_5_12345(a))           == 1> t1;
5231 -    sa<sizeof(sink_5_12345(ca))          == 2> t2;
5232 -    sa<sizeof(sink_5_12345(va))          == 3> t3;
5233 -    sa<sizeof(sink_5_12345(cva))         == 4> t4;
5234 -    sa<sizeof(sink_5_12345(source()))    == 5> t5;
5235 -    sa<sizeof(sink_5_12345(c_source()))  == 2> t6;
5236 +    sa<sizeof(sink_5_12345(a))           == 1 * sizeof(long)> t1;
5237 +    sa<sizeof(sink_5_12345(ca))          == 2 * sizeof(long)> t2;
5238 +    sa<sizeof(sink_5_12345(va))          == 3 * sizeof(long)> t3;
5239 +    sa<sizeof(sink_5_12345(cva))         == 4 * sizeof(long)> t4;
5240 +    sa<sizeof(sink_5_12345(source()))    == 5 * sizeof(long)> t5;
5241 +    sa<sizeof(sink_5_12345(c_source()))  == 2 * sizeof(long)> t6;
5242      return 0;
5243  }
5244  
5245 @@ -63,12 +63,12 @@
5246      const          A ca = a;
5247            volatile A va;
5248      const volatile A cva = a;
5249 -    sa<sizeof(sink_5_12346(a))           == 1> t1;
5250 -    sa<sizeof(sink_5_12346(ca))          == 2> t2;
5251 -    sa<sizeof(sink_5_12346(va))          == 3> t3;
5252 -    sa<sizeof(sink_5_12346(cva))         == 4> t4;
5253 -    sa<sizeof(sink_5_12346(source()))    == 6> t5;
5254 -    sa<sizeof(sink_5_12346(c_source()))  == 6> t6;
5255 +    sa<sizeof(sink_5_12346(a))           == 1 * sizeof(long)> t1;
5256 +    sa<sizeof(sink_5_12346(ca))          == 2 * sizeof(long)> t2;
5257 +    sa<sizeof(sink_5_12346(va))          == 3 * sizeof(long)> t3;
5258 +    sa<sizeof(sink_5_12346(cva))         == 4 * sizeof(long)> t4;
5259 +    sa<sizeof(sink_5_12346(source()))    == 6 * sizeof(long)> t5;
5260 +    sa<sizeof(sink_5_12346(c_source()))  == 6 * sizeof(long)> t6;
5261      return 0;
5262  }
5263  
5264 @@ -84,13 +84,13 @@
5265      const          A ca = a;
5266            volatile A va;
5267      const volatile A cva = a;
5268 -    sa<sizeof(sink_5_12347(a))           == 1> t1;
5269 -    sa<sizeof(sink_5_12347(ca))          == 2> t2;
5270 -    sa<sizeof(sink_5_12347(va))          == 3> t3;
5271 -    sa<sizeof(sink_5_12347(cva))         == 4> t4;
5272 -    sa<sizeof(sink_5_12347(source()))    == 7> t5;
5273 -    sa<sizeof(sink_5_12347(c_source()))  == 2> t6;
5274 -    sa<sizeof(sink_5_12347(v_source()))  == 7> t7;
5275 +    sa<sizeof(sink_5_12347(a))           == 1 * sizeof(long)> t1;
5276 +    sa<sizeof(sink_5_12347(ca))          == 2 * sizeof(long)> t2;
5277 +    sa<sizeof(sink_5_12347(va))          == 3 * sizeof(long)> t3;
5278 +    sa<sizeof(sink_5_12347(cva))         == 4 * sizeof(long)> t4;
5279 +    sa<sizeof(sink_5_12347(source()))    == 7 * sizeof(long)> t5;
5280 +    sa<sizeof(sink_5_12347(c_source()))  == 2 * sizeof(long)> t6;
5281 +    sa<sizeof(sink_5_12347(v_source()))  == 7 * sizeof(long)> t7;
5282      return 0;
5283  }
5284  
5285 @@ -106,14 +106,14 @@
5286      const          A ca = a;
5287            volatile A va;
5288      const volatile A cva = a;
5289 -    sa<sizeof(sink_5_12348(a))           == 1> t1;
5290 -    sa<sizeof(sink_5_12348(ca))          == 2> t2;
5291 -    sa<sizeof(sink_5_12348(va))          == 3> t3;
5292 -    sa<sizeof(sink_5_12348(cva))         == 4> t4;
5293 -    sa<sizeof(sink_5_12348(source()))    == 8> t5;
5294 -    sa<sizeof(sink_5_12348(c_source()))  == 8> t6;
5295 -    sa<sizeof(sink_5_12348(v_source()))  == 8> t7;
5296 -    sa<sizeof(sink_5_12348(cv_source())) == 8> t8;
5297 +    sa<sizeof(sink_5_12348(a))           == 1 * sizeof(long)> t1;
5298 +    sa<sizeof(sink_5_12348(ca))          == 2 * sizeof(long)> t2;
5299 +    sa<sizeof(sink_5_12348(va))          == 3 * sizeof(long)> t3;
5300 +    sa<sizeof(sink_5_12348(cva))         == 4 * sizeof(long)> t4;
5301 +    sa<sizeof(sink_5_12348(source()))    == 8 * sizeof(long)> t5;
5302 +    sa<sizeof(sink_5_12348(c_source()))  == 8 * sizeof(long)> t6;
5303 +    sa<sizeof(sink_5_12348(v_source()))  == 8 * sizeof(long)> t7;
5304 +    sa<sizeof(sink_5_12348(cv_source())) == 8 * sizeof(long)> t8;
5305      return 0;
5306  }
5307  
5308 @@ -129,11 +129,11 @@
5309      const          A ca = a;
5310            volatile A va;
5311      const volatile A cva = a;
5312 -    sa<sizeof(sink_5_12356(a))           == 1> t1;
5313 -    sa<sizeof(sink_5_12356(ca))          == 2> t2;
5314 -    sa<sizeof(sink_5_12356(va))          == 3> t3;
5315 -    sa<sizeof(sink_5_12356(source()))    == 5> t5;
5316 -    sa<sizeof(sink_5_12356(c_source()))  == 6> t6;
5317 +    sa<sizeof(sink_5_12356(a))           == 1 * sizeof(long)> t1;
5318 +    sa<sizeof(sink_5_12356(ca))          == 2 * sizeof(long)> t2;
5319 +    sa<sizeof(sink_5_12356(va))          == 3 * sizeof(long)> t3;
5320 +    sa<sizeof(sink_5_12356(source()))    == 5 * sizeof(long)> t5;
5321 +    sa<sizeof(sink_5_12356(c_source()))  == 6 * sizeof(long)> t6;
5322      return 0;
5323  }
5324  
5325 @@ -149,12 +149,12 @@
5326      const          A ca = a;
5327            volatile A va;
5328      const volatile A cva = a;
5329 -    sa<sizeof(sink_5_12357(a))           == 1> t1;
5330 -    sa<sizeof(sink_5_12357(ca))          == 2> t2;
5331 -    sa<sizeof(sink_5_12357(va))          == 3> t3;
5332 -    sa<sizeof(sink_5_12357(source()))    == 5> t5;
5333 -    sa<sizeof(sink_5_12357(c_source()))  == 2> t6;
5334 -    sa<sizeof(sink_5_12357(v_source()))  == 7> t7;
5335 +    sa<sizeof(sink_5_12357(a))           == 1 * sizeof(long)> t1;
5336 +    sa<sizeof(sink_5_12357(ca))          == 2 * sizeof(long)> t2;
5337 +    sa<sizeof(sink_5_12357(va))          == 3 * sizeof(long)> t3;
5338 +    sa<sizeof(sink_5_12357(source()))    == 5 * sizeof(long)> t5;
5339 +    sa<sizeof(sink_5_12357(c_source()))  == 2 * sizeof(long)> t6;
5340 +    sa<sizeof(sink_5_12357(v_source()))  == 7 * sizeof(long)> t7;
5341      return 0;
5342  }
5343  
5344 @@ -170,13 +170,13 @@
5345      const          A ca = a;
5346            volatile A va;
5347      const volatile A cva = a;
5348 -    sa<sizeof(sink_5_12358(a))           == 1> t1;
5349 -    sa<sizeof(sink_5_12358(ca))          == 2> t2;
5350 -    sa<sizeof(sink_5_12358(va))          == 3> t3;
5351 -    sa<sizeof(sink_5_12358(source()))    == 5> t5;
5352 -    sa<sizeof(sink_5_12358(c_source()))  == 8> t6;
5353 -    sa<sizeof(sink_5_12358(v_source()))  == 8> t7;
5354 -    sa<sizeof(sink_5_12358(cv_source())) == 8> t8;
5355 +    sa<sizeof(sink_5_12358(a))           == 1 * sizeof(long)> t1;
5356 +    sa<sizeof(sink_5_12358(ca))          == 2 * sizeof(long)> t2;
5357 +    sa<sizeof(sink_5_12358(va))          == 3 * sizeof(long)> t3;
5358 +    sa<sizeof(sink_5_12358(source()))    == 5 * sizeof(long)> t5;
5359 +    sa<sizeof(sink_5_12358(c_source()))  == 8 * sizeof(long)> t6;
5360 +    sa<sizeof(sink_5_12358(v_source()))  == 8 * sizeof(long)> t7;
5361 +    sa<sizeof(sink_5_12358(cv_source())) == 8 * sizeof(long)> t8;
5362      return 0;
5363  }
5364  
5365 @@ -192,11 +192,11 @@
5366      const          A ca = a;
5367            volatile A va;
5368      const volatile A cva = a;
5369 -    sa<sizeof(sink_5_12367(a))           == 1> t1;
5370 -    sa<sizeof(sink_5_12367(ca))          == 2> t2;
5371 -    sa<sizeof(sink_5_12367(va))          == 3> t3;
5372 -    sa<sizeof(sink_5_12367(c_source()))  == 6> t6;
5373 -    sa<sizeof(sink_5_12367(v_source()))  == 7> t7;
5374 +    sa<sizeof(sink_5_12367(a))           == 1 * sizeof(long)> t1;
5375 +    sa<sizeof(sink_5_12367(ca))          == 2 * sizeof(long)> t2;
5376 +    sa<sizeof(sink_5_12367(va))          == 3 * sizeof(long)> t3;
5377 +    sa<sizeof(sink_5_12367(c_source()))  == 6 * sizeof(long)> t6;
5378 +    sa<sizeof(sink_5_12367(v_source()))  == 7 * sizeof(long)> t7;
5379      return 0;
5380  }
5381  
5382 @@ -212,13 +212,13 @@
5383      const          A ca = a;
5384            volatile A va;
5385      const volatile A cva = a;
5386 -    sa<sizeof(sink_5_12368(a))           == 1> t1;
5387 -    sa<sizeof(sink_5_12368(ca))          == 2> t2;
5388 -    sa<sizeof(sink_5_12368(va))          == 3> t3;
5389 -    sa<sizeof(sink_5_12368(source()))    == 6> t5;
5390 -    sa<sizeof(sink_5_12368(c_source()))  == 6> t6;
5391 -    sa<sizeof(sink_5_12368(v_source()))  == 8> t7;
5392 -    sa<sizeof(sink_5_12368(cv_source())) == 8> t8;
5393 +    sa<sizeof(sink_5_12368(a))           == 1 * sizeof(long)> t1;
5394 +    sa<sizeof(sink_5_12368(ca))          == 2 * sizeof(long)> t2;
5395 +    sa<sizeof(sink_5_12368(va))          == 3 * sizeof(long)> t3;
5396 +    sa<sizeof(sink_5_12368(source()))    == 6 * sizeof(long)> t5;
5397 +    sa<sizeof(sink_5_12368(c_source()))  == 6 * sizeof(long)> t6;
5398 +    sa<sizeof(sink_5_12368(v_source()))  == 8 * sizeof(long)> t7;
5399 +    sa<sizeof(sink_5_12368(cv_source())) == 8 * sizeof(long)> t8;
5400      return 0;
5401  }
5402  
5403 @@ -234,13 +234,13 @@
5404      const          A ca = a;
5405            volatile A va;
5406      const volatile A cva = a;
5407 -    sa<sizeof(sink_5_12378(a))           == 1> t1;
5408 -    sa<sizeof(sink_5_12378(ca))          == 2> t2;
5409 -    sa<sizeof(sink_5_12378(va))          == 3> t3;
5410 -    sa<sizeof(sink_5_12378(source()))    == 7> t5;
5411 -    sa<sizeof(sink_5_12378(c_source()))  == 8> t6;
5412 -    sa<sizeof(sink_5_12378(v_source()))  == 7> t7;
5413 -    sa<sizeof(sink_5_12378(cv_source())) == 8> t8;
5414 +    sa<sizeof(sink_5_12378(a))           == 1 * sizeof(long)> t1;
5415 +    sa<sizeof(sink_5_12378(ca))          == 2 * sizeof(long)> t2;
5416 +    sa<sizeof(sink_5_12378(va))          == 3 * sizeof(long)> t3;
5417 +    sa<sizeof(sink_5_12378(source()))    == 7 * sizeof(long)> t5;
5418 +    sa<sizeof(sink_5_12378(c_source()))  == 8 * sizeof(long)> t6;
5419 +    sa<sizeof(sink_5_12378(v_source()))  == 7 * sizeof(long)> t7;
5420 +    sa<sizeof(sink_5_12378(cv_source())) == 8 * sizeof(long)> t8;
5421      return 0;
5422  }
5423  
5424 @@ -256,12 +256,12 @@
5425      const          A ca = a;
5426            volatile A va;
5427      const volatile A cva = a;
5428 -    sa<sizeof(sink_5_12456(a))           == 1> t1;
5429 -    sa<sizeof(sink_5_12456(ca))          == 2> t2;
5430 -    sa<sizeof(sink_5_12456(va))          == 4> t3;
5431 -    sa<sizeof(sink_5_12456(cva))         == 4> t4;
5432 -    sa<sizeof(sink_5_12456(source()))    == 5> t5;
5433 -    sa<sizeof(sink_5_12456(c_source()))  == 6> t6;
5434 +    sa<sizeof(sink_5_12456(a))           == 1 * sizeof(long)> t1;
5435 +    sa<sizeof(sink_5_12456(ca))          == 2 * sizeof(long)> t2;
5436 +    sa<sizeof(sink_5_12456(va))          == 4 * sizeof(long)> t3;
5437 +    sa<sizeof(sink_5_12456(cva))         == 4 * sizeof(long)> t4;
5438 +    sa<sizeof(sink_5_12456(source()))    == 5 * sizeof(long)> t5;
5439 +    sa<sizeof(sink_5_12456(c_source()))  == 6 * sizeof(long)> t6;
5440      return 0;
5441  }
5442  
5443 @@ -277,13 +277,13 @@
5444      const          A ca = a;
5445            volatile A va;
5446      const volatile A cva = a;
5447 -    sa<sizeof(sink_5_12457(a))           == 1> t1;
5448 -    sa<sizeof(sink_5_12457(ca))          == 2> t2;
5449 -    sa<sizeof(sink_5_12457(va))          == 4> t3;
5450 -    sa<sizeof(sink_5_12457(cva))         == 4> t4;
5451 -    sa<sizeof(sink_5_12457(source()))    == 5> t5;
5452 -    sa<sizeof(sink_5_12457(c_source()))  == 2> t6;
5453 -    sa<sizeof(sink_5_12457(v_source()))  == 7> t7;
5454 +    sa<sizeof(sink_5_12457(a))           == 1 * sizeof(long)> t1;
5455 +    sa<sizeof(sink_5_12457(ca))          == 2 * sizeof(long)> t2;
5456 +    sa<sizeof(sink_5_12457(va))          == 4 * sizeof(long)> t3;
5457 +    sa<sizeof(sink_5_12457(cva))         == 4 * sizeof(long)> t4;
5458 +    sa<sizeof(sink_5_12457(source()))    == 5 * sizeof(long)> t5;
5459 +    sa<sizeof(sink_5_12457(c_source()))  == 2 * sizeof(long)> t6;
5460 +    sa<sizeof(sink_5_12457(v_source()))  == 7 * sizeof(long)> t7;
5461      return 0;
5462  }
5463  
5464 @@ -299,14 +299,14 @@
5465      const          A ca = a;
5466            volatile A va;
5467      const volatile A cva = a;
5468 -    sa<sizeof(sink_5_12458(a))           == 1> t1;
5469 -    sa<sizeof(sink_5_12458(ca))          == 2> t2;
5470 -    sa<sizeof(sink_5_12458(va))          == 4> t3;
5471 -    sa<sizeof(sink_5_12458(cva))         == 4> t4;
5472 -    sa<sizeof(sink_5_12458(source()))    == 5> t5;
5473 -    sa<sizeof(sink_5_12458(c_source()))  == 8> t6;
5474 -    sa<sizeof(sink_5_12458(v_source()))  == 8> t7;
5475 -    sa<sizeof(sink_5_12458(cv_source())) == 8> t8;
5476 +    sa<sizeof(sink_5_12458(a))           == 1 * sizeof(long)> t1;
5477 +    sa<sizeof(sink_5_12458(ca))          == 2 * sizeof(long)> t2;
5478 +    sa<sizeof(sink_5_12458(va))          == 4 * sizeof(long)> t3;
5479 +    sa<sizeof(sink_5_12458(cva))         == 4 * sizeof(long)> t4;
5480 +    sa<sizeof(sink_5_12458(source()))    == 5 * sizeof(long)> t5;
5481 +    sa<sizeof(sink_5_12458(c_source()))  == 8 * sizeof(long)> t6;
5482 +    sa<sizeof(sink_5_12458(v_source()))  == 8 * sizeof(long)> t7;
5483 +    sa<sizeof(sink_5_12458(cv_source())) == 8 * sizeof(long)> t8;
5484      return 0;
5485  }
5486  
5487 @@ -322,12 +322,12 @@
5488      const          A ca = a;
5489            volatile A va;
5490      const volatile A cva = a;
5491 -    sa<sizeof(sink_5_12467(a))           == 1> t1;
5492 -    sa<sizeof(sink_5_12467(ca))          == 2> t2;
5493 -    sa<sizeof(sink_5_12467(va))          == 4> t3;
5494 -    sa<sizeof(sink_5_12467(cva))         == 4> t4;
5495 -    sa<sizeof(sink_5_12467(c_source()))  == 6> t6;
5496 -    sa<sizeof(sink_5_12467(v_source()))  == 7> t7;
5497 +    sa<sizeof(sink_5_12467(a))           == 1 * sizeof(long)> t1;
5498 +    sa<sizeof(sink_5_12467(ca))          == 2 * sizeof(long)> t2;
5499 +    sa<sizeof(sink_5_12467(va))          == 4 * sizeof(long)> t3;
5500 +    sa<sizeof(sink_5_12467(cva))         == 4 * sizeof(long)> t4;
5501 +    sa<sizeof(sink_5_12467(c_source()))  == 6 * sizeof(long)> t6;
5502 +    sa<sizeof(sink_5_12467(v_source()))  == 7 * sizeof(long)> t7;
5503      return 0;
5504  }
5505  
5506 @@ -343,14 +343,14 @@
5507      const          A ca = a;
5508            volatile A va;
5509      const volatile A cva = a;
5510 -    sa<sizeof(sink_5_12468(a))           == 1> t1;
5511 -    sa<sizeof(sink_5_12468(ca))          == 2> t2;
5512 -    sa<sizeof(sink_5_12468(va))          == 4> t3;
5513 -    sa<sizeof(sink_5_12468(cva))         == 4> t4;
5514 -    sa<sizeof(sink_5_12468(source()))    == 6> t5;
5515 -    sa<sizeof(sink_5_12468(c_source()))  == 6> t6;
5516 -    sa<sizeof(sink_5_12468(v_source()))  == 8> t7;
5517 -    sa<sizeof(sink_5_12468(cv_source())) == 8> t8;
5518 +    sa<sizeof(sink_5_12468(a))           == 1 * sizeof(long)> t1;
5519 +    sa<sizeof(sink_5_12468(ca))          == 2 * sizeof(long)> t2;
5520 +    sa<sizeof(sink_5_12468(va))          == 4 * sizeof(long)> t3;
5521 +    sa<sizeof(sink_5_12468(cva))         == 4 * sizeof(long)> t4;
5522 +    sa<sizeof(sink_5_12468(source()))    == 6 * sizeof(long)> t5;
5523 +    sa<sizeof(sink_5_12468(c_source()))  == 6 * sizeof(long)> t6;
5524 +    sa<sizeof(sink_5_12468(v_source()))  == 8 * sizeof(long)> t7;
5525 +    sa<sizeof(sink_5_12468(cv_source())) == 8 * sizeof(long)> t8;
5526      return 0;
5527  }
5528  
5529 @@ -366,14 +366,14 @@
5530      const          A ca = a;
5531            volatile A va;
5532      const volatile A cva = a;
5533 -    sa<sizeof(sink_5_12478(a))           == 1> t1;
5534 -    sa<sizeof(sink_5_12478(ca))          == 2> t2;
5535 -    sa<sizeof(sink_5_12478(va))          == 4> t3;
5536 -    sa<sizeof(sink_5_12478(cva))         == 4> t4;
5537 -    sa<sizeof(sink_5_12478(source()))    == 7> t5;
5538 -    sa<sizeof(sink_5_12478(c_source()))  == 8> t6;
5539 -    sa<sizeof(sink_5_12478(v_source()))  == 7> t7;
5540 -    sa<sizeof(sink_5_12478(cv_source())) == 8> t8;
5541 +    sa<sizeof(sink_5_12478(a))           == 1 * sizeof(long)> t1;
5542 +    sa<sizeof(sink_5_12478(ca))          == 2 * sizeof(long)> t2;
5543 +    sa<sizeof(sink_5_12478(va))          == 4 * sizeof(long)> t3;
5544 +    sa<sizeof(sink_5_12478(cva))         == 4 * sizeof(long)> t4;
5545 +    sa<sizeof(sink_5_12478(source()))    == 7 * sizeof(long)> t5;
5546 +    sa<sizeof(sink_5_12478(c_source()))  == 8 * sizeof(long)> t6;
5547 +    sa<sizeof(sink_5_12478(v_source()))  == 7 * sizeof(long)> t7;
5548 +    sa<sizeof(sink_5_12478(cv_source())) == 8 * sizeof(long)> t8;
5549      return 0;
5550  }
5551  
5552 @@ -389,11 +389,11 @@
5553      const          A ca = a;
5554            volatile A va;
5555      const volatile A cva = a;
5556 -    sa<sizeof(sink_5_12567(a))           == 1> t1;
5557 -    sa<sizeof(sink_5_12567(ca))          == 2> t2;
5558 -    sa<sizeof(sink_5_12567(source()))    == 5> t5;
5559 -    sa<sizeof(sink_5_12567(c_source()))  == 6> t6;
5560 -    sa<sizeof(sink_5_12567(v_source()))  == 7> t7;
5561 +    sa<sizeof(sink_5_12567(a))           == 1 * sizeof(long)> t1;
5562 +    sa<sizeof(sink_5_12567(ca))          == 2 * sizeof(long)> t2;
5563 +    sa<sizeof(sink_5_12567(source()))    == 5 * sizeof(long)> t5;
5564 +    sa<sizeof(sink_5_12567(c_source()))  == 6 * sizeof(long)> t6;
5565 +    sa<sizeof(sink_5_12567(v_source()))  == 7 * sizeof(long)> t7;
5566      return 0;
5567  }
5568  
5569 @@ -409,12 +409,12 @@
5570      const          A ca = a;
5571            volatile A va;
5572      const volatile A cva = a;
5573 -    sa<sizeof(sink_5_12568(a))           == 1> t1;
5574 -    sa<sizeof(sink_5_12568(ca))          == 2> t2;
5575 -    sa<sizeof(sink_5_12568(source()))    == 5> t5;
5576 -    sa<sizeof(sink_5_12568(c_source()))  == 6> t6;
5577 -    sa<sizeof(sink_5_12568(v_source()))  == 8> t7;
5578 -    sa<sizeof(sink_5_12568(cv_source())) == 8> t8;
5579 +    sa<sizeof(sink_5_12568(a))           == 1 * sizeof(long)> t1;
5580 +    sa<sizeof(sink_5_12568(ca))          == 2 * sizeof(long)> t2;
5581 +    sa<sizeof(sink_5_12568(source()))    == 5 * sizeof(long)> t5;
5582 +    sa<sizeof(sink_5_12568(c_source()))  == 6 * sizeof(long)> t6;
5583 +    sa<sizeof(sink_5_12568(v_source()))  == 8 * sizeof(long)> t7;
5584 +    sa<sizeof(sink_5_12568(cv_source())) == 8 * sizeof(long)> t8;
5585      return 0;
5586  }
5587  
5588 @@ -430,12 +430,12 @@
5589      const          A ca = a;
5590            volatile A va;
5591      const volatile A cva = a;
5592 -    sa<sizeof(sink_5_12578(a))           == 1> t1;
5593 -    sa<sizeof(sink_5_12578(ca))          == 2> t2;
5594 -    sa<sizeof(sink_5_12578(source()))    == 5> t5;
5595 -    sa<sizeof(sink_5_12578(c_source()))  == 8> t6;
5596 -    sa<sizeof(sink_5_12578(v_source()))  == 7> t7;
5597 -    sa<sizeof(sink_5_12578(cv_source())) == 8> t8;
5598 +    sa<sizeof(sink_5_12578(a))           == 1 * sizeof(long)> t1;
5599 +    sa<sizeof(sink_5_12578(ca))          == 2 * sizeof(long)> t2;
5600 +    sa<sizeof(sink_5_12578(source()))    == 5 * sizeof(long)> t5;
5601 +    sa<sizeof(sink_5_12578(c_source()))  == 8 * sizeof(long)> t6;
5602 +    sa<sizeof(sink_5_12578(v_source()))  == 7 * sizeof(long)> t7;
5603 +    sa<sizeof(sink_5_12578(cv_source())) == 8 * sizeof(long)> t8;
5604      return 0;
5605  }
5606  
5607 @@ -451,11 +451,11 @@
5608      const          A ca = a;
5609            volatile A va;
5610      const volatile A cva = a;
5611 -    sa<sizeof(sink_5_12678(a))           == 1> t1;
5612 -    sa<sizeof(sink_5_12678(ca))          == 2> t2;
5613 -    sa<sizeof(sink_5_12678(c_source()))  == 6> t6;
5614 -    sa<sizeof(sink_5_12678(v_source()))  == 7> t7;
5615 -    sa<sizeof(sink_5_12678(cv_source())) == 8> t8;
5616 +    sa<sizeof(sink_5_12678(a))           == 1 * sizeof(long)> t1;
5617 +    sa<sizeof(sink_5_12678(ca))          == 2 * sizeof(long)> t2;
5618 +    sa<sizeof(sink_5_12678(c_source()))  == 6 * sizeof(long)> t6;
5619 +    sa<sizeof(sink_5_12678(v_source()))  == 7 * sizeof(long)> t7;
5620 +    sa<sizeof(sink_5_12678(cv_source())) == 8 * sizeof(long)> t8;
5621      return 0;
5622  }
5623  
5624 @@ -471,12 +471,12 @@
5625      const          A ca = a;
5626            volatile A va;
5627      const volatile A cva = a;
5628 -    sa<sizeof(sink_5_13456(a))           == 1> t1;
5629 -    sa<sizeof(sink_5_13456(ca))          == 4> t2;
5630 -    sa<sizeof(sink_5_13456(va))          == 3> t3;
5631 -    sa<sizeof(sink_5_13456(cva))         == 4> t4;
5632 -    sa<sizeof(sink_5_13456(source()))    == 5> t5;
5633 -    sa<sizeof(sink_5_13456(c_source()))  == 6> t6;
5634 +    sa<sizeof(sink_5_13456(a))           == 1 * sizeof(long)> t1;
5635 +    sa<sizeof(sink_5_13456(ca))          == 4 * sizeof(long)> t2;
5636 +    sa<sizeof(sink_5_13456(va))          == 3 * sizeof(long)> t3;
5637 +    sa<sizeof(sink_5_13456(cva))         == 4 * sizeof(long)> t4;
5638 +    sa<sizeof(sink_5_13456(source()))    == 5 * sizeof(long)> t5;
5639 +    sa<sizeof(sink_5_13456(c_source()))  == 6 * sizeof(long)> t6;
5640      return 0;
5641  }
5642  
5643 @@ -492,12 +492,12 @@
5644      const          A ca = a;
5645            volatile A va;
5646      const volatile A cva = a;
5647 -    sa<sizeof(sink_5_13457(a))           == 1> t1;
5648 -    sa<sizeof(sink_5_13457(ca))          == 4> t2;
5649 -    sa<sizeof(sink_5_13457(va))          == 3> t3;
5650 -    sa<sizeof(sink_5_13457(cva))         == 4> t4;
5651 -    sa<sizeof(sink_5_13457(source()))    == 5> t5;
5652 -    sa<sizeof(sink_5_13457(v_source()))  == 7> t7;
5653 +    sa<sizeof(sink_5_13457(a))           == 1 * sizeof(long)> t1;
5654 +    sa<sizeof(sink_5_13457(ca))          == 4 * sizeof(long)> t2;
5655 +    sa<sizeof(sink_5_13457(va))          == 3 * sizeof(long)> t3;
5656 +    sa<sizeof(sink_5_13457(cva))         == 4 * sizeof(long)> t4;
5657 +    sa<sizeof(sink_5_13457(source()))    == 5 * sizeof(long)> t5;
5658 +    sa<sizeof(sink_5_13457(v_source()))  == 7 * sizeof(long)> t7;
5659      return 0;
5660  }
5661  
5662 @@ -513,14 +513,14 @@
5663      const          A ca = a;
5664            volatile A va;
5665      const volatile A cva = a;
5666 -    sa<sizeof(sink_5_13458(a))           == 1> t1;
5667 -    sa<sizeof(sink_5_13458(ca))          == 4> t2;
5668 -    sa<sizeof(sink_5_13458(va))          == 3> t3;
5669 -    sa<sizeof(sink_5_13458(cva))         == 4> t4;
5670 -    sa<sizeof(sink_5_13458(source()))    == 5> t5;
5671 -    sa<sizeof(sink_5_13458(c_source()))  == 8> t6;
5672 -    sa<sizeof(sink_5_13458(v_source()))  == 8> t7;
5673 -    sa<sizeof(sink_5_13458(cv_source())) == 8> t8;
5674 +    sa<sizeof(sink_5_13458(a))           == 1 * sizeof(long)> t1;
5675 +    sa<sizeof(sink_5_13458(ca))          == 4 * sizeof(long)> t2;
5676 +    sa<sizeof(sink_5_13458(va))          == 3 * sizeof(long)> t3;
5677 +    sa<sizeof(sink_5_13458(cva))         == 4 * sizeof(long)> t4;
5678 +    sa<sizeof(sink_5_13458(source()))    == 5 * sizeof(long)> t5;
5679 +    sa<sizeof(sink_5_13458(c_source()))  == 8 * sizeof(long)> t6;
5680 +    sa<sizeof(sink_5_13458(v_source()))  == 8 * sizeof(long)> t7;
5681 +    sa<sizeof(sink_5_13458(cv_source())) == 8 * sizeof(long)> t8;
5682      return 0;
5683  }
5684  
5685 @@ -536,12 +536,12 @@
5686      const          A ca = a;
5687            volatile A va;
5688      const volatile A cva = a;
5689 -    sa<sizeof(sink_5_13467(a))           == 1> t1;
5690 -    sa<sizeof(sink_5_13467(ca))          == 4> t2;
5691 -    sa<sizeof(sink_5_13467(va))          == 3> t3;
5692 -    sa<sizeof(sink_5_13467(cva))         == 4> t4;
5693 -    sa<sizeof(sink_5_13467(c_source()))  == 6> t6;
5694 -    sa<sizeof(sink_5_13467(v_source()))  == 7> t7;
5695 +    sa<sizeof(sink_5_13467(a))           == 1 * sizeof(long)> t1;
5696 +    sa<sizeof(sink_5_13467(ca))          == 4 * sizeof(long)> t2;
5697 +    sa<sizeof(sink_5_13467(va))          == 3 * sizeof(long)> t3;
5698 +    sa<sizeof(sink_5_13467(cva))         == 4 * sizeof(long)> t4;
5699 +    sa<sizeof(sink_5_13467(c_source()))  == 6 * sizeof(long)> t6;
5700 +    sa<sizeof(sink_5_13467(v_source()))  == 7 * sizeof(long)> t7;
5701      return 0;
5702  }
5703  
5704 @@ -557,14 +557,14 @@
5705      const          A ca = a;
5706            volatile A va;
5707      const volatile A cva = a;
5708 -    sa<sizeof(sink_5_13468(a))           == 1> t1;
5709 -    sa<sizeof(sink_5_13468(ca))          == 4> t2;
5710 -    sa<sizeof(sink_5_13468(va))          == 3> t3;
5711 -    sa<sizeof(sink_5_13468(cva))         == 4> t4;
5712 -    sa<sizeof(sink_5_13468(source()))    == 6> t5;
5713 -    sa<sizeof(sink_5_13468(c_source()))  == 6> t6;
5714 -    sa<sizeof(sink_5_13468(v_source()))  == 8> t7;
5715 -    sa<sizeof(sink_5_13468(cv_source())) == 8> t8;
5716 +    sa<sizeof(sink_5_13468(a))           == 1 * sizeof(long)> t1;
5717 +    sa<sizeof(sink_5_13468(ca))          == 4 * sizeof(long)> t2;
5718 +    sa<sizeof(sink_5_13468(va))          == 3 * sizeof(long)> t3;
5719 +    sa<sizeof(sink_5_13468(cva))         == 4 * sizeof(long)> t4;
5720 +    sa<sizeof(sink_5_13468(source()))    == 6 * sizeof(long)> t5;
5721 +    sa<sizeof(sink_5_13468(c_source()))  == 6 * sizeof(long)> t6;
5722 +    sa<sizeof(sink_5_13468(v_source()))  == 8 * sizeof(long)> t7;
5723 +    sa<sizeof(sink_5_13468(cv_source())) == 8 * sizeof(long)> t8;
5724      return 0;
5725  }
5726  
5727 @@ -580,14 +580,14 @@
5728      const          A ca = a;
5729            volatile A va;
5730      const volatile A cva = a;
5731 -    sa<sizeof(sink_5_13478(a))           == 1> t1;
5732 -    sa<sizeof(sink_5_13478(ca))          == 4> t2;
5733 -    sa<sizeof(sink_5_13478(va))          == 3> t3;
5734 -    sa<sizeof(sink_5_13478(cva))         == 4> t4;
5735 -    sa<sizeof(sink_5_13478(source()))    == 7> t5;
5736 -    sa<sizeof(sink_5_13478(c_source()))  == 8> t6;
5737 -    sa<sizeof(sink_5_13478(v_source()))  == 7> t7;
5738 -    sa<sizeof(sink_5_13478(cv_source())) == 8> t8;
5739 +    sa<sizeof(sink_5_13478(a))           == 1 * sizeof(long)> t1;
5740 +    sa<sizeof(sink_5_13478(ca))          == 4 * sizeof(long)> t2;
5741 +    sa<sizeof(sink_5_13478(va))          == 3 * sizeof(long)> t3;
5742 +    sa<sizeof(sink_5_13478(cva))         == 4 * sizeof(long)> t4;
5743 +    sa<sizeof(sink_5_13478(source()))    == 7 * sizeof(long)> t5;
5744 +    sa<sizeof(sink_5_13478(c_source()))  == 8 * sizeof(long)> t6;
5745 +    sa<sizeof(sink_5_13478(v_source()))  == 7 * sizeof(long)> t7;
5746 +    sa<sizeof(sink_5_13478(cv_source())) == 8 * sizeof(long)> t8;
5747      return 0;
5748  }
5749  
5750 @@ -603,11 +603,11 @@
5751      const          A ca = a;
5752            volatile A va;
5753      const volatile A cva = a;
5754 -    sa<sizeof(sink_5_13567(a))           == 1> t1;
5755 -    sa<sizeof(sink_5_13567(va))          == 3> t3;
5756 -    sa<sizeof(sink_5_13567(source()))    == 5> t5;
5757 -    sa<sizeof(sink_5_13567(c_source()))  == 6> t6;
5758 -    sa<sizeof(sink_5_13567(v_source()))  == 7> t7;
5759 +    sa<sizeof(sink_5_13567(a))           == 1 * sizeof(long)> t1;
5760 +    sa<sizeof(sink_5_13567(va))          == 3 * sizeof(long)> t3;
5761 +    sa<sizeof(sink_5_13567(source()))    == 5 * sizeof(long)> t5;
5762 +    sa<sizeof(sink_5_13567(c_source()))  == 6 * sizeof(long)> t6;
5763 +    sa<sizeof(sink_5_13567(v_source()))  == 7 * sizeof(long)> t7;
5764      return 0;
5765  }
5766  
5767 @@ -623,12 +623,12 @@
5768      const          A ca = a;
5769            volatile A va;
5770      const volatile A cva = a;
5771 -    sa<sizeof(sink_5_13568(a))           == 1> t1;
5772 -    sa<sizeof(sink_5_13568(va))          == 3> t3;
5773 -    sa<sizeof(sink_5_13568(source()))    == 5> t5;
5774 -    sa<sizeof(sink_5_13568(c_source()))  == 6> t6;
5775 -    sa<sizeof(sink_5_13568(v_source()))  == 8> t7;
5776 -    sa<sizeof(sink_5_13568(cv_source())) == 8> t8;
5777 +    sa<sizeof(sink_5_13568(a))           == 1 * sizeof(long)> t1;
5778 +    sa<sizeof(sink_5_13568(va))          == 3 * sizeof(long)> t3;
5779 +    sa<sizeof(sink_5_13568(source()))    == 5 * sizeof(long)> t5;
5780 +    sa<sizeof(sink_5_13568(c_source()))  == 6 * sizeof(long)> t6;
5781 +    sa<sizeof(sink_5_13568(v_source()))  == 8 * sizeof(long)> t7;
5782 +    sa<sizeof(sink_5_13568(cv_source())) == 8 * sizeof(long)> t8;
5783      return 0;
5784  }
5785  
5786 @@ -644,12 +644,12 @@
5787      const          A ca = a;
5788            volatile A va;
5789      const volatile A cva = a;
5790 -    sa<sizeof(sink_5_13578(a))           == 1> t1;
5791 -    sa<sizeof(sink_5_13578(va))          == 3> t3;
5792 -    sa<sizeof(sink_5_13578(source()))    == 5> t5;
5793 -    sa<sizeof(sink_5_13578(c_source()))  == 8> t6;
5794 -    sa<sizeof(sink_5_13578(v_source()))  == 7> t7;
5795 -    sa<sizeof(sink_5_13578(cv_source())) == 8> t8;
5796 +    sa<sizeof(sink_5_13578(a))           == 1 * sizeof(long)> t1;
5797 +    sa<sizeof(sink_5_13578(va))          == 3 * sizeof(long)> t3;
5798 +    sa<sizeof(sink_5_13578(source()))    == 5 * sizeof(long)> t5;
5799 +    sa<sizeof(sink_5_13578(c_source()))  == 8 * sizeof(long)> t6;
5800 +    sa<sizeof(sink_5_13578(v_source()))  == 7 * sizeof(long)> t7;
5801 +    sa<sizeof(sink_5_13578(cv_source())) == 8 * sizeof(long)> t8;
5802      return 0;
5803  }
5804  
5805 @@ -665,11 +665,11 @@
5806      const          A ca = a;
5807            volatile A va;
5808      const volatile A cva = a;
5809 -    sa<sizeof(sink_5_13678(a))           == 1> t1;
5810 -    sa<sizeof(sink_5_13678(va))          == 3> t3;
5811 -    sa<sizeof(sink_5_13678(c_source()))  == 6> t6;
5812 -    sa<sizeof(sink_5_13678(v_source()))  == 7> t7;
5813 -    sa<sizeof(sink_5_13678(cv_source())) == 8> t8;
5814 +    sa<sizeof(sink_5_13678(a))           == 1 * sizeof(long)> t1;
5815 +    sa<sizeof(sink_5_13678(va))          == 3 * sizeof(long)> t3;
5816 +    sa<sizeof(sink_5_13678(c_source()))  == 6 * sizeof(long)> t6;
5817 +    sa<sizeof(sink_5_13678(v_source()))  == 7 * sizeof(long)> t7;
5818 +    sa<sizeof(sink_5_13678(cv_source())) == 8 * sizeof(long)> t8;
5819      return 0;
5820  }
5821  
5822 @@ -685,13 +685,13 @@
5823      const          A ca = a;
5824            volatile A va;
5825      const volatile A cva = a;
5826 -    sa<sizeof(sink_5_14567(a))           == 1> t1;
5827 -    sa<sizeof(sink_5_14567(ca))          == 4> t2;
5828 -    sa<sizeof(sink_5_14567(va))          == 4> t3;
5829 -    sa<sizeof(sink_5_14567(cva))         == 4> t4;
5830 -    sa<sizeof(sink_5_14567(source()))    == 5> t5;
5831 -    sa<sizeof(sink_5_14567(c_source()))  == 6> t6;
5832 -    sa<sizeof(sink_5_14567(v_source()))  == 7> t7;
5833 +    sa<sizeof(sink_5_14567(a))           == 1 * sizeof(long)> t1;
5834 +    sa<sizeof(sink_5_14567(ca))          == 4 * sizeof(long)> t2;
5835 +    sa<sizeof(sink_5_14567(va))          == 4 * sizeof(long)> t3;
5836 +    sa<sizeof(sink_5_14567(cva))         == 4 * sizeof(long)> t4;
5837 +    sa<sizeof(sink_5_14567(source()))    == 5 * sizeof(long)> t5;
5838 +    sa<sizeof(sink_5_14567(c_source()))  == 6 * sizeof(long)> t6;
5839 +    sa<sizeof(sink_5_14567(v_source()))  == 7 * sizeof(long)> t7;
5840      return 0;
5841  }
5842  
5843 @@ -707,14 +707,14 @@
5844      const          A ca = a;
5845            volatile A va;
5846      const volatile A cva = a;
5847 -    sa<sizeof(sink_5_14568(a))           == 1> t1;
5848 -    sa<sizeof(sink_5_14568(ca))          == 4> t2;
5849 -    sa<sizeof(sink_5_14568(va))          == 4> t3;
5850 -    sa<sizeof(sink_5_14568(cva))         == 4> t4;
5851 -    sa<sizeof(sink_5_14568(source()))    == 5> t5;
5852 -    sa<sizeof(sink_5_14568(c_source()))  == 6> t6;
5853 -    sa<sizeof(sink_5_14568(v_source()))  == 8> t7;
5854 -    sa<sizeof(sink_5_14568(cv_source())) == 8> t8;
5855 +    sa<sizeof(sink_5_14568(a))           == 1 * sizeof(long)> t1;
5856 +    sa<sizeof(sink_5_14568(ca))          == 4 * sizeof(long)> t2;
5857 +    sa<sizeof(sink_5_14568(va))          == 4 * sizeof(long)> t3;
5858 +    sa<sizeof(sink_5_14568(cva))         == 4 * sizeof(long)> t4;
5859 +    sa<sizeof(sink_5_14568(source()))    == 5 * sizeof(long)> t5;
5860 +    sa<sizeof(sink_5_14568(c_source()))  == 6 * sizeof(long)> t6;
5861 +    sa<sizeof(sink_5_14568(v_source()))  == 8 * sizeof(long)> t7;
5862 +    sa<sizeof(sink_5_14568(cv_source())) == 8 * sizeof(long)> t8;
5863      return 0;
5864  }
5865  
5866 @@ -730,14 +730,14 @@
5867      const          A ca = a;
5868            volatile A va;
5869      const volatile A cva = a;
5870 -    sa<sizeof(sink_5_14578(a))           == 1> t1;
5871 -    sa<sizeof(sink_5_14578(ca))          == 4> t2;
5872 -    sa<sizeof(sink_5_14578(va))          == 4> t3;
5873 -    sa<sizeof(sink_5_14578(cva))         == 4> t4;
5874 -    sa<sizeof(sink_5_14578(source()))    == 5> t5;
5875 -    sa<sizeof(sink_5_14578(c_source()))  == 8> t6;
5876 -    sa<sizeof(sink_5_14578(v_source()))  == 7> t7;
5877 -    sa<sizeof(sink_5_14578(cv_source())) == 8> t8;
5878 +    sa<sizeof(sink_5_14578(a))           == 1 * sizeof(long)> t1;
5879 +    sa<sizeof(sink_5_14578(ca))          == 4 * sizeof(long)> t2;
5880 +    sa<sizeof(sink_5_14578(va))          == 4 * sizeof(long)> t3;
5881 +    sa<sizeof(sink_5_14578(cva))         == 4 * sizeof(long)> t4;
5882 +    sa<sizeof(sink_5_14578(source()))    == 5 * sizeof(long)> t5;
5883 +    sa<sizeof(sink_5_14578(c_source()))  == 8 * sizeof(long)> t6;
5884 +    sa<sizeof(sink_5_14578(v_source()))  == 7 * sizeof(long)> t7;
5885 +    sa<sizeof(sink_5_14578(cv_source())) == 8 * sizeof(long)> t8;
5886      return 0;
5887  }
5888  
5889 @@ -753,13 +753,13 @@
5890      const          A ca = a;
5891            volatile A va;
5892      const volatile A cva = a;
5893 -    sa<sizeof(sink_5_14678(a))           == 1> t1;
5894 -    sa<sizeof(sink_5_14678(ca))          == 4> t2;
5895 -    sa<sizeof(sink_5_14678(va))          == 4> t3;
5896 -    sa<sizeof(sink_5_14678(cva))         == 4> t4;
5897 -    sa<sizeof(sink_5_14678(c_source()))  == 6> t6;
5898 -    sa<sizeof(sink_5_14678(v_source()))  == 7> t7;
5899 -    sa<sizeof(sink_5_14678(cv_source())) == 8> t8;
5900 +    sa<sizeof(sink_5_14678(a))           == 1 * sizeof(long)> t1;
5901 +    sa<sizeof(sink_5_14678(ca))          == 4 * sizeof(long)> t2;
5902 +    sa<sizeof(sink_5_14678(va))          == 4 * sizeof(long)> t3;
5903 +    sa<sizeof(sink_5_14678(cva))         == 4 * sizeof(long)> t4;
5904 +    sa<sizeof(sink_5_14678(c_source()))  == 6 * sizeof(long)> t6;
5905 +    sa<sizeof(sink_5_14678(v_source()))  == 7 * sizeof(long)> t7;
5906 +    sa<sizeof(sink_5_14678(cv_source())) == 8 * sizeof(long)> t8;
5907      return 0;
5908  }
5909  
5910 @@ -775,11 +775,11 @@
5911      const          A ca = a;
5912            volatile A va;
5913      const volatile A cva = a;
5914 -    sa<sizeof(sink_5_15678(a))           == 1> t1;
5915 -    sa<sizeof(sink_5_15678(source()))    == 5> t5;
5916 -    sa<sizeof(sink_5_15678(c_source()))  == 6> t6;
5917 -    sa<sizeof(sink_5_15678(v_source()))  == 7> t7;
5918 -    sa<sizeof(sink_5_15678(cv_source())) == 8> t8;
5919 +    sa<sizeof(sink_5_15678(a))           == 1 * sizeof(long)> t1;
5920 +    sa<sizeof(sink_5_15678(source()))    == 5 * sizeof(long)> t5;
5921 +    sa<sizeof(sink_5_15678(c_source()))  == 6 * sizeof(long)> t6;
5922 +    sa<sizeof(sink_5_15678(v_source()))  == 7 * sizeof(long)> t7;
5923 +    sa<sizeof(sink_5_15678(cv_source())) == 8 * sizeof(long)> t8;
5924      return 0;
5925  }
5926  
5927 @@ -795,11 +795,11 @@
5928      const          A ca = a;
5929            volatile A va;
5930      const volatile A cva = a;
5931 -    sa<sizeof(sink_5_23456(ca))          == 2> t2;
5932 -    sa<sizeof(sink_5_23456(va))          == 3> t3;
5933 -    sa<sizeof(sink_5_23456(cva))         == 4> t4;
5934 -    sa<sizeof(sink_5_23456(source()))    == 5> t5;
5935 -    sa<sizeof(sink_5_23456(c_source()))  == 6> t6;
5936 +    sa<sizeof(sink_5_23456(ca))          == 2 * sizeof(long)> t2;
5937 +    sa<sizeof(sink_5_23456(va))          == 3 * sizeof(long)> t3;
5938 +    sa<sizeof(sink_5_23456(cva))         == 4 * sizeof(long)> t4;
5939 +    sa<sizeof(sink_5_23456(source()))    == 5 * sizeof(long)> t5;
5940 +    sa<sizeof(sink_5_23456(c_source()))  == 6 * sizeof(long)> t6;
5941      return 0;
5942  }
5943  
5944 @@ -815,12 +815,12 @@
5945      const          A ca = a;
5946            volatile A va;
5947      const volatile A cva = a;
5948 -    sa<sizeof(sink_5_23457(ca))          == 2> t2;
5949 -    sa<sizeof(sink_5_23457(va))          == 3> t3;
5950 -    sa<sizeof(sink_5_23457(cva))         == 4> t4;
5951 -    sa<sizeof(sink_5_23457(source()))    == 5> t5;
5952 -    sa<sizeof(sink_5_23457(c_source()))  == 2> t6;
5953 -    sa<sizeof(sink_5_23457(v_source()))  == 7> t7;
5954 +    sa<sizeof(sink_5_23457(ca))          == 2 * sizeof(long)> t2;
5955 +    sa<sizeof(sink_5_23457(va))          == 3 * sizeof(long)> t3;
5956 +    sa<sizeof(sink_5_23457(cva))         == 4 * sizeof(long)> t4;
5957 +    sa<sizeof(sink_5_23457(source()))    == 5 * sizeof(long)> t5;
5958 +    sa<sizeof(sink_5_23457(c_source()))  == 2 * sizeof(long)> t6;
5959 +    sa<sizeof(sink_5_23457(v_source()))  == 7 * sizeof(long)> t7;
5960      return 0;
5961  }
5962  
5963 @@ -836,13 +836,13 @@
5964      const          A ca = a;
5965            volatile A va;
5966      const volatile A cva = a;
5967 -    sa<sizeof(sink_5_23458(ca))          == 2> t2;
5968 -    sa<sizeof(sink_5_23458(va))          == 3> t3;
5969 -    sa<sizeof(sink_5_23458(cva))         == 4> t4;
5970 -    sa<sizeof(sink_5_23458(source()))    == 5> t5;
5971 -    sa<sizeof(sink_5_23458(c_source()))  == 8> t6;
5972 -    sa<sizeof(sink_5_23458(v_source()))  == 8> t7;
5973 -    sa<sizeof(sink_5_23458(cv_source())) == 8> t8;
5974 +    sa<sizeof(sink_5_23458(ca))          == 2 * sizeof(long)> t2;
5975 +    sa<sizeof(sink_5_23458(va))          == 3 * sizeof(long)> t3;
5976 +    sa<sizeof(sink_5_23458(cva))         == 4 * sizeof(long)> t4;
5977 +    sa<sizeof(sink_5_23458(source()))    == 5 * sizeof(long)> t5;
5978 +    sa<sizeof(sink_5_23458(c_source()))  == 8 * sizeof(long)> t6;
5979 +    sa<sizeof(sink_5_23458(v_source()))  == 8 * sizeof(long)> t7;
5980 +    sa<sizeof(sink_5_23458(cv_source())) == 8 * sizeof(long)> t8;
5981      return 0;
5982  }
5983  
5984 @@ -858,11 +858,11 @@
5985      const          A ca = a;
5986            volatile A va;
5987      const volatile A cva = a;
5988 -    sa<sizeof(sink_5_23467(ca))          == 2> t2;
5989 -    sa<sizeof(sink_5_23467(va))          == 3> t3;
5990 -    sa<sizeof(sink_5_23467(cva))         == 4> t4;
5991 -    sa<sizeof(sink_5_23467(c_source()))  == 6> t6;
5992 -    sa<sizeof(sink_5_23467(v_source()))  == 7> t7;
5993 +    sa<sizeof(sink_5_23467(ca))          == 2 * sizeof(long)> t2;
5994 +    sa<sizeof(sink_5_23467(va))          == 3 * sizeof(long)> t3;
5995 +    sa<sizeof(sink_5_23467(cva))         == 4 * sizeof(long)> t4;
5996 +    sa<sizeof(sink_5_23467(c_source()))  == 6 * sizeof(long)> t6;
5997 +    sa<sizeof(sink_5_23467(v_source()))  == 7 * sizeof(long)> t7;
5998      return 0;
5999  }
6000  
6001 @@ -878,13 +878,13 @@
6002      const          A ca = a;
6003            volatile A va;
6004      const volatile A cva = a;
6005 -    sa<sizeof(sink_5_23468(ca))          == 2> t2;
6006 -    sa<sizeof(sink_5_23468(va))          == 3> t3;
6007 -    sa<sizeof(sink_5_23468(cva))         == 4> t4;
6008 -    sa<sizeof(sink_5_23468(source()))    == 6> t5;
6009 -    sa<sizeof(sink_5_23468(c_source()))  == 6> t6;
6010 -    sa<sizeof(sink_5_23468(v_source()))  == 8> t7;
6011 -    sa<sizeof(sink_5_23468(cv_source())) == 8> t8;
6012 +    sa<sizeof(sink_5_23468(ca))          == 2 * sizeof(long)> t2;
6013 +    sa<sizeof(sink_5_23468(va))          == 3 * sizeof(long)> t3;
6014 +    sa<sizeof(sink_5_23468(cva))         == 4 * sizeof(long)> t4;
6015 +    sa<sizeof(sink_5_23468(source()))    == 6 * sizeof(long)> t5;
6016 +    sa<sizeof(sink_5_23468(c_source()))  == 6 * sizeof(long)> t6;
6017 +    sa<sizeof(sink_5_23468(v_source()))  == 8 * sizeof(long)> t7;
6018 +    sa<sizeof(sink_5_23468(cv_source())) == 8 * sizeof(long)> t8;
6019      return 0;
6020  }
6021  
6022 @@ -900,13 +900,13 @@
6023      const          A ca = a;
6024            volatile A va;
6025      const volatile A cva = a;
6026 -    sa<sizeof(sink_5_23478(ca))          == 2> t2;
6027 -    sa<sizeof(sink_5_23478(va))          == 3> t3;
6028 -    sa<sizeof(sink_5_23478(cva))         == 4> t4;
6029 -    sa<sizeof(sink_5_23478(source()))    == 7> t5;
6030 -    sa<sizeof(sink_5_23478(c_source()))  == 8> t6;
6031 -    sa<sizeof(sink_5_23478(v_source()))  == 7> t7;
6032 -    sa<sizeof(sink_5_23478(cv_source())) == 8> t8;
6033 +    sa<sizeof(sink_5_23478(ca))          == 2 * sizeof(long)> t2;
6034 +    sa<sizeof(sink_5_23478(va))          == 3 * sizeof(long)> t3;
6035 +    sa<sizeof(sink_5_23478(cva))         == 4 * sizeof(long)> t4;
6036 +    sa<sizeof(sink_5_23478(source()))    == 7 * sizeof(long)> t5;
6037 +    sa<sizeof(sink_5_23478(c_source()))  == 8 * sizeof(long)> t6;
6038 +    sa<sizeof(sink_5_23478(v_source()))  == 7 * sizeof(long)> t7;
6039 +    sa<sizeof(sink_5_23478(cv_source())) == 8 * sizeof(long)> t8;
6040      return 0;
6041  }
6042  
6043 @@ -922,11 +922,11 @@
6044      const          A ca = a;
6045            volatile A va;
6046      const volatile A cva = a;
6047 -    sa<sizeof(sink_5_23567(ca))          == 2> t2;
6048 -    sa<sizeof(sink_5_23567(va))          == 3> t3;
6049 -    sa<sizeof(sink_5_23567(source()))    == 5> t5;
6050 -    sa<sizeof(sink_5_23567(c_source()))  == 6> t6;
6051 -    sa<sizeof(sink_5_23567(v_source()))  == 7> t7;
6052 +    sa<sizeof(sink_5_23567(ca))          == 2 * sizeof(long)> t2;
6053 +    sa<sizeof(sink_5_23567(va))          == 3 * sizeof(long)> t3;
6054 +    sa<sizeof(sink_5_23567(source()))    == 5 * sizeof(long)> t5;
6055 +    sa<sizeof(sink_5_23567(c_source()))  == 6 * sizeof(long)> t6;
6056 +    sa<sizeof(sink_5_23567(v_source()))  == 7 * sizeof(long)> t7;
6057      return 0;
6058  }
6059  
6060 @@ -942,12 +942,12 @@
6061      const          A ca = a;
6062            volatile A va;
6063      const volatile A cva = a;
6064 -    sa<sizeof(sink_5_23568(ca))          == 2> t2;
6065 -    sa<sizeof(sink_5_23568(va))          == 3> t3;
6066 -    sa<sizeof(sink_5_23568(source()))    == 5> t5;
6067 -    sa<sizeof(sink_5_23568(c_source()))  == 6> t6;
6068 -    sa<sizeof(sink_5_23568(v_source()))  == 8> t7;
6069 -    sa<sizeof(sink_5_23568(cv_source())) == 8> t8;
6070 +    sa<sizeof(sink_5_23568(ca))          == 2 * sizeof(long)> t2;
6071 +    sa<sizeof(sink_5_23568(va))          == 3 * sizeof(long)> t3;
6072 +    sa<sizeof(sink_5_23568(source()))    == 5 * sizeof(long)> t5;
6073 +    sa<sizeof(sink_5_23568(c_source()))  == 6 * sizeof(long)> t6;
6074 +    sa<sizeof(sink_5_23568(v_source()))  == 8 * sizeof(long)> t7;
6075 +    sa<sizeof(sink_5_23568(cv_source())) == 8 * sizeof(long)> t8;
6076      return 0;
6077  }
6078  
6079 @@ -963,12 +963,12 @@
6080      const          A ca = a;
6081            volatile A va;
6082      const volatile A cva = a;
6083 -    sa<sizeof(sink_5_23578(ca))          == 2> t2;
6084 -    sa<sizeof(sink_5_23578(va))          == 3> t3;
6085 -    sa<sizeof(sink_5_23578(source()))    == 5> t5;
6086 -    sa<sizeof(sink_5_23578(c_source()))  == 8> t6;
6087 -    sa<sizeof(sink_5_23578(v_source()))  == 7> t7;
6088 -    sa<sizeof(sink_5_23578(cv_source())) == 8> t8;
6089 +    sa<sizeof(sink_5_23578(ca))          == 2 * sizeof(long)> t2;
6090 +    sa<sizeof(sink_5_23578(va))          == 3 * sizeof(long)> t3;
6091 +    sa<sizeof(sink_5_23578(source()))    == 5 * sizeof(long)> t5;
6092 +    sa<sizeof(sink_5_23578(c_source()))  == 8 * sizeof(long)> t6;
6093 +    sa<sizeof(sink_5_23578(v_source()))  == 7 * sizeof(long)> t7;
6094 +    sa<sizeof(sink_5_23578(cv_source())) == 8 * sizeof(long)> t8;
6095      return 0;
6096  }
6097  
6098 @@ -984,11 +984,11 @@
6099      const          A ca = a;
6100            volatile A va;
6101      const volatile A cva = a;
6102 -    sa<sizeof(sink_5_23678(ca))          == 2> t2;
6103 -    sa<sizeof(sink_5_23678(va))          == 3> t3;
6104 -    sa<sizeof(sink_5_23678(c_source()))  == 6> t6;
6105 -    sa<sizeof(sink_5_23678(v_source()))  == 7> t7;
6106 -    sa<sizeof(sink_5_23678(cv_source())) == 8> t8;
6107 +    sa<sizeof(sink_5_23678(ca))          == 2 * sizeof(long)> t2;
6108 +    sa<sizeof(sink_5_23678(va))          == 3 * sizeof(long)> t3;
6109 +    sa<sizeof(sink_5_23678(c_source()))  == 6 * sizeof(long)> t6;
6110 +    sa<sizeof(sink_5_23678(v_source()))  == 7 * sizeof(long)> t7;
6111 +    sa<sizeof(sink_5_23678(cv_source())) == 8 * sizeof(long)> t8;
6112      return 0;
6113  }
6114  
6115 @@ -1004,13 +1004,13 @@
6116      const          A ca = a;
6117            volatile A va;
6118      const volatile A cva = a;
6119 -    sa<sizeof(sink_5_24567(a))           == 2> t1;
6120 -    sa<sizeof(sink_5_24567(ca))          == 2> t2;
6121 -    sa<sizeof(sink_5_24567(va))          == 4> t3;
6122 -    sa<sizeof(sink_5_24567(cva))         == 4> t4;
6123 -    sa<sizeof(sink_5_24567(source()))    == 5> t5;
6124 -    sa<sizeof(sink_5_24567(c_source()))  == 6> t6;
6125 -    sa<sizeof(sink_5_24567(v_source()))  == 7> t7;
6126 +    sa<sizeof(sink_5_24567(a))           == 2 * sizeof(long)> t1;
6127 +    sa<sizeof(sink_5_24567(ca))          == 2 * sizeof(long)> t2;
6128 +    sa<sizeof(sink_5_24567(va))          == 4 * sizeof(long)> t3;
6129 +    sa<sizeof(sink_5_24567(cva))         == 4 * sizeof(long)> t4;
6130 +    sa<sizeof(sink_5_24567(source()))    == 5 * sizeof(long)> t5;
6131 +    sa<sizeof(sink_5_24567(c_source()))  == 6 * sizeof(long)> t6;
6132 +    sa<sizeof(sink_5_24567(v_source()))  == 7 * sizeof(long)> t7;
6133      return 0;
6134  }
6135  
6136 @@ -1026,14 +1026,14 @@
6137      const          A ca = a;
6138            volatile A va;
6139      const volatile A cva = a;
6140 -    sa<sizeof(sink_5_24568(a))           == 2> t1;
6141 -    sa<sizeof(sink_5_24568(ca))          == 2> t2;
6142 -    sa<sizeof(sink_5_24568(va))          == 4> t3;
6143 -    sa<sizeof(sink_5_24568(cva))         == 4> t4;
6144 -    sa<sizeof(sink_5_24568(source()))    == 5> t5;
6145 -    sa<sizeof(sink_5_24568(c_source()))  == 6> t6;
6146 -    sa<sizeof(sink_5_24568(v_source()))  == 8> t7;
6147 -    sa<sizeof(sink_5_24568(cv_source())) == 8> t8;
6148 +    sa<sizeof(sink_5_24568(a))           == 2 * sizeof(long)> t1;
6149 +    sa<sizeof(sink_5_24568(ca))          == 2 * sizeof(long)> t2;
6150 +    sa<sizeof(sink_5_24568(va))          == 4 * sizeof(long)> t3;
6151 +    sa<sizeof(sink_5_24568(cva))         == 4 * sizeof(long)> t4;
6152 +    sa<sizeof(sink_5_24568(source()))    == 5 * sizeof(long)> t5;
6153 +    sa<sizeof(sink_5_24568(c_source()))  == 6 * sizeof(long)> t6;
6154 +    sa<sizeof(sink_5_24568(v_source()))  == 8 * sizeof(long)> t7;
6155 +    sa<sizeof(sink_5_24568(cv_source())) == 8 * sizeof(long)> t8;
6156      return 0;
6157  }
6158  
6159 @@ -1049,14 +1049,14 @@
6160      const          A ca = a;
6161            volatile A va;
6162      const volatile A cva = a;
6163 -    sa<sizeof(sink_5_24578(a))           == 2> t1;
6164 -    sa<sizeof(sink_5_24578(ca))          == 2> t2;
6165 -    sa<sizeof(sink_5_24578(va))          == 4> t3;
6166 -    sa<sizeof(sink_5_24578(cva))         == 4> t4;
6167 -    sa<sizeof(sink_5_24578(source()))    == 5> t5;
6168 -    sa<sizeof(sink_5_24578(c_source()))  == 8> t6;
6169 -    sa<sizeof(sink_5_24578(v_source()))  == 7> t7;
6170 -    sa<sizeof(sink_5_24578(cv_source())) == 8> t8;
6171 +    sa<sizeof(sink_5_24578(a))           == 2 * sizeof(long)> t1;
6172 +    sa<sizeof(sink_5_24578(ca))          == 2 * sizeof(long)> t2;
6173 +    sa<sizeof(sink_5_24578(va))          == 4 * sizeof(long)> t3;
6174 +    sa<sizeof(sink_5_24578(cva))         == 4 * sizeof(long)> t4;
6175 +    sa<sizeof(sink_5_24578(source()))    == 5 * sizeof(long)> t5;
6176 +    sa<sizeof(sink_5_24578(c_source()))  == 8 * sizeof(long)> t6;
6177 +    sa<sizeof(sink_5_24578(v_source()))  == 7 * sizeof(long)> t7;
6178 +    sa<sizeof(sink_5_24578(cv_source())) == 8 * sizeof(long)> t8;
6179      return 0;
6180  }
6181  
6182 @@ -1072,13 +1072,13 @@
6183      const          A ca = a;
6184            volatile A va;
6185      const volatile A cva = a;
6186 -    sa<sizeof(sink_5_24678(a))           == 2> t1;
6187 -    sa<sizeof(sink_5_24678(ca))          == 2> t2;
6188 -    sa<sizeof(sink_5_24678(va))          == 4> t3;
6189 -    sa<sizeof(sink_5_24678(cva))         == 4> t4;
6190 -    sa<sizeof(sink_5_24678(c_source()))  == 6> t6;
6191 -    sa<sizeof(sink_5_24678(v_source()))  == 7> t7;
6192 -    sa<sizeof(sink_5_24678(cv_source())) == 8> t8;
6193 +    sa<sizeof(sink_5_24678(a))           == 2 * sizeof(long)> t1;
6194 +    sa<sizeof(sink_5_24678(ca))          == 2 * sizeof(long)> t2;
6195 +    sa<sizeof(sink_5_24678(va))          == 4 * sizeof(long)> t3;
6196 +    sa<sizeof(sink_5_24678(cva))         == 4 * sizeof(long)> t4;
6197 +    sa<sizeof(sink_5_24678(c_source()))  == 6 * sizeof(long)> t6;
6198 +    sa<sizeof(sink_5_24678(v_source()))  == 7 * sizeof(long)> t7;
6199 +    sa<sizeof(sink_5_24678(cv_source())) == 8 * sizeof(long)> t8;
6200      return 0;
6201  }
6202  
6203 @@ -1094,12 +1094,12 @@
6204      const          A ca = a;
6205            volatile A va;
6206      const volatile A cva = a;
6207 -    sa<sizeof(sink_5_25678(a))           == 2> t1;
6208 -    sa<sizeof(sink_5_25678(ca))          == 2> t2;
6209 -    sa<sizeof(sink_5_25678(source()))    == 5> t5;
6210 -    sa<sizeof(sink_5_25678(c_source()))  == 6> t6;
6211 -    sa<sizeof(sink_5_25678(v_source()))  == 7> t7;
6212 -    sa<sizeof(sink_5_25678(cv_source())) == 8> t8;
6213 +    sa<sizeof(sink_5_25678(a))           == 2 * sizeof(long)> t1;
6214 +    sa<sizeof(sink_5_25678(ca))          == 2 * sizeof(long)> t2;
6215 +    sa<sizeof(sink_5_25678(source()))    == 5 * sizeof(long)> t5;
6216 +    sa<sizeof(sink_5_25678(c_source()))  == 6 * sizeof(long)> t6;
6217 +    sa<sizeof(sink_5_25678(v_source()))  == 7 * sizeof(long)> t7;
6218 +    sa<sizeof(sink_5_25678(cv_source())) == 8 * sizeof(long)> t8;
6219      return 0;
6220  }
6221  
6222 @@ -1115,13 +1115,13 @@
6223      const          A ca = a;
6224            volatile A va;
6225      const volatile A cva = a;
6226 -    sa<sizeof(sink_5_34567(a))           == 3> t1;
6227 -    sa<sizeof(sink_5_34567(ca))          == 4> t2;
6228 -    sa<sizeof(sink_5_34567(va))          == 3> t3;
6229 -    sa<sizeof(sink_5_34567(cva))         == 4> t4;
6230 -    sa<sizeof(sink_5_34567(source()))    == 5> t5;
6231 -    sa<sizeof(sink_5_34567(c_source()))  == 6> t6;
6232 -    sa<sizeof(sink_5_34567(v_source()))  == 7> t7;
6233 +    sa<sizeof(sink_5_34567(a))           == 3 * sizeof(long)> t1;
6234 +    sa<sizeof(sink_5_34567(ca))          == 4 * sizeof(long)> t2;
6235 +    sa<sizeof(sink_5_34567(va))          == 3 * sizeof(long)> t3;
6236 +    sa<sizeof(sink_5_34567(cva))         == 4 * sizeof(long)> t4;
6237 +    sa<sizeof(sink_5_34567(source()))    == 5 * sizeof(long)> t5;
6238 +    sa<sizeof(sink_5_34567(c_source()))  == 6 * sizeof(long)> t6;
6239 +    sa<sizeof(sink_5_34567(v_source()))  == 7 * sizeof(long)> t7;
6240      return 0;
6241  }
6242  
6243 @@ -1137,14 +1137,14 @@
6244      const          A ca = a;
6245            volatile A va;
6246      const volatile A cva = a;
6247 -    sa<sizeof(sink_5_34568(a))           == 3> t1;
6248 -    sa<sizeof(sink_5_34568(ca))          == 4> t2;
6249 -    sa<sizeof(sink_5_34568(va))          == 3> t3;
6250 -    sa<sizeof(sink_5_34568(cva))         == 4> t4;
6251 -    sa<sizeof(sink_5_34568(source()))    == 5> t5;
6252 -    sa<sizeof(sink_5_34568(c_source()))  == 6> t6;
6253 -    sa<sizeof(sink_5_34568(v_source()))  == 8> t7;
6254 -    sa<sizeof(sink_5_34568(cv_source())) == 8> t8;
6255 +    sa<sizeof(sink_5_34568(a))           == 3 * sizeof(long)> t1;
6256 +    sa<sizeof(sink_5_34568(ca))          == 4 * sizeof(long)> t2;
6257 +    sa<sizeof(sink_5_34568(va))          == 3 * sizeof(long)> t3;
6258 +    sa<sizeof(sink_5_34568(cva))         == 4 * sizeof(long)> t4;
6259 +    sa<sizeof(sink_5_34568(source()))    == 5 * sizeof(long)> t5;
6260 +    sa<sizeof(sink_5_34568(c_source()))  == 6 * sizeof(long)> t6;
6261 +    sa<sizeof(sink_5_34568(v_source()))  == 8 * sizeof(long)> t7;
6262 +    sa<sizeof(sink_5_34568(cv_source())) == 8 * sizeof(long)> t8;
6263      return 0;
6264  }
6265  
6266 @@ -1160,14 +1160,14 @@
6267      const          A ca = a;
6268            volatile A va;
6269      const volatile A cva = a;
6270 -    sa<sizeof(sink_5_34578(a))           == 3> t1;
6271 -    sa<sizeof(sink_5_34578(ca))          == 4> t2;
6272 -    sa<sizeof(sink_5_34578(va))          == 3> t3;
6273 -    sa<sizeof(sink_5_34578(cva))         == 4> t4;
6274 -    sa<sizeof(sink_5_34578(source()))    == 5> t5;
6275 -    sa<sizeof(sink_5_34578(c_source()))  == 8> t6;
6276 -    sa<sizeof(sink_5_34578(v_source()))  == 7> t7;
6277 -    sa<sizeof(sink_5_34578(cv_source())) == 8> t8;
6278 +    sa<sizeof(sink_5_34578(a))           == 3 * sizeof(long)> t1;
6279 +    sa<sizeof(sink_5_34578(ca))          == 4 * sizeof(long)> t2;
6280 +    sa<sizeof(sink_5_34578(va))          == 3 * sizeof(long)> t3;
6281 +    sa<sizeof(sink_5_34578(cva))         == 4 * sizeof(long)> t4;
6282 +    sa<sizeof(sink_5_34578(source()))    == 5 * sizeof(long)> t5;
6283 +    sa<sizeof(sink_5_34578(c_source()))  == 8 * sizeof(long)> t6;
6284 +    sa<sizeof(sink_5_34578(v_source()))  == 7 * sizeof(long)> t7;
6285 +    sa<sizeof(sink_5_34578(cv_source())) == 8 * sizeof(long)> t8;
6286      return 0;
6287  }
6288  
6289 @@ -1183,13 +1183,13 @@
6290      const          A ca = a;
6291            volatile A va;
6292      const volatile A cva = a;
6293 -    sa<sizeof(sink_5_34678(a))           == 3> t1;
6294 -    sa<sizeof(sink_5_34678(ca))          == 4> t2;
6295 -    sa<sizeof(sink_5_34678(va))          == 3> t3;
6296 -    sa<sizeof(sink_5_34678(cva))         == 4> t4;
6297 -    sa<sizeof(sink_5_34678(c_source()))  == 6> t6;
6298 -    sa<sizeof(sink_5_34678(v_source()))  == 7> t7;
6299 -    sa<sizeof(sink_5_34678(cv_source())) == 8> t8;
6300 +    sa<sizeof(sink_5_34678(a))           == 3 * sizeof(long)> t1;
6301 +    sa<sizeof(sink_5_34678(ca))          == 4 * sizeof(long)> t2;
6302 +    sa<sizeof(sink_5_34678(va))          == 3 * sizeof(long)> t3;
6303 +    sa<sizeof(sink_5_34678(cva))         == 4 * sizeof(long)> t4;
6304 +    sa<sizeof(sink_5_34678(c_source()))  == 6 * sizeof(long)> t6;
6305 +    sa<sizeof(sink_5_34678(v_source()))  == 7 * sizeof(long)> t7;
6306 +    sa<sizeof(sink_5_34678(cv_source())) == 8 * sizeof(long)> t8;
6307      return 0;
6308  }
6309  
6310 @@ -1205,12 +1205,12 @@
6311      const          A ca = a;
6312            volatile A va;
6313      const volatile A cva = a;
6314 -    sa<sizeof(sink_5_35678(a))           == 3> t1;
6315 -    sa<sizeof(sink_5_35678(va))          == 3> t3;
6316 -    sa<sizeof(sink_5_35678(source()))    == 5> t5;
6317 -    sa<sizeof(sink_5_35678(c_source()))  == 6> t6;
6318 -    sa<sizeof(sink_5_35678(v_source()))  == 7> t7;
6319 -    sa<sizeof(sink_5_35678(cv_source())) == 8> t8;
6320 +    sa<sizeof(sink_5_35678(a))           == 3 * sizeof(long)> t1;
6321 +    sa<sizeof(sink_5_35678(va))          == 3 * sizeof(long)> t3;
6322 +    sa<sizeof(sink_5_35678(source()))    == 5 * sizeof(long)> t5;
6323 +    sa<sizeof(sink_5_35678(c_source()))  == 6 * sizeof(long)> t6;
6324 +    sa<sizeof(sink_5_35678(v_source()))  == 7 * sizeof(long)> t7;
6325 +    sa<sizeof(sink_5_35678(cv_source())) == 8 * sizeof(long)> t8;
6326      return 0;
6327  }
6328  
6329 @@ -1226,14 +1226,14 @@
6330      const          A ca = a;
6331            volatile A va;
6332      const volatile A cva = a;
6333 -    sa<sizeof(sink_5_45678(a))           == 4> t1;
6334 -    sa<sizeof(sink_5_45678(ca))          == 4> t2;
6335 -    sa<sizeof(sink_5_45678(va))          == 4> t3;
6336 -    sa<sizeof(sink_5_45678(cva))         == 4> t4;
6337 -    sa<sizeof(sink_5_45678(source()))    == 5> t5;
6338 -    sa<sizeof(sink_5_45678(c_source()))  == 6> t6;
6339 -    sa<sizeof(sink_5_45678(v_source()))  == 7> t7;
6340 -    sa<sizeof(sink_5_45678(cv_source())) == 8> t8;
6341 +    sa<sizeof(sink_5_45678(a))           == 4 * sizeof(long)> t1;
6342 +    sa<sizeof(sink_5_45678(ca))          == 4 * sizeof(long)> t2;
6343 +    sa<sizeof(sink_5_45678(va))          == 4 * sizeof(long)> t3;
6344 +    sa<sizeof(sink_5_45678(cva))         == 4 * sizeof(long)> t4;
6345 +    sa<sizeof(sink_5_45678(source()))    == 5 * sizeof(long)> t5;
6346 +    sa<sizeof(sink_5_45678(c_source()))  == 6 * sizeof(long)> t6;
6347 +    sa<sizeof(sink_5_45678(v_source()))  == 7 * sizeof(long)> t7;
6348 +    sa<sizeof(sink_5_45678(cv_source())) == 8 * sizeof(long)> t8;
6349      return 0;
6350  }
6351  
6352 Index: gcc/testsuite/g++.dg/cpp0x/named_refs.C
6353 ===================================================================
6354 --- gcc/testsuite/g++.dg/cpp0x/named_refs.C     (.../tags/gcc_4_5_1_release)    (wersja 163628)
6355 +++ gcc/testsuite/g++.dg/cpp0x/named_refs.C     (.../branches/gcc-4_5-branch)   (wersja 163628)
6356 @@ -8,8 +8,8 @@
6357  template <bool> struct sa;
6358  template <> struct sa<true> {};
6359  
6360 -struct one   {char x[1];};
6361 -struct two   {char x[2];};
6362 +struct one   {long x[1];};
6363 +struct two   {long x[2];};
6364  
6365  struct A {};
6366  
6367 @@ -18,7 +18,7 @@
6368  
6369  int test1(A&& a)
6370  {
6371 -    sa<sizeof(foo(a)) == 1> t1;
6372 +    sa<sizeof(foo(a)) == 1 * sizeof(long)> t1;
6373      return 0;
6374  }
6375  
6376 Index: gcc/testsuite/g++.dg/cpp0x/unnamed_refs.C
6377 ===================================================================
6378 --- gcc/testsuite/g++.dg/cpp0x/unnamed_refs.C   (.../tags/gcc_4_5_1_release)    (wersja 163628)
6379 +++ gcc/testsuite/g++.dg/cpp0x/unnamed_refs.C   (.../branches/gcc-4_5-branch)   (wersja 163628)
6380 @@ -8,8 +8,8 @@
6381  template <bool> struct sa;
6382  template <> struct sa<true> {};
6383  
6384 -struct one   {char x[1];};
6385 -struct two   {char x[2];};
6386 +struct one   {long x[1];};
6387 +struct two   {long x[2];};
6388  
6389  struct A {};
6390  
6391 @@ -25,7 +25,7 @@
6392  
6393  int test1()
6394  {
6395 -    sa<sizeof(foo(source())) == 2> t1;
6396 +    sa<sizeof(foo(source())) == 2 * sizeof(long)> t1;
6397      return 0;
6398  }
6399  
6400 Index: gcc/testsuite/g++.dg/init/value8.C
6401 ===================================================================
6402 --- gcc/testsuite/g++.dg/init/value8.C  (.../tags/gcc_4_5_1_release)    (wersja 0)
6403 +++ gcc/testsuite/g++.dg/init/value8.C  (.../branches/gcc-4_5-branch)   (wersja 163628)
6404 @@ -0,0 +1,19 @@
6405 +// PR c++/45315
6406 +
6407 +struct A
6408 +{
6409 +  A ();
6410 +};
6411 +
6412 +template < int > struct B : A
6413 +{
6414 +  void foo ()
6415 +  {
6416 +    new B < 0 > ();
6417 +  }
6418 +};
6419 +
6420 +int main()
6421 +{
6422 +  B<1>().foo();
6423 +}
6424 Index: gcc/testsuite/lib/gcc-dg.exp
6425 ===================================================================
6426 --- gcc/testsuite/lib/gcc-dg.exp        (.../tags/gcc_4_5_1_release)    (wersja 163628)
6427 +++ gcc/testsuite/lib/gcc-dg.exp        (.../branches/gcc-4_5-branch)   (wersja 163628)
6428 @@ -407,6 +407,8 @@
6429      # that stores the filename of the testcase in a local variable "name".
6430      # A cleaner solution would require a new DejaGnu release.
6431      upvar 2 name testcase
6432 +    # The name might include a list of options; extract the file name.
6433 +    set testcase [lindex $testcase 0]]
6434      remove-build-file "[file rootname [file tail $testcase]].gc??"
6435  
6436      # Clean up coverage files for additional source files.
6437 @@ -423,6 +425,8 @@
6438      # that stores the filename of the testcase in a local variable "name".
6439      # A cleaner solution would require a new DejaGnu release.
6440      upvar 2 name testcase
6441 +    # The name might include a list of options; extract the file name.
6442 +    set testcase [lindex $testcase 0]]
6443      remove-build-file "[file rootname [file tail $testcase]].o"
6444      remove-build-file "[file rootname [file tail $testcase]].rpo"
6445  
6446 @@ -498,6 +502,8 @@
6447      # that stores the filename of the testcase in a local variable "name".
6448      # A cleaner solution would require a new DejaGnu release.
6449      upvar 2 name testcase
6450 +    # The name might include a list of options; extract the file name.
6451 +    set testcase [lindex $testcase 0]]
6452      foreach suffix $suffixes {
6453         remove-build-file "[file rootname [file tail $testcase]]$suffix"
6454         # -fcompare-debug dumps
6455 Index: gcc/testsuite/gfortran.dg/gomp/pr27573.f90
6456 ===================================================================
6457 --- gcc/testsuite/gfortran.dg/gomp/pr27573.f90  (.../tags/gcc_4_5_1_release)    (wersja 163628)
6458 +++ gcc/testsuite/gfortran.dg/gomp/pr27573.f90  (.../branches/gcc-4_5-branch)   (wersja 163628)
6459 @@ -11,5 +11,3 @@
6460      end do
6461    !$omp end parallel
6462  end
6463 -
6464 -! { dg-final { cleanup-coverage-files } }
6465 Index: gcc/testsuite/gfortran.dg/gomp/pr44036-1.f90
6466 ===================================================================
6467 --- gcc/testsuite/gfortran.dg/gomp/pr44036-1.f90        (.../tags/gcc_4_5_1_release)    (wersja 163628)
6468 +++ gcc/testsuite/gfortran.dg/gomp/pr44036-1.f90        (.../branches/gcc-4_5-branch)   (wersja 163628)
6469 @@ -12,7 +12,7 @@
6470    x = a(4)
6471  !$omp end parallel
6472  !$omp parallel default(none) private (x)       ! { dg-error "enclosing parallel" }
6473 -  x = b(5)                                     ! { dg-error "not specified in" "" { target *-*-* } 11 }
6474 +  x = b(5)                                     ! { dg-error "not specified in" }
6475  !$omp end parallel
6476  !$omp parallel default(none) private (x)
6477    x = c(6)
6478 Index: gcc/testsuite/gfortran.dg/allocate_derived_3.f90
6479 ===================================================================
6480 --- gcc/testsuite/gfortran.dg/allocate_derived_3.f90    (.../tags/gcc_4_5_1_release)    (wersja 0)
6481 +++ gcc/testsuite/gfortran.dg/allocate_derived_3.f90    (.../branches/gcc-4_5-branch)   (wersja 163628)
6482 @@ -0,0 +1,17 @@
6483 +! { dg-do compile }
6484 +!
6485 +! PR 44929: [OOP] Parsing error of derived type name starting with 'REAL'
6486 +!
6487 +! Contributed by Satish.BD <bdsatish@gmail.com>
6488 +
6489 + type :: real_type
6490 + end type
6491 + class(real_type), allocatable :: obj
6492 + real(8), allocatable :: r8
6493 +
6494 + allocate(real_type :: obj)
6495 +
6496 + allocate( real(kind=8) :: r8)
6497 + allocate(real(8)  :: r8 )
6498 +
6499 +end 
6500 Index: gcc/cp/init.c
6501 ===================================================================
6502 --- gcc/cp/init.c       (.../tags/gcc_4_5_1_release)    (wersja 163628)
6503 +++ gcc/cp/init.c       (.../branches/gcc-4_5-branch)   (wersja 163628)
6504 @@ -2158,7 +2158,8 @@
6505         {
6506           init_expr = cp_build_indirect_ref (data_addr, RO_NULL, complain);
6507  
6508 -         if (TYPE_NEEDS_CONSTRUCTING (type) && !explicit_value_init_p)
6509 +         if (TYPE_NEEDS_CONSTRUCTING (type)
6510 +             && (!explicit_value_init_p || processing_template_decl))
6511             {
6512               init_expr = build_special_member_call (init_expr,
6513                                                      complete_ctor_identifier,
6514 @@ -2168,9 +2169,13 @@
6515             }
6516           else if (explicit_value_init_p)
6517             {
6518 -             /* Something like `new int()'.  */
6519 -             init_expr = build2 (INIT_EXPR, type,
6520 -                                 init_expr, build_value_init (type));
6521 +             if (processing_template_decl)
6522 +               /* Don't worry about it, we'll handle this properly at
6523 +                  instantiation time.  */;
6524 +             else
6525 +               /* Something like `new int()'.  */
6526 +               init_expr = build2 (INIT_EXPR, type,
6527 +                                   init_expr, build_value_init (type));
6528             }
6529           else
6530             {
6531 Index: gcc/cp/decl.c
6532 ===================================================================
6533 --- gcc/cp/decl.c       (.../tags/gcc_4_5_1_release)    (wersja 163628)
6534 +++ gcc/cp/decl.c       (.../branches/gcc-4_5-branch)   (wersja 163628)
6535 @@ -2077,6 +2077,10 @@
6536        SET_DECL_INIT_PRIORITY (olddecl, DECL_INIT_PRIORITY (newdecl));
6537        DECL_HAS_INIT_PRIORITY_P (olddecl) = 1;
6538      }
6539 +  /* Likewise for DECL_USER_ALIGN and DECL_PACKED.  */
6540 +  DECL_USER_ALIGN (olddecl) = DECL_USER_ALIGN (newdecl);
6541 +  if (TREE_CODE (newdecl) == FIELD_DECL)
6542 +    DECL_PACKED (olddecl) = DECL_PACKED (newdecl);
6543  
6544    /* The DECL_LANG_SPECIFIC information in OLDDECL will be replaced
6545       with that from NEWDECL below.  */
6546 Index: gcc/cp/ChangeLog
6547 ===================================================================
6548 --- gcc/cp/ChangeLog    (.../tags/gcc_4_5_1_release)    (wersja 163628)
6549 +++ gcc/cp/ChangeLog    (.../branches/gcc-4_5-branch)   (wersja 163628)
6550 @@ -1,3 +1,13 @@
6551 +2010-08-19  Jason Merrill  <jason@redhat.com>
6552 +
6553 +       PR c++/45315
6554 +       * init.c (build_new_1): Don't use build_value_init in a template.
6555 +
6556 +2010-07-31  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
6557 +
6558 +       PR c++/45112
6559 +       * decl.c (duplicate_decls): Merge DECL_USER_ALIGN and DECL_PACKED.
6560 +
6561  2010-07-31  Release Manager
6562  
6563         * GCC 4.5.1 released.
6564 Index: gcc/haifa-sched.c
6565 ===================================================================
6566 --- gcc/haifa-sched.c   (.../tags/gcc_4_5_1_release)    (wersja 163628)
6567 +++ gcc/haifa-sched.c   (.../branches/gcc-4_5-branch)   (wersja 163628)
6568 @@ -1997,13 +1997,9 @@
6569    q_ptr = NEXT_Q (q_ptr);
6570  
6571    if (dbg_cnt (sched_insn) == false)
6572 -    {
6573 -      /* If debug counter is activated do not requeue insn next after
6574 -        last_scheduled_insn.  */
6575 -      skip_insn = next_nonnote_insn (last_scheduled_insn);
6576 -      while (skip_insn && DEBUG_INSN_P (skip_insn))
6577 -       skip_insn = next_nonnote_insn (skip_insn);
6578 -    }
6579 +    /* If debug counter is activated do not requeue insn next after
6580 +       last_scheduled_insn.  */
6581 +    skip_insn = next_nonnote_nondebug_insn (last_scheduled_insn);
6582    else
6583      skip_insn = NULL_RTX;
6584  
6585 Index: gcc/tree-ssa-loop-ivopts.c
6586 ===================================================================
6587 --- gcc/tree-ssa-loop-ivopts.c  (.../tags/gcc_4_5_1_release)    (wersja 163628)
6588 +++ gcc/tree-ssa-loop-ivopts.c  (.../branches/gcc-4_5-branch)   (wersja 163628)
6589 @@ -1557,7 +1557,7 @@
6590  
6591  /* Return true if EXPR may be non-addressable.   */
6592  
6593 -static bool
6594 +bool
6595  may_be_nonaddressable_p (tree expr)
6596  {
6597    switch (TREE_CODE (expr))
6598 Index: gcc/caller-save.c
6599 ===================================================================
6600 --- gcc/caller-save.c   (.../tags/gcc_4_5_1_release)    (wersja 163628)
6601 +++ gcc/caller-save.c   (.../branches/gcc-4_5-branch)   (wersja 163628)
6602 @@ -883,7 +883,10 @@
6603              remain saved.  If the last insn in the block is a JUMP_INSN, put
6604              the restore before the insn, otherwise, put it after the insn.  */
6605  
6606 -         if (DEBUG_INSN_P (insn) && last && last->block == chain->block)
6607 +         if (n_regs_saved
6608 +             && DEBUG_INSN_P (insn)
6609 +             && last
6610 +             && last->block == chain->block)
6611             {
6612               rtx ins, prev;
6613               basic_block bb = BLOCK_FOR_INSN (insn);
6614 Index: gcc/ipa-pure-const.c
6615 ===================================================================
6616 --- gcc/ipa-pure-const.c        (.../tags/gcc_4_5_1_release)    (wersja 163628)
6617 +++ gcc/ipa-pure-const.c        (.../branches/gcc-4_5-branch)   (wersja 163628)
6618 @@ -416,6 +416,13 @@
6619        print_gimple_stmt (dump_file, stmt, 0, 0);
6620      }
6621  
6622 +  if (gimple_has_volatile_ops (stmt))
6623 +    {
6624 +      local->pure_const_state = IPA_NEITHER;
6625 +      if (dump_file)
6626 +       fprintf (dump_file, "    Volatile stmt is not const/pure\n");
6627 +    }
6628 +
6629    /* Look for loads and stores.  */
6630    walk_stmt_load_store_ops (stmt, local, check_load, check_store);
6631  
6632 Index: gcc/ifcvt.c
6633 ===================================================================
6634 --- gcc/ifcvt.c (.../tags/gcc_4_5_1_release)    (wersja 163628)
6635 +++ gcc/ifcvt.c (.../branches/gcc-4_5-branch)   (wersja 163628)
6636 @@ -2285,9 +2285,7 @@
6637      }
6638    else
6639      {
6640 -      insn_b = prev_nonnote_insn (if_info->cond_earliest);
6641 -      while (insn_b && DEBUG_INSN_P (insn_b))
6642 -       insn_b = prev_nonnote_insn (insn_b);
6643 +      insn_b = prev_nonnote_nondebug_insn (if_info->cond_earliest);
6644        /* We're going to be moving the evaluation of B down from above
6645          COND_EARLIEST to JUMP.  Make sure the relevant data is still
6646          intact.  */
6647 Index: gcc/fortran/intrinsic.c
6648 ===================================================================
6649 --- gcc/fortran/intrinsic.c     (.../tags/gcc_4_5_1_release)    (wersja 163628)
6650 +++ gcc/fortran/intrinsic.c     (.../branches/gcc-4_5-branch)   (wersja 163628)
6651 @@ -112,6 +112,8 @@
6652    sym->attr.flavor = FL_PROCEDURE;
6653    sym->attr.proc = PROC_INTRINSIC;
6654  
6655 +  gfc_commit_symbol (sym);
6656 +
6657    return sym;
6658  }
6659  
6660 Index: gcc/fortran/symbol.c
6661 ===================================================================
6662 --- gcc/fortran/symbol.c        (.../tags/gcc_4_5_1_release)    (wersja 163628)
6663 +++ gcc/fortran/symbol.c        (.../branches/gcc-4_5-branch)   (wersja 163628)
6664 @@ -3795,6 +3795,9 @@
6665    formal_arg = gfc_get_formal_arglist ();
6666    /* Add arg to list of formal args (the CPTR arg).  */
6667    add_formal_arg (head, tail, formal_arg, param_sym);
6668 +
6669 +  /* Validate changes.  */
6670 +  gfc_commit_symbol (param_sym);
6671  }
6672  
6673  
6674 @@ -3840,6 +3843,9 @@
6675    formal_arg = gfc_get_formal_arglist ();
6676    /* Add arg to list of formal args.  */
6677    add_formal_arg (head, tail, formal_arg, param_sym);
6678 +
6679 +  /* Validate changes.  */
6680 +  gfc_commit_symbol (param_sym);
6681  }
6682  
6683  
6684 @@ -3911,6 +3917,9 @@
6685    formal_arg = gfc_get_formal_arglist ();
6686    /* Add arg to list of formal args.  */
6687    add_formal_arg (head, tail, formal_arg, param_sym);
6688 +
6689 +  /* Validate changes.  */
6690 +  gfc_commit_symbol (param_sym);
6691  }
6692  
6693  
6694 @@ -3973,6 +3982,9 @@
6695  
6696        /* Add arg to list of formal args.  */
6697        add_formal_arg (&head, &tail, formal_arg, formal_arg->sym);
6698 +
6699 +      /* Validate changes.  */
6700 +      gfc_commit_symbol (formal_arg->sym);
6701      }
6702  
6703    /* Add the interface to the symbol.  */
6704 @@ -4030,6 +4042,9 @@
6705  
6706        /* Add arg to list of formal args.  */
6707        add_formal_arg (&head, &tail, formal_arg, formal_arg->sym);
6708 +
6709 +      /* Validate changes.  */
6710 +      gfc_commit_symbol (formal_arg->sym);
6711      }
6712  
6713    /* Add the interface to the symbol.  */
6714 @@ -4083,6 +4098,9 @@
6715  
6716        /* Add arg to list of formal args.  */
6717        add_formal_arg (&head, &tail, formal_arg, formal_arg->sym);
6718 +
6719 +      /* Validate changes.  */
6720 +      gfc_commit_symbol (formal_arg->sym);
6721      }
6722  
6723    /* Add the interface to the symbol.  */
6724 @@ -4465,6 +4483,7 @@
6725        default:
6726         gcc_unreachable ();
6727      }
6728 +  gfc_commit_symbol (tmp_sym);
6729  }
6730  
6731  
6732 @@ -4837,10 +4856,12 @@
6733                   c->ts.u.derived = vtype;
6734                   c->initializer->expr_type = EXPR_NULL;
6735                 }
6736 +             gfc_commit_symbol (vtype);
6737             }
6738           vtab->ts.u.derived = vtype;
6739  
6740           vtab->value = gfc_default_initializer (&vtab->ts);
6741 +         gfc_commit_symbol (vtab);
6742         }
6743      }
6744  
6745 Index: gcc/fortran/gfortran.texi
6746 ===================================================================
6747 --- gcc/fortran/gfortran.texi   (.../tags/gcc_4_5_1_release)    (wersja 163628)
6748 +++ gcc/fortran/gfortran.texi   (.../branches/gcc-4_5-branch)   (wersja 163628)
6749 @@ -2639,9 +2639,6 @@
6750  User-specified alignment rules for structures.
6751  
6752  @item
6753 -Flag to generate @code{Makefile} info.
6754 -
6755 -@item
6756  Automatically extend single precision constants to double.
6757  
6758  @item
6759 Index: gcc/fortran/cpp.c
6760 ===================================================================
6761 --- gcc/fortran/cpp.c   (.../tags/gcc_4_5_1_release)    (wersja 163628)
6762 +++ gcc/fortran/cpp.c   (.../branches/gcc-4_5-branch)   (wersja 163628)
6763 @@ -35,6 +35,7 @@
6764  #include "../../libcpp/internal.h"
6765  #include "cpp.h"
6766  #include "incpath.h"
6767 +#include "mkdeps.h"
6768  
6769  #ifndef TARGET_OS_CPP_BUILTINS
6770  # define TARGET_OS_CPP_BUILTINS()
6771 @@ -84,6 +85,12 @@
6772    int no_predefined;                    /* -undef */
6773    int standard_include_paths;           /* -nostdinc */
6774    int verbose;                          /* -v */
6775 +  int deps;                             /* -M */
6776 +  int deps_skip_system;                 /* -MM */
6777 +  const char *deps_filename;            /* -M[M]D */
6778 +  const char *deps_filename_user;       /* -MF <arg> */
6779 +  int deps_missing_are_generated;       /* -MG */
6780 +  int deps_phony;                       /* -MP */
6781  
6782    const char *multilib;                 /* -imultilib <dir>  */
6783    const char *prefix;                   /* -iprefix <dir>  */
6784 @@ -270,6 +277,26 @@
6785    return gfc_cpp_option.preprocess_only;
6786  }
6787  
6788 +bool
6789 +gfc_cpp_makedep (void)
6790 +{
6791 +  return gfc_cpp_option.deps;
6792 +}
6793 +
6794 +void
6795 +gfc_cpp_add_dep (const char *name, bool system)
6796 +{
6797 +  if (!gfc_cpp_option.deps_skip_system || !system)
6798 +    deps_add_dep (cpp_get_deps (cpp_in), name);
6799 +}
6800 +
6801 +void
6802 +gfc_cpp_add_target (const char *name)
6803 +{
6804 +  deps_add_target (cpp_get_deps (cpp_in), name, 0);
6805 +}
6806 +
6807 +
6808  const char *
6809  gfc_cpp_temporary_file (void)
6810  {
6811 @@ -299,6 +326,12 @@
6812    gfc_cpp_option.no_predefined = 0;
6813    gfc_cpp_option.standard_include_paths = 1;
6814    gfc_cpp_option.verbose = 0;
6815 +  gfc_cpp_option.deps = 0;
6816 +  gfc_cpp_option.deps_skip_system = 0;
6817 +  gfc_cpp_option.deps_phony = 0;
6818 +  gfc_cpp_option.deps_missing_are_generated = 0;
6819 +  gfc_cpp_option.deps_filename = NULL;
6820 +  gfc_cpp_option.deps_filename_user = NULL;
6821  
6822    gfc_cpp_option.multilib = NULL;
6823    gfc_cpp_option.prefix = NULL;
6824 @@ -414,6 +447,43 @@
6825        gfc_cpp_option.print_include_names = 1;
6826        break;
6827  
6828 +    case OPT_MM:
6829 +      gfc_cpp_option.deps_skip_system = 1;
6830 +      /* fall through */
6831 +
6832 +    case OPT_M:
6833 +      gfc_cpp_option.deps = 1;
6834 +      break;
6835 +
6836 +    case OPT_MMD:
6837 +      gfc_cpp_option.deps_skip_system = 1;
6838 +      /* fall through */
6839 +
6840 +    case OPT_MD:
6841 +      gfc_cpp_option.deps = 1;
6842 +      gfc_cpp_option.deps_filename = arg;
6843 +      break;
6844 +
6845 +    case OPT_MF:
6846 +      /* If specified multiple times, last one wins.  */
6847 +      gfc_cpp_option.deps_filename_user = arg;
6848 +      break;
6849 +
6850 +    case OPT_MG:
6851 +      gfc_cpp_option.deps_missing_are_generated = 1;
6852 +      break;
6853 +
6854 +    case OPT_MP:
6855 +      gfc_cpp_option.deps_phony = 1;
6856 +      break;
6857 +
6858 +    case OPT_MQ:
6859 +    case OPT_MT:
6860 +      gfc_cpp_option.deferred_opt[gfc_cpp_option.deferred_opt_count].code = code;
6861 +      gfc_cpp_option.deferred_opt[gfc_cpp_option.deferred_opt_count].arg = arg;
6862 +      gfc_cpp_option.deferred_opt_count++;
6863 +      break;
6864 +
6865      case OPT_P:
6866        gfc_cpp_option.no_line_commands = 1;
6867        break;
6868 @@ -430,16 +500,17 @@
6869       an error.  */
6870    if (!gfc_cpp_enabled ()
6871        && (gfc_cpp_preprocess_only ()
6872 -          || !gfc_cpp_option.discard_comments
6873 -          || !gfc_cpp_option.discard_comments_in_macro_exp
6874 -          || gfc_cpp_option.print_include_names
6875 -          || gfc_cpp_option.no_line_commands
6876 -          || gfc_cpp_option.dump_macros
6877 -          || gfc_cpp_option.dump_includes))
6878 +         || gfc_cpp_makedep ()
6879 +         || !gfc_cpp_option.discard_comments
6880 +         || !gfc_cpp_option.discard_comments_in_macro_exp
6881 +         || gfc_cpp_option.print_include_names
6882 +         || gfc_cpp_option.no_line_commands
6883 +         || gfc_cpp_option.dump_macros
6884 +         || gfc_cpp_option.dump_includes))
6885      gfc_fatal_error("To enable preprocessing, use -cpp");
6886  
6887    cpp_in = cpp_create_reader (CLK_GNUC89, NULL, line_table);
6888 -  if (!gfc_cpp_enabled())
6889 +  if (!gfc_cpp_enabled ())
6890      return;
6891  
6892    gcc_assert (cpp_in);
6893 @@ -462,6 +533,17 @@
6894    cpp_option->print_include_names = gfc_cpp_option.print_include_names;
6895    cpp_option->preprocessed = gfc_option.flag_preprocessed;
6896  
6897 +  if (gfc_cpp_makedep ())
6898 +    {
6899 +      cpp_option->deps.style = DEPS_USER;
6900 +      cpp_option->deps.phony_targets = gfc_cpp_option.deps_phony;
6901 +      cpp_option->deps.missing_files = gfc_cpp_option.deps_missing_are_generated;
6902 +
6903 +      /* -MF <arg> overrides -M[M]D.  */
6904 +      if (gfc_cpp_option.deps_filename_user)
6905 +       gfc_cpp_option.deps_filename = gfc_cpp_option.deps_filename_user;
6906 +  }
6907 +
6908    if (gfc_cpp_option.working_directory == -1)
6909      gfc_cpp_option.working_directory = (debug_info_level != DINFO_LEVEL_NONE);
6910  
6911 @@ -571,6 +653,9 @@
6912           else
6913             cpp_assert (cpp_in, opt->arg);
6914         }
6915 +      else if (opt->code == OPT_MT || opt->code == OPT_MQ)
6916 +       deps_add_target (cpp_get_deps (cpp_in),
6917 +                        opt->arg, opt->code == OPT_MQ);
6918      }
6919  
6920    if (gfc_cpp_option.working_directory
6921 @@ -614,14 +699,27 @@
6922    if (!gfc_cpp_enabled ())
6923      return;
6924  
6925 -  /* TODO: if dependency tracking was enabled, call
6926 -     cpp_finish() here to write dependencies.
6927 +  gcc_assert (cpp_in);
6928  
6929 -     Use cpp_get_deps() to access the current source's
6930 -     dependencies during parsing. Add dependencies using
6931 -     the mkdeps-interface (defined in libcpp).  */
6932 +  if (gfc_cpp_makedep ())
6933 +    {
6934 +      if (gfc_cpp_option.deps_filename)
6935 +       {
6936 +         FILE *f = fopen (gfc_cpp_option.deps_filename, "w");
6937 +         if (f)
6938 +           {
6939 +             cpp_finish (cpp_in, f);
6940 +             fclose (f);
6941 +           }
6942 +         else
6943 +           gfc_fatal_error ("opening output file %s: %s",
6944 +                            gfc_cpp_option.deps_filename,
6945 +                            xstrerror (errno));
6946 +       }
6947 +      else
6948 +       cpp_finish (cpp_in, stdout);
6949 +    }
6950  
6951 -  gcc_assert (cpp_in);
6952    cpp_undef_all (cpp_in);
6953    cpp_clear_file_cache (cpp_in);
6954  }
6955 Index: gcc/fortran/cpp.h
6956 ===================================================================
6957 --- gcc/fortran/cpp.h   (.../tags/gcc_4_5_1_release)    (wersja 163628)
6958 +++ gcc/fortran/cpp.h   (.../branches/gcc-4_5-branch)   (wersja 163628)
6959 @@ -24,6 +24,12 @@
6960  
6961  bool gfc_cpp_preprocess_only (void);
6962  
6963 +bool gfc_cpp_makedep (void);
6964 +
6965 +void gfc_cpp_add_dep (const char *name, bool system);
6966 +
6967 +void gfc_cpp_add_target (const char *name);
6968 +
6969  const char *gfc_cpp_temporary_file (void);
6970  
6971  
6972 Index: gcc/fortran/gfortran.h
6973 ===================================================================
6974 --- gcc/fortran/gfortran.h      (.../tags/gcc_4_5_1_release)    (wersja 163628)
6975 +++ gcc/fortran/gfortran.h      (.../branches/gcc-4_5-branch)   (wersja 163628)
6976 @@ -1326,7 +1326,7 @@
6977    struct gfc_code *code;
6978  
6979    /* Points to the equivalences set up in this namespace.  */
6980 -  struct gfc_equiv *equiv;
6981 +  struct gfc_equiv *equiv, *old_equiv;
6982  
6983    /* Points to the equivalence groups produced by trans_common.  */
6984    struct gfc_equiv_list *equiv_lists;
6985 @@ -2569,6 +2569,7 @@
6986  void gfc_free_alloc_list (gfc_alloc *);
6987  void gfc_free_namelist (gfc_namelist *);
6988  void gfc_free_equiv (gfc_equiv *);
6989 +void gfc_free_equiv_until (gfc_equiv *, gfc_equiv *);
6990  void gfc_free_data (gfc_data *);
6991  void gfc_free_case_list (gfc_case *);
6992  
6993 Index: gcc/fortran/lang.opt
6994 ===================================================================
6995 --- gcc/fortran/lang.opt        (.../tags/gcc_4_5_1_release)    (wersja 163628)
6996 +++ gcc/fortran/lang.opt        (.../branches/gcc-4_5-branch)   (wersja 163628)
6997 @@ -56,6 +56,42 @@
6998  Fortran Joined Separate
6999  -J<directory>  Put MODULE files in 'directory'
7000  
7001 +M
7002 +Fortran
7003 +; Documented in C
7004 +
7005 +MD
7006 +Fortran Separate
7007 +; Documented in C
7008 +
7009 +MF
7010 +Fortran Joined Separate
7011 +; Documented in C
7012 +
7013 +MG
7014 +Fortran
7015 +; Documented in C
7016 +
7017 +MM
7018 +Fortran
7019 +; Documented in C
7020 +
7021 +MMD
7022 +Fortran Separate
7023 +; Documented in C
7024 +
7025 +MP
7026 +Fortran
7027 +; Documented in C
7028 +
7029 +MT
7030 +Fortran Joined Separate
7031 +; Documented in C
7032 +
7033 +MQ
7034 +Fortran Joined Separate
7035 +; Documented in C
7036 +
7037  P
7038  Fortran
7039  ; Documented in C
7040 Index: gcc/fortran/ChangeLog
7041 ===================================================================
7042 --- gcc/fortran/ChangeLog       (.../tags/gcc_4_5_1_release)    (wersja 163628)
7043 +++ gcc/fortran/ChangeLog       (.../branches/gcc-4_5-branch)   (wersja 163628)
7044 @@ -1,3 +1,88 @@
7045 +2010-08-20  Jakub Jelinek  <jakub@redhat.com>
7046 +
7047 +       PR fortran/45344
7048 +       Backport from mainline
7049 +       2010-05-14  Jakub Jelinek  <jakub@redhat.com>
7050 +
7051 +       * trans.c (trans_code): Set backend locus early.
7052 +       * trans-decl.c (gfc_get_fake_result_decl): Use source location
7053 +       of the function instead of current input_location.
7054 +
7055 +2010-08-17  Jakub Jelinek  <jakub@redhat.com>
7056 +
7057 +       PR fortran/45186
7058 +       * trans.c (gfc_annotate_with_location): New function.
7059 +       (trans_code): Use it.
7060 +
7061 +2010-08-09  Janus Weil  <janus@gcc.gnu.org>
7062 +
7063 +       * intrinsic.texi: Correct documentation of ASINH, ACOSH and ATANH.
7064 +
7065 +2010-08-07  Daniel Franke  <franke.daniel@gmail.com>
7066 +
7067 +       2010-06-13  Daniel Franke  <franke.daniel@gmail.com>
7068 +
7069 +       PR fortran/31588
7070 +       PR fortran/43954
7071 +       Backport from mainline:
7072 +       * gfortranspec.c (lang_specific_driver): Removed deprecation
7073 +       warning for -M.
7074 +       * lang.opt: Add options -M, -MM, -MD, -MMD, -MF, -MG, -MP, -MT, -MQ.
7075 +       * lang-specs.h (CPP_FORWARD_OPTIONS): Add -M* options.
7076 +       * cpp.h (gfc_cpp_makedep): New.
7077 +       (gfc_cpp_add_dep): New.
7078 +       (gfc_cpp_add_target): New.
7079 +       * cpp.c (gfc_cpp_option): Add deps* members.
7080 +       (gfc_cpp_makedep): New.
7081 +       (gfc_cpp_add_dep): New.
7082 +       (gfc_cpp_add_target): New.
7083 +       (gfc_cpp_init_options): Initialize new options.
7084 +       (gfc_cpp_handle_option): Handle new options.
7085 +       (gfc_cpp_post_options): Map new options to libcpp-options.
7086 +       (gfc_cpp_init): Handle deferred -MQ and -MT options.
7087 +       (gfc_cpp_done): If requested, write dependencies to file.
7088 +       * module.c (gfc_dump_module): Add a module filename as target.
7089 +       * scanner.c (open_included_file): New parameter system; add the
7090 +       included file as dependency.
7091 +       (gfc_open_included_file): Add the included file as dependency.
7092 +       (gfc_open_intrinsic_module): Likewise.
7093 +       * invoke.texi: Removed deprecation warning for -M.
7094 +       * gfortran.texi: Removed Makefile-dependencies project.
7095 +
7096 +2010-08-05  Mikael Morin  <mikael@gcc.gnu.org>
7097 +
7098 +       PR fortran/44660
7099 +       * gfortran.h (gfc_namespace): New field old_equiv.
7100 +       (gfc_free_equiv_until): New prototype.
7101 +       * match.c (gfc_free_equiv_until): New, renamed from gfc_free_equiv with
7102 +       a parameterized stop condition.
7103 +       (gfc_free_equiv): Use gfc_free_equiv_until.
7104 +       * parse.c (next_statement): Save equivalence list.
7105 +       (reject_statement): Restore equivalence list. 
7106 +
7107 +2010-08-05  Mikael Morin  <mikael@gcc.gnu.org>
7108 +           Janus Weil  <janus@gcc.gnu.org>
7109 +
7110 +       PR fortran/42051
7111 +       PR fortran/44064
7112 +       PR fortran/45151
7113 +       * intrinsic.c (gfc_get_intrinsic_sub_symbol): Commit changed symbol. 
7114 +       * symbol.c (gen_cptr_param, gen_fptr_param, gen_shape_param,
7115 +       gfc_copy_formal_args, gfc_copy_formal_args_intr,
7116 +       gfc_copy_formal_args_ppc, generate_isocbinding_symbol): Ditto.
7117 +       (gfc_find_derived_vtab): Commit newly created symbols.
7118 +       * parse.c (parse_derived_contains, parse_spec, parse_progunit): 
7119 +       Call reject_statement in case of error. 
7120 +       (match_deferred_characteritics): Call gfc_undo_symbols in case match
7121 +       fails.
7122 +
7123 +2010-08-05  Janus Weil  <janus@gcc.gnu.org>
7124 +           Steven G. Kargl  <kargl@gcc.gnu.org>
7125 +
7126 +       PR fortran/44929
7127 +       * match.c (match_type_spec): Try to parse derived types before
7128 +       intrinsic types.
7129 +
7130  2010-07-31  Release Manager
7131  
7132         * GCC 4.5.1 released.
7133 Index: gcc/fortran/invoke.texi
7134 ===================================================================
7135 --- gcc/fortran/invoke.texi     (.../tags/gcc_4_5_1_release)    (wersja 163628)
7136 +++ gcc/fortran/invoke.texi     (.../branches/gcc-4_5-branch)   (wersja 163628)
7137 @@ -148,8 +148,7 @@
7138  
7139  @item Directory Options
7140  @xref{Directory Options,,Options for directory search}.
7141 -@gccoptlist{-I@var{dir}  -J@var{dir}  -M@var{dir}  @gol
7142 --fintrinsic-modules-path @var{dir}}
7143 +@gccoptlist{-I@var{dir}  -J@var{dir} -fintrinsic-modules-path @var{dir}}
7144  
7145  @item Link Options
7146  @xref{Link Options,,Options for influencing the linking step}.
7147 @@ -949,7 +948,6 @@
7148  @option{-I} option.
7149  
7150  @item -J@var{dir}
7151 -@item -M@var{dir}
7152  @opindex @code{J}@var{dir}
7153  @opindex @code{M}@var{dir}
7154  @cindex paths, search
7155 @@ -960,8 +958,6 @@
7156  
7157  The default is the current directory.
7158  
7159 -@option{-M} is deprecated to avoid conflicts with existing GCC options.
7160 -
7161  @item -fintrinsic-modules-path @var{dir}
7162  @opindex @code{fintrinsic-modules-path} @var{dir}
7163  @cindex paths, search
7164 Index: gcc/fortran/module.c
7165 ===================================================================
7166 --- gcc/fortran/module.c        (.../tags/gcc_4_5_1_release)    (wersja 163628)
7167 +++ gcc/fortran/module.c        (.../branches/gcc-4_5-branch)   (wersja 163628)
7168 @@ -73,6 +73,7 @@
7169  #include "match.h"
7170  #include "parse.h" /* FIXME */
7171  #include "md5.h"
7172 +#include "cpp.h"
7173  
7174  #define MODULE_EXTENSION ".mod"
7175  
7176 @@ -5100,6 +5101,9 @@
7177        return;
7178      }
7179  
7180 +  if (gfc_cpp_makedep ())
7181 +    gfc_cpp_add_target (filename);
7182 +
7183    /* Write the module to the temporary file.  */
7184    module_fp = fopen (filename_tmp, "w");
7185    if (module_fp == NULL)
7186 Index: gcc/fortran/trans.c
7187 ===================================================================
7188 --- gcc/fortran/trans.c (.../tags/gcc_4_5_1_release)    (wersja 163628)
7189 +++ gcc/fortran/trans.c (.../branches/gcc-4_5-branch)   (wersja 163628)
7190 @@ -1041,7 +1041,30 @@
7191    input_location = loc->lb->location;
7192  }
7193  
7194 +/* Annotate statement or statement list T with location LOC.  */
7195  
7196 +static void
7197 +gfc_annotate_with_location (tree t, location_t loc)
7198 +{
7199 +  if (TREE_CODE (t) == STATEMENT_LIST)
7200 +    {
7201 +      tree_stmt_iterator i;
7202 +
7203 +      for (i = tsi_start (t); !tsi_end_p (i); tsi_next (&i))
7204 +       gfc_annotate_with_location (tsi_stmt (i), loc);
7205 +      return;
7206 +    }
7207 +  if (TREE_CODE (t) == COMPOUND_EXPR)
7208 +    {
7209 +      gfc_annotate_with_location (TREE_OPERAND (t, 0), loc);
7210 +      gfc_annotate_with_location (TREE_OPERAND (t, 1), loc);
7211 +    }
7212 +  if (TREE_CODE (t) == LABEL_EXPR || !TREE_SIDE_EFFECTS (t))
7213 +    return;
7214 +  if (CAN_HAVE_LOCATION_P (t) && ! EXPR_HAS_LOCATION (t))
7215 +    SET_EXPR_LOCATION (t, loc);
7216 +}
7217 +
7218  /* Translate an executable statement. The tree cond is used by gfc_trans_do.
7219     This static function is wrapped by gfc_trans_code_cond and
7220     gfc_trans_code.  */
7221 @@ -1067,6 +1090,8 @@
7222           gfc_add_expr_to_block (&block, res);
7223         }
7224  
7225 +      gfc_set_backend_locus (&code->loc);
7226 +
7227        switch (code->op)
7228         {
7229         case EXEC_NOP:
7230 @@ -1281,9 +1306,8 @@
7231  
7232        if (res != NULL_TREE && ! IS_EMPTY_STMT (res))
7233         {
7234 -         if (TREE_CODE (res) != STATEMENT_LIST)
7235 -           SET_EXPR_LOCATION (res, input_location);
7236 -           
7237 +         gfc_annotate_with_location (res, input_location);
7238 +
7239           /* Add the new statement to the block.  */
7240           gfc_add_expr_to_block (&block, res);
7241         }
7242 Index: gcc/fortran/scanner.c
7243 ===================================================================
7244 --- gcc/fortran/scanner.c       (.../tags/gcc_4_5_1_release)    (wersja 163628)
7245 +++ gcc/fortran/scanner.c       (.../branches/gcc-4_5-branch)   (wersja 163628)
7246 @@ -390,7 +390,8 @@
7247  
7248  
7249  static FILE *
7250 -open_included_file (const char *name, gfc_directorylist *list, bool module)
7251 +open_included_file (const char *name, gfc_directorylist *list,
7252 +                   bool module, bool system)
7253  {
7254    char *fullname;
7255    gfc_directorylist *p;
7256 @@ -407,7 +408,12 @@
7257  
7258        f = gfc_open_file (fullname);
7259        if (f != NULL)
7260 -       return f;
7261 +       {
7262 +         if (gfc_cpp_makedep ())
7263 +           gfc_cpp_add_dep (fullname, system);
7264 +
7265 +         return f;
7266 +       }
7267      }
7268  
7269    return NULL;
7270 @@ -421,28 +427,37 @@
7271  FILE *
7272  gfc_open_included_file (const char *name, bool include_cwd, bool module)
7273  {
7274 -  FILE *f;
7275 +  FILE *f = NULL;
7276  
7277 -  if (IS_ABSOLUTE_PATH (name))
7278 -    return gfc_open_file (name);
7279 -
7280 -  if (include_cwd)
7281 +  if (IS_ABSOLUTE_PATH (name) || include_cwd)
7282      {
7283        f = gfc_open_file (name);
7284 -      if (f != NULL)
7285 -       return f;
7286 +      if (f && gfc_cpp_makedep ())
7287 +       gfc_cpp_add_dep (name, false);
7288      }
7289  
7290 -  return open_included_file (name, include_dirs, module);
7291 +  if (!f)
7292 +    f = open_included_file (name, include_dirs, module, false);
7293 +
7294 +  return f;
7295  }
7296  
7297  FILE *
7298  gfc_open_intrinsic_module (const char *name)
7299  {
7300 +  FILE *f = NULL;
7301 +
7302    if (IS_ABSOLUTE_PATH (name))
7303 -    return gfc_open_file (name);
7304 +    {
7305 +      f = gfc_open_file (name);
7306 +      if (f && gfc_cpp_makedep ())
7307 +       gfc_cpp_add_dep (name, true);
7308 +    }
7309  
7310 -  return open_included_file (name, intrinsic_modules_dirs, true);
7311 +  if (!f)
7312 +    f = open_included_file (name, intrinsic_modules_dirs, true, true);
7313 +
7314 +  return f;
7315  }
7316  
7317  
7318 Index: gcc/fortran/gfortranspec.c
7319 ===================================================================
7320 --- gcc/fortran/gfortranspec.c  (.../tags/gcc_4_5_1_release)    (wersja 163628)
7321 +++ gcc/fortran/gfortranspec.c  (.../branches/gcc-4_5-branch)   (wersja 163628)
7322 @@ -415,36 +415,6 @@
7323           continue;
7324         }
7325  
7326 -      if ((argv[i][0] == '-') && (argv[i][1] == 'M'))
7327 -       {
7328 -         char *p;
7329 -
7330 -         fprintf (stderr, _("Warning: Using -M <directory> is deprecated, "
7331 -                  "use -J instead\n"));
7332 -         if (argv[i][2] == '\0')
7333 -           {
7334 -             if (i+1 < argc)
7335 -               {
7336 -                 p = XNEWVEC (char, strlen (argv[i + 1]) + 3);
7337 -                 p[0] = '-';
7338 -                 p[1] = 'J';
7339 -                 strcpy (&p[2], argv[i + 1]);
7340 -                 i++;
7341 -               }
7342 -             else
7343 -               fatal ("argument to '%s' missing", argv[i]);
7344 -           }
7345 -         else
7346 -           {
7347 -             p = XNEWVEC (char, strlen (argv[i]) + 1);
7348 -             p[0] = '-';
7349 -             p[1] = 'J';
7350 -             strcpy (&p[2], argv[i] + 2);
7351 -           }
7352 -         append_arg (p);
7353 -         continue;
7354 -       }
7355 -
7356        if ((argv[i][0] == '-') && (argv[i][1] != 'l'))
7357         {
7358           /* Not a filename or library.  */
7359 Index: gcc/fortran/lang-specs.h
7360 ===================================================================
7361 --- gcc/fortran/lang-specs.h    (.../tags/gcc_4_5_1_release)    (wersja 163628)
7362 +++ gcc/fortran/lang-specs.h    (.../branches/gcc-4_5-branch)   (wersja 163628)
7363 @@ -28,7 +28,7 @@
7364                              %{O*} %{undef}"
7365  
7366  /* Options that f951 should know about, even if not preprocessing.  */
7367 -#define CPP_FORWARD_OPTIONS "%{i*} %{I*}"
7368 +#define CPP_FORWARD_OPTIONS "%{i*} %{I*} %{M*}"
7369  
7370  #define F951_CPP_OPTIONS    "%{!nocpp: -cpp %g.f90 %{E} %(cpp_unique_options) \
7371                              %{E|M|MM:%(cpp_debug_options) " CPP_ONLY_OPTIONS \
7372 Index: gcc/fortran/trans-decl.c
7373 ===================================================================
7374 --- gcc/fortran/trans-decl.c    (.../tags/gcc_4_5_1_release)    (wersja 163628)
7375 +++ gcc/fortran/trans-decl.c    (.../branches/gcc-4_5-branch)   (wersja 163628)
7376 @@ -2252,11 +2252,11 @@
7377                IDENTIFIER_POINTER (DECL_NAME (this_function_decl)));
7378  
7379        if (!sym->attr.mixed_entry_master && sym->attr.function)
7380 -       decl = build_decl (input_location,
7381 +       decl = build_decl (DECL_SOURCE_LOCATION (this_function_decl),
7382                            VAR_DECL, get_identifier (name),
7383                            gfc_sym_type (sym));
7384        else
7385 -       decl = build_decl (input_location,
7386 +       decl = build_decl (DECL_SOURCE_LOCATION (this_function_decl),
7387                            VAR_DECL, get_identifier (name),
7388                            TREE_TYPE (TREE_TYPE (this_function_decl)));
7389        DECL_ARTIFICIAL (decl) = 1;
7390 Index: gcc/fortran/match.c
7391 ===================================================================
7392 --- gcc/fortran/match.c (.../tags/gcc_4_5_1_release)    (wersja 163628)
7393 +++ gcc/fortran/match.c (.../branches/gcc-4_5-branch)   (wersja 163628)
7394 @@ -2303,7 +2303,7 @@
7395     gfc_match_decl_type_spec() from decl.c, with the following exceptions:
7396     It only includes the intrinsic types from the Fortran 2003 standard
7397     (thus, neither BYTE nor forms like REAL*4 are allowed). Additionally,
7398 -   the implicit_flag is not needed, so it was removed.  Derived types are
7399 +   the implicit_flag is not needed, so it was removed. Derived types are
7400     identified by their name alone.  */
7401  
7402  static match
7403 @@ -2313,8 +2313,30 @@
7404    locus old_locus;
7405  
7406    gfc_clear_ts (ts);
7407 +  gfc_gobble_whitespace();
7408    old_locus = gfc_current_locus;
7409  
7410 +  m = match_derived_type_spec (ts);
7411 +  if (m == MATCH_YES)
7412 +    {
7413 +      old_locus = gfc_current_locus;
7414 +      if (gfc_match (" :: ") != MATCH_YES)
7415 +       return MATCH_ERROR;
7416 +      gfc_current_locus = old_locus;
7417 +      /* Enfore F03:C401.  */
7418 +      if (ts->u.derived->attr.abstract)
7419 +       {
7420 +         gfc_error ("Derived type '%s' at %L may not be ABSTRACT",
7421 +                    ts->u.derived->name, &old_locus);
7422 +         return MATCH_ERROR;
7423 +       }
7424 +      return MATCH_YES;
7425 +    }
7426 +  else if (m == MATCH_ERROR && gfc_match (" :: ") == MATCH_YES)
7427 +    return MATCH_ERROR;
7428 +
7429 +  gfc_current_locus = old_locus;
7430 +
7431    if (gfc_match ("integer") == MATCH_YES)
7432      {
7433        ts->type = BT_INTEGER;
7434 @@ -2356,25 +2378,6 @@
7435        goto kind_selector;
7436      }
7437  
7438 -  m = match_derived_type_spec (ts);
7439 -  if (m == MATCH_YES)
7440 -    {
7441 -      old_locus = gfc_current_locus;
7442 -      if (gfc_match (" :: ") != MATCH_YES)
7443 -       return MATCH_ERROR;
7444 -      gfc_current_locus = old_locus;
7445 -      /* Enfore F03:C401.  */
7446 -      if (ts->u.derived->attr.abstract)
7447 -       {
7448 -         gfc_error ("Derived type '%s' at %L may not be ABSTRACT",
7449 -                    ts->u.derived->name, &old_locus);
7450 -         return MATCH_ERROR;
7451 -       }
7452 -      return MATCH_YES;
7453 -    }
7454 -  else if (m == MATCH_ERROR && gfc_match (" :: ") == MATCH_YES)
7455 -    return MATCH_ERROR;
7456 -
7457    /* If a type is not matched, simply return MATCH_NO.  */
7458    gfc_current_locus = old_locus;
7459    return MATCH_NO;
7460 @@ -3580,18 +3583,25 @@
7461     do this.  */
7462  
7463  void
7464 -gfc_free_equiv (gfc_equiv *eq)
7465 +gfc_free_equiv_until (gfc_equiv *eq, gfc_equiv *stop)
7466  {
7467 -  if (eq == NULL)
7468 +  if (eq == stop)
7469      return;
7470  
7471    gfc_free_equiv (eq->eq);
7472 -  gfc_free_equiv (eq->next);
7473 +  gfc_free_equiv_until (eq->next, stop);
7474    gfc_free_expr (eq->expr);
7475    gfc_free (eq);
7476  }
7477  
7478  
7479 +void
7480 +gfc_free_equiv (gfc_equiv *eq)
7481 +{
7482 +  gfc_free_equiv_until (eq, NULL);
7483 +}
7484 +
7485 +
7486  /* Match an EQUIVALENCE statement.  */
7487  
7488  match
7489 Index: gcc/fortran/parse.c
7490 ===================================================================
7491 --- gcc/fortran/parse.c (.../tags/gcc_4_5_1_release)    (wersja 163628)
7492 +++ gcc/fortran/parse.c (.../branches/gcc-4_5-branch)   (wersja 163628)
7493 @@ -876,6 +876,7 @@
7494    gfc_new_block = NULL;
7495  
7496    gfc_current_ns->old_cl_list = gfc_current_ns->cl_list;
7497 +  gfc_current_ns->old_equiv = gfc_current_ns->equiv;
7498    for (;;)
7499      {
7500        gfc_statement_label = NULL;
7501 @@ -1608,6 +1609,9 @@
7502    gfc_free_charlen (gfc_current_ns->cl_list, gfc_current_ns->old_cl_list);
7503    gfc_current_ns->cl_list = gfc_current_ns->old_cl_list;
7504  
7505 +  gfc_free_equiv_until (gfc_current_ns->equiv, gfc_current_ns->old_equiv);
7506 +  gfc_current_ns->equiv = gfc_current_ns->old_equiv;
7507 +
7508    gfc_new_block = NULL;
7509    gfc_undo_symbols ();
7510    gfc_clear_warning ();
7511 @@ -1841,13 +1845,12 @@
7512  
7513         case ST_DATA_DECL:
7514           gfc_error ("Components in TYPE at %C must precede CONTAINS");
7515 -         error_flag = true;
7516 -         break;
7517 +         goto error;
7518  
7519         case ST_PROCEDURE:
7520           if (gfc_notify_std (GFC_STD_F2003, "Fortran 2003:  Type-bound"
7521                                              " procedure at %C") == FAILURE)
7522 -           error_flag = true;
7523 +           goto error;
7524  
7525           accept_statement (ST_PROCEDURE);
7526           seen_comps = true;
7527 @@ -1856,7 +1859,7 @@
7528         case ST_GENERIC:
7529           if (gfc_notify_std (GFC_STD_F2003, "Fortran 2003:  GENERIC binding"
7530                                              " at %C") == FAILURE)
7531 -           error_flag = true;
7532 +           goto error;
7533  
7534           accept_statement (ST_GENERIC);
7535           seen_comps = true;
7536 @@ -1866,7 +1869,7 @@
7537           if (gfc_notify_std (GFC_STD_F2003,
7538                               "Fortran 2003:  FINAL procedure declaration"
7539                               " at %C") == FAILURE)
7540 -           error_flag = true;
7541 +           goto error;
7542  
7543           accept_statement (ST_FINAL);
7544           seen_comps = true;
7545 @@ -1879,7 +1882,7 @@
7546               && (gfc_notify_std (GFC_STD_F2008, "Fortran 2008: Derived type "
7547                                   "definition at %C with empty CONTAINS "
7548                                   "section") == FAILURE))
7549 -           error_flag = true;
7550 +           goto error;
7551  
7552           /* ST_END_TYPE is accepted by parse_derived after return.  */
7553           break;
7554 @@ -1889,22 +1892,20 @@
7555             {
7556               gfc_error ("PRIVATE statement in TYPE at %C must be inside "
7557                          "a MODULE");
7558 -             error_flag = true;
7559 -             break;
7560 +             goto error;
7561             }
7562  
7563           if (seen_comps)
7564             {
7565               gfc_error ("PRIVATE statement at %C must precede procedure"
7566                          " bindings");
7567 -             error_flag = true;
7568 -             break;
7569 +             goto error;
7570             }
7571  
7572           if (seen_private)
7573             {
7574               gfc_error ("Duplicate PRIVATE statement at %C");
7575 -             error_flag = true;
7576 +             goto error;
7577             }
7578  
7579           accept_statement (ST_PRIVATE);
7580 @@ -1914,18 +1915,22 @@
7581  
7582         case ST_SEQUENCE:
7583           gfc_error ("SEQUENCE statement at %C must precede CONTAINS");
7584 -         error_flag = true;
7585 -         break;
7586 +         goto error;
7587  
7588         case ST_CONTAINS:
7589           gfc_error ("Already inside a CONTAINS block at %C");
7590 -         error_flag = true;
7591 -         break;
7592 +         goto error;
7593  
7594         default:
7595           unexpected_statement (st);
7596           break;
7597         }
7598 +
7599 +      continue;
7600 +
7601 +error:
7602 +      error_flag = true;
7603 +      reject_statement ();
7604      }
7605  
7606    pop_state ();
7607 @@ -2361,7 +2366,10 @@
7608        gfc_commit_symbols ();
7609      }
7610    else
7611 -    gfc_error_check ();
7612 +    {
7613 +      gfc_error_check ();
7614 +      gfc_undo_symbols ();
7615 +    }
7616  
7617    gfc_current_locus =loc;
7618    return m;
7619 @@ -2433,6 +2441,7 @@
7620         case ST_STATEMENT_FUNCTION:
7621           gfc_error ("%s statement is not allowed inside of BLOCK at %C",
7622                      gfc_ascii_statement (st));
7623 +         reject_statement ();
7624           break;
7625  
7626         default:
7627 @@ -2519,6 +2528,7 @@
7628             {
7629               gfc_error ("%s statement must appear in a MODULE",
7630                          gfc_ascii_statement (st));
7631 +             reject_statement ();
7632               break;
7633             }
7634  
7635 @@ -2526,6 +2536,7 @@
7636             {
7637               gfc_error ("%s statement at %C follows another accessibility "
7638                          "specification", gfc_ascii_statement (st));
7639 +             reject_statement ();
7640               break;
7641             }
7642  
7643 @@ -3822,6 +3833,7 @@
7644      {
7645        gfc_error ("CONTAINS statement at %C is already in a contained "
7646                  "program unit");
7647 +      reject_statement ();
7648        st = next_statement ();
7649        goto loop;
7650      }
7651 Index: gcc/fortran/intrinsic.texi
7652 ===================================================================
7653 --- gcc/fortran/intrinsic.texi  (.../tags/gcc_4_5_1_release)    (wersja 163628)
7654 +++ gcc/fortran/intrinsic.texi  (.../branches/gcc-4_5-branch)   (wersja 163628)
7655 @@ -44,7 +44,7 @@
7656  * @code{ACCESS}:        ACCESS,    Checks file access modes
7657  * @code{ACHAR}:         ACHAR,     Character in @acronym{ASCII} collating sequence
7658  * @code{ACOS}:          ACOS,      Arccosine function
7659 -* @code{ACOSH}:         ACOSH,     Hyperbolic arccosine function
7660 +* @code{ACOSH}:         ACOSH,     Inverse hyperbolic cosine function
7661  * @code{ADJUSTL}:       ADJUSTL,   Left adjust a string
7662  * @code{ADJUSTR}:       ADJUSTR,   Right adjust a string
7663  * @code{AIMAG}:         AIMAG,     Imaginary part of complex number
7664 @@ -56,11 +56,11 @@
7665  * @code{ANINT}:         ANINT,     Nearest whole number
7666  * @code{ANY}:           ANY,       Determine if any values are true
7667  * @code{ASIN}:          ASIN,      Arcsine function
7668 -* @code{ASINH}:         ASINH,     Hyperbolic arcsine function
7669 +* @code{ASINH}:         ASINH,     Inverse hyperbolic sine function
7670  * @code{ASSOCIATED}:    ASSOCIATED, Status of a pointer or pointer/target pair
7671  * @code{ATAN}:          ATAN,      Arctangent function
7672  * @code{ATAN2}:         ATAN2,     Arctangent function
7673 -* @code{ATANH}:         ATANH,     Hyperbolic arctangent function
7674 +* @code{ATANH}:         ATANH,     Inverse hyperbolic tangent function
7675  * @code{BESSEL_J0}:     BESSEL_J0, Bessel function of the first kind of order 0
7676  * @code{BESSEL_J1}:     BESSEL_J1, Bessel function of the first kind of order 1
7677  * @code{BESSEL_JN}:     BESSEL_JN, Bessel function of the first kind
7678 @@ -572,18 +572,17 @@
7679  
7680  
7681  @node ACOSH
7682 -@section @code{ACOSH} --- Hyperbolic arccosine function
7683 +@section @code{ACOSH} --- Inverse hyperbolic cosine function
7684  @fnindex ACOSH
7685  @fnindex DACOSH
7686  @cindex area hyperbolic cosine
7687 -@cindex hyperbolic arccosine
7688 +@cindex inverse hyperbolic cosine
7689  @cindex hyperbolic function, cosine, inverse
7690  @cindex cosine, hyperbolic, inverse
7691  
7692  @table @asis
7693  @item @emph{Description}:
7694 -@code{ACOSH(X)} computes the hyperbolic arccosine of @var{X} (inverse of
7695 -@code{COSH(X)}).
7696 +@code{ACOSH(X)} computes the inverse hyperbolic cosine of @var{X}.
7697  
7698  @item @emph{Standard}:
7699  Fortran 2008 and later
7700 @@ -1213,17 +1212,17 @@
7701  
7702  
7703  @node ASINH
7704 -@section @code{ASINH} --- Hyperbolic arcsine function
7705 +@section @code{ASINH} --- Inverse hyperbolic sine function
7706  @fnindex ASINH
7707  @fnindex DASINH
7708  @cindex area hyperbolic sine
7709 -@cindex hyperbolic arcsine
7710 +@cindex inverse hyperbolic sine
7711  @cindex hyperbolic function, sine, inverse
7712  @cindex sine, hyperbolic, inverse
7713  
7714  @table @asis
7715  @item @emph{Description}:
7716 -@code{ASINH(X)} computes the hyperbolic arcsine of @var{X} (inverse of @code{SINH(X)}).
7717 +@code{ASINH(X)} computes the inverse hyperbolic sine of @var{X}.
7718  
7719  @item @emph{Standard}:
7720  Fortran 2008 and later
7721 @@ -1455,18 +1454,17 @@
7722  
7723  
7724  @node ATANH
7725 -@section @code{ATANH} --- Hyperbolic arctangent function
7726 -@fnindex ASINH
7727 -@fnindex DASINH
7728 +@section @code{ATANH} --- Inverse hyperbolic tangent function
7729 +@fnindex ATANH
7730 +@fnindex DATANH
7731  @cindex area hyperbolic tangent
7732 -@cindex hyperbolic arctangent
7733 +@cindex inverse hyperbolic tangent
7734  @cindex hyperbolic function, tangent, inverse
7735  @cindex tangent, hyperbolic, inverse
7736  
7737  @table @asis
7738  @item @emph{Description}:
7739 -@code{ATANH(X)} computes the hyperbolic arctangent of @var{X} (inverse
7740 -of @code{TANH(X)}).
7741 +@code{ATANH(X)} computes the inverse hyperbolic tangent of @var{X}.
7742  
7743  @item @emph{Standard}:
7744  Fortran 2008 and later
7745 Index: gcc/BASE-VER
7746 ===================================================================
7747 --- gcc/BASE-VER        (.../tags/gcc_4_5_1_release)    (wersja 163628)
7748 +++ gcc/BASE-VER        (.../branches/gcc-4_5-branch)   (wersja 163628)
7749 @@ -1 +1 @@
7750 -4.5.1
7751 +4.5.2
7752 Index: gcc/function.c
7753 ===================================================================
7754 --- gcc/function.c      (.../tags/gcc_4_5_1_release)    (wersja 163628)
7755 +++ gcc/function.c      (.../branches/gcc-4_5-branch)   (wersja 163628)
7756 @@ -3423,12 +3423,10 @@
7757                   DECL_IGNORED_P (local) = 0;
7758                   /* If PARM was addressable, move that flag over
7759                      to the local copy, as its address will be taken,
7760 -                    not the PARMs.  */
7761 +                    not the PARMs.  Keep the parms address taken
7762 +                    as we'll query that flag during gimplification.  */
7763                   if (TREE_ADDRESSABLE (parm))
7764 -                   {
7765 -                     TREE_ADDRESSABLE (parm) = 0;
7766 -                     TREE_ADDRESSABLE (local) = 1;
7767 -                   }
7768 +                   TREE_ADDRESSABLE (local) = 1;
7769                 }
7770               else
7771                 {
7772 Index: gcc/expmed.c
7773 ===================================================================
7774 --- gcc/expmed.c        (.../tags/gcc_4_5_1_release)    (wersja 163628)
7775 +++ gcc/expmed.c        (.../branches/gcc-4_5-branch)   (wersja 163628)
7776 @@ -3006,9 +3006,11 @@
7777        switch (alg->op[opno])
7778         {
7779         case alg_shift:
7780 -         accum = expand_shift (LSHIFT_EXPR, mode, accum,
7781 -                               build_int_cst (NULL_TREE, log),
7782 -                               NULL_RTX, 0);
7783 +         tem = expand_shift (LSHIFT_EXPR, mode, accum,
7784 +                             build_int_cst (NULL_TREE, log),
7785 +                             NULL_RTX, 0);
7786 +         /* REG_EQUAL note will be attached to the following insn.  */
7787 +         emit_move_insn (accum, tem);
7788           val_so_far <<= log;
7789           break;
7790  
7791 Index: gcc/emit-rtl.c
7792 ===================================================================
7793 --- gcc/emit-rtl.c      (.../tags/gcc_4_5_1_release)    (wersja 163628)
7794 +++ gcc/emit-rtl.c      (.../branches/gcc-4_5-branch)   (wersja 163628)
7795 @@ -3162,6 +3162,38 @@
7796    return insn;
7797  }
7798  
7799 +/* Return the next insn after INSN that is not a NOTE nor DEBUG_INSN.
7800 +   This routine does not look inside SEQUENCEs.  */
7801 +
7802 +rtx
7803 +next_nonnote_nondebug_insn (rtx insn)
7804 +{
7805 +  while (insn)
7806 +    {
7807 +      insn = NEXT_INSN (insn);
7808 +      if (insn == 0 || (!NOTE_P (insn) && !DEBUG_INSN_P (insn)))
7809 +       break;
7810 +    }
7811 +
7812 +  return insn;
7813 +}
7814 +
7815 +/* Return the previous insn before INSN that is not a NOTE nor DEBUG_INSN.
7816 +   This routine does not look inside SEQUENCEs.  */
7817 +
7818 +rtx
7819 +prev_nonnote_nondebug_insn (rtx insn)
7820 +{
7821 +  while (insn)
7822 +    {
7823 +      insn = PREV_INSN (insn);
7824 +      if (insn == 0 || (!NOTE_P (insn) && !DEBUG_INSN_P (insn)))
7825 +       break;
7826 +    }
7827 +
7828 +  return insn;
7829 +}
7830 +
7831  /* Return the next INSN, CALL_INSN or JUMP_INSN after INSN;
7832     or 0, if there is none.  This routine does not look inside
7833     SEQUENCEs.  */
7834 Index: gcc/tree-sra.c
7835 ===================================================================
7836 --- gcc/tree-sra.c      (.../tags/gcc_4_5_1_release)    (wersja 163628)
7837 +++ gcc/tree-sra.c      (.../branches/gcc-4_5-branch)   (wersja 163628)
7838 @@ -276,6 +276,9 @@
7839     arguments than formal parameters..  */
7840  static bool encountered_unchangable_recursive_call;
7841  
7842 +/* Set by scan_function when it changes the control flow graph.  */
7843 +static bool cfg_changed;
7844 +
7845  /* This is a table in which for each basic block and parameter there is a
7846     distance (offset + size) in that parameter which is dereferenced and
7847     accessed in that BB.  */
7848 @@ -570,6 +573,7 @@
7849    memset (&sra_stats, 0, sizeof (sra_stats));
7850    encountered_apply_args = false;
7851    encountered_unchangable_recursive_call = false;
7852 +  cfg_changed = false;
7853  }
7854  
7855  /* Hook fed to pointer_map_traverse, deallocate stored vectors.  */
7856 @@ -1114,8 +1118,6 @@
7857  
7858    FOR_EACH_BB (bb)
7859      {
7860 -      bool bb_changed = false;
7861 -
7862        if (handle_ssa_defs)
7863         for (gsi = gsi_start_phis (bb); !gsi_end_p (gsi); gsi_next (&gsi))
7864           ret |= handle_ssa_defs (gsi_stmt (gsi), data);
7865 @@ -1220,21 +1222,15 @@
7866  
7867               if (!analysis_stage)
7868                 {
7869 -                 bb_changed = true;
7870                   update_stmt (stmt);
7871 -                 maybe_clean_eh_stmt (stmt);
7872 +                 if (maybe_clean_eh_stmt (stmt)
7873 +                     && gimple_purge_dead_eh_edges (bb))
7874 +                   cfg_changed = true;
7875                 }
7876             }
7877 -         if (deleted)
7878 -           bb_changed = true;
7879 -         else
7880 -           {
7881 -             gsi_next (&gsi);
7882 -             ret = true;
7883 -           }
7884 +         if (!deleted)
7885 +           gsi_next (&gsi);
7886         }
7887 -      if (!analysis_stage && bb_changed && sra_mode == SRA_MODE_EARLY_IPA)
7888 -       gimple_purge_dead_eh_edges (bb);
7889      }
7890  
7891    return ret;
7892 @@ -2871,7 +2867,10 @@
7893    statistics_counter_event (cfun, "Separate LHS and RHS handling",
7894                             sra_stats.separate_lhs_rhs_handling);
7895  
7896 -  ret = TODO_update_ssa;
7897 +  if (cfg_changed)
7898 +    ret = TODO_update_ssa | TODO_cleanup_cfg;
7899 +  else
7900 +    ret = TODO_update_ssa;
7901  
7902   out:
7903    sra_deinitialize ();
7904 @@ -4236,7 +4235,10 @@
7905  
7906    modify_function (node, adjustments);
7907    VEC_free (ipa_parm_adjustment_t, heap, adjustments);
7908 -  ret = TODO_update_ssa;
7909 +  if (cfg_changed)
7910 +    ret = TODO_update_ssa | TODO_cleanup_cfg;
7911 +  else
7912 +    ret = TODO_update_ssa;
7913  
7914    statistics_counter_event (cfun, "Unused parameters deleted",
7915                             sra_stats.deleted_unused_parameters);
7916 Index: gcc/ipa-prop.c
7917 ===================================================================
7918 --- gcc/ipa-prop.c      (.../tags/gcc_4_5_1_release)    (wersja 163628)
7919 +++ gcc/ipa-prop.c      (.../branches/gcc-4_5-branch)   (wersja 163628)
7920 @@ -1597,7 +1597,7 @@
7921         || (VEC_index (ipa_parm_adjustment_t, adjustments, 0)->copy_param
7922          && VEC_index (ipa_parm_adjustment_t, adjustments, 0)->base_index == 0))
7923      {
7924 -      new_type = copy_node (orig_type);
7925 +      new_type = build_distinct_type_copy (orig_type);
7926        TYPE_ARG_TYPES (new_type) = new_reversed;
7927      }
7928    else
7929 Index: gcc/tree-vect-patterns.c
7930 ===================================================================
7931 --- gcc/tree-vect-patterns.c    (.../tags/gcc_4_5_1_release)    (wersja 163628)
7932 +++ gcc/tree-vect-patterns.c    (.../branches/gcc-4_5-branch)   (wersja 163628)
7933 @@ -254,6 +254,11 @@
7934  
7935    prod_type = half_type;
7936    stmt = SSA_NAME_DEF_STMT (oprnd0);
7937 +
7938 +  /* It could not be the dot_prod pattern if the stmt is outside the loop.  */
7939 +  if (!flow_bb_inside_loop_p (loop, gimple_bb (stmt)))
7940 +    return NULL;
7941 +
7942    /* FORNOW.  Can continue analyzing the def-use chain when this stmt in a phi
7943       inside the loop (in case we are analyzing an outer-loop).  */
7944    if (!is_gimple_assign (stmt))
7945 Index: gcc/sched-deps.c
7946 ===================================================================
7947 --- gcc/sched-deps.c    (.../tags/gcc_4_5_1_release)    (wersja 163628)
7948 +++ gcc/sched-deps.c    (.../branches/gcc-4_5-branch)   (wersja 163628)
7949 @@ -1517,9 +1517,7 @@
7950  
7951    delete_all_dependences (insn);
7952  
7953 -  prev_nonnote = prev_nonnote_insn (insn);
7954 -  while (DEBUG_INSN_P (prev_nonnote))
7955 -    prev_nonnote = prev_nonnote_insn (prev_nonnote);
7956 +  prev_nonnote = prev_nonnote_nondebug_insn (insn);
7957    if (BLOCK_FOR_INSN (insn) == BLOCK_FOR_INSN (prev_nonnote)
7958        && ! sched_insns_conditions_mutex_p (insn, prev_nonnote))
7959      add_dependence (insn, prev_nonnote, REG_DEP_ANTI);
7960 @@ -2695,9 +2693,7 @@
7961    if (JUMP_P (insn))
7962      {
7963        rtx next;
7964 -      next = next_nonnote_insn (insn);
7965 -      while (next && DEBUG_INSN_P (next))
7966 -       next = next_nonnote_insn (next);
7967 +      next = next_nonnote_nondebug_insn (insn);
7968        if (next && BARRIER_P (next))
7969         reg_pending_barrier = MOVE_BARRIER;
7970        else
7971 @@ -3366,10 +3362,8 @@
7972       hard registers correct.  */
7973    if (! reload_completed && !LABEL_P (head))
7974      {
7975 -      rtx insn = prev_nonnote_insn (head);
7976 +      rtx insn = prev_nonnote_nondebug_insn (head);
7977  
7978 -      while (insn && DEBUG_INSN_P (insn))
7979 -       insn = prev_nonnote_insn (insn);
7980        if (insn && CALL_P (insn))
7981         deps->in_post_call_group_p = post_call_initial;
7982      }
7983 Index: gcc/tree-ssa-loop-prefetch.c
7984 ===================================================================
7985 --- gcc/tree-ssa-loop-prefetch.c        (.../tags/gcc_4_5_1_release)    (wersja 163628)
7986 +++ gcc/tree-ssa-loop-prefetch.c        (.../branches/gcc-4_5-branch)   (wersja 163628)
7987 @@ -481,6 +481,10 @@
7988    if (!analyze_ref (loop, &ref, &base, &step, &delta, stmt))
7989      return false;
7990  
7991 +  /* Stop if the address of BASE could not be taken.  */
7992 +  if (may_be_nonaddressable_p (base))
7993 +    return false;
7994 +
7995    /* Now we know that REF = &BASE + STEP * iter + DELTA, where DELTA and STEP
7996       are integer constants.  */
7997    agrp = find_or_create_group (refs, base, step);
7998 Index: gcc/rtl.h
7999 ===================================================================
8000 --- gcc/rtl.h   (.../tags/gcc_4_5_1_release)    (wersja 163628)
8001 +++ gcc/rtl.h   (.../branches/gcc-4_5-branch)   (wersja 163628)
8002 @@ -1709,6 +1709,8 @@
8003  extern rtx next_nonnote_insn_bb (rtx);
8004  extern rtx prev_nondebug_insn (rtx);
8005  extern rtx next_nondebug_insn (rtx);
8006 +extern rtx prev_nonnote_nondebug_insn (rtx);
8007 +extern rtx next_nonnote_nondebug_insn (rtx);
8008  extern rtx prev_real_insn (rtx);
8009  extern rtx next_real_insn (rtx);
8010  extern rtx prev_active_insn (rtx);
8011 Index: gcc/combine.c
8012 ===================================================================
8013 --- gcc/combine.c       (.../tags/gcc_4_5_1_release)    (wersja 163628)
8014 +++ gcc/combine.c       (.../branches/gcc-4_5-branch)   (wersja 163628)
8015 @@ -3544,7 +3544,58 @@
8016        i2_code_number = recog_for_combine (&newi2pat, i2, &new_i2_notes);
8017  
8018        if (i2_code_number >= 0)
8019 -       insn_code_number = recog_for_combine (&newpat, i3, &new_i3_notes);
8020 +       {
8021 +         /* recog_for_combine might have added CLOBBERs to newi2pat.
8022 +            Make sure NEWPAT does not depend on the clobbered regs.  */
8023 +         if (GET_CODE (newi2pat) == PARALLEL)
8024 +           {
8025 +             for (i = XVECLEN (newi2pat, 0) - 1; i >= 0; i--)
8026 +               if (GET_CODE (XVECEXP (newi2pat, 0, i)) == CLOBBER)
8027 +                 {
8028 +                   rtx reg = XEXP (XVECEXP (newi2pat, 0, i), 0);
8029 +                   if (reg_overlap_mentioned_p (reg, newpat))
8030 +                     break;
8031 +                 }
8032 +
8033 +             if (i >= 0)
8034 +               {
8035 +                 /* CLOBBERs on newi2pat prevent it going first.
8036 +                    Try the other order of the insns if possible.  */
8037 +                 temp = newpat;
8038 +                 newpat = XVECEXP (newi2pat, 0, 0);
8039 +                 newi2pat = temp;
8040 +#ifdef HAVE_cc0
8041 +                 if (reg_referenced_p (cc0_rtx, newpat))
8042 +                   {
8043 +                     undo_all ();
8044 +                     return 0;
8045 +                   }
8046 +#endif
8047 +
8048 +                 i2_code_number = recog_for_combine (&newi2pat, i2,
8049 +                                                     &new_i2_notes);
8050 +                 if (i2_code_number < 0)
8051 +                   {
8052 +                     undo_all ();
8053 +                     return 0;
8054 +                   }
8055 +
8056 +                 if (GET_CODE (newi2pat) == PARALLEL)
8057 +                   for (i = XVECLEN (newi2pat, 0) - 1; i >= 0; i--)
8058 +                     if (GET_CODE (XVECEXP (newi2pat, 0, i)) == CLOBBER)
8059 +                       {
8060 +                         rtx reg = XEXP (XVECEXP (newi2pat, 0, i), 0);
8061 +                         if (reg_overlap_mentioned_p (reg, newpat))
8062 +                           {
8063 +                             undo_all ();
8064 +                             return 0;
8065 +                           }
8066 +                       }
8067 +               }
8068 +           }
8069 +
8070 +         insn_code_number = recog_for_combine (&newpat, i3, &new_i3_notes);
8071 +       }
8072      }
8073  
8074    /* If it still isn't recognized, fail and change things back the way they
8075 @@ -9505,7 +9556,9 @@
8076                   > GET_MODE_SIZE (GET_MODE (varop)))
8077               && (unsigned int) ((GET_MODE_SIZE (GET_MODE (SUBREG_REG (varop)))
8078                                   + (UNITS_PER_WORD - 1)) / UNITS_PER_WORD)
8079 -                == mode_words)
8080 +                == mode_words
8081 +             && GET_MODE_CLASS (GET_MODE (varop)) == MODE_INT
8082 +             && GET_MODE_CLASS (GET_MODE (SUBREG_REG (varop))) == MODE_INT)
8083             {
8084               varop = SUBREG_REG (varop);
8085               if (GET_MODE_SIZE (GET_MODE (varop)) > GET_MODE_SIZE (mode))
8086 @@ -12680,29 +12733,6 @@
8087  
8088    return 0;
8089  }
8090 -
8091 -/* Return the next insn after INSN that is neither a NOTE nor a
8092 -   DEBUG_INSN.  This routine does not look inside SEQUENCEs.  */
8093 -
8094 -static rtx
8095 -next_nonnote_nondebug_insn (rtx insn)
8096 -{
8097 -  while (insn)
8098 -    {
8099 -      insn = NEXT_INSN (insn);
8100 -      if (insn == 0)
8101 -       break;
8102 -      if (NOTE_P (insn))
8103 -       continue;
8104 -      if (DEBUG_INSN_P (insn))
8105 -       continue;
8106 -      break;
8107 -    }
8108 -
8109 -  return insn;
8110 -}
8111 -
8112 -
8113  \f
8114  /* Given a chain of REG_NOTES originally from FROM_INSN, try to place them
8115     as appropriate.  I3 and I2 are the insns resulting from the combination
8116 Index: gcc/tree-flow.h
8117 ===================================================================
8118 --- gcc/tree-flow.h     (.../tags/gcc_4_5_1_release)    (wersja 163628)
8119 +++ gcc/tree-flow.h     (.../branches/gcc-4_5-branch)   (wersja 163628)
8120 @@ -837,6 +837,7 @@
8121  bool multiplier_allowed_in_address_p (HOST_WIDE_INT, enum machine_mode,
8122                                       addr_space_t);
8123  unsigned multiply_by_cost (HOST_WIDE_INT, enum machine_mode, bool);
8124 +bool may_be_nonaddressable_p (tree expr);
8125  
8126  /* In tree-ssa-threadupdate.c.  */
8127  extern bool thread_through_all_blocks (bool);
8128 Index: gcc/reginfo.c
8129 ===================================================================
8130 --- gcc/reginfo.c       (.../tags/gcc_4_5_1_release)    (wersja 163628)
8131 +++ gcc/reginfo.c       (.../branches/gcc-4_5-branch)   (wersja 163628)
8132 @@ -841,6 +841,14 @@
8133  void
8134  globalize_reg (int i)
8135  {
8136 +#ifdef STACK_REGS
8137 +  if (IN_RANGE (i, FIRST_STACK_REG, LAST_STACK_REG))
8138 +    {
8139 +      error ("stack register used for global register variable");
8140 +      return;
8141 +    }
8142 +#endif
8143 +
8144    if (fixed_regs[i] == 0 && no_global_reg_vars)
8145      error ("global register variable follows a function definition");
8146  
8147 Index: gcc/tree-ssa-structalias.c
8148 ===================================================================
8149 --- gcc/tree-ssa-structalias.c  (.../tags/gcc_4_5_1_release)    (wersja 163628)
8150 +++ gcc/tree-ssa-structalias.c  (.../branches/gcc-4_5-branch)   (wersja 163628)
8151 @@ -2955,7 +2955,8 @@
8152    /* Some people like to do cute things like take the address of
8153       &0->a.b */
8154    forzero = t;
8155 -  while (!SSA_VAR_P (forzero) && !CONSTANT_CLASS_P (forzero))
8156 +  while (handled_component_p (forzero)
8157 +        || INDIRECT_REF_P (forzero))
8158      forzero = TREE_OPERAND (forzero, 0);
8159  
8160    if (CONSTANT_CLASS_P (forzero) && integer_zerop (forzero))
8161 Index: gcc/config/alpha/alpha.c
8162 ===================================================================
8163 --- gcc/config/alpha/alpha.c    (.../tags/gcc_4_5_1_release)    (wersja 163628)
8164 +++ gcc/config/alpha/alpha.c    (.../branches/gcc-4_5-branch)   (wersja 163628)
8165 @@ -5945,6 +5945,10 @@
8166                     integer_type_node);
8167    DECL_FIELD_CONTEXT (ofs) = record;
8168    TREE_CHAIN (ofs) = space;
8169 +  /* ??? This is a hack, __offset is marked volatile to prevent
8170 +     DCE that confuses stdarg optimization and results in
8171 +     gcc.c-torture/execute/stdarg-1.c failure.  See PR 41089.  */
8172 +  TREE_THIS_VOLATILE (ofs) = 1;
8173  
8174    base = build_decl (BUILTINS_LOCATION,
8175                      FIELD_DECL, get_identifier ("__base"),
8176 Index: gcc/config/spu/spu.c
8177 ===================================================================
8178 --- gcc/config/spu/spu.c        (.../tags/gcc_4_5_1_release)    (wersja 163628)
8179 +++ gcc/config/spu/spu.c        (.../branches/gcc-4_5-branch)   (wersja 163628)
8180 @@ -2334,7 +2334,7 @@
8181      return;
8182  
8183    /* If we have a Basic block note, emit it after the basic block note.  */
8184 -  if (NOTE_KIND (before) == NOTE_INSN_BASIC_BLOCK)
8185 +  if (NOTE_INSN_BASIC_BLOCK_P (before))
8186      before = NEXT_INSN (before);
8187  
8188    branch_label = gen_label_rtx ();
8189 Index: gcc/config/sparc/sparc.c
8190 ===================================================================
8191 --- gcc/config/sparc/sparc.c    (.../tags/gcc_4_5_1_release)    (wersja 163628)
8192 +++ gcc/config/sparc/sparc.c    (.../branches/gcc-4_5-branch)   (wersja 163628)
8193 @@ -5558,14 +5558,13 @@
8194  function_arg_advance (struct sparc_args *cum, enum machine_mode mode,
8195                       tree type, int named)
8196  {
8197 -  int slotno, regno, padding;
8198 +  int regno, padding;
8199  
8200    /* We pass 0 for incoming_p here, it doesn't matter.  */
8201 -  slotno = function_arg_slotno (cum, mode, type, named, 0, &regno, &padding);
8202 +  function_arg_slotno (cum, mode, type, named, 0, &regno, &padding);
8203  
8204 -  /* If register required leading padding, add it.  */
8205 -  if (slotno != -1)
8206 -    cum->words += padding;
8207 +  /* If argument requires leading padding, add it.  */
8208 +  cum->words += padding;
8209  
8210    if (TARGET_ARCH32)
8211      {
8212 Index: gcc/config/rx/predicates.md
8213 ===================================================================
8214 --- gcc/config/rx/predicates.md (.../tags/gcc_4_5_1_release)    (wersja 163628)
8215 +++ gcc/config/rx/predicates.md (.../branches/gcc-4_5-branch)   (wersja 163628)
8216 @@ -45,6 +45,13 @@
8217    }
8218  )
8219  
8220 +(define_predicate "rx_constshift_operand"
8221 +  (match_code "const_int")
8222 +  {
8223 +    return IN_RANGE (INTVAL (op), 0, 31);
8224 +  }
8225 +)
8226 +
8227  ;; Check that the operand is suitable as the source operand
8228  ;; for a logic or arithmeitc instruction.  Registers, integers
8229  ;; and a restricted subset of memory addresses are allowed.
8230 Index: gcc/config/rx/rx.md
8231 ===================================================================
8232 --- gcc/config/rx/rx.md (.../tags/gcc_4_5_1_release)    (wersja 163628)
8233 +++ gcc/config/rx/rx.md (.../branches/gcc-4_5-branch)   (wersja 163628)
8234 @@ -24,6 +24,9 @@
8235  (define_code_iterator most_cond [eq ne gt ge lt le gtu geu ltu leu
8236                                  unordered ordered ])
8237  
8238 +;; Likewise, but only the ones that use Z or S.
8239 +(define_code_iterator zs_cond [eq ne gtu geu ltu leu ])
8240 +
8241  ;; This code iterator is used for sign- and zero- extensions.
8242  (define_mode_iterator small_int_modes [(HI "") (QI "")])
8243  
8244 @@ -157,9 +160,9 @@
8245  
8246  (define_expand "cbranchsi4"
8247    [(set (pc)
8248 -       (if_then_else (match_operator:SI 0 "comparison_operator"
8249 -                                        [(match_operand:SI 1 "register_operand")
8250 -                                         (match_operand:SI 2 "rx_source_operand")])
8251 +       (if_then_else (match_operator 0 "comparison_operator"
8252 +                                     [(match_operand:SI 1 "register_operand")
8253 +                                      (match_operand:SI 2 "rx_source_operand")])
8254                       (label_ref (match_operand 3 ""))
8255                       (pc)))
8256     ]
8257 @@ -169,7 +172,7 @@
8258  
8259  (define_insn_and_split "*cbranchsi4_<code>"
8260    [(set (pc)
8261 -       (if_then_else (most_cond:SI (match_operand:SI  0 "register_operand"  "r")
8262 +       (if_then_else (most_cond (match_operand:SI  0 "register_operand"  "r")
8263                                     (match_operand:SI  1 "rx_source_operand" "riQ"))
8264                       (label_ref (match_operand        2 "" ""))
8265                       (pc)))
8266 @@ -189,11 +192,106 @@
8267    "
8268  )
8269  
8270 +;; -----------------------------------------------------------------------------
8271 +;; These two are the canonical TST/branch insns.  However, GCC
8272 +;; generates a wide variety of tst-like patterns, we catch those
8273 +;; below.
8274 +(define_insn_and_split "*tstbranchsi4_<code>"
8275 +  [(set (pc)
8276 +       (if_then_else (zs_cond (and:SI (match_operand:SI  0 "register_operand"  "r")
8277 +                                      (match_operand:SI  1 "rx_source_operand" "riQ"))
8278 +                              (const_int 0))
8279 +                     (label_ref (match_operand 2 "" ""))
8280 +                     (pc)))
8281 +   ]
8282 +  ""
8283 +  "#"
8284 +  "reload_completed"
8285 +  [(const_int 0)]
8286 +  "
8287 +  emit_insn (gen_tstsi (operands[0], operands[1]));
8288 +  
8289 +  emit_jump_insn (gen_conditional_branch (operands[2],
8290 +                gen_rtx_fmt_ee (<zs_cond:CODE>, CCmode,
8291 +                                gen_rtx_REG (CCmode, CC_REG), const0_rtx)));
8292 +  "
8293 +)
8294 +
8295 +;; Inverse of above
8296 +(define_insn_and_split "*tstbranchsi4_<code>"
8297 +  [(set (pc)
8298 +       (if_then_else (zs_cond (and:SI (match_operand:SI  0 "register_operand"  "r")
8299 +                                      (match_operand:SI  1 "rx_source_operand" "riQ"))
8300 +                              (const_int 0))
8301 +                     (pc)
8302 +                     (label_ref (match_operand 2 "" ""))))
8303 +   ]
8304 +  ""
8305 +  "#"
8306 +  "reload_completed"
8307 +  [(const_int 0)]
8308 +  "
8309 +  emit_insn (gen_tstsi (operands[0], operands[1]));
8310 +  
8311 +  emit_jump_insn (gen_conditional_branch (operands[2],
8312 +                gen_rtx_fmt_ee (reverse_condition (<zs_cond:CODE>), CCmode,
8313 +                                gen_rtx_REG (CCmode, CC_REG), const0_rtx)));
8314 +  "
8315 +)
8316 +
8317 +;; Various other ways that GCC codes "var & const"
8318 +
8319 +(define_insn_and_split "*tstbranchsi4m_eq"
8320 +  [(set (pc)
8321 +       (if_then_else (eq (zero_extract:SI (match_operand:SI  0 "register_operand"  "r")
8322 +                                          (match_operand  1 "rx_constshift_operand" "i")
8323 +                                          (match_operand  2 "rx_constshift_operand" "i"))
8324 +                         (const_int 0))
8325 +                     (label_ref (match_operand        3 "" ""))
8326 +                     (pc)))
8327 +   ]
8328 +  ""
8329 +  "#"
8330 +  ""
8331 +  [(set (pc)
8332 +       (if_then_else (eq (and:SI (match_dup  0)
8333 +                                 (match_dup 4))
8334 +                         (const_int 0))
8335 +                     (label_ref (match_dup 3))
8336 +                     (pc)))
8337 +   ]
8338 +  "operands[4] = GEN_INT (((1 << INTVAL (operands[1]))-1) << INTVAL (operands[2]));"
8339 +)
8340 +
8341 +(define_insn_and_split "*tstbranchsi4m_ne"
8342 +  [(set (pc)
8343 +       (if_then_else (ne (zero_extract:SI (match_operand:SI  0 "register_operand"  "r")
8344 +                                          (match_operand  1 "rx_constshift_operand" "i")
8345 +                                          (match_operand  2 "rx_constshift_operand" "i"))
8346 +                         (const_int 0))
8347 +                     (label_ref (match_operand        3 "" ""))
8348 +                     (pc)))
8349 +   ]
8350 +  ""
8351 +  "#"
8352 +  ""
8353 +  [(set (pc)
8354 +       (if_then_else (ne (and:SI (match_dup  0)
8355 +                                 (match_dup 4))
8356 +                         (const_int 0))
8357 +                     (label_ref (match_dup 3))
8358 +                     (pc)))
8359 +   ]
8360 +  "operands[4] = GEN_INT (((1 << INTVAL (operands[1]))-1) << INTVAL (operands[2]));"
8361 +)
8362 +
8363 +;; -----------------------------------------------------------------------------
8364 +
8365  (define_expand "cbranchsf4"
8366    [(set (pc)
8367 -       (if_then_else (match_operator:SF 0 "comparison_operator"
8368 -                                        [(match_operand:SF 1 "register_operand")
8369 -                                         (match_operand:SF 2 "rx_source_operand")])
8370 +       (if_then_else (match_operator 0 "comparison_operator"
8371 +                                     [(match_operand:SF 1 "register_operand")
8372 +                                      (match_operand:SF 2 "rx_source_operand")])
8373                       (label_ref (match_operand 3 ""))
8374                       (pc)))
8375     ]
8376 @@ -203,8 +301,8 @@
8377  
8378  (define_insn_and_split "*cbranchsf4_<code>"
8379    [(set (pc)
8380 -       (if_then_else (most_cond:SF (match_operand:SF  0 "register_operand"  "r")
8381 -                                   (match_operand:SF  1 "rx_source_operand" "rFiQ"))
8382 +       (if_then_else (most_cond (match_operand:SF  0 "register_operand"  "r")
8383 +                                (match_operand:SF  1 "rx_source_operand" "rFiQ"))
8384                       (label_ref (match_operand        2 "" ""))
8385                       (pc)))
8386     ]
8387 Index: gcc/config/i386/i386.md
8388 ===================================================================
8389 --- gcc/config/i386/i386.md     (.../tags/gcc_4_5_1_release)    (wersja 163628)
8390 +++ gcc/config/i386/i386.md     (.../branches/gcc-4_5-branch)   (wersja 163628)
8391 @@ -7575,7 +7575,7 @@
8392             (match_operand:SWI 2 "<general_operand>" "<r><i>m"))
8393           (match_dup 1)))
8394     (clobber (match_scratch:SWI 0 "=<r>"))]
8395 -  "ix86_binary_operator_ok (PLUS, <MODE>mode, operands)"
8396 +  "!(MEM_P (operands[1]) && MEM_P (operands[2]))"
8397    "add{<imodesuffix>}\t{%2, %0|%0, %2}"
8398    [(set_attr "type" "alu")
8399     (set_attr "mode" "<MODE>")])
8400 @@ -8999,7 +8999,7 @@
8401                  (const_int 0)))
8402     (clobber (match_scratch:SWI 0 "=<r>"))]
8403    "ix86_match_ccmode (insn, CCNOmode)
8404 -   && ix86_binary_operator_ok (<CODE>, <MODE>mode, operands)"
8405 +   && !(MEM_P (operands[1]) && MEM_P (operands[2]))"
8406    "<logicprefix>{<imodesuffix>}\t{%2, %0|%0, %2}"
8407    [(set_attr "type" "alu")
8408     (set_attr "mode" "<MODE>")])
8409 Index: gcc/config/i386/sse.md
8410 ===================================================================
8411 --- gcc/config/i386/sse.md      (.../tags/gcc_4_5_1_release)    (wersja 163628)
8412 +++ gcc/config/i386/sse.md      (.../branches/gcc-4_5-branch)   (wersja 163628)
8413 @@ -9535,7 +9535,7 @@
8414    [(set (match_operand:V8HI 0 "register_operand" "=x")
8415         (sign_extend:V8HI
8416           (vec_select:V8QI
8417 -           (match_operand:V16QI 1 "register_operand" "x")
8418 +           (match_operand:V16QI 1 "nonimmediate_operand" "xm")
8419             (parallel [(const_int 0)
8420                        (const_int 1)
8421                        (const_int 2)
8422 @@ -9551,32 +9551,11 @@
8423     (set_attr "prefix" "maybe_vex")
8424     (set_attr "mode" "TI")])
8425  
8426 -(define_insn "*sse4_1_extendv8qiv8hi2"
8427 -  [(set (match_operand:V8HI 0 "register_operand" "=x")
8428 -       (sign_extend:V8HI
8429 -         (vec_select:V8QI
8430 -           (vec_duplicate:V16QI
8431 -             (match_operand:V8QI 1 "nonimmediate_operand" "xm"))
8432 -           (parallel [(const_int 0)
8433 -                      (const_int 1)
8434 -                      (const_int 2)
8435 -                      (const_int 3)
8436 -                      (const_int 4)
8437 -                      (const_int 5)
8438 -                      (const_int 6)
8439 -                      (const_int 7)]))))]
8440 -  "TARGET_SSE4_1"
8441 -  "%vpmovsxbw\t{%1, %0|%0, %1}"
8442 -  [(set_attr "type" "ssemov")
8443 -   (set_attr "prefix_extra" "1")
8444 -   (set_attr "prefix" "maybe_vex")
8445 -   (set_attr "mode" "TI")])
8446 -
8447  (define_insn "sse4_1_extendv4qiv4si2"
8448    [(set (match_operand:V4SI 0 "register_operand" "=x")
8449         (sign_extend:V4SI
8450           (vec_select:V4QI
8451 -           (match_operand:V16QI 1 "register_operand" "x")
8452 +           (match_operand:V16QI 1 "nonimmediate_operand" "xm")
8453             (parallel [(const_int 0)
8454                        (const_int 1)
8455                        (const_int 2)
8456 @@ -9588,28 +9567,11 @@
8457     (set_attr "prefix" "maybe_vex")
8458     (set_attr "mode" "TI")])
8459  
8460 -(define_insn "*sse4_1_extendv4qiv4si2"
8461 -  [(set (match_operand:V4SI 0 "register_operand" "=x")
8462 -       (sign_extend:V4SI
8463 -         (vec_select:V4QI
8464 -           (vec_duplicate:V16QI
8465 -             (match_operand:V4QI 1 "nonimmediate_operand" "xm"))
8466 -           (parallel [(const_int 0)
8467 -                      (const_int 1)
8468 -                      (const_int 2)
8469 -                      (const_int 3)]))))]
8470 -  "TARGET_SSE4_1"
8471 -  "%vpmovsxbd\t{%1, %0|%0, %1}"
8472 -  [(set_attr "type" "ssemov")
8473 -   (set_attr "prefix_extra" "1")
8474 -   (set_attr "prefix" "maybe_vex")
8475 -   (set_attr "mode" "TI")])
8476 -
8477  (define_insn "sse4_1_extendv2qiv2di2"
8478    [(set (match_operand:V2DI 0 "register_operand" "=x")
8479         (sign_extend:V2DI
8480           (vec_select:V2QI
8481 -           (match_operand:V16QI 1 "register_operand" "x")
8482 +           (match_operand:V16QI 1 "nonimmediate_operand" "xm")
8483             (parallel [(const_int 0)
8484                        (const_int 1)]))))]
8485    "TARGET_SSE4_1"
8486 @@ -9619,26 +9581,11 @@
8487     (set_attr "prefix" "maybe_vex")
8488     (set_attr "mode" "TI")])
8489  
8490 -(define_insn "*sse4_1_extendv2qiv2di2"
8491 -  [(set (match_operand:V2DI 0 "register_operand" "=x")
8492 -       (sign_extend:V2DI
8493 -         (vec_select:V2QI
8494 -           (vec_duplicate:V16QI
8495 -             (match_operand:V2QI 1 "nonimmediate_operand" "xm"))
8496 -           (parallel [(const_int 0)
8497 -                      (const_int 1)]))))]
8498 -  "TARGET_SSE4_1"
8499 -  "%vpmovsxbq\t{%1, %0|%0, %1}"
8500 -  [(set_attr "type" "ssemov")
8501 -   (set_attr "prefix_extra" "1")
8502 -   (set_attr "prefix" "maybe_vex")
8503 -   (set_attr "mode" "TI")])
8504 -
8505  (define_insn "sse4_1_extendv4hiv4si2"
8506    [(set (match_operand:V4SI 0 "register_operand" "=x")
8507         (sign_extend:V4SI
8508           (vec_select:V4HI
8509 -           (match_operand:V8HI 1 "register_operand" "x")
8510 +           (match_operand:V8HI 1 "nonimmediate_operand" "xm")
8511             (parallel [(const_int 0)
8512                        (const_int 1)
8513                        (const_int 2)
8514 @@ -9650,28 +9597,11 @@
8515     (set_attr "prefix" "maybe_vex")
8516     (set_attr "mode" "TI")])
8517  
8518 -(define_insn "*sse4_1_extendv4hiv4si2"
8519 -  [(set (match_operand:V4SI 0 "register_operand" "=x")
8520 -       (sign_extend:V4SI
8521 -         (vec_select:V4HI
8522 -           (vec_duplicate:V8HI
8523 -             (match_operand:V2HI 1 "nonimmediate_operand" "xm"))
8524 -           (parallel [(const_int 0)
8525 -                      (const_int 1)
8526 -                      (const_int 2)
8527 -                      (const_int 3)]))))]
8528 -  "TARGET_SSE4_1"
8529 -  "%vpmovsxwd\t{%1, %0|%0, %1}"
8530 -  [(set_attr "type" "ssemov")
8531 -   (set_attr "prefix_extra" "1")
8532 -   (set_attr "prefix" "maybe_vex")
8533 -   (set_attr "mode" "TI")])
8534 -
8535  (define_insn "sse4_1_extendv2hiv2di2"
8536    [(set (match_operand:V2DI 0 "register_operand" "=x")
8537         (sign_extend:V2DI
8538           (vec_select:V2HI
8539 -           (match_operand:V8HI 1 "register_operand" "x")
8540 +           (match_operand:V8HI 1 "nonimmediate_operand" "xm")
8541             (parallel [(const_int 0)
8542                        (const_int 1)]))))]
8543    "TARGET_SSE4_1"
8544 @@ -9681,26 +9611,11 @@
8545     (set_attr "prefix" "maybe_vex")
8546     (set_attr "mode" "TI")])
8547  
8548 -(define_insn "*sse4_1_extendv2hiv2di2"
8549 -  [(set (match_operand:V2DI 0 "register_operand" "=x")
8550 -       (sign_extend:V2DI
8551 -         (vec_select:V2HI
8552 -           (vec_duplicate:V8HI
8553 -             (match_operand:V8HI 1 "nonimmediate_operand" "xm"))
8554 -           (parallel [(const_int 0)
8555 -                      (const_int 1)]))))]
8556 -  "TARGET_SSE4_1"
8557 -  "%vpmovsxwq\t{%1, %0|%0, %1}"
8558 -  [(set_attr "type" "ssemov")
8559 -   (set_attr "prefix_extra" "1")
8560 -   (set_attr "prefix" "maybe_vex")
8561 -   (set_attr "mode" "TI")])
8562 -
8563  (define_insn "sse4_1_extendv2siv2di2"
8564    [(set (match_operand:V2DI 0 "register_operand" "=x")
8565         (sign_extend:V2DI
8566           (vec_select:V2SI
8567 -           (match_operand:V4SI 1 "register_operand" "x")
8568 +           (match_operand:V4SI 1 "nonimmediate_operand" "xm")
8569             (parallel [(const_int 0)
8570                        (const_int 1)]))))]
8571    "TARGET_SSE4_1"
8572 @@ -9710,26 +9625,11 @@
8573     (set_attr "prefix" "maybe_vex")
8574     (set_attr "mode" "TI")])
8575  
8576 -(define_insn "*sse4_1_extendv2siv2di2"
8577 -  [(set (match_operand:V2DI 0 "register_operand" "=x")
8578 -       (sign_extend:V2DI
8579 -         (vec_select:V2SI
8580 -           (vec_duplicate:V4SI
8581 -             (match_operand:V2SI 1 "nonimmediate_operand" "xm"))
8582 -           (parallel [(const_int 0)
8583 -                      (const_int 1)]))))]
8584 -  "TARGET_SSE4_1"
8585 -  "%vpmovsxdq\t{%1, %0|%0, %1}"
8586 -  [(set_attr "type" "ssemov")
8587 -   (set_attr "prefix_extra" "1")
8588 -   (set_attr "prefix" "maybe_vex")
8589 -   (set_attr "mode" "TI")])
8590 -
8591  (define_insn "sse4_1_zero_extendv8qiv8hi2"
8592    [(set (match_operand:V8HI 0 "register_operand" "=x")
8593         (zero_extend:V8HI
8594           (vec_select:V8QI
8595 -           (match_operand:V16QI 1 "register_operand" "x")
8596 +           (match_operand:V16QI 1 "nonimmediate_operand" "xm")
8597             (parallel [(const_int 0)
8598                        (const_int 1)
8599                        (const_int 2)
8600 @@ -9745,32 +9645,11 @@
8601     (set_attr "prefix" "maybe_vex")
8602     (set_attr "mode" "TI")])
8603  
8604 -(define_insn "*sse4_1_zero_extendv8qiv8hi2"
8605 -  [(set (match_operand:V8HI 0 "register_operand" "=x")
8606 -       (zero_extend:V8HI
8607 -         (vec_select:V8QI
8608 -           (vec_duplicate:V16QI
8609 -             (match_operand:V8QI 1 "nonimmediate_operand" "xm"))
8610 -           (parallel [(const_int 0)
8611 -                      (const_int 1)
8612 -                      (const_int 2)
8613 -                      (const_int 3)
8614 -                      (const_int 4)
8615 -                      (const_int 5)
8616 -                      (const_int 6)
8617 -                      (const_int 7)]))))]
8618 -  "TARGET_SSE4_1"
8619 -  "%vpmovzxbw\t{%1, %0|%0, %1}"
8620 -  [(set_attr "type" "ssemov")
8621 -   (set_attr "prefix_extra" "1")
8622 -   (set_attr "prefix" "maybe_vex")
8623 -   (set_attr "mode" "TI")])
8624 -
8625  (define_insn "sse4_1_zero_extendv4qiv4si2"
8626    [(set (match_operand:V4SI 0 "register_operand" "=x")
8627         (zero_extend:V4SI
8628           (vec_select:V4QI
8629 -           (match_operand:V16QI 1 "register_operand" "x")
8630 +           (match_operand:V16QI 1 "nonimmediate_operand" "xm")
8631             (parallel [(const_int 0)
8632                        (const_int 1)
8633                        (const_int 2)
8634 @@ -9782,28 +9661,11 @@
8635     (set_attr "prefix" "maybe_vex")
8636     (set_attr "mode" "TI")])
8637  
8638 -(define_insn "*sse4_1_zero_extendv4qiv4si2"
8639 -  [(set (match_operand:V4SI 0 "register_operand" "=x")
8640 -       (zero_extend:V4SI
8641 -         (vec_select:V4QI
8642 -           (vec_duplicate:V16QI
8643 -             (match_operand:V4QI 1 "nonimmediate_operand" "xm"))
8644 -           (parallel [(const_int 0)
8645 -                      (const_int 1)
8646 -                      (const_int 2)
8647 -                      (const_int 3)]))))]
8648 -  "TARGET_SSE4_1"
8649 -  "%vpmovzxbd\t{%1, %0|%0, %1}"
8650 -  [(set_attr "type" "ssemov")
8651 -   (set_attr "prefix_extra" "1")
8652 -   (set_attr "prefix" "maybe_vex")
8653 -   (set_attr "mode" "TI")])
8654 -
8655  (define_insn "sse4_1_zero_extendv2qiv2di2"
8656    [(set (match_operand:V2DI 0 "register_operand" "=x")
8657         (zero_extend:V2DI
8658           (vec_select:V2QI
8659 -           (match_operand:V16QI 1 "register_operand" "x")
8660 +           (match_operand:V16QI 1 "nonimmediate_operand" "xm")
8661             (parallel [(const_int 0)
8662                        (const_int 1)]))))]
8663    "TARGET_SSE4_1"
8664 @@ -9813,26 +9675,11 @@
8665     (set_attr "prefix" "maybe_vex")
8666     (set_attr "mode" "TI")])
8667  
8668 -(define_insn "*sse4_1_zero_extendv2qiv2di2"
8669 -  [(set (match_operand:V2DI 0 "register_operand" "=x")
8670 -       (zero_extend:V2DI
8671 -         (vec_select:V2QI
8672 -           (vec_duplicate:V16QI
8673 -             (match_operand:V2QI 1 "nonimmediate_operand" "xm"))
8674 -           (parallel [(const_int 0)
8675 -                      (const_int 1)]))))]
8676 -  "TARGET_SSE4_1"
8677 -  "%vpmovzxbq\t{%1, %0|%0, %1}"
8678 -  [(set_attr "type" "ssemov")
8679 -   (set_attr "prefix_extra" "1")
8680 -   (set_attr "prefix" "maybe_vex")
8681 -   (set_attr "mode" "TI")])
8682 -
8683  (define_insn "sse4_1_zero_extendv4hiv4si2"
8684    [(set (match_operand:V4SI 0 "register_operand" "=x")
8685         (zero_extend:V4SI
8686           (vec_select:V4HI
8687 -           (match_operand:V8HI 1 "register_operand" "x")
8688 +           (match_operand:V8HI 1 "nonimmediate_operand" "xm")
8689             (parallel [(const_int 0)
8690                        (const_int 1)
8691                        (const_int 2)
8692 @@ -9844,28 +9691,11 @@
8693     (set_attr "prefix" "maybe_vex")
8694     (set_attr "mode" "TI")])
8695  
8696 -(define_insn "*sse4_1_zero_extendv4hiv4si2"
8697 -  [(set (match_operand:V4SI 0 "register_operand" "=x")
8698 -       (zero_extend:V4SI
8699 -         (vec_select:V4HI
8700 -           (vec_duplicate:V8HI
8701 -             (match_operand:V4HI 1 "nonimmediate_operand" "xm"))
8702 -           (parallel [(const_int 0)
8703 -                      (const_int 1)
8704 -                      (const_int 2)
8705 -                      (const_int 3)]))))]
8706 -  "TARGET_SSE4_1"
8707 -  "%vpmovzxwd\t{%1, %0|%0, %1}"
8708 -  [(set_attr "type" "ssemov")
8709 -   (set_attr "prefix_extra" "1")
8710 -   (set_attr "prefix" "maybe_vex")
8711 -   (set_attr "mode" "TI")])
8712 -
8713  (define_insn "sse4_1_zero_extendv2hiv2di2"
8714    [(set (match_operand:V2DI 0 "register_operand" "=x")
8715         (zero_extend:V2DI
8716           (vec_select:V2HI
8717 -           (match_operand:V8HI 1 "register_operand" "x")
8718 +           (match_operand:V8HI 1 "nonimmediate_operand" "xm")
8719             (parallel [(const_int 0)
8720                        (const_int 1)]))))]
8721    "TARGET_SSE4_1"
8722 @@ -9875,26 +9705,11 @@
8723     (set_attr "prefix" "maybe_vex")
8724     (set_attr "mode" "TI")])
8725  
8726 -(define_insn "*sse4_1_zero_extendv2hiv2di2"
8727 -  [(set (match_operand:V2DI 0 "register_operand" "=x")
8728 -       (zero_extend:V2DI
8729 -         (vec_select:V2HI
8730 -           (vec_duplicate:V8HI
8731 -             (match_operand:V2HI 1 "nonimmediate_operand" "xm"))
8732 -           (parallel [(const_int 0)
8733 -                      (const_int 1)]))))]
8734 -  "TARGET_SSE4_1"
8735 -  "%vpmovzxwq\t{%1, %0|%0, %1}"
8736 -  [(set_attr "type" "ssemov")
8737 -   (set_attr "prefix_extra" "1")
8738 -   (set_attr "prefix" "maybe_vex")
8739 -   (set_attr "mode" "TI")])
8740 -
8741  (define_insn "sse4_1_zero_extendv2siv2di2"
8742    [(set (match_operand:V2DI 0 "register_operand" "=x")
8743         (zero_extend:V2DI
8744           (vec_select:V2SI
8745 -           (match_operand:V4SI 1 "register_operand" "x")
8746 +           (match_operand:V4SI 1 "nonimmediate_operand" "xm")
8747             (parallel [(const_int 0)
8748                        (const_int 1)]))))]
8749    "TARGET_SSE4_1"
8750 @@ -9904,21 +9719,6 @@
8751     (set_attr "prefix" "maybe_vex")
8752     (set_attr "mode" "TI")])
8753  
8754 -(define_insn "*sse4_1_zero_extendv2siv2di2"
8755 -  [(set (match_operand:V2DI 0 "register_operand" "=x")
8756 -       (zero_extend:V2DI
8757 -         (vec_select:V2SI
8758 -           (vec_duplicate:V4SI
8759 -             (match_operand:V2SI 1 "nonimmediate_operand" "xm"))
8760 -           (parallel [(const_int 0)
8761 -                      (const_int 1)]))))]
8762 -  "TARGET_SSE4_1"
8763 -  "%vpmovzxdq\t{%1, %0|%0, %1}"
8764 -  [(set_attr "type" "ssemov")
8765 -   (set_attr "prefix_extra" "1")
8766 -   (set_attr "prefix" "maybe_vex")
8767 -   (set_attr "mode" "TI")])
8768 -
8769  ;; ptestps/ptestpd are very similar to comiss and ucomiss when
8770  ;; setting FLAGS_REG. But it is not a really compare instruction.
8771  (define_insn "avx_vtestp<avxmodesuffixf2c><avxmodesuffix>"
8772 Index: gcc/config/i386/i386.c
8773 ===================================================================
8774 --- gcc/config/i386/i386.c      (.../tags/gcc_4_5_1_release)    (wersja 163628)
8775 +++ gcc/config/i386/i386.c      (.../branches/gcc-4_5-branch)   (wersja 163628)
8776 @@ -9491,8 +9491,7 @@
8777       to test cfun for being non-NULL. */
8778    if (TARGET_K6 && cfun && optimize_function_for_speed_p (cfun)
8779        && base_reg && !index_reg && !disp
8780 -      && REG_P (base_reg)
8781 -      && REGNO_REG_CLASS (REGNO (base_reg)) == SIREG)
8782 +      && REG_P (base_reg) && REGNO (base_reg) == SI_REG)
8783      disp = const0_rtx;
8784  
8785    /* Special case: encode reg+reg instead of reg*2.  */
8786 Index: gcc/config/ia64/ia64.md
8787 ===================================================================
8788 --- gcc/config/ia64/ia64.md     (.../tags/gcc_4_5_1_release)    (wersja 163628)
8789 +++ gcc/config/ia64/ia64.md     (.../branches/gcc-4_5-branch)   (wersja 163628)
8790 @@ -3988,7 +3988,7 @@
8791                        [(match_operand:BI 2 "register_operand" "")
8792                         (match_operand:BI 3 "const_int_operand" "")]))]
8793    ""
8794 -  "ia64_expand_compare (&operands[0], &operands[1], &operands[2]);")
8795 +  "ia64_expand_compare (&operands[1], &operands[2], &operands[3]);")
8796  
8797  (define_expand "cstoresi4"
8798    [(set (match_operand:DI 0 "gr_register_operand" "") 
8799 Index: gcc/config/rs6000/x-aix
8800 ===================================================================
8801 --- gcc/config/rs6000/x-aix     (.../tags/gcc_4_5_1_release)    (wersja 163628)
8802 +++ gcc/config/rs6000/x-aix     (.../branches/gcc-4_5-branch)   (wersja 163628)
8803 @@ -2,5 +2,5 @@
8804  build/genautomata : override LDFLAGS += -Wl,-bmaxdata:0x20000000
8805  
8806  # jc1 requires more than 256MB of data
8807 -jc1 : override LDFLAGS += -Wl,-bmaxdata:0x20000000
8808 +$(COMPILERS) : override LDFLAGS += -Wl,-bmaxdata:0x40000000
8809  
8810 Index: gcc/config/pa/pa.h
8811 ===================================================================
8812 --- gcc/config/pa/pa.h  (.../tags/gcc_4_5_1_release)    (wersja 163628)
8813 +++ gcc/config/pa/pa.h  (.../branches/gcc-4_5-branch)   (wersja 163628)
8814 @@ -325,8 +325,9 @@
8815  #define BIGGEST_ALIGNMENT (2 * BITS_PER_WORD)
8816  
8817  /* Get around hp-ux assembler bug, and make strcpy of constants fast.  */
8818 -#define CONSTANT_ALIGNMENT(CODE, TYPEALIGN) \
8819 -  ((TYPEALIGN) < 32 ? 32 : (TYPEALIGN))
8820 +#define CONSTANT_ALIGNMENT(EXP, ALIGN)         \
8821 +  (TREE_CODE (EXP) == STRING_CST               \
8822 +   && (ALIGN) < BITS_PER_WORD ? BITS_PER_WORD : (ALIGN))
8823  
8824  /* Make arrays of chars word-aligned for the same reasons.  */
8825  #define DATA_ALIGNMENT(TYPE, ALIGN)            \
8826 Index: gcc/convert.c
8827 ===================================================================
8828 --- gcc/convert.c       (.../tags/gcc_4_5_1_release)    (wersja 163628)
8829 +++ gcc/convert.c       (.../branches/gcc-4_5-branch)   (wersja 163628)
8830 @@ -799,14 +799,7 @@
8831           /* This is not correct for ABS_EXPR,
8832              since we must test the sign before truncation.  */
8833           {
8834 -           tree typex;
8835 -
8836 -           /* Don't do unsigned arithmetic where signed was wanted,
8837 -              or vice versa.  */
8838 -           if (TYPE_UNSIGNED (TREE_TYPE (expr)))
8839 -             typex = unsigned_type_for (type);
8840 -           else
8841 -             typex = signed_type_for (type);
8842 +           tree typex = unsigned_type_for (type);
8843             return convert (type,
8844                             fold_build1 (ex_form, typex,
8845                                          convert (typex,
8846 Index: libstdc++-v3/configure
8847 ===================================================================
8848 --- libstdc++-v3/configure      (.../tags/gcc_4_5_1_release)    (wersja 163628)
8849 +++ libstdc++-v3/configure      (.../branches/gcc-4_5-branch)   (wersja 163628)
8850 @@ -25562,7 +25562,7 @@
8851         CFLAGS="$chktls_save_CFLAGS"
8852         if test "X$thread_CFLAGS" != Xfailed; then
8853           CFLAGS="$thread_CFLAGS $chktls_save_CFLAGS"
8854 -         if test "$cross_compiling" = yes; then :
8855 +                                                 if test "$cross_compiling" = yes; then :
8856    { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
8857  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
8858  as_fn_error "cannot run test program while cross compiling
8859 @@ -44500,7 +44500,7 @@
8860         CFLAGS="$chktls_save_CFLAGS"
8861         if test "X$thread_CFLAGS" != Xfailed; then
8862           CFLAGS="$thread_CFLAGS $chktls_save_CFLAGS"
8863 -         if test "$cross_compiling" = yes; then :
8864 +                                                 if test "$cross_compiling" = yes; then :
8865    { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
8866  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
8867  as_fn_error "cannot run test program while cross compiling
8868 @@ -50585,7 +50585,7 @@
8869         CFLAGS="$chktls_save_CFLAGS"
8870         if test "X$thread_CFLAGS" != Xfailed; then
8871           CFLAGS="$thread_CFLAGS $chktls_save_CFLAGS"
8872 -         if test "$cross_compiling" = yes; then :
8873 +                                                 if test "$cross_compiling" = yes; then :
8874    { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
8875  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
8876  as_fn_error "cannot run test program while cross compiling
8877 Index: libstdc++-v3/doc/xml/manual/appendix_contributing.xml
8878 ===================================================================
8879 --- libstdc++-v3/doc/xml/manual/appendix_contributing.xml       (.../tags/gcc_4_5_1_release)    (wersja 163628)
8880 +++ libstdc++-v3/doc/xml/manual/appendix_contributing.xml       (.../branches/gcc-4_5-branch)   (wersja 163628)
8881 @@ -942,10 +942,18 @@
8882        <title>Generating the Doxygen Files</title>
8883        <para>
8884         The following Makefile rules run Doxygen to generate HTML
8885 -       docs, XML docs, PDF docs, and the man pages.
8886 +       docs, XML docs, XML docs as a single file, PDF docs, and the man pages.
8887        </para>
8888  
8889        <para>
8890 +       Generated files are output into separate sub directores of
8891 +       <filename class="directory">doc/doxygen/</filename> in the
8892 +       build directory, based on the output format. For instance, the
8893 +       HTML docs will be in <filename
8894 +       class="directory">doc/doxygen/html</filename>.
8895 +      </para>
8896 +
8897 +      <para>
8898        <screen><userinput>make doc-html-doxygen</userinput></screen>
8899        </para>
8900  
8901 @@ -954,6 +962,10 @@
8902        </para>
8903  
8904        <para>
8905 +      <screen><userinput>make doc-xml-single-doxygen</userinput></screen>
8906 +      </para>
8907 +
8908 +      <para>
8909        <screen><userinput>make doc-pdf-doxygen</userinput></screen>
8910        </para>
8911  
8912 @@ -1204,23 +1216,30 @@
8913        </para>
8914  
8915        <para>
8916 -       For PDF output, something that transforms valid XML to PDF is
8917 -       required. Possible solutions include 
8918 -       <ulink url="http://dblatex.sourceforge.net">dblatex</ulink>, 
8919 -       <command>xmlto</command>, or <command>prince</command>. Other
8920 -       options are listed on the DocBook
8921 -       web <ulink url="http://wiki.docbook.org/topic/DocBookPublishingTools">pages</ulink>. Please
8922 +       For PDF output, something that transforms valid Docbook XML to PDF is
8923 +       required. Possible solutions include <ulink
8924 +       url="http://dblatex.sourceforge.net">dblatex</ulink>,
8925 +       <command>xmlto</command>, or <command>prince</command>. Of
8926 +       these, <command>dblatex</command> is the default. Other
8927 +       options are listed on the DocBook web <ulink
8928 +       url="http://wiki.docbook.org/topic/DocBookPublishingTools">pages</ulink>. Please
8929         consult the <email>libstdc++@gcc.gnu.org</email> list when
8930         preparing printed manuals for current best practice and
8931         suggestions.
8932        </para>
8933  
8934        <para>
8935 -       Make sure that the XML documentation and markup is valid for
8936 -       any change. This can be done easily, with the validation rules
8937 -       in the <filename>Makefile</filename>, which is equivalent to doing:
8938 +       For Texinfo output, something that transforms valid Docbook
8939 +       XML to Texinfo is required. The default choice is <ulink
8940 +       url="http://docbook2x.sourceforge.net/">docbook2X</ulink>.
8941        </para>
8942  
8943 +      <para>
8944 +       Please make sure that the XML documentation and markup is valid for
8945 +       any change. This can be done easily, with the validation rule
8946 +       detailed below, which is equivalent to doing:
8947 +      </para>
8948 +
8949         <screen>
8950           <userinput>
8951  xmllint --noout --valid <filename>xml/index.xml</filename>
8952 @@ -1239,6 +1258,14 @@
8953        </para>
8954  
8955        <para>
8956 +       Generated files are output into separate sub directores of
8957 +       <filename class="directory">doc/docbook/</filename> in the
8958 +       build directory, based on the output format. For instance, the
8959 +       HTML docs will be in <filename
8960 +       class="directory">doc/docbook/html</filename>.
8961 +      </para>
8962 +
8963 +      <para>
8964        <screen><userinput>make doc-html-docbook</userinput></screen>
8965        </para>
8966  
8967 @@ -1492,20 +1519,90 @@
8968  
8969        <para>
8970         The following Makefile rules are defaults, and are usually
8971 -       aliased to variable rules.
8972 +       aliased to more detailed rules. They are shortcuts for
8973 +       generating HTML, PDF, Texinfo, XML, or man files and then collecting
8974 +       the generated files into the build directory's doc directory.
8975        </para>
8976  
8977 +<variablelist>
8978 +
8979 +<varlistentry><term>
8980 +      <emphasis>make doc-html</emphasis>
8981 +    </term>
8982 +<listitem>
8983        <para>
8984 -      <screen><userinput>make doc-html</userinput></screen>
8985 +       Generates multi-page HTML documentation in the following directories:
8986        </para>
8987 +      <para>
8988 +       <filename class="directory">doc/libstdc++-api.html</filename>
8989 +      </para>
8990 +      <para>
8991 +       <filename class="directory">doc/libstdc++-manual.html</filename>
8992 +      </para>
8993 +</listitem>
8994 +</varlistentry>
8995  
8996 +<varlistentry><term>
8997 +      <emphasis>make doc-man</emphasis>
8998 +    </term>
8999 +<listitem>
9000        <para>
9001 -      <screen><userinput>make doc-man</userinput></screen>
9002 +       Generates man pages in the following directory:
9003        </para>
9004 +      <para>
9005 +       <filename class="directory">doc/libstdc++-api.man</filename>
9006 +      </para>
9007 +</listitem>
9008 +</varlistentry>
9009  
9010 +<varlistentry><term>
9011 +      <emphasis>make doc-pdf</emphasis>
9012 +    </term>
9013 +<listitem>
9014        <para>
9015 -      <screen><userinput>make doc-pdf</userinput></screen>
9016 +       Generates indexed PDF documentation in the following files:
9017        </para>
9018 +      <para>
9019 +       <filename>doc/libstdc++-api.pdf</filename>
9020 +      </para>
9021 +      <para>
9022 +       <filename>doc/libstdc++-manual.pdf</filename>
9023 +      </para>
9024 +</listitem>
9025 +</varlistentry>
9026 +
9027 +<varlistentry><term>
9028 +      <emphasis>make doc-texinfo</emphasis>
9029 +    </term>
9030 +<listitem>
9031 +      <para>
9032 +       Generates Texinfo documentation in the following files:
9033 +      </para>
9034 +      <para>
9035 +       <filename>doc/libstdc++-manual.texinfo</filename>
9036 +      </para>
9037 +</listitem>
9038 +</varlistentry>
9039 +
9040 +<varlistentry><term>
9041 +      <emphasis>make doc-xml</emphasis>
9042 +    </term>
9043 +<listitem>
9044 +      <para>
9045 +       Generates single-file XML documentation in the following files:
9046 +      </para>
9047 +      <para>
9048 +       <filename>doc/libstdc++-api.xml</filename>
9049 +      </para>
9050 +      <para>
9051 +       <filename>doc/libstdc++-manual.xml</filename>
9052 +      </para>
9053 +</listitem>
9054 +</varlistentry>
9055 +
9056 +</variablelist>
9057 +
9058 +
9059    </sect3>
9060    </sect2>
9061  </sect1>
9062 Index: libstdc++-v3/doc/Makefile.in
9063 ===================================================================
9064 --- libstdc++-v3/doc/Makefile.in        (.../tags/gcc_4_5_1_release)    (wersja 163628)
9065 +++ libstdc++-v3/doc/Makefile.in        (.../branches/gcc-4_5-branch)   (wersja 163628)
9066 @@ -267,7 +267,15 @@
9067  # Assumes doxygen, graphviz (with dot), pdflatex installed
9068  doxygen_script = ${top_srcdir}/scripts/run_doxygen
9069  doxygen_outdir = ${glibcxx_builddir}/doc/doxygen
9070 +api_xml = ${doxygen_outdir}/xml/libstdc++-api-single.xml
9071 +
9072 +# Chance of loooooonnggg creation time on this rule.  Iff this fails,
9073 +# look at refman.log and see if TeX's memory is exhausted. Symptoms
9074 +# include asking a wizard to enlarge capacity. If this is the case,
9075 +# find texmf.cnf and add a zero for pool_size, string_vacancies,
9076 +# max_strings, and pool_free values.
9077  doxygen_pdf = ${doxygen_outdir}/latex/refman.pdf
9078 +api_pdf = ${doxygen_outdir}/pdf/libstdc++-api.pdf
9079  
9080  # Docbook configuration.
9081  # Assumes
9082 @@ -364,29 +372,25 @@
9083  DTD_FLAGS = --dtdvalid http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd
9084  XMLLINT_FLAGS = $(LINT_FLAGS) $(DTD_FLAGS)
9085  
9086 -# PDF 1
9087 -# fop
9088 -FOP = fop
9089 -FOP_FLAGS = -d -r
9090 +# XML, all one page
9091 +# Some info on canonicalization
9092 +# http://www.mail-archive.com/help-texinfo@gnu.org/msg00864.html
9093 +manual_xml = ${docbook_outdir}/xml/libstdc++-manual-single.xml
9094  
9095 -# PDF 2
9096 -# xmlto
9097 -XML2PDF = xmlto
9098 -XML2PDF_FLAGS = -v pdf --skip-validation -o pdf
9099 +# HTML, all one page
9100 +manual_html = ${docbook_outdir}/html/libstdc++-manual-single.html
9101  
9102 -# PDF 3
9103 -# xmlroff
9104 -XMLROFF = xmlroff
9105 -XMLROFF_FLAGS = --format=pdf --backend=cairo --warn=1 --debug=1 --continue
9106 +# PDF, via dblatex
9107 +manual_pdf = ${docbook_outdir}/pdf/libstdc++-manual.pdf
9108 +DBLATEX_FLAGS = --dump --verbose --pdf -o ${manual_pdf}
9109  
9110 -# PDF 4
9111 -# prince
9112 -PRINCE = prince
9113 -PRINCE_FLAGS = --log prince.log -o pdf/spine.pdf
9114 +# Texinfo, via docbook2X
9115 +DB2TEXI_FLAGS = \
9116 +       --encoding=utf-8//TRANSLIT \
9117 +       --string-param output-file="libstdc++-manual" \
9118 +       --string-param directory-category="GNU C++ Library" \
9119 +       --string-param explicit-node-names=true
9120  
9121 -# PDF 5
9122 -# dblatex
9123 -DBLATEX_FLAGS = --dump --verbose --pdf -o ${docbook_outdir}/pdf/manual.pdf
9124  
9125  # Performance doc and graph configuration.
9126  # Assumes pychart, beautiful soup installed.
9127 @@ -585,20 +589,41 @@
9128  # Documentation Overview
9129  #
9130  # There are two main source materials for libstdc++ documentation.
9131 -# The first is the doxygen markup in libstdc++ sources. And the second
9132 -# is the docbook markup in doc/xml/. A third and more obscure option
9133 -# deals with charting performance tests.
9134 +# The first is the doxygen markup in libstdc++ sources, which is a
9135 +# reference to the API. And the second is the docbook markup in
9136 +# doc/xml/.
9137 +#
9138 +# A third and more obscure option deals with charting
9139 +# performance tests, and should be considered experimental.
9140  
9141 -# Default, points to current best sub-rule that is the best conversion.
9142 +# Default rules.
9143 +#
9144 +# Point to best sub-rule for the requested documentation target,
9145 +# create, and then copy into toplevel directory with standardized names
9146 +# and layouts.
9147 +
9148 +# HTML
9149 +doc-html: doc-html-docbook doc-html-doxygen
9150 +       cp -R ${docbook_outdir}/html ./libstdc++-manual.html
9151 +       cp -R ${doxygen_outdir}/html ./libstdc++-api.html
9152 +
9153  # MAN
9154  doc-man: doc-man-doxygen
9155 +       cp -R ${doxygen_outdir}/man ./libstdc++-api.man
9156  
9157  # PDF
9158 -doc-pdf: doc-pdf-docbook
9159 +doc-pdf: doc-pdf-docbook doc-pdf-doxygen
9160 +       cp ${docbook_outdir}/pdf/libstdc++-manual.pdf .
9161 +       cp ${doxygen_outdir}/pdf/libstdc++-api.pdf .
9162  
9163 -# HTML
9164 -doc-html: doc-html-docbook
9165 +# TEXINFO
9166 +doc-texinfo: doc-texinfo-docbook
9167  
9168 +# XML
9169 +doc-xml: doc-xml-single-docbook doc-xml-single-doxygen
9170 +       cp ${manual_xml} .
9171 +       cp ${api_xml} .
9172 +
9173  doc-html-doxygen:
9174         -(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
9175           builddir=`cd ..; ${PWD_COMMAND}`; \
9176 @@ -616,11 +641,10 @@
9177           builddir=`cd ..; ${PWD_COMMAND}`; \
9178           ${SHELL} ${doxygen_script} \
9179           --host_alias=${host_alias} --mode=xml $${srcdir} $${builddir} NO)
9180 -
9181 -doc-xml-single-doxygen:
9182 +doc-xml-single-doxygen: doc-xml-doxygen
9183         @echo "Generating doxygen xml single file..."
9184         $(XSLTPROC) ${doxygen_outdir}/xml/combine.xslt \
9185 -       ${doxygen_outdir}/xml/index.xml > ${doxygen_outdir}/xml/api-spine.xml;
9186 +       ${doxygen_outdir}/xml/index.xml > ${api_xml};
9187  
9188  doc-latex-doxygen:
9189         -(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
9190 @@ -628,12 +652,15 @@
9191           ${SHELL} ${doxygen_script} \
9192           --host_alias=${host_alias} --mode=latex $${srcdir} $${builddir} NO)
9193  
9194 -# Chance of loooooonnggg creation time on this rule.
9195 -doc-pdf-doxygen: stamp-latex-doxygen
9196 +${doxygen_outdir}/pdf:
9197 +       mkdir -p ${doxygen_outdir}/pdf
9198 +
9199 +doc-pdf-doxygen: stamp-latex-doxygen ${doxygen_outdir}/pdf
9200         -(cd ${doxygen_outdir}/latex && $(MAKE) -i pdf;)
9201         echo "Generating doxygen pdf file...";
9202         if [ -f ${doxygen_pdf} ]; then \
9203 -         echo "... ${doxygen_pdf}"; \
9204 +         mv ${doxygen_pdf} ${api_pdf} ; \
9205 +         echo ":: PDF file is ${api_pdf}"; \
9206         else \
9207           echo "... error"; \
9208           exit 12; \
9209 @@ -658,37 +685,36 @@
9210         fi
9211         $(STAMP) stamp-latex-doxygen
9212  
9213 +${docbook_outdir}/fo:
9214 +       mkdir -p ${docbook_outdir}/fo
9215 +
9216  ${docbook_outdir}/html:
9217         mkdir -p ${docbook_outdir}/html
9218  
9219  ${docbook_outdir}/pdf:
9220         mkdir -p ${docbook_outdir}/pdf
9221  
9222 -${docbook_outdir}/fo:
9223 -       mkdir -p ${docbook_outdir}/fo
9224 +${docbook_outdir}/texinfo:
9225 +       mkdir -p ${docbook_outdir}/texinfo
9226  
9227  ${docbook_outdir}/xml:
9228         mkdir -p ${docbook_outdir}/xml
9229  doc-xml-validate-docbook: $(xml_sources)
9230         @echo "Generating XML validation log..."
9231         $(XMLLINT) $(XMLLINT_FLAGS) ${top_srcdir}/doc/xml/spine.xml
9232 -
9233  doc-xml-single-docbook: $(xml_sources) ${docbook_outdir}/xml
9234         @echo "Generating XML single..."
9235 -       $(XMLLINT) --xinclude --noent --noblanks \
9236 -       -o ${docbook_outdir}/xml/spine-single.xml \
9237 -       ${top_srcdir}/doc/xml/spine.xml
9238 +       $(XMLLINT) --xinclude --noent --noblanks --nocdata --nsclean --c14n \
9239 +       ${top_srcdir}/doc/xml/manual/spine.xml > ${manual_xml}
9240  
9241  # HTML, index plus chapters
9242  doc-html-docbook: $(xml_sources) ${docbook_outdir}/html
9243         @echo "Generating html files..."
9244         $(XSLTPROC) $(XSLTPROC_FLAGS) -o ${docbook_outdir}/html/ \
9245         $(XSL_HTML_STYLE) ${top_srcdir}/doc/xml/spine.xml
9246 -
9247 -# HTML, all one page
9248  doc-html-single-docbook: $(xml_sources) ${docbook_outdir}/html
9249         @echo "Generating html single file..."
9250 -       $(XSLTPROC) $(XSLTPROC_FLAGS) -o ${docbook_outdir}/html/ \
9251 +       $(XSLTPROC) $(XSLTPROC_FLAGS) -o ${manual_html} \
9252         $(XSL_HTML_SINGLE_STYLE) ${top_srcdir}/doc/xml/spine.xml
9253  
9254  # FO
9255 @@ -696,29 +722,14 @@
9256         @echo "Generating FO files..."
9257         $(XSLTPROC) $(XSLTPROC_FLAGS) -o ${docbook_outdir}/fo/spine.fo \
9258         $(XSL_FO_STYLE) ${top_srcdir}/doc/xml/spine.xml
9259 -doc-pdf-fop-xml-docbook: $(xml_sources) ${glibcxx_builddir}/doc/pdf
9260 -       @echo "Generating pdf fop files from xml..."
9261 -       $(FOP) $(FOP_FLAGS) -xml ${top_srcdir}/doc/xml/spine.xml \
9262 -       -xsl $(XSL_FO_STYLE) -pdf ${docbook_outdir}/pdf/spine.pdf
9263 +doc-pdf-docbook: doc-pdf-dblatex-docbook
9264  
9265 -doc-pdf-fop-fo-docbook: $(xml_sources) ${glibcxx_builddir}/doc/pdf doc-fo
9266 -       @echo "Generating pdf fop files from fo..."
9267 -       $(FOP) $(FOP_FLAGS) -fo ${docbook_outdir}/fo/spine.fo \
9268 -       -pdf ${docbook_outdir}/pdf/spine.pdf
9269 -doc-pdf-xmlto-docbook: $(xml_sources) ${docbook_outdir}/pdf
9270 -       @echo "Generating pdf xmlto files..."
9271 -       $(XML2PDF) $(XML2PDF_FLAGS) ${top_srcdir}/doc/xml/spine.xml
9272 -doc-pdf-xmlroff-docbook: $(xml_sources) doc-fo
9273 -       @echo "Generating pdf xmlroff files..."
9274 -       $(XMLROFF) $(XMLROFF_FLAGS) ${docbook_outdir}/fo/spine.fo
9275 -doc-pdf-prince-docbook: $(xml_sources) ${docbook_outdir}/pdf
9276 -       @echo "Generating pdf prince files..."
9277 -       $(PRINCE) $(PRINCE_FLAGS) ${top_srcdir}/xml/spine.xml
9278  doc-pdf-dblatex-docbook: $(xml_sources) ${docbook_outdir}/pdf
9279         @echo "Generating pdf dblatex files..."
9280         dblatex $(DBLATEX_FLAGS) ${top_srcdir}/doc/xml/spine.xml
9281 -
9282 -doc-pdf-docbook: doc-pdf-dblatex-docbook
9283 +doc-texinfo-docbook: doc-xml-single-docbook ${docbook_outdir}/texinfo
9284 +       @echo "Generating texinfo files..."
9285 +       db2x_docbook2texi $(DB2TEXI_FLAGS) ${manual_xml}
9286  doc-html-performance:
9287         -@(chmod + ${doc_performance_script}; \
9288         ${doc_performance_script} ${top_srcdir} \
9289 @@ -730,7 +741,7 @@
9290  
9291  # To remove directories.
9292  clean-local:
9293 -       rm -rf man html pdf fo xml doxygen docbook stamp*
9294 +       rm -rf man html pdf fo xml doxygen docbook stamp* ./libstdc++-* db2t*
9295  
9296  # Tell versions [3.59,3.63) of GNU make to not export all variables.
9297  # Otherwise a system limit (for SysV at least) may be exceeded.
9298 Index: libstdc++-v3/doc/Makefile.am
9299 ===================================================================
9300 --- libstdc++-v3/doc/Makefile.am        (.../tags/gcc_4_5_1_release)    (wersja 163628)
9301 +++ libstdc++-v3/doc/Makefile.am        (.../branches/gcc-4_5-branch)   (wersja 163628)
9302 @@ -25,26 +25,46 @@
9303  # Documentation Overview
9304  #
9305  # There are two main source materials for libstdc++ documentation.
9306 -# The first is the doxygen markup in libstdc++ sources. And the second
9307 -# is the docbook markup in doc/xml/. A third and more obscure option
9308 -# deals with charting performance tests.
9309 +# The first is the doxygen markup in libstdc++ sources, which is a
9310 +# reference to the API. And the second is the docbook markup in
9311 +# doc/xml/.
9312 +#
9313 +# A third and more obscure option deals with charting
9314 +# performance tests, and should be considered experimental.
9315  
9316 -# Default, points to current best sub-rule that is the best conversion.
9317 +# Default rules.
9318 +#
9319 +# Point to best sub-rule for the requested documentation target,
9320 +# create, and then copy into toplevel directory with standardized names
9321 +# and layouts.
9322 +
9323 +# HTML
9324 +doc-html: doc-html-docbook doc-html-doxygen
9325 +       cp -R ${docbook_outdir}/html ./libstdc++-manual.html
9326 +       cp -R ${doxygen_outdir}/html ./libstdc++-api.html
9327 +
9328  # MAN
9329  doc-man: doc-man-doxygen
9330 +       cp -R ${doxygen_outdir}/man ./libstdc++-api.man
9331  
9332  # PDF
9333 -doc-pdf: doc-pdf-docbook
9334 +doc-pdf: doc-pdf-docbook doc-pdf-doxygen
9335 +       cp ${docbook_outdir}/pdf/libstdc++-manual.pdf .
9336 +       cp ${doxygen_outdir}/pdf/libstdc++-api.pdf .
9337  
9338 -# HTML
9339 -doc-html: doc-html-docbook
9340 +# TEXINFO
9341 +doc-texinfo: doc-texinfo-docbook
9342  
9343 +# XML
9344 +doc-xml: doc-xml-single-docbook doc-xml-single-doxygen
9345 +       cp ${manual_xml} .
9346 +       cp ${api_xml} .
9347  
9348 +
9349  # Doxygen configuration
9350  # Assumes doxygen, graphviz (with dot), pdflatex installed
9351  doxygen_script=${top_srcdir}/scripts/run_doxygen
9352  doxygen_outdir = ${glibcxx_builddir}/doc/doxygen
9353 -doxygen_pdf = ${doxygen_outdir}/latex/refman.pdf
9354  
9355  doc-html-doxygen:
9356         -(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
9357 @@ -64,10 +84,11 @@
9358           ${SHELL} ${doxygen_script} \
9359           --host_alias=${host_alias} --mode=xml $${srcdir} $${builddir} NO)
9360  
9361 -doc-xml-single-doxygen:
9362 +api_xml = ${doxygen_outdir}/xml/libstdc++-api-single.xml
9363 +doc-xml-single-doxygen: doc-xml-doxygen
9364         @echo "Generating doxygen xml single file..."
9365         $(XSLTPROC) ${doxygen_outdir}/xml/combine.xslt \
9366 -       ${doxygen_outdir}/xml/index.xml > ${doxygen_outdir}/xml/api-spine.xml;
9367 +       ${doxygen_outdir}/xml/index.xml > ${api_xml};
9368  
9369  doc-latex-doxygen:
9370         -(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
9371 @@ -75,12 +96,23 @@
9372           ${SHELL} ${doxygen_script} \
9373           --host_alias=${host_alias} --mode=latex $${srcdir} $${builddir} NO)
9374  
9375 -# Chance of loooooonnggg creation time on this rule.
9376 -doc-pdf-doxygen: stamp-latex-doxygen
9377 +# Chance of loooooonnggg creation time on this rule.  Iff this fails,
9378 +# look at refman.log and see if TeX's memory is exhausted. Symptoms
9379 +# include asking a wizard to enlarge capacity. If this is the case,
9380 +# find texmf.cnf and add a zero for pool_size, string_vacancies,
9381 +# max_strings, and pool_free values.
9382 +doxygen_pdf = ${doxygen_outdir}/latex/refman.pdf
9383 +api_pdf = ${doxygen_outdir}/pdf/libstdc++-api.pdf
9384 +
9385 +${doxygen_outdir}/pdf:
9386 +       mkdir -p ${doxygen_outdir}/pdf
9387 +
9388 +doc-pdf-doxygen: stamp-latex-doxygen ${doxygen_outdir}/pdf
9389         -(cd ${doxygen_outdir}/latex && $(MAKE) -i pdf;)
9390         echo "Generating doxygen pdf file...";
9391         if [ -f ${doxygen_pdf} ]; then \
9392 -         echo "... ${doxygen_pdf}"; \
9393 +         mv ${doxygen_pdf} ${api_pdf} ; \
9394 +         echo ":: PDF file is ${api_pdf}"; \
9395         else \
9396           echo "... error"; \
9397           exit 12; \
9398 @@ -193,14 +225,17 @@
9399  #XSL_HTML_SINGLE_STYLE = $(XSL_STYLE_DIR)/xhtml/onechunk.xsl
9400  XSL_HTML_SINGLE_STYLE = $(XSL_STYLE_DIR)/xhtml/docbook.xsl
9401  
9402 +${docbook_outdir}/fo:
9403 +       mkdir -p ${docbook_outdir}/fo
9404 +
9405  ${docbook_outdir}/html:
9406         mkdir -p ${docbook_outdir}/html
9407  
9408  ${docbook_outdir}/pdf:
9409         mkdir -p ${docbook_outdir}/pdf
9410  
9411 -${docbook_outdir}/fo:
9412 -       mkdir -p ${docbook_outdir}/fo
9413 +${docbook_outdir}/texinfo:
9414 +       mkdir -p ${docbook_outdir}/texinfo
9415  
9416  ${docbook_outdir}/xml:
9417         mkdir -p ${docbook_outdir}/xml
9418 @@ -216,11 +251,14 @@
9419         @echo "Generating XML validation log..."
9420         $(XMLLINT) $(XMLLINT_FLAGS) ${top_srcdir}/doc/xml/spine.xml
9421  
9422 +# XML, all one page
9423 +# Some info on canonicalization
9424 +# http://www.mail-archive.com/help-texinfo@gnu.org/msg00864.html
9425 +manual_xml = ${docbook_outdir}/xml/libstdc++-manual-single.xml
9426  doc-xml-single-docbook: $(xml_sources) ${docbook_outdir}/xml
9427         @echo "Generating XML single..."
9428 -       $(XMLLINT) --xinclude --noent --noblanks \
9429 -       -o ${docbook_outdir}/xml/spine-single.xml \
9430 -       ${top_srcdir}/doc/xml/spine.xml
9431 +       $(XMLLINT) --xinclude --noent --noblanks --nocdata --nsclean --c14n \
9432 +       ${top_srcdir}/doc/xml/manual/spine.xml > ${manual_xml}
9433  
9434  # HTML, index plus chapters
9435  doc-html-docbook: $(xml_sources) ${docbook_outdir}/html
9436 @@ -229,9 +267,10 @@
9437         $(XSL_HTML_STYLE) ${top_srcdir}/doc/xml/spine.xml
9438  
9439  # HTML, all one page
9440 +manual_html = ${docbook_outdir}/html/libstdc++-manual-single.html
9441  doc-html-single-docbook: $(xml_sources) ${docbook_outdir}/html
9442         @echo "Generating html single file..."
9443 -       $(XSLTPROC) $(XSLTPROC_FLAGS) -o ${docbook_outdir}/html/ \
9444 +       $(XSLTPROC) $(XSLTPROC_FLAGS) -o ${manual_html} \
9445         $(XSL_HTML_SINGLE_STYLE) ${top_srcdir}/doc/xml/spine.xml
9446  
9447  # FO
9448 @@ -240,52 +279,24 @@
9449         $(XSLTPROC) $(XSLTPROC_FLAGS) -o ${docbook_outdir}/fo/spine.fo \
9450         $(XSL_FO_STYLE) ${top_srcdir}/doc/xml/spine.xml
9451  
9452 -# PDF 1
9453 -# fop
9454 -FOP = fop
9455 -FOP_FLAGS = -d -r
9456 -doc-pdf-fop-xml-docbook: $(xml_sources) ${glibcxx_builddir}/doc/pdf
9457 -       @echo "Generating pdf fop files from xml..."
9458 -       $(FOP) $(FOP_FLAGS) -xml ${top_srcdir}/doc/xml/spine.xml \
9459 -       -xsl $(XSL_FO_STYLE) -pdf ${docbook_outdir}/pdf/spine.pdf
9460 +# PDF, via dblatex
9461 +manual_pdf = ${docbook_outdir}/pdf/libstdc++-manual.pdf
9462 +DBLATEX_FLAGS = --dump --verbose --pdf -o ${manual_pdf}
9463 +doc-pdf-docbook: doc-pdf-dblatex-docbook
9464  
9465 -doc-pdf-fop-fo-docbook: $(xml_sources) ${glibcxx_builddir}/doc/pdf doc-fo
9466 -       @echo "Generating pdf fop files from fo..."
9467 -       $(FOP) $(FOP_FLAGS) -fo ${docbook_outdir}/fo/spine.fo \
9468 -       -pdf ${docbook_outdir}/pdf/spine.pdf
9469 -
9470 -# PDF 2
9471 -# xmlto
9472 -XML2PDF = xmlto
9473 -XML2PDF_FLAGS = -v pdf --skip-validation -o pdf
9474 -doc-pdf-xmlto-docbook: $(xml_sources) ${docbook_outdir}/pdf
9475 -       @echo "Generating pdf xmlto files..."
9476 -       $(XML2PDF) $(XML2PDF_FLAGS) ${top_srcdir}/doc/xml/spine.xml
9477 -
9478 -# PDF 3
9479 -# xmlroff
9480 -XMLROFF = xmlroff
9481 -XMLROFF_FLAGS = --format=pdf --backend=cairo --warn=1 --debug=1 --continue
9482 -doc-pdf-xmlroff-docbook: $(xml_sources) doc-fo
9483 -       @echo "Generating pdf xmlroff files..."
9484 -       $(XMLROFF) $(XMLROFF_FLAGS) ${docbook_outdir}/fo/spine.fo
9485 -
9486 -# PDF 4
9487 -# prince
9488 -PRINCE = prince
9489 -PRINCE_FLAGS = --log prince.log -o pdf/spine.pdf
9490 -doc-pdf-prince-docbook: $(xml_sources) ${docbook_outdir}/pdf
9491 -       @echo "Generating pdf prince files..."
9492 -       $(PRINCE) $(PRINCE_FLAGS) ${top_srcdir}/xml/spine.xml
9493 -
9494 -# PDF 5
9495 -# dblatex
9496 -DBLATEX_FLAGS = --dump --verbose --pdf -o ${docbook_outdir}/pdf/manual.pdf
9497  doc-pdf-dblatex-docbook: $(xml_sources) ${docbook_outdir}/pdf
9498         @echo "Generating pdf dblatex files..."
9499         dblatex $(DBLATEX_FLAGS) ${top_srcdir}/doc/xml/spine.xml
9500  
9501 -doc-pdf-docbook: doc-pdf-dblatex-docbook
9502 +# Texinfo, via docbook2X
9503 +DB2TEXI_FLAGS = \
9504 +       --encoding=utf-8//TRANSLIT \
9505 +       --string-param output-file="libstdc++-manual" \
9506 +       --string-param directory-category="GNU C++ Library" \
9507 +       --string-param explicit-node-names=true
9508 +doc-texinfo-docbook: doc-xml-single-docbook ${docbook_outdir}/texinfo
9509 +       @echo "Generating texinfo files..."
9510 +       db2x_docbook2texi $(DB2TEXI_FLAGS) ${manual_xml}
9511  
9512  
9513  # Performance doc and graph configuration.
9514 @@ -307,4 +318,4 @@
9515  
9516  # To remove directories.
9517  clean-local:
9518 -       rm -rf man html pdf fo xml doxygen docbook stamp*
9519 +       rm -rf man html pdf fo xml doxygen docbook stamp* ./libstdc++-* db2t*
9520 Index: libstdc++-v3/doc/doxygen/user.cfg.in
9521 ===================================================================
9522 --- libstdc++-v3/doc/doxygen/user.cfg.in        (.../tags/gcc_4_5_1_release)    (wersja 163628)
9523 +++ libstdc++-v3/doc/doxygen/user.cfg.in        (.../branches/gcc-4_5-branch)   (wersja 163628)
9524 @@ -1,4 +1,4 @@
9525 -# Doxyfile 1.6.1
9526 +# Doxyfile 1.7.1
9527  
9528  # This file describes the settings to be used by the documentation system
9529  # doxygen (www.doxygen.org) for a project
9530 @@ -180,7 +180,7 @@
9531  # You can put \n's in the value part of an alias to insert newlines.
9532  
9533  ALIASES                = "doctodo=@todo\nDoc me!  See doc/doxygen/TODO and http://gcc.gnu.org/ml/libstdc++/2002-02/msg00003.html for more.  " \
9534 -                        "isiosfwd=One of the @link io I/O @endlink typedefs"
9535 +                         "isiosfwd=One of the @link io I/O @endlink typedefs"
9536  
9537  # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
9538  # sources only. Doxygen will then generate output that is more tailored for C.
9539 @@ -208,17 +208,15 @@
9540  
9541  OPTIMIZE_OUTPUT_VHDL   = NO
9542  
9543 -# Doxygen selects the parser to use depending on the extension of the
9544 -# files it parses.  With this tag you can assign which parser to use
9545 -# for a given extension.  Doxygen has a built-in mapping, but you can
9546 -# override or extend it using this tag.  The format is ext=language,
9547 -# where ext is a file extension, and language is one of the parsers
9548 -# supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP,
9549 -# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make
9550 -# doxygen treat .inc files as Fortran files (default is PHP), and .f
9551 -# files as C (default is Fortran), use: inc=Fortran f=C. Note that for
9552 -# custom extensions you also need to set FILE_PATTERNS otherwise the
9553 -# files are not read by doxygen.
9554 +# Doxygen selects the parser to use depending on the extension of the files it
9555 +# parses. With this tag you can assign which parser to use for a given extension.
9556 +# Doxygen has a built-in mapping, but you can override or extend it using this
9557 +# tag. The format is ext=language, where ext is a file extension, and language
9558 +# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C,
9559 +# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make
9560 +# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
9561 +# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions
9562 +# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
9563  
9564  EXTENSION_MAPPING      =
9565  
9566 @@ -236,63 +234,57 @@
9567  
9568  CPP_CLI_SUPPORT        = NO
9569  
9570 -# Set the SIP_SUPPORT tag to YES if your project consists of sip
9571 -# sources only.  Doxygen will parse them like normal C++ but will
9572 -# assume all classes use public instead of private inheritance when no
9573 -# explicit protection keyword is present.
9574 +# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
9575 +# Doxygen will parse them like normal C++ but will assume all classes use public
9576 +# instead of private inheritance when no explicit protection keyword is present.
9577  
9578  SIP_SUPPORT            = NO
9579  
9580 -# For Microsoft's IDL there are propget and propput attributes to
9581 -# indicate getter and setter methods for a property. Setting this
9582 -# option to YES (the default) will make doxygen to replace the get and
9583 -# set methods by a property in the documentation. This will only work
9584 -# if the methods are indeed getting or setting a simple type. If this
9585 -# is not the case, or you want to show the methods anyway, you should
9586 -# set this option to NO.
9587 +# For Microsoft's IDL there are propget and propput attributes to indicate getter
9588 +# and setter methods for a property. Setting this option to YES (the default)
9589 +# will make doxygen to replace the get and set methods by a property in the
9590 +# documentation. This will only work if the methods are indeed getting or
9591 +# setting a simple type. If this is not the case, or you want to show the
9592 +# methods anyway, you should set this option to NO.
9593  
9594 -IDL_PROPERTY_SUPPORT   = YES
9595 +IDL_PROPERTY_SUPPORT   = NO
9596  
9597 -# If member grouping is used in the documentation and the
9598 -# DISTRIBUTE_GROUP_DOC tag is set to YES, then doxygen will reuse the
9599 -# documentation of the first member in the group (if any) for the
9600 -# other members of the group. By default all members of a group must
9601 -# be documented explicitly.
9602 +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
9603 +# tag is set to YES, then doxygen will reuse the documentation of the first
9604 +# member in the group (if any) for the other members of the group. By default
9605 +# all members of a group must be documented explicitly.
9606  
9607  DISTRIBUTE_GROUP_DOC   = YES
9608  
9609 -# Set the SUBGROUPING tag to YES (the default) to allow class member
9610 -# groups of the same type (for instance a group of public functions)
9611 -# to be put as a subgroup of that type (e.g. under the Public
9612 -# Functions section). Set it to NO to prevent
9613 -# subgrouping. Alternatively, this can be done per class using the
9614 -# \nosubgrouping command.
9615 +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
9616 +# the same type (for instance a group of public functions) to be put as a
9617 +# subgroup of that type (e.g. under the Public Functions section). Set it to
9618 +# NO to prevent subgrouping. Alternatively, this can be done per class using
9619 +# the \nosubgrouping command.
9620  
9621  SUBGROUPING            = YES
9622  
9623 -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union,
9624 -# or enum is documented as struct, union, or enum with the name of the
9625 -# typedef. So typedef struct TypeS {} TypeT, will appear in the
9626 -# documentation as a struct with name TypeT. When disabled the typedef
9627 -# will appear as a member of a file, namespace, or class. And the
9628 -# struct will be named TypeS. This can typically be useful for C code
9629 -# in case the coding convention dictates that all compound types are
9630 -# typedef'ed and only the typedef is referenced, never the tag name.
9631 +# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
9632 +# is documented as struct, union, or enum with the name of the typedef. So
9633 +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
9634 +# with name TypeT. When disabled the typedef will appear as a member of a file,
9635 +# namespace, or class. And the struct will be named TypeS. This can typically
9636 +# be useful for C code in case the coding convention dictates that all compound
9637 +# types are typedef'ed and only the typedef is referenced, never the tag name.
9638  
9639  TYPEDEF_HIDES_STRUCT   = NO
9640  
9641 -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use
9642 -# to determine which symbols to keep in memory and which to flush to
9643 -# disk.  When the cache is full, less often used symbols will be
9644 -# written to disk.  For small to medium size projects (<1000 input
9645 -# files) the default value is probably good enough. For larger
9646 -# projects a too small cache size can cause doxygen to be busy
9647 -# swapping symbols to and from disk most of the time causing a
9648 -# significant performance penality.  If the system has enough physical
9649 -# memory increasing the cache will improve the performance by keeping
9650 -# more symbols in memory. Note that the value works on a logarithmic
9651 -# scale so increasing the size by one will rougly double the memory
9652 -# usage. The cache size is given by this formula:
9653 +# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
9654 +# determine which symbols to keep in memory and which to flush to disk.
9655 +# When the cache is full, less often used symbols will be written to disk.
9656 +# For small to medium size projects (<1000 input files) the default value is
9657 +# probably good enough. For larger projects a too small cache size can cause
9658 +# doxygen to be busy swapping symbols to and from disk most of the time
9659 +# causing a significant performance penality.
9660 +# If the system has enough physical memory increasing the cache will improve the
9661 +# performance by keeping more symbols in memory. Note that the value works on
9662 +# a logarithmic scale so increasing the size by one will rougly double the
9663 +# memory usage. The cache size is given by this formula:
9664  # 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
9665  # corresponding to a cache size of 2^16 = 65536 symbols
9666  
9667 @@ -396,6 +388,12 @@
9668  
9669  SHOW_INCLUDE_FILES     = NO
9670  
9671 +# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
9672 +# will list include files with double quotes in the documentation
9673 +# rather than with sharp brackets.
9674 +
9675 +FORCE_LOCAL_INCLUDES   = NO
9676 +
9677  # If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
9678  # is inserted in the documentation for inline members.
9679  
9680 @@ -415,13 +413,13 @@
9681  
9682  SORT_BRIEF_DOCS        = YES
9683  
9684 -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will
9685 -# sort the (brief and detailed) documentation of class members so that
9686 -# constructors and destructors are listed first. If set to NO (the
9687 -# default) the constructors will appear in the respective orders
9688 -# defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be
9689 -# ignored for brief docs if SORT_BRIEF_DOCS is set to NO and ignored
9690 -# for detailed docs if SORT_MEMBER_DOCS is set to NO.
9691 +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen
9692 +# will sort the (brief and detailed) documentation of class members so that
9693 +# constructors and destructors are listed first. If set to NO (the default)
9694 +# the constructors will appear in the respective orders defined by
9695 +# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS.
9696 +# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO
9697 +# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
9698  
9699  SORT_MEMBERS_CTORS_1ST = YES
9700  
9701 @@ -505,24 +503,22 @@
9702  
9703  SHOW_NAMESPACES        = YES
9704  
9705 -# The FILE_VERSION_FILTER tag can be used to specify a program or
9706 -# script that doxygen should invoke to get the current version for
9707 -# each file (typically from the version control system). Doxygen will
9708 -# invoke the program by executing (via popen()) the command <command>
9709 -# <input-file>, where <command> is the value of the
9710 -# FILE_VERSION_FILTER tag, and <input-file> is the name of an input
9711 -# file provided by doxygen. Whatever the program writes to standard
9712 -# output is used as the file version. See the manual for examples.
9713 +# The FILE_VERSION_FILTER tag can be used to specify a program or script that
9714 +# doxygen should invoke to get the current version for each file (typically from
9715 +# the version control system). Doxygen will invoke the program by executing (via
9716 +# popen()) the command <command> <input-file>, where <command> is the value of
9717 +# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
9718 +# provided by doxygen. Whatever the program writes to standard output
9719 +# is used as the file version. See the manual for examples.
9720  
9721  FILE_VERSION_FILTER    =
9722  
9723 -# The LAYOUT_FILE tag can be used to specify a layout file which will
9724 -# be parsed by doxygen. The layout file controls the global structure
9725 -# of the generated output files in an output format independent
9726 -# way. The create the layout file that represents doxygen's defaults,
9727 -# run doxygen with the -l option. You can optionally specify a file
9728 -# name after the option, if omitted DoxygenLayout.xml will be used as
9729 -# the name of the layout file.
9730 +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
9731 +# by doxygen. The layout file controls the global structure of the generated
9732 +# output files in an output format independent way. The create the layout file
9733 +# that represents doxygen's defaults, run doxygen with the -l option.
9734 +# You can optionally specify a file name after the option, if omitted
9735 +# DoxygenLayout.xml will be used as the name of the layout file.
9736  
9737  LAYOUT_FILE            =
9738  
9739 @@ -581,162 +577,161 @@
9740  # configuration options related to the input files
9741  #---------------------------------------------------------------------------
9742  
9743 -# The INPUT tag can be used to specify the files and/or directories
9744 -# that contain documented source files. You may enter file names like
9745 -# "myfile.cpp" or directories like "/usr/src/myproject". Separate the
9746 -# files or directories with spaces.
9747 +# The INPUT tag can be used to specify the files and/or directories that contain
9748 +# documented source files. You may enter file names like "myfile.cpp" or
9749 +# directories like "/usr/src/myproject". Separate the files or directories
9750 +# with spaces.
9751  
9752  INPUT                  = @srcdir@/doc/doxygen/doxygroups.cc \
9753 -                        @srcdir@/libsupc++/cxxabi.h \
9754 -                        @srcdir@/libsupc++/cxxabi-forced.h \
9755 -                        @srcdir@/libsupc++/exception \
9756 -                        @srcdir@/libsupc++/exception_ptr.h \
9757 -                        @srcdir@/libsupc++/initializer_list \
9758 -                        @srcdir@/libsupc++/nested_exception.h \
9759 -                        @srcdir@/libsupc++/new \
9760 -                        @srcdir@/libsupc++/typeinfo \
9761 -                        include/algorithm \
9762 -                        include/array \
9763 -                        include/atomic \
9764 -                        include/bitset \
9765 -                        include/chrono \
9766 -                        include/complex \
9767 -                        include/condition_variable \
9768 -                        include/deque \
9769 -                        include/fstream \
9770 -                        include/functional \
9771 -                        include/future \
9772 -                        include/iomanip \
9773 -                        include/ios \
9774 -                        include/iosfwd \
9775 -                        include/iostream \
9776 -                        include/istream \
9777 -                        include/iterator \
9778 -                        include/limits \
9779 -                        include/list \
9780 -                        include/locale \
9781 -                        include/map \
9782 -                        include/memory \
9783 -                        include/mutex \
9784 -                        include/numeric \
9785 -                        include/ostream \
9786 -                        include/queue \
9787 -                        include/random \
9788 -                        include/ratio \
9789 -                        include/regex \
9790 -                        include/set \
9791 -                        include/sstream \
9792 -                        include/stack \
9793 -                        include/stdexcept \
9794 -                        include/streambuf \
9795 -                        include/string \
9796 -                        include/system_error \
9797 -                        include/thread \
9798 -                        include/tuple \
9799 -                        include/type_traits \
9800 -                        include/unordered_map \
9801 -                        include/unordered_set \
9802 -                        include/utility \
9803 -                        include/valarray \
9804 -                        include/vector \
9805 -                        include/cassert \
9806 -                        include/ccomplex \
9807 -                        include/cctype \
9808 -                        include/cerrno \
9809 -                        include/cfenv \
9810 -                        include/cfloat \
9811 -                        include/cinttypes \
9812 -                        include/ciso646 \
9813 -                        include/climits \
9814 -                        include/clocale \
9815 -                        include/cmath \
9816 -                        include/csetjmp \
9817 -                        include/csignal \
9818 -                        include/cstdarg \
9819 -                        include/cstdbool \
9820 -                        include/cstddef \
9821 -                        include/cstdint \
9822 -                        include/cstdio \
9823 -                        include/cstdlib \
9824 -                        include/cstring \
9825 -                        include/ctgmath \
9826 -                        include/ctime \
9827 -                        include/cwchar \
9828 -                        include/cwctype \
9829 -                        include/backward/hash_map \
9830 -                        include/backward/hash_set \
9831 -                        include/backward/strstream \
9832 -                        include/debug/bitset \
9833 -                        include/debug/deque \
9834 -                        include/debug/list \
9835 -                        include/debug/map \
9836 -                        include/debug/set \
9837 -                        include/debug/string \
9838 -                        include/debug/unordered_map \
9839 -                        include/debug/unordered_set \
9840 -                        include/debug/vector \
9841 -                        include/profile/bitset \
9842 -                        include/profile/deque \
9843 -                        include/profile/list \
9844 -                        include/profile/map \
9845 -                        include/profile/set \
9846 -                        include/profile/unordered_map \
9847 -                        include/profile/unordered_set \
9848 -                        include/profile/vector \
9849 -                        include/ext/algorithm \
9850 -                        include/ext/functional \
9851 -                        include/ext/iterator \
9852 -                        include/ext/memory \
9853 -                        include/ext/numeric \
9854 -                        include/ext/rb_tree \
9855 -                        include/ext/rope \
9856 -                        include/ext/slist \
9857 -                        include/parallel/algorithm \
9858 -                        include/parallel/numeric \
9859 -                        include/tr1/ccomplex \
9860 -                        include/tr1/cctype \
9861 -                        include/tr1/cfenv \
9862 -                        include/tr1/cfloat \
9863 -                        include/tr1/cinttypes \
9864 -                        include/tr1/climits \
9865 -                        include/tr1/cmath \
9866 -                        include/tr1/complex \
9867 -                        include/tr1/cstdarg \
9868 -                        include/tr1/cstdbool \
9869 -                        include/tr1/cstdint \
9870 -                        include/tr1/cstdio \
9871 -                        include/tr1/cstdlib \
9872 -                        include/tr1/ctgmath \
9873 -                        include/tr1/ctime \
9874 -                        include/tr1/cwchar \
9875 -                        include/tr1/cwctype \
9876 -                        include/tr1_impl/array \
9877 -                        include/tr1_impl/cctype \
9878 -                        include/tr1_impl/cfenv \
9879 -                        include/tr1_impl/cinttypes \
9880 -                        include/tr1_impl/cmath \
9881 -                        include/tr1_impl/complex \
9882 -                        include/tr1_impl/cstdint \
9883 -                        include/tr1_impl/cstdio \
9884 -                        include/tr1_impl/cstdlib \
9885 -                        include/tr1_impl/cwchar \
9886 -                        include/tr1_impl/cwctype \
9887 -                        include/tr1_impl/regex \
9888 -                        include/tr1_impl/type_traits \
9889 -                        include/tr1_impl/utility \
9890 -                        include/tr1_impl \
9891 -                        include/decimal/decimal \
9892 -                        include/ \
9893 -                        include/@host_alias@/bits \
9894 -                        include/backward \
9895 -                        include/bits \
9896 -                        include/debug \
9897 -                        include/parallel \
9898 -                        include/profile \
9899 -                        include/profile/impl \
9900 -                        include/ext \
9901 -                        include/ext/pb_ds \
9902 -                        include/ext/pb_ds/detail
9903 +                         @srcdir@/libsupc++/cxxabi.h \
9904 +                         @srcdir@/libsupc++/cxxabi-forced.h \
9905 +                         @srcdir@/libsupc++/exception \
9906 +                         @srcdir@/libsupc++/exception_ptr.h \
9907 +                         @srcdir@/libsupc++/initializer_list \
9908 +                         @srcdir@/libsupc++/nested_exception.h \
9909 +                         @srcdir@/libsupc++/new \
9910 +                         @srcdir@/libsupc++/typeinfo \
9911 +                         include/algorithm \
9912 +                         include/array \
9913 +                         include/atomic \
9914 +                         include/bitset \
9915 +                         include/chrono \
9916 +                         include/complex \
9917 +                         include/condition_variable \
9918 +                         include/deque \
9919 +                         include/fstream \
9920 +                         include/functional \
9921 +                         include/future \
9922 +                         include/iomanip \
9923 +                         include/ios \
9924 +                         include/iosfwd \
9925 +                         include/iostream \
9926 +                         include/istream \
9927 +                         include/iterator \
9928 +                         include/limits \
9929 +                         include/list \
9930 +                         include/locale \
9931 +                         include/map \
9932 +                         include/memory \
9933 +                         include/mutex \
9934 +                         include/numeric \
9935 +                         include/ostream \
9936 +                         include/queue \
9937 +                         include/random \
9938 +                         include/ratio \
9939 +                         include/regex \
9940 +                         include/set \
9941 +                         include/sstream \
9942 +                         include/stack \
9943 +                         include/stdexcept \
9944 +                         include/streambuf \
9945 +                         include/string \
9946 +                         include/system_error \
9947 +                         include/thread \
9948 +                         include/tuple \
9949 +                         include/type_traits \
9950 +                         include/unordered_map \
9951 +                         include/unordered_set \
9952 +                         include/utility \
9953 +                         include/valarray \
9954 +                         include/vector \
9955 +                         include/cassert \
9956 +                         include/ccomplex \
9957 +                         include/cctype \
9958 +                         include/cerrno \
9959 +                         include/cfenv \
9960 +                         include/cfloat \
9961 +                         include/cinttypes \
9962 +                         include/ciso646 \
9963 +                         include/climits \
9964 +                         include/clocale \
9965 +                         include/cmath \
9966 +                         include/csetjmp \
9967 +                         include/csignal \
9968 +                         include/cstdarg \
9969 +                         include/cstdbool \
9970 +                         include/cstddef \
9971 +                         include/cstdint \
9972 +                         include/cstdio \
9973 +                         include/cstdlib \
9974 +                         include/cstring \
9975 +                         include/ctgmath \
9976 +                         include/ctime \
9977 +                         include/cwchar \
9978 +                         include/cwctype \
9979 +                         include/backward/hash_map \
9980 +                         include/backward/hash_set \
9981 +                         include/backward/strstream \
9982 +                         include/debug/bitset \
9983 +                         include/debug/deque \
9984 +                         include/debug/list \
9985 +                         include/debug/map \
9986 +                         include/debug/set \
9987 +                         include/debug/string \
9988 +                         include/debug/unordered_map \
9989 +                         include/debug/unordered_set \
9990 +                         include/debug/vector \
9991 +                         include/profile/bitset \
9992 +                         include/profile/deque \
9993 +                         include/profile/list \
9994 +                         include/profile/map \
9995 +                         include/profile/set \
9996 +                         include/profile/unordered_map \
9997 +                         include/profile/unordered_set \
9998 +                         include/profile/vector \
9999 +                         include/ext/algorithm \
10000 +                         include/ext/functional \
10001 +                         include/ext/iterator \
10002 +                         include/ext/memory \
10003 +                         include/ext/numeric \
10004 +                         include/ext/rb_tree \
10005 +                         include/ext/rope \
10006 +                         include/ext/slist \
10007 +                         include/parallel/algorithm \
10008 +                         include/parallel/numeric \
10009 +                         include/tr1/ccomplex \
10010 +                         include/tr1/cctype \
10011 +                         include/tr1/cfenv \
10012 +                         include/tr1/cfloat \
10013 +                         include/tr1/cinttypes \
10014 +                         include/tr1/climits \
10015 +                         include/tr1/cmath \
10016 +                         include/tr1/complex \
10017 +                         include/tr1/cstdarg \
10018 +                         include/tr1/cstdbool \
10019 +                         include/tr1/cstdint \
10020 +                         include/tr1/cstdio \
10021 +                         include/tr1/cstdlib \
10022 +                         include/tr1/ctgmath \
10023 +                         include/tr1/ctime \
10024 +                         include/tr1/cwchar \
10025 +                         include/tr1/cwctype \
10026 +                         include/tr1_impl/array \
10027 +                         include/tr1_impl/cctype \
10028 +                         include/tr1_impl/cfenv \
10029 +                         include/tr1_impl/cinttypes \
10030 +                         include/tr1_impl/cmath \
10031 +                         include/tr1_impl/complex \
10032 +                         include/tr1_impl/cstdint \
10033 +                         include/tr1_impl/cstdio \
10034 +                         include/tr1_impl/cstdlib \
10035 +                         include/tr1_impl/cwchar \
10036 +                         include/tr1_impl/cwctype \
10037 +                         include/tr1_impl/type_traits \
10038 +                         include/tr1_impl/utility \
10039 +                         include/tr1_impl \
10040 +                         include/decimal/decimal \
10041 +                         include/ \
10042 +                         include/@host_alias@/bits \
10043 +                         include/backward \
10044 +                         include/bits \
10045 +                         include/debug \
10046 +                         include/parallel \
10047 +                         include/profile \
10048 +                         include/profile/impl \
10049 +                         include/ext \
10050 +                         include/ext/pb_ds \
10051 +                         include/ext/pb_ds/detail
10052  
10053  # This tag can be used to specify the character encoding of the source files
10054  # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
10055 @@ -754,8 +749,8 @@
10056  # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
10057  
10058  FILE_PATTERNS          = *.h \
10059 -                        *.hpp \
10060 -                        *.tcc
10061 +                         *.hpp \
10062 +                         *.tcc
10063  
10064  # The RECURSIVE tag can be used to turn specify whether or not subdirectories
10065  # should be searched for input files as well. Possible values are YES and NO.
10066 @@ -782,10 +777,10 @@
10067  # for example use the pattern */test/*
10068  
10069  EXCLUDE_PATTERNS       = stamp-* \
10070 -                        *stdc++.h* \
10071 -                        *stdtr1c++.h* \
10072 -                        *extc++.h* \
10073 -                        */.svn/*
10074 +                         *stdc++.h* \
10075 +                         *stdtr1c++.h* \
10076 +                         *extc++.h* \
10077 +                         */.svn/*
10078  
10079  # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
10080  # (namespaces, classes, functions, etc.) that should be excluded from the
10081 @@ -961,11 +956,6 @@
10082  
10083  HTML_FOOTER            =
10084  
10085 -# If the HTML_TIMESTAMP tag is set to YES then the generated HTML
10086 -# documentation will contain the timesstamp.
10087 -
10088 -HTML_TIMESTAMP         = NO
10089 -
10090  # The HTML_STYLESHEET tag can be used to specify a user-defined cascading
10091  # style sheet that is used by each HTML page. It can be used to
10092  # fine-tune the look of the HTML output. If the tag is left blank doxygen
10093 @@ -975,6 +965,37 @@
10094  
10095  HTML_STYLESHEET        =
10096  
10097 +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
10098 +# Doxygen will adjust the colors in the stylesheet and background images
10099 +# according to this color. Hue is specified as an angle on a colorwheel,
10100 +# see http://en.wikipedia.org/wiki/Hue for more information.
10101 +# For instance the value 0 represents red, 60 is yellow, 120 is green,
10102 +# 180 is cyan, 240 is blue, 300 purple, and 360 is red again.
10103 +# The allowed range is 0 to 359.
10104 +
10105 +HTML_COLORSTYLE_HUE    = 220
10106 +
10107 +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of
10108 +# the colors in the HTML output. For a value of 0 the output will use
10109 +# grayscales only. A value of 255 will produce the most vivid colors.
10110 +
10111 +HTML_COLORSTYLE_SAT    = 100
10112 +
10113 +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to
10114 +# the luminance component of the colors in the HTML output. Values below
10115 +# 100 gradually make the output lighter, whereas values above 100 make
10116 +# the output darker. The value divided by 100 is the actual gamma applied,
10117 +# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2,
10118 +# and 100 does not change the gamma.
10119 +
10120 +HTML_COLORSTYLE_GAMMA  = 80
10121 +
10122 +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
10123 +# page will contain the date and time when the page was generated. Setting
10124 +# this to NO can help when comparing the output of multiple runs.
10125 +
10126 +HTML_TIMESTAMP         = NO
10127 +
10128  # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
10129  # files or namespaces will be aligned in HTML using tables. If set to
10130  # NO a bullet list will be used.
10131 @@ -991,14 +1012,14 @@
10132  
10133  # If the GENERATE_DOCSET tag is set to YES, additional index files
10134  # will be generated that can be used as input for Apple's Xcode 3
10135 -# integrated development environment, introduced with OSX 10.5
10136 -# (Leopard).  To create a documentation set, doxygen will generate a
10137 -# Makefile in the HTML output directory. Running make will produce the
10138 -# docset in that directory and running "make install" will install the
10139 -# docset in ~/Library/Developer/Shared/Documentation/DocSets so that
10140 -# Xcode will find it at startup.  See
10141 -# http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for
10142 -# more information.
10143 +# integrated development environment, introduced with OSX 10.5 (Leopard).
10144 +# To create a documentation set, doxygen will generate a Makefile in the
10145 +# HTML output directory. Running make will produce the docset in that
10146 +# directory and running "make install" will install the docset in
10147 +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
10148 +# it at startup.
10149 +# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
10150 +# for more information.
10151  
10152  GENERATE_DOCSET        = NO
10153  
10154 @@ -1014,8 +1035,19 @@
10155  # reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
10156  # will append .docset to the name.
10157  
10158 -DOCSET_BUNDLE_ID       = org.doxygen.Project
10159 +DOCSET_BUNDLE_ID       = org.gnu.libstdc++
10160  
10161 +# When GENERATE_PUBLISHER_ID tag specifies a string that should
10162 +# uniquely identify the documentation publisher. This should be a
10163 +# reverse domain-name style string,
10164 +# e.g. com.mycompany.MyDocSet.documentation.
10165 +
10166 +DOCSET_PUBLISHER_ID    = org.fsf
10167 +
10168 +# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
10169 +
10170 +DOCSET_PUBLISHER_NAME  = libstdc++
10171 +
10172  # If the GENERATE_HTMLHELP tag is set to YES, additional index files
10173  # will be generated that can be used as input for tools like the
10174  # Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
10175 @@ -1061,10 +1093,9 @@
10176  TOC_EXPAND             = NO
10177  
10178  # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
10179 -# QHP_VIRTUAL_FOLDER are set, an additional index file will be
10180 -# generated that can be used as input for Qt's qhelpgenerator to
10181 -# generate a Qt Compressed Help (.qch) of the generated HTML
10182 -# documentation.
10183 +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated
10184 +# that can be used as input for Qt's qhelpgenerator to generate a
10185 +# Qt Compressed Help (.qch) of the generated HTML documentation.
10186  
10187  GENERATE_QHP           = NO
10188  
10189 @@ -1086,23 +1117,24 @@
10190  
10191  QHP_VIRTUAL_FOLDER     = doc
10192  
10193 -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom
10194 -# filter to add.  For more information please see
10195 +# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to
10196 +# add. For more information please see
10197  # http://doc.trolltech.com/qthelpproject.html#custom-filters
10198  
10199  QHP_CUST_FILTER_NAME   =
10200  
10201 -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of
10202 -# the custom filter to add.For more information please see <a
10203 -# href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt
10204 -# Help Project / Custom Filters</a>.
10205 +# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the
10206 +# custom filter to add. For more information please see
10207 +# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">
10208 +# Qt Help Project / Custom Filters</a>.
10209  
10210  QHP_CUST_FILTER_ATTRS  =
10211  
10212 -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes
10213 -# this project's filter section matches.  <a
10214 -# href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt
10215 -# Help Project / Filter Attributes</a>.
10216 +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
10217 +# project's
10218 +# filter section matches.
10219 +# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">
10220 +# Qt Help Project / Filter Attributes</a>.
10221  
10222  QHP_SECT_FILTER_ATTRS  =
10223  
10224 @@ -1113,6 +1145,23 @@
10225  
10226  QHG_LOCATION           =
10227  
10228 +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
10229 +#  will be generated, which together with the HTML files, form an Eclipse help
10230 +# plugin. To install this plugin and make it available under the help contents
10231 +# menu in Eclipse, the contents of the directory containing the HTML and XML
10232 +# files needs to be copied into the plugins directory of eclipse. The name of
10233 +# the directory within the plugins directory should be the same as
10234 +# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before
10235 +# the help appears.
10236 +
10237 +GENERATE_ECLIPSEHELP   = NO
10238 +
10239 +# A unique identifier for the eclipse help plugin. When installing the plugin
10240 +# the directory name containing the HTML and XML files should also have
10241 +# this name.
10242 +
10243 +ECLIPSE_DOC_ID         = org.doxygen.Project
10244 +
10245  # The DISABLE_INDEX tag can be used to turn on/off the condensed index at
10246  # top of each HTML page. The value NO (the default) enables the index and
10247  # the value YES disables it.
10248 @@ -1145,6 +1194,11 @@
10249  
10250  TREEVIEW_WIDTH         = 250
10251  
10252 +# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open
10253 +# links to external symbols imported via tag files in a separate window.
10254 +
10255 +EXT_LINKS_IN_WINDOW    = NO
10256 +
10257  # Use this tag to change the font size of Latex formulas included
10258  # as images in the HTML documentation. The default is 10. Note that
10259  # when you change the font size after a successful doxygen run you need
10260 @@ -1153,15 +1207,34 @@
10261  
10262  FORMULA_FONTSIZE       = 10
10263  
10264 -# When the SEARCHENGINE tag is enable doxygen will generate a search
10265 -# box for the HTML output. The underlying search engine uses
10266 -# javascript and DHTML and should work on any modern browser. Note
10267 -# that when using HTML help (GENERATE_HTMLHELP) or Qt help
10268 -# (GENERATE_QHP) there is already a search function so this one should
10269 -# typically be disabled.
10270 +# Use the FORMULA_TRANPARENT tag to determine whether or not the images
10271 +# generated for formulas are transparent PNGs. Transparent PNGs are
10272 +# not supported properly for IE 6.0, but are supported on all modern browsers.
10273 +# Note that when changing this option you need to delete any form_*.png files
10274 +# in the HTML output before the changes have effect.
10275  
10276 +FORMULA_TRANSPARENT    = YES
10277 +
10278 +# When the SEARCHENGINE tag is enabled doxygen will generate a search box
10279 +# for the HTML output. The underlying search engine uses javascript
10280 +# and DHTML and should work on any modern browser. Note that when using
10281 +# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets
10282 +# (GENERATE_DOCSET) there is already a search function so this one should
10283 +# typically be disabled. For large projects the javascript based search engine
10284 +# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
10285 +
10286  SEARCHENGINE           = NO
10287  
10288 +# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
10289 +# implemented using a PHP enabled web server instead of at the web client
10290 +# using Javascript. Doxygen will generate the search PHP script and index
10291 +# file to put on the web server. The advantage of the server
10292 +# based approach is that it scales better to large projects and allows
10293 +# full text search. The disadvances is that it is more difficult to setup
10294 +# and does not have live searching capabilities.
10295 +
10296 +SERVER_BASED_SEARCH    = NO
10297 +
10298  #---------------------------------------------------------------------------
10299  # configuration options related to the LaTeX output
10300  #---------------------------------------------------------------------------
10301 @@ -1179,6 +1252,9 @@
10302  
10303  # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
10304  # invoked. If left blank `latex' will be used as the default command name.
10305 +# Note that when enabling USE_PDFLATEX this option is only used for
10306 +# generating bitmaps for formulas in the HTML output, but not in the
10307 +# Makefile that is written to the output directory.
10308  
10309  LATEX_CMD_NAME         = latex
10310  
10311 @@ -1225,11 +1301,10 @@
10312  
10313  USE_PDFLATEX           = YES
10314  
10315 -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the
10316 -# \\batchmode.  command to the generated LaTeX files. This will
10317 -# instruct LaTeX to keep running if errors occur, instead of asking
10318 -# the user for help.  This option is also used when generating
10319 -# formulas in HTML.
10320 +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
10321 +# command to the generated LaTeX files. This will instruct LaTeX to keep
10322 +# running if errors occur, instead of asking the user for help.
10323 +# This option is also used when generating formulas in HTML.
10324  
10325  LATEX_BATCHMODE        = YES
10326  
10327 @@ -1239,10 +1314,10 @@
10328  
10329  LATEX_HIDE_INDICES     = YES
10330  
10331 -# If LATEX_SOURCE_CODE is set to YES then doxygen will include source
10332 -# code with syntax highlighting in the LaTeX output. Note that which
10333 -# sources are shown also depends on other settings such as
10334 -# SOURCE_BROWSER.
10335 +# If LATEX_SOURCE_CODE is set to YES then doxygen will include
10336 +# source code with syntax highlighting in the LaTeX output.
10337 +# Note that which sources are shown also depends on other settings
10338 +# such as SOURCE_BROWSER.
10339  
10340  LATEX_SOURCE_CODE      = NO
10341  
10342 @@ -1448,37 +1523,37 @@
10343  # instead of the = operator.
10344  
10345  PREDEFINED             = __cplusplus \
10346 -                        __GTHREADS \
10347 -                        _GLIBCXX_HAS_GTHREADS \
10348 -                        __GXX_EXPERIMENTAL_CXX0X__ \
10349 -                        _GLIBCXX_INCLUDE_AS_CXX0X \
10350 -                        "_GLIBCXX_STD_P= " \
10351 -                        "_GLIBCXX_STD_D= " \
10352 -                        _GLIBCXX_STD=std \
10353 -                        "_GLIBCXX_TR1= " \
10354 -                        "_GLIBCXX_BEGIN_NAMESPACE_TR1= " \
10355 -                        "_GLIBCXX_END_NAMESPACE_TR1= " \
10356 -                        "_GLIBCXX_BEGIN_NAMESPACE(name)=namespace name {  " \
10357 -                        "_GLIBCXX_BEGIN_NESTED_NAMESPACE(name, unused)=namespace name {  " \
10358 -                        _GLIBCXX_END_NAMESPACE=} \
10359 -                        _GLIBCXX_END_NESTED_NAMESPACE=} \
10360 -                        "_GLIBCXX_TEMPLATE_ARGS=...  " \
10361 -                        _GLIBCXX_DEPRECATED \
10362 -                        _GLIBCXX_USE_WCHAR_T \
10363 -                        _GLIBCXX_USE_LONG_LONG \
10364 -                        _GLIBCXX_USE_C99_STDINT_TR1 \
10365 -                        _GLIBCXX_ATOMIC_BUILTINS_1 \
10366 -                        _GLIBCXX_ATOMIC_BUILTINS_2 \
10367 -                        _GLIBCXX_ATOMIC_BUILTINS_4 \
10368 -                        _GLIBCXX_ATOMIC_BUILTINS_8 \
10369 -                        _GLIBCXX_USE_SCHED_YIELD \
10370 -                        _GLIBCXX_USE_NANOSLEEP \
10371 -                        __GXX_RTTI \
10372 -                        __glibcxx_function_requires=// \
10373 -                        __glibcxx_class_requires=// \
10374 -                        __glibcxx_class_requires2=// \
10375 -                        __glibcxx_class_requires3=// \
10376 -                        __glibcxx_class_requires4=//
10377 +                         __GTHREADS \
10378 +                         _GLIBCXX_HAS_GTHREADS \
10379 +                         __GXX_EXPERIMENTAL_CXX0X__ \
10380 +                         _GLIBCXX_INCLUDE_AS_CXX0X \
10381 +                         "_GLIBCXX_STD_P= " \
10382 +                         "_GLIBCXX_STD_D= " \
10383 +                         _GLIBCXX_STD=std \
10384 +                         "_GLIBCXX_TR1= " \
10385 +                         "_GLIBCXX_BEGIN_NAMESPACE_TR1= " \
10386 +                         "_GLIBCXX_END_NAMESPACE_TR1= " \
10387 +                         "_GLIBCXX_BEGIN_NAMESPACE(name)=namespace name {  " \
10388 +                         "_GLIBCXX_BEGIN_NESTED_NAMESPACE(name, unused)=namespace name {  " \
10389 +                         _GLIBCXX_END_NAMESPACE=} \
10390 +                         _GLIBCXX_END_NESTED_NAMESPACE=} \
10391 +                         "_GLIBCXX_TEMPLATE_ARGS=...  " \
10392 +                         _GLIBCXX_DEPRECATED \
10393 +                         _GLIBCXX_USE_WCHAR_T \
10394 +                         _GLIBCXX_USE_LONG_LONG \
10395 +                         _GLIBCXX_USE_C99_STDINT_TR1 \
10396 +                         _GLIBCXX_ATOMIC_BUILTINS_1 \
10397 +                         _GLIBCXX_ATOMIC_BUILTINS_2 \
10398 +                         _GLIBCXX_ATOMIC_BUILTINS_4 \
10399 +                         _GLIBCXX_ATOMIC_BUILTINS_8 \
10400 +                         _GLIBCXX_USE_SCHED_YIELD \
10401 +                         _GLIBCXX_USE_NANOSLEEP \
10402 +                         __GXX_RTTI \
10403 +                         __glibcxx_function_requires=// \
10404 +                         __glibcxx_class_requires=// \
10405 +                         __glibcxx_class_requires2=// \
10406 +                         __glibcxx_class_requires3=// \
10407 +                         __glibcxx_class_requires4=//
10408  
10409  # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
10410  # this tag can be used to specify a list of macro names that should be expanded.
10411 @@ -1575,6 +1650,14 @@
10412  
10413  HAVE_DOT               = YES
10414  
10415 +# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is
10416 +# allowed to run in parallel. When set to 0 (the default) doxygen will
10417 +# base this on the number of processors available in the system. You can set it
10418 +# explicitly to a value larger than 0 to get control over the balance
10419 +# between CPU load and processing speed.
10420 +
10421 +DOT_NUM_THREADS        = 0
10422 +
10423  # By default doxygen will write a font called FreeSans.ttf to the
10424  # output directory and reference it in all dot files that doxygen
10425  # generates. This font does not include all possible unicode
10426 @@ -1590,7 +1673,7 @@
10427  # The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
10428  # The default size is 10pt.
10429  
10430 -DOT_FONTSIZE           = 10
10431 +DOT_FONTSIZE           = 9
10432  
10433  # By default doxygen will tell dot to use the output directory to look for the
10434  # FreeSans.ttf font (which doxygen will put there itself). If you specify a
10435 Index: libstdc++-v3/doc/doxygen/doxygroups.cc
10436 ===================================================================
10437 --- libstdc++-v3/doc/doxygen/doxygroups.cc      (.../tags/gcc_4_5_1_release)    (wersja 163628)
10438 +++ libstdc++-v3/doc/doxygen/doxygroups.cc      (.../branches/gcc-4_5-branch)   (wersja 163628)
10439 @@ -1,5 +1,6 @@
10440  /*
10441 -   Copyright (C) 2001, 2002, 2005, 2008, 2009 Free Software Foundation, Inc.
10442 +   Copyright (C) 2001, 2002, 2005, 2008, 2009, 2010
10443 +   Free Software Foundation, Inc.
10444     See license.html for license.
10445  
10446     This just provides documentation for stuff that doesn't need to be in the
10447 @@ -47,7 +48,7 @@
10448   * Components generally useful that are not part of any standard.
10449   */
10450  
10451 -/** @defgroup SGIextensions SGI STL extensions
10452 +/** @defgroup SGIextensions SGI
10453   * @ingroup extensions
10454  Because libstdc++ based its implementation of the STL subsections of
10455  the library on the SGI 3.3 implementation, we inherited their extensions
10456 @@ -115,7 +116,7 @@
10457  <a href="tables.html">tables</a>.
10458  */
10459  
10460 -/** @defgroup associative_containers Associative Containers
10461 +/** @defgroup associative_containers Associative
10462   * @ingroup containers
10463  Associative containers allow fast retrieval of data based on keys.
10464  
10465 @@ -126,7 +127,7 @@
10466  <a href="tables.html">tables</a>.
10467  */
10468  
10469 -/** @defgroup unordered_associative_containers Unordered Associative Containers
10470 +/** @defgroup unordered_associative_containers Unordered Associative
10471   * @ingroup containers
10472  Unordered associative containers allow fast retrieval of data based on keys.
10473  
10474 Index: libstdc++-v3/include/bits/stl_iterator_base_types.h
10475 ===================================================================
10476 --- libstdc++-v3/include/bits/stl_iterator_base_types.h (.../tags/gcc_4_5_1_release)    (wersja 163628)
10477 +++ libstdc++-v3/include/bits/stl_iterator_base_types.h (.../branches/gcc-4_5-branch)   (wersja 163628)
10478 @@ -69,6 +69,12 @@
10479  
10480    /**
10481     *  @defgroup iterators Iterators
10482 +   *  Abstractions for uniform iterating through various underlying types.
10483 +  */
10484 +  //@{ 
10485 +
10486 +  /**
10487 +   *  @defgroup iterator_tags Iterator Tags
10488     *  These are empty types, used to distinguish different iterators.  The
10489     *  distinction is not made by what they contain, but simply by what they
10490     *  are.  Different underlying algorithms can then be used based on the
10491 @@ -91,8 +97,8 @@
10492    /// Random-access iterators support a superset of bidirectional
10493    /// iterator operations.
10494    struct random_access_iterator_tag : public bidirectional_iterator_tag { };
10495 +  //@}
10496  
10497 -
10498    /**
10499     *  @brief  Common %iterator class.
10500     *
10501 Index: libstdc++-v3/include/bits/stl_heap.h
10502 ===================================================================
10503 --- libstdc++-v3/include/bits/stl_heap.h        (.../tags/gcc_4_5_1_release)    (wersja 163628)
10504 +++ libstdc++-v3/include/bits/stl_heap.h        (.../branches/gcc-4_5-branch)   (wersja 163628)
10505 @@ -62,7 +62,7 @@
10506  _GLIBCXX_BEGIN_NAMESPACE(std)
10507  
10508    /**
10509 -   * @defgroup heap_algorithms Heap Algorithms
10510 +   * @defgroup heap_algorithms Heap
10511     * @ingroup sorting_algorithms
10512     */
10513  
10514 Index: libstdc++-v3/include/bits/forward_list.h
10515 ===================================================================
10516 --- libstdc++-v3/include/bits/forward_list.h    (.../tags/gcc_4_5_1_release)    (wersja 163628)
10517 +++ libstdc++-v3/include/bits/forward_list.h    (.../branches/gcc-4_5-branch)   (wersja 163628)
10518 @@ -461,7 +461,9 @@
10519         *  constructed elements.
10520         */
10521        explicit
10522 -      forward_list(size_type __n);
10523 +      forward_list(size_type __n)
10524 +      : _Base()
10525 +      { _M_default_initialize(__n); }
10526  
10527        /**
10528         *  @brief  Creates a %forward_list with copies of an exemplar element.
10529 @@ -1207,6 +1209,14 @@
10530        // Called by splice_after and insert_after.
10531        iterator
10532        _M_splice_after(const_iterator __pos, forward_list&& __list);
10533 +
10534 +      // Called by forward_list(n).
10535 +      void
10536 +      _M_default_initialize(size_type __n);
10537 +
10538 +      // Called by resize(sz).
10539 +      void
10540 +      _M_default_insert_after(const_iterator __pos, size_type __n);
10541      };
10542  
10543    /**
10544 Index: libstdc++-v3/include/bits/move.h
10545 ===================================================================
10546 --- libstdc++-v3/include/bits/move.h    (.../tags/gcc_4_5_1_release)    (wersja 163628)
10547 +++ libstdc++-v3/include/bits/move.h    (.../branches/gcc-4_5-branch)   (wersja 163628)
10548 @@ -81,7 +81,7 @@
10549      move(_Tp&& __t)
10550      { return static_cast<typename std::remove_reference<_Tp>::type&&>(__t); }
10551  
10552 -  /// declval, defined in <type_traits>.
10553 +  /// declval, from type_traits.
10554  
10555  _GLIBCXX_END_NAMESPACE
10556  
10557 Index: libstdc++-v3/include/bits/stl_iterator.h
10558 ===================================================================
10559 --- libstdc++-v3/include/bits/stl_iterator.h    (.../tags/gcc_4_5_1_release)    (wersja 163628)
10560 +++ libstdc++-v3/include/bits/stl_iterator.h    (.../branches/gcc-4_5-branch)   (wersja 163628)
10561 @@ -416,14 +416,21 @@
10562         *  the end, if you like).  Assigning a value to the %iterator will
10563         *  always append the value to the end of the container.
10564        */
10565 +#ifndef __GXX_EXPERIMENTAL_CXX0X__
10566        back_insert_iterator&
10567        operator=(typename _Container::const_reference __value)
10568        {
10569         container->push_back(__value);
10570         return *this;
10571        }
10572 +#else
10573 +      back_insert_iterator&
10574 +      operator=(const typename _Container::value_type& __value)
10575 +      {
10576 +       container->push_back(__value);
10577 +       return *this;
10578 +      }
10579  
10580 -#ifdef __GXX_EXPERIMENTAL_CXX0X__
10581        back_insert_iterator&
10582        operator=(typename _Container::value_type&& __value)
10583        {
10584 @@ -499,14 +506,21 @@
10585         *  the front, if you like).  Assigning a value to the %iterator will
10586         *  always prepend the value to the front of the container.
10587        */
10588 +#ifndef __GXX_EXPERIMENTAL_CXX0X__
10589        front_insert_iterator&
10590        operator=(typename _Container::const_reference __value)
10591        {
10592         container->push_front(__value);
10593         return *this;
10594        }
10595 +#else
10596 +      front_insert_iterator&
10597 +      operator=(const typename _Container::value_type& __value)
10598 +      {
10599 +       container->push_front(__value);
10600 +       return *this;
10601 +      }
10602  
10603 -#ifdef __GXX_EXPERIMENTAL_CXX0X__
10604        front_insert_iterator&
10605        operator=(typename _Container::value_type&& __value)
10606        {
10607 @@ -603,6 +617,7 @@
10608         *     // vector v contains A, 1, 2, 3, and Z
10609         *  @endcode
10610        */
10611 +#ifndef __GXX_EXPERIMENTAL_CXX0X__
10612        insert_iterator&
10613        operator=(typename _Container::const_reference __value)
10614        {
10615 @@ -610,8 +625,15 @@
10616         ++iter;
10617         return *this;
10618        }
10619 +#else
10620 +      insert_iterator&
10621 +      operator=(const typename _Container::value_type& __value)
10622 +      {
10623 +       iter = container->insert(iter, __value);
10624 +       ++iter;
10625 +       return *this;
10626 +      }
10627  
10628 -#ifdef __GXX_EXPERIMENTAL_CXX0X__
10629        insert_iterator&
10630        operator=(typename _Container::value_type&& __value)
10631        {
10632 Index: libstdc++-v3/include/bits/forward_list.tcc
10633 ===================================================================
10634 --- libstdc++-v3/include/bits/forward_list.tcc  (.../tags/gcc_4_5_1_release)    (wersja 163628)
10635 +++ libstdc++-v3/include/bits/forward_list.tcc  (.../branches/gcc-4_5-branch)   (wersja 163628)
10636 @@ -114,7 +114,7 @@
10637      _M_fill_initialize(size_type __n, const value_type& __value)
10638      {
10639        _Node_base* __to = &this->_M_impl._M_head;
10640 -      for (; __n > 0; --__n)
10641 +      for (; __n; --__n)
10642          {
10643            __to->_M_next = this->_M_create_node(__value);
10644            __to = __to->_M_next;
10645 @@ -122,12 +122,12 @@
10646      }
10647  
10648    template<typename _Tp, typename _Alloc>
10649 +    void
10650      forward_list<_Tp, _Alloc>::
10651 -    forward_list(size_type __n)
10652 -    : _Base()
10653 +    _M_default_initialize(size_type __n)
10654      {
10655        _Node_base* __to = &this->_M_impl._M_head;
10656 -      for (; __n > 0; --__n)
10657 +      for (; __n; --__n)
10658          {
10659            __to->_M_next = this->_M_create_node();
10660            __to = __to->_M_next;
10661 @@ -164,6 +164,24 @@
10662    template<typename _Tp, typename _Alloc>
10663      void
10664      forward_list<_Tp, _Alloc>::
10665 +    _M_default_insert_after(const_iterator __pos, size_type __n)
10666 +    {
10667 +      const_iterator __saved_pos = __pos;
10668 +      __try
10669 +       {
10670 +         for (; __n; --__n)
10671 +           __pos = emplace_after(__pos);
10672 +       }
10673 +      __catch(...)
10674 +       {
10675 +         erase_after(__saved_pos, ++__pos);
10676 +         __throw_exception_again;
10677 +       }
10678 +    }
10679 +
10680 +  template<typename _Tp, typename _Alloc>
10681 +    void
10682 +    forward_list<_Tp, _Alloc>::
10683      resize(size_type __sz)
10684      {
10685        iterator __k = before_begin();
10686 @@ -177,10 +195,7 @@
10687        if (__len == __sz)
10688          erase_after(__k, end());
10689        else
10690 -       {
10691 -         forward_list __tmp(__sz - __len);
10692 -         splice_after(__k, std::move(__tmp));
10693 -       }
10694 +       _M_default_insert_after(__k, __sz - __len);
10695      }
10696  
10697    template<typename _Tp, typename _Alloc>
10698 Index: libstdc++-v3/include/bits/algorithmfwd.h
10699 ===================================================================
10700 --- libstdc++-v3/include/bits/algorithmfwd.h    (.../tags/gcc_4_5_1_release)    (wersja 163628)
10701 +++ libstdc++-v3/include/bits/algorithmfwd.h    (.../branches/gcc-4_5-branch)   (wersja 163628)
10702 @@ -134,22 +134,22 @@
10703     */
10704  
10705    /**
10706 -   * @defgroup mutating_algorithms Mutating Algorithms
10707 +   * @defgroup mutating_algorithms Mutating
10708     * @ingroup algorithms
10709     */
10710  
10711    /**
10712 -   * @defgroup non_mutating_algorithms Non-Mutating Algorithms
10713 +   * @defgroup non_mutating_algorithms Non-Mutating
10714     * @ingroup algorithms
10715     */
10716  
10717    /**
10718 -   * @defgroup sorting_algorithms Sorting Algorithms
10719 +   * @defgroup sorting_algorithms Sorting
10720     * @ingroup algorithms
10721     */
10722  
10723    /**
10724 -   * @defgroup set_algorithms Set Operation Algorithms
10725 +   * @defgroup set_algorithms Set Operation
10726     * @ingroup sorting_algorithms
10727     *
10728     * These algorithms are common set operations performed on sequences
10729 @@ -158,7 +158,7 @@
10730     */
10731  
10732    /**
10733 -   * @defgroup binary_search_algorithms Binary Search Algorithms
10734 +   * @defgroup binary_search_algorithms Binary Search
10735     * @ingroup sorting_algorithms
10736     *
10737     * These algorithms are variations of a classic binary search, and
10738 Index: libstdc++-v3/include/bits/random.h
10739 ===================================================================
10740 --- libstdc++-v3/include/bits/random.h  (.../tags/gcc_4_5_1_release)    (wersja 163628)
10741 +++ libstdc++-v3/include/bits/random.h  (.../branches/gcc-4_5-branch)   (wersja 163628)
10742 @@ -1614,7 +1614,7 @@
10743     */
10744  
10745    /**
10746 -   * @addtogroup random_distributions_uniform Uniform Distributions
10747 +   * @addtogroup random_distributions_uniform Uniform
10748     * @ingroup random_distributions
10749     * @{
10750     */
10751 @@ -1972,7 +1972,7 @@
10752    /* @} */ // group random_distributions_uniform
10753  
10754    /**
10755 -   * @addtogroup random_distributions_normal Normal Distributions
10756 +   * @addtogroup random_distributions_normal Normal
10757     * @ingroup random_distributions
10758     * @{
10759     */
10760 @@ -3226,7 +3226,7 @@
10761    /* @} */ // group random_distributions_normal
10762  
10763    /**
10764 -   * @addtogroup random_distributions_bernoulli Bernoulli Distributions
10765 +   * @addtogroup random_distributions_bernoulli Bernoulli
10766     * @ingroup random_distributions
10767     * @{
10768     */
10769 @@ -3957,7 +3957,7 @@
10770    /* @} */ // group random_distributions_bernoulli
10771  
10772    /**
10773 -   * @addtogroup random_distributions_poisson Poisson Distributions
10774 +   * @addtogroup random_distributions_poisson Poisson
10775     * @ingroup random_distributions
10776     * @{
10777     */
10778 Index: libstdc++-v3/ChangeLog
10779 ===================================================================
10780 --- libstdc++-v3/ChangeLog      (.../tags/gcc_4_5_1_release)    (wersja 163628)
10781 +++ libstdc++-v3/ChangeLog      (.../branches/gcc-4_5-branch)   (wersja 163628)
10782 @@ -1,3 +1,78 @@
10783 +2010-08-26  Benjamin Kosnik  <bkoz@redhat.com>
10784 +
10785 +        * include/bits/stl_iterator_base_types.h: Fix doxygen warning.
10786 +
10787 +       Merge in other doc patches.
10788 +
10789 +       2010-07-08  Benjamin Kosnik  <bkoz@redhat.com>
10790 +
10791 +        * include/bits/stl_heap.h: Update markup.
10792 +        * include/bits/move.h: Same.
10793 +        * include/bits/algorithmfwd.h: Same.
10794 +        * include/bits/random.h: Same.
10795 +        * doc/doxygen/doxygroups.cc: Same.
10796 +        * doc/doxygen/user.cfg.in: Remove include/tr1_impl/regex from
10797 +        input file list.
10798 +        * doc/Makefile.am (doc-pdf-doxygen): Add comment, put generated
10799 +        pdf in location consistent with docbook pdf generation.
10800 +        * doc/Makefile.in: Regenerate.
10801 +
10802 +       2010-07-13  Benjamin Kosnik  <bkoz@redhat.com>
10803 +        * doc/Makefile.in: Regenerate.
10804 +        * doc/Makefile.am: Edit pdf rules, expand default rules.
10805 +        * doc/doxygen/user.cfg.in: Update to Doxygen 1.7.1.
10806 +
10807 +       2010-07-19  Benjamin Kosnik  <bkoz@redhat.com>
10808 +
10809 +        * doc/Makefile.am (doc-texinfo): New rule.
10810 +        (doc-texinfo-docbook): New rule.
10811 +        (DB2TEXI_FLAGS): New.
10812 +        (doc-xml-single-docbook): Just the manual, not the set. Tweak flags.
10813 +        * doc/Makefile.in: Regenerate.
10814 +
10815 +       2010-07-19  Benjamin Kosnik  <bkoz@redhat.com>
10816 +
10817 +        * doc/xml/manual/appendix_contributing.xml: Update for new reality.
10818 +        * doc/Makefile.am (doc-xml): New default rule for XML output.
10819 +        (doc-xml-single-doxygen): Standardize output names.
10820 +        * doc/Makefile.in: Regenerate.
10821 +
10822 +        * doc/doxygen/user.cfg.in: Tweak.
10823 +
10824 +2010-08-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
10825 +
10826 +       PR libstdc++/45283
10827 +       * testsuite/performance/30_threads/future/polling.cc: Replace calls to
10828 +       shared_future::is_ready.
10829 +
10830 +2010-08-08  Paolo Carlini  <paolo.carlini@oracle.com>
10831 +
10832 +       * include/bits/forward_list.h (_M_default_initialize,
10833 +       _M_default_insert_after): Declare.
10834 +       (forward_list<>::forward_list(size_type), resize(size_type)): Fix,
10835 +       use the latter.
10836 +       * include/bits/forward_list.tcc (forward_list<>::_M_default_append,
10837 +       * testsuite/23_containers/forward_list/requirements/dr438/
10838 +       assign_neg.cc: Adjust dg-error line numbers.
10839 +       * testsuite/23_containers/forward_list/requirements/dr438/
10840 +       insert_neg.cc: Likewise.
10841 +       * testsuite/23_containers/forward_list/requirements/dr438/
10842 +       constructor_1_neg.cc: Likewise.
10843 +       * testsuite/23_containers/forward_list/requirements/dr438/
10844 +       constructor_2_neg.cc: Likewise.
10845 +
10846 +2010-08-08  Paolo Carlini  <paolo.carlini@oracle.com>
10847 +
10848 +       PR libstdc++/44963
10849 +       * include/bits/stl_iterator.h (insert_iterator<>::
10850 +       operator=(const typename _Container::value_type&,
10851 +       back_insert_iterator<>::
10852 +       operator=(const typename _Container::value_type&),
10853 +       front_insert_iterator<>::
10854 +       operator=(const typename _Container::value_type&))): Add
10855 +       in C++0x mode.
10856 +       * testsuite/ext/rope/44963.cc: New.
10857 +
10858  2010-07-31  Release Manager
10859  
10860         * GCC 4.5.1 released.
10861 Index: libstdc++-v3/testsuite/ext/rope/44963.cc
10862 ===================================================================
10863 --- libstdc++-v3/testsuite/ext/rope/44963.cc    (.../tags/gcc_4_5_1_release)    (wersja 0)
10864 +++ libstdc++-v3/testsuite/ext/rope/44963.cc    (.../branches/gcc-4_5-branch)   (wersja 163628)
10865 @@ -0,0 +1,31 @@
10866 +// { dg-options "-std=gnu++0x" }
10867 +// { dg-do compile }
10868 +
10869 +// Copyright (C) 2010 Free Software Foundation, Inc.
10870 +//
10871 +// This file is part of the GNU ISO C++ Library.  This library is free
10872 +// software; you can redistribute it and/or modify it under the
10873 +// terms of the GNU General Public License as published by the
10874 +// Free Software Foundation; either version 3, or (at your option)
10875 +// any later version.
10876 +//
10877 +// This library is distributed in the hope that it will be useful,
10878 +// but WITHOUT ANY WARRANTY; without even the implied warranty of
10879 +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10880 +// GNU General Public License for more details.
10881 +//
10882 +// You should have received a copy of the GNU General Public License along
10883 +// with this library; see the file COPYING3.  If not see
10884 +// <http://www.gnu.org/licenses/>.
10885 +
10886 +#include <ext/rope>
10887 +
10888 +// libstdc++/44963
10889 +void test01()
10890 +{
10891 +  __gnu_cxx::crope line("test");
10892 +  auto ii(std::back_inserter(line));
10893 +
10894 +  *ii++ = 'm';
10895 +  *ii++ = 'e';
10896 +}
10897 Index: libstdc++-v3/testsuite/performance/30_threads/future/polling.cc
10898 ===================================================================
10899 --- libstdc++-v3/testsuite/performance/30_threads/future/polling.cc     (.../tags/gcc_4_5_1_release)    (wersja 163628)
10900 +++ libstdc++-v3/testsuite/performance/30_threads/future/polling.cc     (.../branches/gcc-4_5-branch)   (wersja 163628)
10901 @@ -1,4 +1,4 @@
10902 -// Copyright (C) 2009 Free Software Foundation, Inc.
10903 +// Copyright (C) 2009, 2010 Free Software Foundation, Inc.
10904  //
10905  // This file is part of the GNU ISO C++ Library.  This library is free
10906  // software; you can redistribute it and/or modify it under the
10907 @@ -20,9 +20,14 @@
10908  #include <thread>
10909  #include <testsuite_performance.h>
10910  
10911 +inline bool is_ready(std::shared_future<void>& f)
10912 +{
10913 +  return f.wait_for(std::chrono::microseconds(1));
10914 +}
10915 +
10916  void poll(std::shared_future<void> f)
10917  {
10918 -  while (!f.is_ready())
10919 +  while (!is_ready(f))
10920    { }
10921  }
10922  
10923 @@ -46,7 +51,7 @@
10924    start_counters(time, resource);
10925  
10926    for (int i = 0; i < 1000000; ++i)
10927 -    (void)f.is_ready();
10928 +    (void)is_ready(f);
10929    p.set_value();
10930  
10931    for (int i=0; i < n; ++i)
10932 Index: libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc
10933 ===================================================================
10934 --- libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc  (.../tags/gcc_4_5_1_release)    (wersja 163628)
10935 +++ libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc  (.../branches/gcc-4_5-branch)   (wersja 163628)
10936 @@ -1,6 +1,6 @@
10937  // { dg-do compile }
10938  // { dg-options "-std=gnu++0x" }
10939 -// { dg-error "no matching" "" { target *-*-* } 1194 }
10940 +// { dg-error "no matching" "" { target *-*-* } 1196 }
10941  // { dg-excess-errors "" }
10942  
10943  // Copyright (C) 2009, 2010 Free Software Foundation
10944 Index: libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc
10945 ===================================================================
10946 --- libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc  (.../tags/gcc_4_5_1_release)    (wersja 163628)
10947 +++ libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc  (.../branches/gcc-4_5-branch)   (wersja 163628)
10948 @@ -1,6 +1,6 @@
10949  // { dg-do compile }
10950  // { dg-options "-std=gnu++0x" }
10951 -// { dg-error "no matching" "" { target *-*-* } 1194 }
10952 +// { dg-error "no matching" "" { target *-*-* } 1196 }
10953  // { dg-excess-errors "" }
10954  
10955  // Copyright (C) 2009, 2010 Free Software Foundation
10956 Index: libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc
10957 ===================================================================
10958 --- libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc   (.../tags/gcc_4_5_1_release)    (wersja 163628)
10959 +++ libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc   (.../branches/gcc-4_5-branch)   (wersja 163628)
10960 @@ -1,6 +1,6 @@
10961  // { dg-do compile }
10962  // { dg-options "-std=gnu++0x" }
10963 -// { dg-error "no matching" "" { target *-*-* } 1194 }
10964 +// { dg-error "no matching" "" { target *-*-* } 1196 }
10965  // { dg-excess-errors "" }
10966  
10967  // Copyright (C) 2009, 2010 Free Software Foundation
10968 Index: libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc
10969 ===================================================================
10970 --- libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc   (.../tags/gcc_4_5_1_release)    (wersja 163628)
10971 +++ libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc   (.../branches/gcc-4_5-branch)   (wersja 163628)
10972 @@ -1,6 +1,6 @@
10973  // { dg-do compile }
10974  // { dg-options "-std=gnu++0x" }
10975 -// { dg-error "no matching" "" { target *-*-* } 1194 }
10976 +// { dg-error "no matching" "" { target *-*-* } 1196 }
10977  // { dg-excess-errors "" }
10978  
10979  // Copyright (C) 2009, 2010 Free Software Foundation
10980 Index: libjava/classpath/javax/print/attribute/standard/JobStateReasons.java
10981 ===================================================================
10982 --- libjava/classpath/javax/print/attribute/standard/JobStateReasons.java       (.../tags/gcc_4_5_1_release)    (wersja 163628)
10983 +++ libjava/classpath/javax/print/attribute/standard/JobStateReasons.java       (.../branches/gcc-4_5-branch)   (wersja 163628)
10984 @@ -129,7 +129,7 @@
10985      if (o == null)
10986        throw new NullPointerException("reason is null");  
10987      
10988 -    return add(o);
10989 +    return super.add(o);
10990    }
10991    
10992    /**
10993 Index: libjava/classpath/ChangeLog
10994 ===================================================================
10995 --- libjava/classpath/ChangeLog (.../tags/gcc_4_5_1_release)    (wersja 163628)
10996 +++ libjava/classpath/ChangeLog (.../branches/gcc-4_5-branch)   (wersja 163628)
10997 @@ -1,3 +1,23 @@
10998 +2010-04-27  Andrew Haley  <aph@redhat.com>
10999 +
11000 +       * java/util/concurrent/CopyOnWriteArrayList.java: Fix for empty
11001 +       list.
11002 +
11003 +2010-04-27  Andrew Haley  <aph@redhat.com>
11004 +
11005 +       * gnu/javax/print/ipp/IppResponse.java (parseAttributes): Handle
11006 +       IppValueTag.UNKNOWN.  
11007 +       * gnu/javax/print/ipp/IppRequest.java (writeOperationAttributes):
11008 +       Handle RequestedAttributes.
11009 +       * gnu/javax/print/ipp/IppPrintService.java (processResponse): Add
11010 +       DocFlavor.SERVICE_FORMATTED.PAGEABLE and
11011 +       DocFlavor.SERVICE_FORMATTED.PRINTABLE.
11012 +
11013 +2010-07-30  Andrew Haley  <aph@redhat.com>
11014 +
11015 +       * javax/print/attribute/standard/JobStateReasons.java (add): Fix
11016 +       infinite recursion with call to super.
11017 +
11018  2010-07-31  Release Manager
11019  
11020         * GCC 4.5.1 released.
11021 Index: libjava/classpath/gnu/javax/print/ipp/IppRequest.java
11022 ===================================================================
11023 --- libjava/classpath/gnu/javax/print/ipp/IppRequest.java       (.../tags/gcc_4_5_1_release)    (wersja 163628)
11024 +++ libjava/classpath/gnu/javax/print/ipp/IppRequest.java       (.../branches/gcc-4_5-branch)   (wersja 163628)
11025 @@ -434,6 +434,8 @@
11026        PrinterURI printerUri = (PrinterURI) attributes.get(PrinterURI.class);
11027        JobUri jobUri = (JobUri) attributes.get(JobUri.class);
11028        JobId jobId = (JobId) attributes.get(JobId.class);
11029 +      RequestedAttributes reqAttrs 
11030 +       = (RequestedAttributes)attributes.get(RequestedAttributes.class);
11031        if (printerUri != null && jobId == null && jobUri == null)
11032          {
11033            write(printerUri);
11034 @@ -467,6 +469,12 @@
11035            logger.log(Component.IPP, "Attribute: Name: <" + jobUri.getCategory()
11036              .getName() + "> Value: <" + jobUri.toString() + ">");
11037          }
11038 +      else if (reqAttrs != null)
11039 +       {
11040 +         write(reqAttrs);
11041 +         attributes.remove(RequestedAttributes.class);
11042 +         logger.log(Component.IPP, "RequestedAttributes: <" + reqAttrs + ">");
11043 +       }
11044        else
11045          {
11046            throw new IppException("Unknown target operation attribute combination.");
11047 Index: libjava/classpath/gnu/javax/print/ipp/IppPrintService.java
11048 ===================================================================
11049 --- libjava/classpath/gnu/javax/print/ipp/IppPrintService.java  (.../tags/gcc_4_5_1_release)    (wersja 163628)
11050 +++ libjava/classpath/gnu/javax/print/ipp/IppPrintService.java  (.../branches/gcc-4_5-branch)   (wersja 163628)
11051 @@ -356,8 +356,17 @@
11052                  // should not happen, all fields are public
11053                }
11054            }
11055 +
11056 +       if (this.getClass()
11057 +           .isAssignableFrom(gnu.javax.print.CupsPrintService.class))
11058 +         {
11059 +//         CUPS always provides filters to convert from Postscript.
11060 +//         This logic looks odd, but it's what OpenJDK does.
11061 +           flavors.add(DocFlavor.SERVICE_FORMATTED.PAGEABLE);
11062 +           flavors.add(DocFlavor.SERVICE_FORMATTED.PRINTABLE);
11063 +         }
11064        }
11065 -    
11066 +
11067      // printer uris
11068      Set uris = getPrinterAttributeSet(PrinterUriSupported.class);
11069      printerUris = new ArrayList(uris.size());
11070 Index: libjava/classpath/gnu/javax/print/ipp/IppResponse.java
11071 ===================================================================
11072 --- libjava/classpath/gnu/javax/print/ipp/IppResponse.java      (.../tags/gcc_4_5_1_release)    (wersja 163628)
11073 +++ libjava/classpath/gnu/javax/print/ipp/IppResponse.java      (.../branches/gcc-4_5-branch)   (wersja 163628)
11074 @@ -302,11 +302,14 @@
11075              // out-of-band values
11076              case IppValueTag.UNSUPPORTED:
11077              case IppValueTag.UNKNOWN:
11078 +              // TODO implement out-of-band handling
11079 +              // We currently throw an exception to see when it occurs - not yet :-)
11080 +             throw new IppException(
11081 +                    "Unexpected name value for out-of-band value tag " + tag);
11082              case IppValueTag.NO_VALUE:
11083 -              // TODO implement out-of-band handling
11084 -              // We currently throw an exception to see when it occurs - not yet :-)              
11085 -              throw new IppException(
11086 -                    "Unexpected name value for out-of-band value tag");
11087 +             attribute = null;
11088 +
11089 +             break;
11090              case IppValueTag.INTEGER:
11091                int intValue = IppUtilities.convertToInt(value);
11092                attribute = IppUtilities.getIntegerAttribute(name, intValue);
11093 Index: libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList$3.class
11094 ===================================================================
11095 Nie można wyświetlić: plik binarny.
11096 svn:mime-type = application/octet-stream
11097 Index: libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList$2.class
11098 ===================================================================
11099 Nie można wyświetlić: plik binarny.
11100 svn:mime-type = application/octet-stream
11101 Index: libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList.class
11102 ===================================================================
11103 Nie można wyświetlić: plik binarny.
11104 svn:mime-type = application/octet-stream
11105 Index: libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList$1.class
11106 ===================================================================
11107 Nie można wyświetlić: plik binarny.
11108 svn:mime-type = application/octet-stream
11109 Index: libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList$SubList.class
11110 ===================================================================
11111 Nie można wyświetlić: plik binarny.
11112 svn:mime-type = application/octet-stream
11113 Index: libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList$RandomAccessSubList.class
11114 ===================================================================
11115 Nie można wyświetlić: plik binarny.
11116 svn:mime-type = application/octet-stream
11117 Index: libjava/classpath/lib/gnu/javax/print/ipp/IppRequest$RequestWriter.class
11118 ===================================================================
11119 Nie można wyświetlić: plik binarny.
11120 svn:mime-type = application/octet-stream
11121 Index: libjava/classpath/lib/gnu/javax/print/ipp/IppResponse$ResponseReader.class
11122 ===================================================================
11123 Nie można wyświetlić: plik binarny.
11124 svn:mime-type = application/octet-stream
11125 Index: libjava/classpath/lib/gnu/javax/print/ipp/IppRequest.class
11126 ===================================================================
11127 Nie można wyświetlić: plik binarny.
11128 svn:mime-type = application/octet-stream
11129 Index: libjava/classpath/lib/gnu/javax/print/ipp/IppPrintService.class
11130 ===================================================================
11131 Nie można wyświetlić: plik binarny.
11132 svn:mime-type = application/octet-stream
11133 Index: libjava/classpath/lib/gnu/javax/print/ipp/IppResponse.class
11134 ===================================================================
11135 Nie można wyświetlić: plik binarny.
11136 svn:mime-type = application/octet-stream
11137 Index: libjava/classpath/lib/javax/print/attribute/standard/JobStateReasons.class
11138 ===================================================================
11139 Nie można wyświetlić: plik binarny.
11140 svn:mime-type = application/octet-stream
11141 Index: libjava/classpath/java/util/concurrent/CopyOnWriteArrayList.java
11142 ===================================================================
11143 --- libjava/classpath/java/util/concurrent/CopyOnWriteArrayList.java    (.../tags/gcc_4_5_1_release)    (wersja 163628)
11144 +++ libjava/classpath/java/util/concurrent/CopyOnWriteArrayList.java    (.../branches/gcc-4_5-branch)   (wersja 163628)
11145 @@ -452,7 +452,12 @@
11146    public synchronized boolean remove(Object element)
11147    {
11148      E[] snapshot = this.data;
11149 -    E[] newData = (E[]) new Object[snapshot.length - 1];
11150 +    int len = snapshot.length;
11151 +
11152 +    if (len == 0)
11153 +      return false;
11154 +
11155 +    E[] newData = (E[]) new Object[len - 1];
11156      
11157      // search the element to remove while filling the backup array
11158      // this way we can run this method in O(n)
This page took 1.303772 seconds and 3 git commands to generate.