]> git.pld-linux.org Git - packages/crossmingw64-gcc.git/blame - gcc-branch.diff
- md5 for gcc tarball.
[packages/crossmingw64-gcc.git] / gcc-branch.diff
CommitLineData
57ca920f
PS
1Index: 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 ();
13Index: 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
20Index: 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);
42Index: 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)
57Index: 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))
82Index: 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
88Index: 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
533Index: 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+
583Index: 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+}
616Index: 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+}
654Index: 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+}
697Index: 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" } */
706Index: 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 } } */
716Index: 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 } } */
726Index: 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 } } */
736Index: 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 } } */
746Index: 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 } } */
756Index: 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 } } */
766Index: 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 } } */
776Index: 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 } */
786Index: 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" } } */
803Index: 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 } } */
813Index: 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" } } */
823Index: 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 } } */
833Index: 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 ()
848Index: 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;
858Index: 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" } } */
875Index: 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 {
886Index: 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+}
932Index: 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 } } */
942Index: 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+}
989Index: 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" } } */
1006Index: 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" } } */
1031Index: 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 } */
1041Index: 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 } } */
1051Index: 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
1234Index: 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.
1245Index: 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+}
1273Index: 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;
1298Index: 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+
1315Index: 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
1932Index: 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
2055Index: 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
2081Index: 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
2284Index: 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
2765Index: 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
2815Index: 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
3820Index: 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
5175Index: 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 }
5199Index: 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
6352Index: 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
6376Index: 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
6400Index: 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+}
6424Index: 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
6455Index: 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 } }
6465Index: 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)
6478Index: 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
6500Index: 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 {
6531Index: 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. */
6546Index: 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.
6564Index: 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
6585Index: 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))
6598Index: 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);
6614Index: 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
6632Index: 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. */
6647Index: 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
6660Index: 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
6745Index: 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
6759Index: 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 }
6955Index: 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
6972Index: 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
6993Index: 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
7040Index: 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.
7133Index: 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
7164Index: 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)
7186Index: 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 }
7242Index: 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
7318Index: 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. */
7359Index: 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 \
7372Index: 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;
7390Index: 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
7489Index: 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 }
7651Index: 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
7745Index: 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
7752Index: 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 {
7772Index: 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
7791Index: 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. */
7834Index: 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);
7916Index: 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
7929Index: 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))
7945Index: 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 }
7983Index: 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);
7998Index: 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);
8011Index: 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
8116Index: 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);
8128Index: 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
8147Index: 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))
8161Index: 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"),
8176Index: 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 ();
8189Index: 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 {
8212Index: 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.
8230Index: 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 ]
8387Index: 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>")])
8409Index: 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>"
8772Index: 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. */
8786Index: 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" "")
8799Index: 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
8810Index: 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) \
8826Index: 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,
8846Index: 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
8877Index: 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>
9062Index: 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.
9298Index: 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*
9520Index: 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
10435Index: 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
10474Index: 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 *
10501Index: 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
10514Index: 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 /**
10544Index: 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
10557Index: 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 {
10632Index: 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>
10698Index: 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
10738Index: 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 */
10778Index: 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.
10861Index: 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+}
10897Index: 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)
10932Index: 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
10944Index: 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
10956Index: 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
10968Index: 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
10980Index: 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 /**
10993Index: 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.
11021Index: 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.");
11047Index: 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());
11070Index: 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);
11093Index: libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList$3.class
11094===================================================================
11095Nie można wyświetlić: plik binarny.
11096svn:mime-type = application/octet-stream
11097Index: libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList$2.class
11098===================================================================
11099Nie można wyświetlić: plik binarny.
11100svn:mime-type = application/octet-stream
11101Index: libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList.class
11102===================================================================
11103Nie można wyświetlić: plik binarny.
11104svn:mime-type = application/octet-stream
11105Index: libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList$1.class
11106===================================================================
11107Nie można wyświetlić: plik binarny.
11108svn:mime-type = application/octet-stream
11109Index: libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList$SubList.class
11110===================================================================
11111Nie można wyświetlić: plik binarny.
11112svn:mime-type = application/octet-stream
11113Index: libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList$RandomAccessSubList.class
11114===================================================================
11115Nie można wyświetlić: plik binarny.
11116svn:mime-type = application/octet-stream
11117Index: libjava/classpath/lib/gnu/javax/print/ipp/IppRequest$RequestWriter.class
11118===================================================================
11119Nie można wyświetlić: plik binarny.
11120svn:mime-type = application/octet-stream
11121Index: libjava/classpath/lib/gnu/javax/print/ipp/IppResponse$ResponseReader.class
11122===================================================================
11123Nie można wyświetlić: plik binarny.
11124svn:mime-type = application/octet-stream
11125Index: libjava/classpath/lib/gnu/javax/print/ipp/IppRequest.class
11126===================================================================
11127Nie można wyświetlić: plik binarny.
11128svn:mime-type = application/octet-stream
11129Index: libjava/classpath/lib/gnu/javax/print/ipp/IppPrintService.class
11130===================================================================
11131Nie można wyświetlić: plik binarny.
11132svn:mime-type = application/octet-stream
11133Index: libjava/classpath/lib/gnu/javax/print/ipp/IppResponse.class
11134===================================================================
11135Nie można wyświetlić: plik binarny.
11136svn:mime-type = application/octet-stream
11137Index: libjava/classpath/lib/javax/print/attribute/standard/JobStateReasons.class
11138===================================================================
11139Nie można wyświetlić: plik binarny.
11140svn:mime-type = application/octet-stream
11141Index: 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.691751 seconds and 4 git commands to generate.