]> git.pld-linux.org Git - packages/gcc.git/blame - gcc-branch.diff
- rel 3; branch diff updated
[packages/gcc.git] / gcc-branch.diff
CommitLineData
55465a90
AM
1Index: libgomp/ChangeLog
2===================================================================
3--- libgomp/ChangeLog (.../tags/gcc_4_4_1_release) (wersja 151837)
4+++ libgomp/ChangeLog (.../branches/gcc-4_4-branch) (wersja 151837)
5@@ -1,3 +1,8 @@
6+2009-08-19 Tobias Burnus <burnus@net-b.de>
7+
8+ PR fortran/41102
9+ omp_lib.h.in: Fix -std=f95 errors.
10+
11 2009-07-22 Release Manager
12
13 * GCC 4.4.1 released.
14Index: libgomp/omp_lib.h.in
15===================================================================
16--- libgomp/omp_lib.h.in (.../tags/gcc_4_4_1_release) (wersja 151837)
17+++ libgomp/omp_lib.h.in (.../branches/gcc-4_4-branch) (wersja 151837)
18@@ -42,16 +42,16 @@
19 external omp_set_num_threads
20
21 external omp_get_dynamic, omp_get_nested
22- logical*4 omp_get_dynamic, omp_get_nested
23+ logical(4) omp_get_dynamic, omp_get_nested
24 external omp_test_lock, omp_in_parallel
25- logical*4 omp_test_lock, omp_in_parallel
26+ logical(4) omp_test_lock, omp_in_parallel
27
28 external omp_get_max_threads, omp_get_num_procs
29- integer*4 omp_get_max_threads, omp_get_num_procs
30+ integer(4) omp_get_max_threads, omp_get_num_procs
31 external omp_get_num_threads, omp_get_thread_num
32- integer*4 omp_get_num_threads, omp_get_thread_num
33+ integer(4) omp_get_num_threads, omp_get_thread_num
34 external omp_test_nest_lock
35- integer*4 omp_test_nest_lock
36+ integer(4) omp_test_nest_lock
37
38 external omp_get_wtick, omp_get_wtime
39 double precision omp_get_wtick, omp_get_wtime
40@@ -61,6 +61,6 @@
41 external omp_get_max_active_levels, omp_get_level
42 external omp_get_ancestor_thread_num, omp_get_team_size
43 external omp_get_active_level
44- integer*4 omp_get_thread_limit, omp_get_max_active_levels
45- integer*4 omp_get_level, omp_get_ancestor_thread_num
46- integer*4 omp_get_team_size, omp_get_active_level
47+ integer(4) omp_get_thread_limit, omp_get_max_active_levels
48+ integer(4) omp_get_level, omp_get_ancestor_thread_num
49+ integer(4) omp_get_team_size, omp_get_active_level
50Index: libdecnumber/decCommon.c
51===================================================================
52--- libdecnumber/decCommon.c (.../tags/gcc_4_4_1_release) (wersja 151837)
53+++ libdecnumber/decCommon.c (.../branches/gcc-4_4-branch) (wersja 151837)
54@@ -1089,6 +1089,7 @@
55 return 10;
56 } /* decFloatRadix */
57
58+#if (DECCHECK || DECTRACE)
59 /* ------------------------------------------------------------------ */
60 /* decFloatShow -- printf a decFloat in hexadecimal and decimal */
61 /* df is the decFloat to show */
62@@ -1115,6 +1116,7 @@
63 printf(">%s> %s [big-endian] %s\n", tag, hexbuf, buff);
64 return;
65 } /* decFloatShow */
66+#endif
67
68 /* ------------------------------------------------------------------ */
69 /* decFloatToBCD -- get sign, exponent, and BCD8 from a decFloat */
70Index: libdecnumber/ChangeLog
71===================================================================
72--- libdecnumber/ChangeLog (.../tags/gcc_4_4_1_release) (wersja 151837)
73+++ libdecnumber/ChangeLog (.../branches/gcc-4_4-branch) (wersja 151837)
74@@ -1,3 +1,9 @@
75+2009-08-13 Janis Johnson <janis187@us.ibm.com>
76+
77+ PR c/41046
78+ * decCommon.c ( decFloatShow): Define function only for DECCHECK
79+ or DECTRACE.
80+
81 2009-07-22 Release Manager
82
83 * GCC 4.4.1 released.
84Index: gcc/doc/invoke.texi
85===================================================================
86--- gcc/doc/invoke.texi (.../tags/gcc_4_4_1_release) (wersja 151837)
87+++ gcc/doc/invoke.texi (.../branches/gcc-4_4-branch) (wersja 151837)
88@@ -456,7 +456,7 @@
89 -mfix-cortex-m3-ldrd}
90
91 @emph{AVR Options}
92-@gccoptlist{-mmcu=@var{mcu} -msize -minit-stack=@var{n} -mno-interrupts @gol
93+@gccoptlist{-mmcu=@var{mcu} -msize -mno-interrupts @gol
94 -mcall-prologues -mno-tablejump -mtiny-stack -mint8}
95
96 @emph{Blackfin Options}
97@@ -6513,7 +6513,7 @@
98
99 @item -fstrict-aliasing
100 @opindex fstrict-aliasing
101-Allows the compiler to assume the strictest aliasing rules applicable to
102+Allow the compiler to assume the strictest aliasing rules applicable to
103 the language being compiled. For C (and C++), this activates
104 optimizations based on the type of expressions. In particular, an
105 object of one type is assumed never to reside at the same address as an
106@@ -6530,7 +6530,7 @@
107 @};
108
109 int f() @{
110- a_union t;
111+ union a_union t;
112 t.d = 3.0;
113 return t.i;
114 @}
115@@ -6543,7 +6543,7 @@
116 implementation}. However, this code might not:
117 @smallexample
118 int f() @{
119- a_union t;
120+ union a_union t;
121 int* ip;
122 t.d = 3.0;
123 ip = &t.i;
124@@ -9277,11 +9277,6 @@
125 @opindex msize
126 Output instruction sizes to the asm file.
127
128-@item -minit-stack=@var{N}
129-@opindex minit-stack
130-Specify the initial stack address, which may be a symbol or numeric value,
131-@samp{__stack} is the default.
132-
133 @item -mno-interrupts
134 @opindex mno-interrupts
135 Generated code is not compatible with hardware interrupts.
136Index: gcc/doc/service.texi
137===================================================================
138--- gcc/doc/service.texi (.../tags/gcc_4_4_1_release) (wersja 151837)
139+++ gcc/doc/service.texi (.../branches/gcc-4_4-branch) (wersja 151837)
140@@ -21,7 +21,7 @@
141 @item
142 Look in the service directory for someone who might help you for a fee.
143 The service directory is found at
144-@uref{http://www.gnu.org/prep/service.html}.
145+@uref{http://www.fsf.org/resources/service}.
146 @end itemize
147
148 For further information, see
149Index: gcc/doc/install.texi
150===================================================================
151--- gcc/doc/install.texi (.../tags/gcc_4_4_1_release) (wersja 151837)
152+++ gcc/doc/install.texi (.../branches/gcc-4_4-branch) (wersja 151837)
153@@ -2463,7 +2463,7 @@
154 @samp{make pdf} in place of @samp{make dvi}, you can create documentation
155 in the form of @file{.pdf} files; this requires @command{texi2pdf}, which
156 is included with Texinfo version 4.8 and later. You can also
157-@uref{http://www.gnu.org/order/order.html,,buy printed manuals from the
158+@uref{http://shop.fsf.org/,,buy printed manuals from the
159 Free Software Foundation}, though such manuals may not be for the most
160 recent version of GCC@.
161
162@@ -2512,7 +2512,7 @@
163 @uref{http://pware.hvcc.edu,,Hudson Valley Community College Open Source Software for IBM System p};
164
165 @item
166-@uref{http://www.perzl.org/aix,,AIX 5L and 6 Open Source Packages}.
167+@uref{http://www.perzl.org/aix/,,AIX 5L and 6 Open Source Packages}.
168 @end itemize
169
170 @item
171@@ -2887,8 +2887,6 @@
172 @item
173 @uref{http://www.nongnu.org/avr/,,http://www.nongnu.org/avr/}
174 @item
175-@uref{http://home.overta.ru/users/denisc/,,http://home.overta.ru/users/denisc/}
176-@item
177 @uref{http://www.amelek.gda.pl/avr/,,http://www.amelek.gda.pl/avr/}
178 @end itemize
179
180Index: gcc/java/ChangeLog
181===================================================================
182--- gcc/java/ChangeLog (.../tags/gcc_4_4_1_release) (wersja 151837)
183+++ gcc/java/ChangeLog (.../branches/gcc-4_4-branch) (wersja 151837)
184@@ -1,3 +1,9 @@
185+2009-08-11 Dodji Seketeli <dodji@redhat.com>
186+
187+ PR debug/40990
188+ * lang.c (put_decl_node): Outputs different level of information
189+ depending on the verbosity level.
190+
191 2009-07-22 Release Manager
192
193 * GCC 4.4.1 released.
194Index: gcc/java/lang.c
195===================================================================
196--- gcc/java/lang.c (.../tags/gcc_4_4_1_release) (wersja 151837)
197+++ gcc/java/lang.c (.../branches/gcc-4_4-branch) (wersja 151837)
198@@ -53,7 +53,7 @@
199
200 static int java_handle_option (size_t scode, const char *arg, int value);
201 static void put_decl_string (const char *, int);
202-static void put_decl_node (tree);
203+static void put_decl_node (tree, int);
204 static void java_print_error_function (diagnostic_context *, const char *,
205 diagnostic_info *);
206 static int merge_init_test_initialization (void * *, void *);
207@@ -355,10 +355,13 @@
208 decl_bufpos += len;
209 }
210
211-/* Append to decl_buf a printable name for NODE. */
212+/* Append to decl_buf a printable name for NODE.
213+ Depending on VERBOSITY, more information about NODE
214+ is printed. Read the comments of decl_printable_name in
215+ langhooks.h for more. */
216
217 static void
218-put_decl_node (tree node)
219+put_decl_node (tree node, int verbosity)
220 {
221 int was_pointer = 0;
222 if (TREE_CODE (node) == POINTER_TYPE)
223@@ -370,17 +373,32 @@
224 {
225 if (TREE_CODE (node) == FUNCTION_DECL)
226 {
227+ if (verbosity == 0 && DECL_NAME (node))
228+ /* We have been instructed to just print the bare name
229+ of the function. */
230+ {
231+ put_decl_node (DECL_NAME (node), 0);
232+ return;
233+ }
234+
235 /* We want to print the type the DECL belongs to. We don't do
236 that when we handle constructors. */
237 if (! DECL_CONSTRUCTOR_P (node)
238- && ! DECL_ARTIFICIAL (node) && DECL_CONTEXT (node))
239+ && ! DECL_ARTIFICIAL (node) && DECL_CONTEXT (node)
240+ /* We want to print qualified DECL names only
241+ if verbosity is higher than 1. */
242+ && verbosity >= 1)
243 {
244- put_decl_node (TYPE_NAME (DECL_CONTEXT (node)));
245+ put_decl_node (TYPE_NAME (DECL_CONTEXT (node)),
246+ verbosity);
247 put_decl_string (".", 1);
248 }
249 if (! DECL_CONSTRUCTOR_P (node))
250- put_decl_node (DECL_NAME (node));
251- if (TREE_TYPE (node) != NULL_TREE)
252+ put_decl_node (DECL_NAME (node), verbosity);
253+ if (TREE_TYPE (node) != NULL_TREE
254+ /* We want to print function parameters only if verbosity
255+ is higher than 2. */
256+ && verbosity >= 2)
257 {
258 int i = 0;
259 tree args = TYPE_ARG_TYPES (TREE_TYPE (node));
260@@ -391,19 +409,22 @@
261 {
262 if (i > 0)
263 put_decl_string (",", 1);
264- put_decl_node (TREE_VALUE (args));
265+ put_decl_node (TREE_VALUE (args), verbosity);
266 }
267 put_decl_string (")", 1);
268 }
269 }
270 else
271- put_decl_node (DECL_NAME (node));
272+ put_decl_node (DECL_NAME (node), verbosity);
273 }
274 else if (TYPE_P (node) && TYPE_NAME (node) != NULL_TREE)
275 {
276- if (TREE_CODE (node) == RECORD_TYPE && TYPE_ARRAY_P (node))
277+ if (TREE_CODE (node) == RECORD_TYPE && TYPE_ARRAY_P (node)
278+ /* Print detailed array information only if verbosity is higher
279+ than 2. */
280+ && verbosity >= 2)
281 {
282- put_decl_node (TYPE_ARRAY_ELEMENT (node));
283+ put_decl_node (TYPE_ARRAY_ELEMENT (node), verbosity);
284 put_decl_string("[]", 2);
285 }
286 else if (node == promoted_byte_type_node)
287@@ -417,7 +438,7 @@
288 else if (node == void_type_node && was_pointer)
289 put_decl_string ("null", 4);
290 else
291- put_decl_node (TYPE_NAME (node));
292+ put_decl_node (TYPE_NAME (node), verbosity);
293 }
294 else if (TREE_CODE (node) == IDENTIFIER_NODE)
295 put_decl_string (IDENTIFIER_POINTER (node), IDENTIFIER_LENGTH (node));
296@@ -434,10 +455,7 @@
297 lang_printable_name (tree decl, int v)
298 {
299 decl_bufpos = 0;
300- if (v == 0 && TREE_CODE (decl) == FUNCTION_DECL)
301- put_decl_node (DECL_NAME (decl));
302- else
303- put_decl_node (decl);
304+ put_decl_node (decl, v);
305 put_decl_string ("", 1);
306 return decl_buf;
307 }
2a12872e
AM
308Index: gcc/DATESTAMP
309===================================================================
55465a90
AM
310--- gcc/DATESTAMP (.../tags/gcc_4_4_1_release) (wersja 151837)
311+++ gcc/DATESTAMP (.../branches/gcc-4_4-branch) (wersja 151837)
2a12872e 312@@ -1 +1 @@
f06d2ced 313-20090722
55465a90
AM
314+20090918
315Index: gcc/builtins.c
316===================================================================
317--- gcc/builtins.c (.../tags/gcc_4_4_1_release) (wersja 151837)
318+++ gcc/builtins.c (.../branches/gcc-4_4-branch) (wersja 151837)
319@@ -8634,15 +8634,18 @@
320 }
321 }
322
323- /* Optimize pow(pow(x,y),z) = pow(x,y*z). */
324+ /* Optimize pow(pow(x,y),z) = pow(x,y*z) iff x is nonnegative. */
325 if (fcode == BUILT_IN_POW
326 || fcode == BUILT_IN_POWF
327 || fcode == BUILT_IN_POWL)
328 {
329 tree arg00 = CALL_EXPR_ARG (arg0, 0);
330- tree arg01 = CALL_EXPR_ARG (arg0, 1);
331- tree narg1 = fold_build2 (MULT_EXPR, type, arg01, arg1);
332- return build_call_expr (fndecl, 2, arg00, narg1);
333+ if (tree_expr_nonnegative_p (arg00))
334+ {
335+ tree arg01 = CALL_EXPR_ARG (arg0, 1);
336+ tree narg1 = fold_build2 (MULT_EXPR, type, arg01, arg1);
337+ return build_call_expr (fndecl, 2, arg00, narg1);
338+ }
339 }
340 }
341
2a12872e
AM
342Index: gcc/DEV-PHASE
343===================================================================
55465a90
AM
344--- gcc/DEV-PHASE (.../tags/gcc_4_4_1_release) (wersja 151837)
345+++ gcc/DEV-PHASE (.../branches/gcc-4_4-branch) (wersja 151837)
2a12872e
AM
346@@ -0,0 +1 @@
347+prerelease
348Index: gcc/ChangeLog
349===================================================================
55465a90
AM
350--- gcc/ChangeLog (.../tags/gcc_4_4_1_release) (wersja 151837)
351+++ gcc/ChangeLog (.../branches/gcc-4_4-branch) (wersja 151837)
352@@ -1,3 +1,354 @@
353+2009-09-16 Richard Guenther <rguenther@suse.de>
354+
355+ Backport from mainline
356+ 2009-09-09 Richard Guenther <rguenther@suse.de>
357+
358+ PR tree-optimization/41101
359+ * tree-ssa-pre.c (maximal_set): Remove.
360+ (compute_antic_aux): Treat the maximal set as implicitly all ones.
361+ Defer all blocks we didn't visit at least one successor.
362+ (add_to_exp_gen): Do not add to the maximal set.
363+ (make_values_for_phi): Likewise.
364+ (compute_avail): Likewise.
365+ (init_pre): Do not allocate the maximal set.
366+ (execute_pre): Do not dump it.
367+
368+2009-09-14 Uros Bizjak <ubizjak@gmail.com>
369+
370+ * config/alpha/alpha.md (smaxsf3): Disable for IEEE mode.
371+ (sminsf3): Ditto.
372+
373+2009-09-13 Kai Tietz <kai.tietz@onevision.com>
374+
375+ * config.gcc (i?86-*-mingw* and x86_64-*-mingw*): Set
376+ need_64bit_hwint for x64 case to yes.
377+ * config.host: Set for x64 mingw the option
378+ use_long_long_for_widest_fast_int to yes.
379+
380+2009-09-12 Gerald Pfeifer <gerald@pfeifer.com>
381+
382+ * doc/install.texi (avr): Remove obsolete reference site.
383+
384+2009-09-12 Gerald Pfeifer <gerald@pfeifer.com>
385+
386+ * doc/install.texi (Binaries): Adjust AIX link.
387+
388+2009-09-11 Akim Demaille <demaille@gostai.com>
389+
390+ * doc/invoke.texi (-fstrict-aliasing): Correct two examples.
391+ Use an imperative sentence.
392+
393+2009-09-09 Kai Tietz <kai.tietz@onevision.com>
394+
395+ PR/41315
396+ * config/i386.c (ix86_can_use_return_insn_p): Check for
397+ padding0, too.
398+ (ix86_expand_prologue): Take frame.padding0 into logic of
399+ to_allocate checks.
400+ (ix86_expand_epilogue): Likewise.
401+
402+2009-09-07 Uros Bizjak <ubizjak@gmail.com>
403+
404+ Backport from mainline:
405+ 2009-08-27 Uros Bizjak <ubizjak@gmail.com>
406+
407+ PR rtl-optimization/40861
408+ * simplify-rtx.c (simplify_subreg): Do not call simplify_gen_subreg to
409+ extract word from a multi-word subreg for negative byte positions.
410+
411+2009-09-04 Wolfgang Gellerich <gellerich@de.ibm.com>
412+
413+ * config/s390/2097.md: Removed two incorrect bypasses.
414+ (z10_fsimpdf): Fixed latency.
415+ (z10_fhex): New insn_reservation.
416+ (z10_floaddf): Fixed latency.
417+ (z10_floadsf): Fixed latency.
418+ (z10_ftrunctf): Fixed latency.
419+ (z10_ftruncdf): Fixed latency.
420+ * config/s390/s390.c (z10_cost): Fixed values.
421+ (s390_adjust_priority): Added z10 path.
422+ * config/s390/s390.md (type): Added fhex.
423+ (*mov<mode>_64dfp): Updated type attribute.
424+ (*mov<mode>_64): Updated type attribute.
425+ (*mov<mode>_31): Updated type attribute.
426+ (*mov<mode>"): Likewise.
427+ * config/s390/2084.md (x_fsimpdf): Updated condition.
428+
429+2009-08-31 Chris Demetriou <cgd@google.com>
430+
431+ * config/i386/i386.c (ix86_vectorize_builtin_conversion): Never
432+ vectorize if not TARGET_SSE2.
433+
434+2009-08-31 Gerald Pfeifer <gerald@pfeifer.com>
435+
436+ * doc/install.texi (Final install): Adjust reference on where to
437+ order printed manuals.
438+
439+2009-08-29 Kai Tietz<kai.tietz@onevision.com>
440+
441+ PR/41184
442+ * config/i386.c (ix86_expand_epilogue): Correct stack adjustment for
443+ padding.
444+
445+2009-08-28 Jan Beulich <jbeulich@novell.com>
446+
447+ * config/i386/netware.c: Include langhooks.h.
448+ (i386_nlm_encode_section_info): Simplify.
449+ (netware_override_options): Delete.
450+ * config/i386/netware.h (netware_override_options): Delete
451+ declaration.
452+ (OVERRIDE_OPTIONS): Delete definition.
453+ (SUBTARGET_OVERRIDE_OPTIONS): Define.
454+ (ASM_COMMENT_START): Define.
455+ * config/i386/nwld.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
456+
457+2009-08-28 Uros Bizjak <ubizjak@gmail.com>
458+
459+ Backport from mainline:
460+ 2009-08-26 Uros Bizjak <ubizjak@gmail.com>
461+
462+ * config/alpha/sync.md: Update comment about unpredictable LL/SC lock
463+ clearing by a taken branch.
464+ (sync_<fetchop_name><mode>): Split when epilogue_completed is set,
465+ effectively after bbro pass.
466+ (sync_nand<mode>): Ditto.
467+ (sync_old_<fetchop_name><mode>): Ditto.
468+ (sync_old_nand<mode>): Ditto.
469+ (sync_new_<fetchop_name><mode>): Dito.
470+ (sync_new_nand<mode>): Ditto.
471+ (sync_compare_and_swap<mode>_1): Ditto.
472+ (*sync_compare_and_swap<mode>): Ditto.
473+ (sync_lock_test_and_set<mode>_1): Ditto.
474+ ("sync_lock_test_and_set<mode>): Ditto.
475+
476+ 2009-08-25 Uros Bizjak <ubizjak@gmail.com>
477+
478+ * config/alpha/alpha.md (*cmpdf_ieee_ext[123]): Remove.
479+ (*cmpdf_internal): Enable for all ALPHA_FPTM levels.
480+ (*movdfcc_ext[1234]): Disable for IEEE mode.
481+
482+ 2009-08-16 Uros Bizjak <ubizjak@gmail.com>
483+
484+ * config/alpha/alpha.c (alpha_end_function): Handle NULL_RTX returned
485+ from prev_active_insn.
486+
487+2009-08-27 Gerald Pfeifer <gerald@pfeifer.com>
488+
489+ * doc/service.texi (service directory): Update URL.
490+
491+2009-08-26 Anatoly Sokolov <aesok@post.ru>
492+
493+ * doc/invoke.texi (AVR Options): Remove documentation of -minit-stack
494+ switch.
495+
496+2009-08-25 Anatoly Sokolov <aesok@post.ru>
497+
498+ PR target/34412
499+ * config/avr/avr.c (expand_epilogue): Use correct QI mode frame
500+ pointer for tiny stack.
501+
502+2009-08-24 Richard Guenther <rguenther@suse.de>
503+
504+ PR middle-end/41094
505+ * builtins.c (fold_builtin_pow): Fold pow(pow(x,y),z) to
506+ pow(x,y*z) only if x is nonnegative.
507+
508+2009-08-23 Uros Bizjak <ubizjak@gmail.com>
509+
510+ PR target/40718
511+ * config/i386/i386.c (*call_pop_1): Disable for sibling calls.
512+ (*call_value_pop_1): Ditto.
513+ (*sibcall_pop_1): New insn pattern.
514+ (*sibcall_value_pop_1): Ditto.
515+
516+2009-08-20 Andreas Krebbel <krebbel1@de.ibm.com>
517+
518+ * config/s390/s390.c (Z10_PREDICT_DISTANCE): New macro.
519+ (s390_z10_fix_long_loop_prediction): New function.
520+ (s390_z10_optimize_cmp): INSN walk moved to callee - s390_reorg.
521+ (s390_reorg): Walk over the INSNs and invoke
522+ s390_z10_fix_long_loop_prediction and s390_z10_optimize_cmp.
523+
524+2009-08-19 Jakub Jelinek <jakub@redhat.com>
525+
526+ PR middle-end/41123
527+ * expr.c (expand_expr_real_1) <normal_inner_ref>: Handle all kinds
528+ of CONCAT, not just bitpos 0 bitsize size of the whole CONCAT.
529+
530+2009-08-18 Jakub Jelinek <jakub@redhat.com>
531+
532+ PR target/40971
533+ * config/rs6000/rs6000.c (rs6000_legitimize_address): For
534+ [DT][FDI]mode ensure the offset isn't 4/8/12 bytes below 0x8000.
535+
536+2009-08-16 Uros Bizjak <ubizjak@gmail.com>
537+
538+ Backport from mainline:
539+ 2009-08-14 Uros Bizjak <ubizjak@gmail.com>
540+
541+ PR target/41019
542+ * config/i386/sse.md (SSEMODE124C8): New mode iterator.
543+ (vcond<SSEMODEF2P:mode>): Assert that operation is supported by
544+ ix86_expand_fp_vcond.
545+ (vcond<SSEMODE124C8:mode>): Use SSEMODE124C8 instead of SSEMODE124.
546+ Assert that operation is supported by ix86_expand_int_vcond.
547+ (vcondu<SSEMODE124C8:mode>): Ditto.
548+
549+2009-08-16 Dodji Seketeli <dodji@redhat.com>
550+
551+ PR debug/37801
552+ * gcc/dwarf2out.c (gen_inlined_subroutine_die): Concentrate on
553+ generating inlined subroutine die only. We shouldn't be
554+ called for anything else.
555+ (gen_block_die): Don't generate inline subroutine debug info for
556+ abstract blocks.
557+
558+2009-08-13 Uros Bizjak <ubizjak@gmail.com>
559+
560+ Backport from mainline:
561+ 2009-08-11 Uros Bizjak <ubizjak@gmail.com>
562+
563+ PR target/8603
564+ * config/alpha/alpha.md (addsi3): Remove expander.
565+ (addsi3): Rename from *addsi3_internal insn pattern.
566+ (subsi3): Remove expander.
567+ (subsi3): Rename from *subsi3_internal insn pattern.
568+
569+2009-08-13 Andrey Belevantsev <abel@ispras.ru>
570+
571+ PR rtl-optimization/41033
572+ * alias.c (nonoverlapping_component_refs_p): Punt when strict
573+ aliasing is disabled.
574+
575+2009-08-11 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
576+
577+ Backport from mainline:
578+ 2009-08-10 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
579+
580+ PR target/41015
581+ * longlong.h [__sh__] (udiv_qrnnd): Add T register to clobber list.
582+ (sub_ddmmss): Likewise.
583+
584+2009-08-10 Andreas Tobler <a.tobler@schweiz.org>
585+
586+ PR bootstrap/41018
587+ * config/rs6000/freebsd.h: Define SVR4_ASM_SPEC. Adjust copyright
588+ year.
589+
590+2009-08-09 Richard Guenther <rguenther@suse.de>
591+
592+ PR tree-optimization/41016
593+ * tree-ssa-ifcombine.c (get_name_for_bit_test): Fix tuplification bug.
594+ (operand_precision): Remove.
595+ (integral_operand_p): Likewise.
596+ (recognize_single_bit_test): Adjust.
597+
598+2009-08-05 Uros Bizjak <ubizjak@gmail.com>
599+ Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
600+
601+ PR target/40906
602+ * config/i386/i386.c (ix86_split_long_move): Fix push of multi-part
603+ source operand.
604+
605+2009-08-05 Richard Earnshaw <rearnsha@arm.com>
606+
607+ * arm.md (movdi2): Copy non-reg values to DImode registers.
608+
609+2009-08-05 Jakub Jelinek <jakub@redhat.com>
610+
611+ PR rtl-optimization/40924
612+ * dse.c (canon_address): Before calling cselib_expand_value_rtx
613+ make sure canon_rtx (mem_address) isn't simpler than
614+ canon_rtx (expanded_mem_address).
615+
616+2009-08-03 Janis Johnson <janis187@us.ibm.com>
617+
618+ PR c/39902
619+ * simplify-rtx.c (simplify_binary_operation_1): Disable
620+ simplifications for decimal float operations.
621+
622+2009-08-03 Jakub Jelinek <jakub@redhat.com>
623+
624+ PR middle-end/40943
625+ * tree-ssa.c (warn_uninitialized_var): Even on LHS warn for
626+ operand of INDIRECT_REF.
627+
628+2009-08-03 Uros Bizjak <ubizjak@gmail.com>
629+
630+ * config/alpha/alpha.c (alpha_legitimate_constant_p): Reject CONST
631+ constants referencing TLS symbols.
632+
633+2009-07-30 Andreas Krebbel <krebbel1@de.ibm.com>
634+
635+ * config/s390/s390.c (override_options): Default
636+ max-unrolled-insns to 100 for z10 tuning.
637+
638+2009-07-30 Andreas Krebbel <krebbel1@de.ibm.com>
639+
640+ * config/s390/constraints.md (ZQ, ZR, ZS, ZT): New constraints.
641+ (U, W): Constraints are now deprecated and will be removed if we
642+ run out of letters.
643+ * config/s390/s390.md (U, W): Replaced with ZQZR, ZSZT throughout
644+ the file.
645+ ("prefetch"): Add the stcmh instruction for prefetching.
646+ * config/s390/s390.c (s390_symref_operand_p): Function moved. No
647+ changes.
648+ (s390_short_displacement): Return always true if compiling for
649+ machines not providing the long displacement facility.
650+ (s390_mem_constraint): Support the new constraint letter Z.
651+ (s390_check_qrst_address): New function.
652+
653+2009-07-30 Uros Bizjak <ubizjak@gmail.com>
654+
655+ PR target/40577
656+ * config/alpha/alpha.c (alpha_expand_unaligned_store): Convert src
657+ to DImode when generating insq_le insn.
658+
659+2009-07-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
660+
661+ Backport from mainline:
662+ 2009-07-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
663+
664+ * pa.c (compute_zdepwi_operands): Limit deposit length to 32 - lsb.
665+ Cast "1" to unsigned HOST_WIDE_INT.
666+ (compute_zdepdi_operands): Limit maximum length to 64 bits. Limit
667+ deposit length to the maximum length - lsb. Extend length if
668+ HOST_BITS_PER_WIDE_INT is 32.
669+
670+2009-07-25 Mark Loeser <mark@halcy0n.com>
671+
672+ PR build/40010
673+ * Makefile.in (gcc.pod): Depend on gcc-vers.texi.
674+
f06d2ced 675+2009-07-23 Uros Bizjak <ubizjak@gmail.com>
52d9744f 676+
f06d2ced 677+ PR target/40832
55465a90 678+ * config/i386/i386.c (output_387_ffreep): Rewrite to use
f06d2ced
AM
679+ ASM_SHORT instead of .word.
680+ * config/i386/i386.md (*tls_global_dynamic_64): Use ASM_SHORT
681+ instead of .word in asm template.
52d9744f 682+
f06d2ced 683+2009-07-22 Kaz Kojima <kkojima@gcc.gnu.org>
2a12872e
AM
684+
685+ Backport from mainline:
f06d2ced 686+ 2009-07-15 Eric Botcazou <ebotcazou@adacore.com>
2a12872e 687+
f06d2ced
AM
688+ PR rtl-optimization/40710
689+ * resource.c (mark_target_live_regs): Reset DF problem to LR.
2a12872e 690+
f06d2ced 691+2009-07-22 Richard Guenther <rguenther@suse.de>
2a12872e 692+
f06d2ced
AM
693+ PR tree-optimization/40321
694+ * tree-ssa-pre.c (add_to_exp_gen): Also add names defined by
695+ PHI nodes to the maximal set.
696+ (make_values_for_phi): Add PHI arguments to the maximal set.
697+ (execute_pre): Dump PHI_GEN and the maximal set.
2a12872e 698+
f06d2ced 699+2009-07-22 Jakub Jelinek <jakub@redhat.com>
2a12872e 700+
f06d2ced 701+ * BASE-VER: Set to 4.4.2.
2a12872e
AM
702+ * DEV-PHASE: Set to prerelease.
703+
f06d2ced 704 2009-07-22 Release Manager
2a12872e 705
f06d2ced 706 * GCC 4.4.1 released.
55465a90
AM
707@@ -12,7 +363,7 @@
708
709 Backport from mainline:
710 2009-04-29 Richard Guenther <rguenther@suse.de>
711-
712+
713 PR target/39943
714 * config/i386/i386.c (ix86_vectorize_builtin_conversion): Only
715 allow conversion to signed integers.
716@@ -99,7 +450,7 @@
717 PR target/40587
718 * ira.c (build_insn_chain): Use DF_LR_OUT instead of
719 df_get_live_out.
720-
721+
722 2009-07-02 Richard Guenther <rguenther@suse.de>
723
724 PR middle-end/40585
725@@ -110,9 +461,9 @@
726
727 Backport from mainline:
728 2009-05-11 Martin Jambor <mjambor@suse.cz>
729-
730+
731 * ipa-cp.c (ipcp_cloning_candidate_p): Add missing return false.
732-
733+
734 2009-06-30 Jakub Jelinek <jakub@redhat.com>
735
736 PR c++/40566
737@@ -1179,7 +1530,7 @@
738 2009-03-27 Xinliang David Li <davidxl@google.com>
739
740 PR tree-optimization/39548
741- * tree-ssa-copy.c (copy_prop_visit_phi_node): Add copy
742+ * tree-ssa-copy.c (copy_prop_visit_phi_node): Add copy
743 candidate check.
744
745 2009-03-27 H.J. Lu <hongjiu.lu@intel.com>
746@@ -1195,7 +1546,8 @@
747 2009-03-27 Andrew Pinski <andrew_pinski@playstation.sony.com>
748
749 PR c++/36799
750- * ginclude/stdarg.h (va_copy): Define also for __GXX_EXPERIMENTAL_CXX0X__.
751+ * ginclude/stdarg.h (va_copy): Define also for
752+ __GXX_EXPERIMENTAL_CXX0X__.
753
754 2009-03-27 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
755
756@@ -1337,7 +1689,7 @@
757
758 2009-03-23 Bingfeng Mei <bmei@broadcom.com>
759
760- * config.gcc (need_64bit_hwint): Make clear that need_64bit_hwint
761+ * config.gcc (need_64bit_hwint): Make clear that need_64bit_hwint
762 should be set true if BITS_PER_WORD of target is bigger than 32
763
764 2009-03-22 Hans-Peter Nilsson <hp@axis.com>
765@@ -2062,7 +2414,7 @@
766 2009-02-27 Sebastian Pop <sebastian.pop@amd.com>
767
768 PR middle-end/39308
769- * graphite.c (graphite_loop_normal_form): Do not call
770+ * graphite.c (graphite_loop_normal_form): Do not call
771 number_of_iterations_exit from a gcc_assert.
772
773 2009-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
774@@ -2161,7 +2513,7 @@
775 PR c++/38880
776 * varasm.c (initializer_constant_valid_p) [PLUS_EXPR]: Check
777 narrowing_initializer_constant_valid_p.
778- (narrowing_initializer_constant_valid_p): Don't return
779+ (narrowing_initializer_constant_valid_p): Don't return
780 null_pointer_node for adding a pointer to itself.
781
782 2009-02-23 Jan Hubicka <jh@suse.cz>
783@@ -2853,7 +3205,7 @@
784 * c-common.c (handle_tls_model_attribute): Ignore attribute for
785 non-VAR_DECLs without checking DECL_THREAD_LOCAL_P.
786
787-2009-02-04 Tobias Grosser <grosser@fim.uni-passau.de>
788+2009-02-04 Tobias Grosser <grosser@fim.uni-passau.de>
789
790 * graphite.c (bb_in_sese_p, sese_build_livein_liveouts_use,
791 sese_build_livein_liveouts_bb, sese_build_livein_liveouts,
792@@ -3181,7 +3533,7 @@
793 count_spilled_pseudo, find_reg, alter_reg, delete_output_reload):
794 Remove flag_ira.
795 (finish_spills): Ditto. Remove code for !flag_ira.
796-
797+
798 2009-01-29 Kenneth Zadeck <zadeck@naturalbridge.com>
799
800 PR middle-end/35854
801@@ -3194,8 +3546,7 @@
802 "eh-ranges" to "eh_ranges".
803 * lower-subreg.c (pass_lower_subreg): Renamed pass from "subreg"
804 to "subreg1".
805-
806-
807+
808 2009-01-29 Andrey Belevantsev <abel@ispras.ru>
809 Alexander Monakov <amonakov@ispras.ru>
810
811@@ -3568,7 +3919,7 @@
812
813 2009-01-20 Sebastian Pop <sebastian.pop@amd.com>
814
815- * common.opt (fgraphite, fgraphite-identity): Add comment for
816+ * common.opt (fgraphite, fgraphite-identity): Add comment for
817 explaining why these options are not documented.
818
819 2009-01-20 Sebastian Pop <sebastian.pop@amd.com>
820@@ -3690,7 +4041,7 @@
821 2009-01-16 Sebastian Pop <sebastian.pop@amd.com>
822 Tobias Grosser <tobi.grosser@amd.com>
823
824- * graphite.c (add_conditions_to_domain): Add the loops to
825+ * graphite.c (add_conditions_to_domain): Add the loops to
826 the dimension of the iteration domain. Do copy the domain
827 only when it exists.
828 (build_scop_conditions_1): Do not call add_conditions_to_domain.
829@@ -3711,7 +4062,7 @@
830
831 * dce.c (delete_unmarked_insns): Reversed the order that insns are
832 examined before deleting them.
833-
834+
835 2009-01-16 Richard Earnshaw <rearnsha@arm.com>
836
837 * function.c (aggregate_value_p): Correctly extract the function
838@@ -3751,7 +4102,7 @@
839 2009-01-15 Kenneth Zadeck <zadeck@naturalbridge.com>
840
841 * dce.c (find_call_stack_args, delete_unmarked_insns): Fixed comments.
842-
843+
844 2009-01-14 Jakub Jelinek <jakub@redhat.com>
845
846 PR rtl-optimization/38245
847@@ -3786,7 +4137,7 @@
848 * graphite.c (get_vdef_before_scop, scop_adjust_vphi): New.
849 (scop_adjust_phis_for_liveouts): Call scop_adjust_vphi.
850 (gloog): Do not call cleanup_tree_cfg.
851- (graphite_transform_loops): Call cleanup_tree_cfg after all
852+ (graphite_transform_loops): Call cleanup_tree_cfg after all
853 scops have been code generated.
854
855 2009-01-14 Basile Starynkevitch <basile@starynkevitch.net>
856@@ -3927,7 +4278,7 @@
857 2009-01-11 Laurent GUERBY <laurent@guerby.net>
858
859 * doc/sourcebuild.texi (Source Tree): Move up intl and fixinc.
860-
861+
862 2009-01-11 Markus Schoepflin <markus.schoepflin@comsoft.de>
863
864 PR debug/7055
865@@ -4050,7 +4401,7 @@
866
867 PR tree-optimization/37194
868 * tree-vect-transform.c (vect_estimate_min_profitable_iters):
869- Don't add the cost of cost model guard in prologue to scalar
870+ Don't add the cost of cost model guard in prologue to scalar
871 outside cost in case of known number of iterations.
872
873 2009-01-07 Nathan Froyd <froydnj@codesourcery.com>
874@@ -4249,9 +4600,9 @@
875 * params.def (ira-max-conflict-table-size): New.
876
877 * doc/invoke.texi (ira-max-conflict-table-size): Decribe.
878-
879+
880 * ira.h (ira_conflicts_p): New external definition.
881-
882+
883 * ira-conflicts.c (build_conflict_bit_table): Do not build too big
884 table. Report this. Return result of building.
885 (ira_build_conflicts): Use ira_conflicts_p. Check result of
886@@ -4259,13 +4610,13 @@
887
888 * ira-color.c (fast_allocation): Use num instead of ira_allocnos_num.
889 (ira_color): Use ira_conflicts_p.
890-
891+
892 * global.c: Include ira.h.
893 (pseudo_for_reload_consideration_p, build_insn_chain): Use
894 ira_conflicts_p.
895
896 * Makefile.in (global.o): Add ira.h.
897-
898+
899 * ira-build.c (mark_all_loops_for_removal,
900 propagate_some_info_from_allocno): New.
901 (remove_unnecessary_allocnos): Call
902@@ -4283,7 +4634,7 @@
903 * reload1.c (compute_use_by_pseudos, reload, count_pseudo,
904 count_spilled_pseudo, find_reg, alter_reg, finish_spills,
905 emit_input_reload_insns, delete_output_reload): Use ira_conflicts_p.
906-
907+
908 2009-01-06 Ben Elliston <bje@au.ibm.com>
909
910 * gengtype-lex.l (YY_NO_INPUT): Define.
911@@ -4473,7 +4824,7 @@
912 * df-problems.c (df_lr_finalize): Add recursive call to resolve lr
913 problem if fast dce is able to remove any instructions.
914 * dce.c (dce_process_block): Fix dump message.
915-
916+
917 2009-01-02 Mark Mitchell <mark@codesourcery.com>
918
919 PR 33649
920Index: gcc/testsuite/gcc.c-torture/compile/pr40570.c
52d9744f 921===================================================================
55465a90
AM
922--- gcc/testsuite/gcc.c-torture/compile/pr40570.c (.../tags/gcc_4_4_1_release) (wersja 0)
923+++ gcc/testsuite/gcc.c-torture/compile/pr40570.c (.../branches/gcc-4_4-branch) (wersja 151837)
924@@ -0,0 +1,22 @@
925+extern void anything(int);
52d9744f 926+
55465a90 927+static int foo(int i);
676d0378 928+
55465a90
AM
929+static int bar(int i) { foo(i); }
930+
931+extern int j;
932+
933+static int foo(int i)
934+{
935+ if (j)
936+ anything(j);
937+ return bar(i);
938+}
676d0378 939+
55465a90
AM
940+int baz()
941+{
942+ foo(0);
943+ if (baz())
944+ return 1;
676d0378
AM
945+ return 0;
946+}
55465a90 947Index: gcc/testsuite/gcc.c-torture/compile/limits-fndefn.c
52d9744f 948===================================================================
55465a90
AM
949--- gcc/testsuite/gcc.c-torture/compile/limits-fndefn.c (.../tags/gcc_4_4_1_release) (wersja 151837)
950+++ gcc/testsuite/gcc.c-torture/compile/limits-fndefn.c (.../branches/gcc-4_4-branch) (wersja 151837)
951@@ -1,4 +1,5 @@
952 /* { dg-skip-if "too complex for avr and picochip" { picochip-*-* avr-*-* } { "*" } { "" } } */
953+/* { dg-timeout-factor 4.0 } */
954 #define LIM1(x) x##0, x##1, x##2, x##3, x##4, x##5, x##6, x##7, x##8, x##9,
955 #define LIM2(x) LIM1(x##0) LIM1(x##1) LIM1(x##2) LIM1(x##3) LIM1(x##4) \
956 LIM1(x##5) LIM1(x##6) LIM1(x##7) LIM1(x##8) LIM1(x##9)
957Index: gcc/testsuite/gcc.c-torture/compile/pr41006-1.c
958===================================================================
959--- gcc/testsuite/gcc.c-torture/compile/pr41006-1.c (.../tags/gcc_4_4_1_release) (wersja 0)
960+++ gcc/testsuite/gcc.c-torture/compile/pr41006-1.c (.../branches/gcc-4_4-branch) (wersja 151837)
961@@ -0,0 +1,17 @@
962+typedef int (*FARPROC)();
963+
964+typedef int (*LPFN_ACCEPTEX)(void*);
965+static LPFN_ACCEPTEX acceptex_fn;
966+
967+int xWSAIoctl(void*);
968+static void get_fn(FARPROC* fn)
ec2f9ecd 969+{
55465a90
AM
970+ FARPROC func;
971+ if (!xWSAIoctl( &func))
972+ *fn = func;
973+}
ec2f9ecd 974+
55465a90
AM
975+void get_fn_pointers()
976+{
977+ get_fn((FARPROC*)&acceptex_fn);
52d9744f 978+}
f06d2ced 979Index: gcc/testsuite/gcc.c-torture/compile/pr40692.c
52d9744f 980===================================================================
f06d2ced 981--- gcc/testsuite/gcc.c-torture/compile/pr40692.c (.../tags/gcc_4_4_1_release) (wersja 0)
55465a90 982+++ gcc/testsuite/gcc.c-torture/compile/pr40692.c (.../branches/gcc-4_4-branch) (wersja 151837)
f06d2ced
AM
983@@ -0,0 +1,15 @@
984+/* PR middle-end/40692 */
52d9744f 985+
f06d2ced
AM
986+#define M1(x) (((x) & 0x00000002) ? 0x2 : ((x) & 0x1))
987+#define M2(x) (((x) & 0x0000000c) ? M1 ((x) >> 2) << 2 : M1 (x))
988+#define M3(x) (((x) & 0x000000f0) ? M2 ((x) >> 4) << 4 : M2 (x))
989+#define M4(x) (((x) & 0x0000ff00) ? M3 ((x) >> 8) << 8 : M3 (x))
990+#define M5(x) (((x) & 0xffff0000) ? M4 ((x) >> 16) << 16 : M4 (x))
52d9744f 991+
f06d2ced 992+struct A { char e; char f; };
52d9744f 993+
f06d2ced
AM
994+long
995+foo (void)
52d9744f 996+{
f06d2ced 997+ return M5 (4096UL - (long) &((struct A *) 0)->f);
52d9744f 998+}
f06d2ced 999Index: gcc/testsuite/gcc.c-torture/compile/pr40676.c
ec2f9ecd 1000===================================================================
f06d2ced 1001--- gcc/testsuite/gcc.c-torture/compile/pr40676.c (.../tags/gcc_4_4_1_release) (wersja 0)
55465a90 1002+++ gcc/testsuite/gcc.c-torture/compile/pr40676.c (.../branches/gcc-4_4-branch) (wersja 151837)
f06d2ced
AM
1003@@ -0,0 +1,33 @@
1004+extern int f1();
1005+extern int f2(void*);
1006+extern void* f3(int);
1007+int xmsih;
1008+typedef unsigned short XWCHAR;
ec2f9ecd 1009+
f06d2ced 1010+inline unsigned int xstrlenW( const XWCHAR *str )
ec2f9ecd 1011+{
f06d2ced
AM
1012+ const XWCHAR *s = str;
1013+ while (*s) s++;
1014+ return s - str;
ec2f9ecd 1015+}
52d9744f 1016+
52d9744f 1017+
f06d2ced 1018+static int msi_dialog_register_class( void )
2a12872e 1019+{
f06d2ced
AM
1020+ int cls;
1021+
1022+ if( !f2( &cls ) )
1023+ return 0;
1024+ if( !f2( &cls ) )
1025+ return 0;
1026+ xmsih = f1();
1027+ if( !xmsih )
1028+ return 0;
1029+ return 1;
2a12872e
AM
1030+}
1031+
f06d2ced 1032+void *xmsi_dialog_create(const XWCHAR* szDialogName)
52d9744f 1033+{
f06d2ced
AM
1034+ msi_dialog_register_class();
1035+ return f3(xstrlenW(szDialogName));
52d9744f 1036+}
55465a90
AM
1037Index: gcc/testsuite/gcc.c-torture/compile/pr41282.c
1038===================================================================
1039--- gcc/testsuite/gcc.c-torture/compile/pr41282.c (.../tags/gcc_4_4_1_release) (wersja 0)
1040+++ gcc/testsuite/gcc.c-torture/compile/pr41282.c (.../branches/gcc-4_4-branch) (wersja 151837)
1041@@ -0,0 +1,20 @@
1042+struct S
1043+{
1044+ unsigned int iu;
1045+};
1046+
1047+union U
1048+{
1049+ struct S s;
1050+ signed int is;
1051+};
1052+
1053+extern signed int bar ();
1054+
1055+struct S foo (void)
1056+{
1057+ union U u;
1058+
1059+ u.is = bar ();
1060+ return u.s;
1061+}
1062Index: gcc/testsuite/gcc.c-torture/compile/pr41101.c
1063===================================================================
1064--- gcc/testsuite/gcc.c-torture/compile/pr41101.c (.../tags/gcc_4_4_1_release) (wersja 0)
1065+++ gcc/testsuite/gcc.c-torture/compile/pr41101.c (.../branches/gcc-4_4-branch) (wersja 151837)
1066@@ -0,0 +1,19 @@
1067+int func(int);
1068+
1069+void
1070+bug(int* x, int* y, unsigned long int N)
1071+{
1072+ unsigned long int i;
1073+ int* t;
1074+
1075+ while (1)
1076+ {
1077+ for (i=1; i<=N; i++)
1078+ {
1079+ y[i] = func(x[i] - x[1]);
1080+ if (y[i])
1081+ return;
1082+ }
1083+ t=x; x=y; y=t;
1084+ }
1085+}
1086Index: gcc/testsuite/gcc.c-torture/compile/pr40753.c
1087===================================================================
1088--- gcc/testsuite/gcc.c-torture/compile/pr40753.c (.../tags/gcc_4_4_1_release) (wersja 0)
1089+++ gcc/testsuite/gcc.c-torture/compile/pr40753.c (.../branches/gcc-4_4-branch) (wersja 151837)
1090@@ -0,0 +1,20 @@
1091+typedef struct {
1092+ unsigned nargs;
1093+} ffi_cif;
1094+typedef struct {
1095+ char tramp[24];
1096+ ffi_cif *cif;
1097+} ffi_closure;
1098+extern void *memcpy (void *, const void *, __SIZE_TYPE__);
1099+extern void ffi_closure_LINUX64 (void);
1100+
1101+int
1102+ffi_prep_closure_loc (ffi_closure *closure, ffi_cif *cif)
1103+{
1104+ void **tramp = (void **) &closure->tramp[0];
1105+
1106+ memcpy (tramp, (char *) ffi_closure_LINUX64, 16);
1107+ closure->cif = cif;
1108+
1109+ return 0;
1110+}
1111Index: gcc/testsuite/gcc.c-torture/compile/pr40321.c
1112===================================================================
1113--- gcc/testsuite/gcc.c-torture/compile/pr40321.c (.../tags/gcc_4_4_1_release) (wersja 0)
1114+++ gcc/testsuite/gcc.c-torture/compile/pr40321.c (.../branches/gcc-4_4-branch) (wersja 151837)
1115@@ -0,0 +1,12 @@
1116+struct X { int flag; int pos; };
1117+int foo(struct X *a, struct X *b)
1118+{
1119+ while (1)
1120+ {
1121+ if (a->flag)
1122+ break;
1123+ ({ struct X *tmp = a; a = b; b = tmp; });
1124+ }
1125+
1126+ return a->pos + b->pos;
1127+}
1128Index: gcc/testsuite/gcc.c-torture/compile/pr41016.c
1129===================================================================
1130--- gcc/testsuite/gcc.c-torture/compile/pr41016.c (.../tags/gcc_4_4_1_release) (wersja 0)
1131+++ gcc/testsuite/gcc.c-torture/compile/pr41016.c (.../branches/gcc-4_4-branch) (wersja 151837)
1132@@ -0,0 +1,17 @@
1133+typedef struct _IO_FILE FILE;
1134+void
1135+CompareRNAStructures (FILE * ofp, int start, int L, char *ss_true, char *ss)
1136+{
1137+ int i;
1138+ float agree = 0.;
1139+ float pairs = 0.;
1140+ float pairs_true = 0.;
1141+ for (i = 0; i < L; i++)
1142+ {
1143+ pairs_true += 1.;
1144+ agree += 1.;
1145+ }
1146+ if (((int) pairs % 2 != 0) || ((int) pairs_true % 2 != 0)
1147+ || ((int) agree % 2 != 0))
1148+ Die ("Error in CompareRNAStrutures(); odd number of paired nucleotides\n");
1149+}
1150Index: gcc/testsuite/gcc.c-torture/compile/pr41006-2.c
1151===================================================================
1152--- gcc/testsuite/gcc.c-torture/compile/pr41006-2.c (.../tags/gcc_4_4_1_release) (wersja 0)
1153+++ gcc/testsuite/gcc.c-torture/compile/pr41006-2.c (.../branches/gcc-4_4-branch) (wersja 151837)
1154@@ -0,0 +1,15 @@
1155+typedef int *FARPROC;
1156+static int * __restrict__ acceptex_fn;
1157+
1158+int xWSAIoctl(void*);
1159+static void get_fn(FARPROC* fn)
1160+{
1161+ FARPROC func;
1162+ if (!xWSAIoctl( &func))
1163+ *fn = func;
1164+}
1165+
1166+void get_fn_pointers()
1167+{
1168+ get_fn((FARPROC*)&acceptex_fn);
1169+}
1170Index: gcc/testsuite/gcc.c-torture/compile/pr40964.c
1171===================================================================
1172--- gcc/testsuite/gcc.c-torture/compile/pr40964.c (.../tags/gcc_4_4_1_release) (wersja 0)
1173+++ gcc/testsuite/gcc.c-torture/compile/pr40964.c (.../branches/gcc-4_4-branch) (wersja 151837)
1174@@ -0,0 +1,10 @@
1175+struct alloc2 {
1176+ int bla;
1177+ char * __restrict data;
1178+ char * __restrict data2;
1179+};
1180+struct alloc2 b;
1181+void * f (void)
1182+{
1183+ return b.data;
1184+}
1185Index: gcc/testsuite/gcc.c-torture/compile/pr41163.c
1186===================================================================
1187--- gcc/testsuite/gcc.c-torture/compile/pr41163.c (.../tags/gcc_4_4_1_release) (wersja 0)
1188+++ gcc/testsuite/gcc.c-torture/compile/pr41163.c (.../branches/gcc-4_4-branch) (wersja 151837)
1189@@ -0,0 +1,10 @@
1190+struct option {
1191+ void *value;
1192+};
1193+void parse_options (struct option *);
1194+void cmd_grep(void)
1195+{
1196+ struct option options[] = { { &options } };
1197+ parse_options(options);
1198+}
1199+
1200Index: gcc/testsuite/gcc.c-torture/compile/pr41181.c
1201===================================================================
1202--- gcc/testsuite/gcc.c-torture/compile/pr41181.c (.../tags/gcc_4_4_1_release) (wersja 0)
1203+++ gcc/testsuite/gcc.c-torture/compile/pr41181.c (.../branches/gcc-4_4-branch) (wersja 151837)
1204@@ -0,0 +1,10 @@
1205+char paths[1024];
1206+static void x264_slicetype_path(char (*best_paths)[250], int n, int length)
1207+{
1208+ __builtin_memcpy (best_paths[n], paths, length);
1209+}
1210+void x264_slicetype_analyse(int n, int length)
1211+{
1212+ char best_paths[250][250];
1213+ x264_slicetype_path (best_paths, n, length);
1214+}
1215Index: gcc/testsuite/gcc.target/powerpc/pr39902-2.c
1216===================================================================
1217--- gcc/testsuite/gcc.target/powerpc/pr39902-2.c (.../tags/gcc_4_4_1_release) (wersja 0)
1218+++ gcc/testsuite/gcc.target/powerpc/pr39902-2.c (.../branches/gcc-4_4-branch) (wersja 151837)
1219@@ -0,0 +1,28 @@
1220+/* Check that simplification "x*(-1)" -> "-x" is not performed for decimal
1221+ float types. */
1222+
1223+/* { dg-do compile { target { powerpc*-*-linux* && powerpc_fprs } } } */
1224+/* { dg-options "-std=gnu99 -O -mcpu=power6" } */
1225+/* { dg-final { scan-assembler-not "fneg" } } */
1226+
1227+extern _Decimal32 a32, b32;
1228+extern _Decimal64 a64, b64;
1229+extern _Decimal128 a128, b128;
1230+
1231+void
1232+foo32 (void)
1233+{
1234+ b32 = a32 * -1.0DF;
1235+}
1236+
1237+void
1238+foo64 (void)
1239+{
1240+ b64 = a64 * -1.0DD;
1241+}
1242+
1243+void
1244+foo128 (void)
1245+{
1246+ b128 = a128 * -1.0DL;
1247+}
1248Index: gcc/testsuite/gcc.target/i386/pr40906-3.c
1249===================================================================
1250--- gcc/testsuite/gcc.target/i386/pr40906-3.c (.../tags/gcc_4_4_1_release) (wersja 0)
1251+++ gcc/testsuite/gcc.target/i386/pr40906-3.c (.../branches/gcc-4_4-branch) (wersja 151837)
1252@@ -0,0 +1,25 @@
1253+/* { dg-do run { target *-*-linux* } } */
1254+/* { dg-require-effective-target ilp32 } */
1255+/* { dg-options "-O2 -fomit-frame-pointer -msse2 -mpush-args -mno-accumulate-outgoing-args" } */
1256+
1257+#include "sse2-check.h"
1258+
1259+void __attribute__((noinline))
1260+f (__float128 a)
1261+{
1262+ if (a != 1.23Q)
1263+ abort ();
1264+}
1265+
1266+int __attribute__((noinline))
1267+g (__float128 b)
1268+{
1269+ f (b);
1270+ return 0;
1271+}
1272+
1273+static void
1274+sse2_test (void)
1275+{
1276+ g (1.23Q);
1277+}
1278Index: gcc/testsuite/gcc.target/i386/pr40718.c
1279===================================================================
1280--- gcc/testsuite/gcc.target/i386/pr40718.c (.../tags/gcc_4_4_1_release) (wersja 0)
1281+++ gcc/testsuite/gcc.target/i386/pr40718.c (.../branches/gcc-4_4-branch) (wersja 151837)
1282@@ -0,0 +1,36 @@
1283+/* { dg-do run } */
1284+/* { dg-require-effective-target ilp32 } */
1285+/* { dg-options "-O1 -foptimize-sibling-calls" } */
1286+
1287+void abort (void);
1288+
1289+struct S
1290+{
1291+ void (__attribute__((__stdcall__)) *f) (struct S *);
1292+ int i;
1293+};
1294+
1295+void __attribute__((__stdcall__))
1296+foo (struct S *s)
1297+{
1298+ s->i++;
1299+}
1300+
1301+void __attribute__((__stdcall__))
1302+bar (struct S *s)
1303+{
1304+ foo(s);
1305+ s->f(s);
1306+}
1307+
1308+int main (void)
1309+{
1310+ struct S s = { foo, 0 };
1311+
1312+ bar (&s);
1313+ if (s.i != 2)
1314+ abort ();
1315+
1316+ return 0;
1317+}
1318+
1319Index: gcc/testsuite/gcc.target/i386/pr40934.c
1320===================================================================
1321--- gcc/testsuite/gcc.target/i386/pr40934.c (.../tags/gcc_4_4_1_release) (wersja 0)
1322+++ gcc/testsuite/gcc.target/i386/pr40934.c (.../branches/gcc-4_4-branch) (wersja 151837)
1323@@ -0,0 +1,15 @@
1324+/* { dg-do compile } */
1325+/* { dg-require-effective-target ilp32 } */
1326+/* { dg-options "-O2 -march=i586 -ffast-math" } */
1327+
1328+extern double host_frametime;
1329+extern float pitchvel;
1330+V_DriftPitch (float delta, float move)
1331+{
1332+ if (!delta)
1333+ move = host_frametime;
1334+ if (delta > 0)
1335+ ;
1336+ else if (delta < 0 && move > -delta)
1337+ pitchvel = 0;
1338+}
1339Index: gcc/testsuite/gcc.target/i386/m128-check.h
1340===================================================================
1341--- gcc/testsuite/gcc.target/i386/m128-check.h (.../tags/gcc_4_4_1_release) (wersja 151837)
1342+++ gcc/testsuite/gcc.target/i386/m128-check.h (.../branches/gcc-4_4-branch) (wersja 151837)
1343@@ -138,6 +138,7 @@
1344 CHECK_FP_ARRAY (d, double, ESP_DOUBLE, "%f")
1345 CHECK_FP_ARRAY (f, float, ESP_FLOAT, "%f")
1346
1347+#ifdef NEED_IEEE754_FLOAT
1348 union ieee754_float
1349 {
1350 float d;
1351@@ -148,7 +149,9 @@
1352 unsigned sign : 1;
1353 } bits __attribute__((packed));
1354 };
1355+#endif
1356
1357+#ifdef NEED_IEEE754_DOUBLE
1358 union ieee754_double
1359 {
1360 double d;
1361@@ -160,3 +163,4 @@
1362 unsigned sign : 1;
1363 } bits __attribute__((packed));
1364 };
1365+#endif
1366Index: gcc/testsuite/gcc.target/i386/avx-vtestps-2.c
1367===================================================================
1368--- gcc/testsuite/gcc.target/i386/avx-vtestps-2.c (.../tags/gcc_4_4_1_release) (wersja 151837)
1369+++ gcc/testsuite/gcc.target/i386/avx-vtestps-2.c (.../branches/gcc-4_4-branch) (wersja 151837)
1370@@ -1,6 +1,8 @@
1371 /* { dg-do run } */
1372 /* { dg-require-effective-target avx } */
1373-/* { dg-options "-O2 -mavx" } */
1374+/* { dg-options "-O2 -mavx -DNEED_IEEE754_FLOAT" } */
1375+/* { dg-warning "attribute ignored" "" { target default_packed } 150 } */
1376+/* { dg-message " from " "include chain" { target default_packed } 0 } */
1377
1378 #include "avx-check.h"
1379
1380Index: gcc/testsuite/gcc.target/i386/pr41019.c
1381===================================================================
1382--- gcc/testsuite/gcc.target/i386/pr41019.c (.../tags/gcc_4_4_1_release) (wersja 0)
1383+++ gcc/testsuite/gcc.target/i386/pr41019.c (.../branches/gcc-4_4-branch) (wersja 151837)
1384@@ -0,0 +1,19 @@
1385+/* { dg-do run } */
1386+/* { dg-options "-O2 -msse2 -ftree-vectorize" } */
1387+
1388+#include "sse2-check.h"
1389+
1390+long long int a[64];
1391+
1392+void
1393+sse2_test (void)
1394+{
1395+ int k;
1396+
1397+ for (k = 0; k < 64; k++)
1398+ a[k] = a[k] != 5 ? 12 : 10;
1399+
1400+ for (k = 0; k < 64; k++)
1401+ if (a[k] != 12)
1402+ abort ();
1403+}
1404Index: gcc/testsuite/gcc.target/i386/avx-vtestps-256-2.c
1405===================================================================
1406--- gcc/testsuite/gcc.target/i386/avx-vtestps-256-2.c (.../tags/gcc_4_4_1_release) (wersja 151837)
1407+++ gcc/testsuite/gcc.target/i386/avx-vtestps-256-2.c (.../branches/gcc-4_4-branch) (wersja 151837)
1408@@ -1,6 +1,8 @@
1409 /* { dg-do run } */
1410 /* { dg-require-effective-target avx } */
1411-/* { dg-options "-O2 -mavx" } */
1412+/* { dg-options "-O2 -mavx -DNEED_IEEE754_FLOAT" } */
1413+/* { dg-warning "attribute ignored" "" { target default_packed } 150 } */
1414+/* { dg-message " from " "include chain" { target default_packed } 0 } */
1415
1416 #include "avx-check.h"
1417
1418Index: gcc/testsuite/gcc.target/i386/avx-vtestpd-2.c
1419===================================================================
1420--- gcc/testsuite/gcc.target/i386/avx-vtestpd-2.c (.../tags/gcc_4_4_1_release) (wersja 151837)
1421+++ gcc/testsuite/gcc.target/i386/avx-vtestpd-2.c (.../branches/gcc-4_4-branch) (wersja 151837)
1422@@ -1,6 +1,8 @@
1423 /* { dg-do run } */
1424 /* { dg-require-effective-target avx } */
1425-/* { dg-options "-O2 -mavx" } */
1426+/* { dg-options "-O2 -mavx -DNEED_IEEE754_DOUBLE" } */
1427+/* { dg-warning "attribute ignored" "" { target default_packed } 164 } */
1428+/* { dg-message " from " "include chain" { target default_packed } 0 } */
1429
1430 #include "avx-check.h"
1431
1432Index: gcc/testsuite/gcc.target/i386/avx-vtestpd-256-2.c
1433===================================================================
1434--- gcc/testsuite/gcc.target/i386/avx-vtestpd-256-2.c (.../tags/gcc_4_4_1_release) (wersja 151837)
1435+++ gcc/testsuite/gcc.target/i386/avx-vtestpd-256-2.c (.../branches/gcc-4_4-branch) (wersja 151837)
1436@@ -1,6 +1,8 @@
1437 /* { dg-do run } */
1438 /* { dg-require-effective-target avx } */
1439-/* { dg-options "-O2 -mavx" } */
1440+/* { dg-options "-O2 -mavx -DNEED_IEEE754_DOUBLE" } */
1441+/* { dg-warning "attribute ignored" "" { target default_packed } 164 } */
1442+/* { dg-message " from " "include chain" { target default_packed } 0 } */
1443
1444 #include "avx-check.h"
1445
1446Index: gcc/testsuite/gcc.target/i386/pr37248-3.c
1447===================================================================
1448--- gcc/testsuite/gcc.target/i386/pr37248-3.c (.../tags/gcc_4_4_1_release) (wersja 151837)
1449+++ gcc/testsuite/gcc.target/i386/pr37248-3.c (.../branches/gcc-4_4-branch) (wersja 151837)
1450@@ -1,6 +1,6 @@
1451 /* PR middle-end/37248 */
1452-/* { dg-do compile } */
1453-/* { dg-options "-O2 -fdump-tree-optimized" } */
1454+/* { dg-do compile { target { ! default_packed } } } */
1455+/* { dg-options "-O2 -fdump-tree-optimized -mno-ms-bitfields" } */
1456
1457 struct S
1458 {
1459Index: gcc/testsuite/gcc.target/i386/pr40906-2.c
1460===================================================================
1461--- gcc/testsuite/gcc.target/i386/pr40906-2.c (.../tags/gcc_4_4_1_release) (wersja 0)
1462+++ gcc/testsuite/gcc.target/i386/pr40906-2.c (.../branches/gcc-4_4-branch) (wersja 151837)
1463@@ -0,0 +1,26 @@
1464+/* { dg-do run } */
1465+/* { dg-require-effective-target ilp32 } */
1466+/* { dg-options "-O2 -fomit-frame-pointer -mpush-args -mno-accumulate-outgoing-args -m128bit-long-double" } */
1467+
1468+void abort (void);
1469+
1470+void __attribute__((noinline))
1471+f (long double a)
1472+{
1473+ if (a != 1.23L)
1474+ abort ();
1475+}
1476+
1477+int __attribute__((noinline))
1478+g (long double b)
1479+{
1480+ f (b);
1481+ return 0;
1482+}
1483+
1484+int
1485+main (void)
1486+{
1487+ g (1.23L);
1488+ return 0;
1489+}
1490Index: gcc/testsuite/gcc.target/i386/avx-vtestps-1.c
1491===================================================================
1492--- gcc/testsuite/gcc.target/i386/avx-vtestps-1.c (.../tags/gcc_4_4_1_release) (wersja 151837)
1493+++ gcc/testsuite/gcc.target/i386/avx-vtestps-1.c (.../branches/gcc-4_4-branch) (wersja 151837)
1494@@ -1,6 +1,8 @@
1495 /* { dg-do run } */
1496 /* { dg-require-effective-target avx } */
1497-/* { dg-options "-O2 -mavx" } */
1498+/* { dg-options "-O2 -mavx -DNEED_IEEE754_FLOAT" } */
1499+/* { dg-warning "attribute ignored" "" { target default_packed } 150 } */
1500+/* { dg-message " from " "include chain" { target default_packed } 0 } */
1501
1502 #include "avx-check.h"
1503
1504Index: gcc/testsuite/gcc.target/i386/avx-vtestps-256-1.c
1505===================================================================
1506--- gcc/testsuite/gcc.target/i386/avx-vtestps-256-1.c (.../tags/gcc_4_4_1_release) (wersja 151837)
1507+++ gcc/testsuite/gcc.target/i386/avx-vtestps-256-1.c (.../branches/gcc-4_4-branch) (wersja 151837)
1508@@ -1,6 +1,8 @@
1509 /* { dg-do run } */
1510 /* { dg-require-effective-target avx } */
1511-/* { dg-options "-O2 -mavx" } */
1512+/* { dg-options "-O2 -mavx -DNEED_IEEE754_FLOAT" } */
1513+/* { dg-warning "attribute ignored" "" { target default_packed } 150 } */
1514+/* { dg-message " from " "include chain" { target default_packed } 0 } */
1515
1516 #include "avx-check.h"
1517
1518Index: gcc/testsuite/gcc.target/i386/avx-vtestpd-1.c
1519===================================================================
1520--- gcc/testsuite/gcc.target/i386/avx-vtestpd-1.c (.../tags/gcc_4_4_1_release) (wersja 151837)
1521+++ gcc/testsuite/gcc.target/i386/avx-vtestpd-1.c (.../branches/gcc-4_4-branch) (wersja 151837)
1522@@ -1,6 +1,8 @@
1523 /* { dg-do run } */
1524 /* { dg-require-effective-target avx } */
1525-/* { dg-options "-O2 -mavx" } */
1526+/* { dg-options "-O2 -mavx -DNEED_IEEE754_DOUBLE" } */
1527+/* { dg-warning "attribute ignored" "" { target default_packed } 164 } */
1528+/* { dg-message " from " "include chain" { target default_packed } 0 } */
1529
1530 #include "avx-check.h"
1531
1532Index: gcc/testsuite/gcc.target/i386/avx-vtestps-3.c
1533===================================================================
1534--- gcc/testsuite/gcc.target/i386/avx-vtestps-3.c (.../tags/gcc_4_4_1_release) (wersja 151837)
1535+++ gcc/testsuite/gcc.target/i386/avx-vtestps-3.c (.../branches/gcc-4_4-branch) (wersja 151837)
1536@@ -1,6 +1,8 @@
1537 /* { dg-do run } */
1538 /* { dg-require-effective-target avx } */
1539-/* { dg-options "-O2 -mavx" } */
1540+/* { dg-options "-O2 -mavx -DNEED_IEEE754_FLOAT" } */
1541+/* { dg-warning "attribute ignored" "" { target default_packed } 150 } */
1542+/* { dg-message " from " "include chain" { target default_packed } 0 } */
1543
1544 #include "avx-check.h"
1545
1546Index: gcc/testsuite/gcc.target/i386/avx-vtestps-256-3.c
1547===================================================================
1548--- gcc/testsuite/gcc.target/i386/avx-vtestps-256-3.c (.../tags/gcc_4_4_1_release) (wersja 151837)
1549+++ gcc/testsuite/gcc.target/i386/avx-vtestps-256-3.c (.../branches/gcc-4_4-branch) (wersja 151837)
1550@@ -1,6 +1,8 @@
1551 /* { dg-do run } */
1552 /* { dg-require-effective-target avx } */
1553-/* { dg-options "-O2 -mavx" } */
1554+/* { dg-options "-O2 -mavx -DNEED_IEEE754_FLOAT" } */
1555+/* { dg-warning "attribute ignored" "" { target default_packed } 150 } */
1556+/* { dg-message " from " "include chain" { target default_packed } 0 } */
1557
1558 #include "avx-check.h"
1559
1560Index: gcc/testsuite/gcc.target/i386/avx-vtestpd-3.c
1561===================================================================
1562--- gcc/testsuite/gcc.target/i386/avx-vtestpd-3.c (.../tags/gcc_4_4_1_release) (wersja 151837)
1563+++ gcc/testsuite/gcc.target/i386/avx-vtestpd-3.c (.../branches/gcc-4_4-branch) (wersja 151837)
1564@@ -1,6 +1,8 @@
1565 /* { dg-do run } */
1566 /* { dg-require-effective-target avx } */
1567-/* { dg-options "-O2 -mavx" } */
1568+/* { dg-options "-O2 -mavx -DNEED_IEEE754_DOUBLE" } */
1569+/* { dg-warning "attribute ignored" "" { target default_packed } 164 } */
1570+/* { dg-message " from " "include chain" { target default_packed } 0 } */
1571
1572 #include "avx-check.h"
1573
1574Index: gcc/testsuite/gcc.target/i386/pr40957.c
1575===================================================================
1576--- gcc/testsuite/gcc.target/i386/pr40957.c (.../tags/gcc_4_4_1_release) (wersja 0)
1577+++ gcc/testsuite/gcc.target/i386/pr40957.c (.../branches/gcc-4_4-branch) (wersja 151837)
1578@@ -0,0 +1,18 @@
1579+/* { dg-do compile } */
1580+/* { dg-require-effective-target avx } */
1581+/* { dg-options "-O2 -mavx" } */
1582+
1583+typedef int __v8si __attribute__((__vector_size__(32)));
1584+typedef long long __m256i __attribute__((__vector_size__(32), __may_alias__));
1585+
1586+static __m256i
1587+_mm256_set1_epi32 (int __A)
1588+{
1589+ return __extension__ (__m256i)(__v8si){ __A, __A, __A, __A,
1590+ __A, __A, __A, __A };
1591+}
1592+__m256i
1593+foo ()
1594+{
1595+ return _mm256_set1_epi32 (-1);
1596+}
1597Index: gcc/testsuite/gcc.target/i386/avx-vtestpd-256-1.c
1598===================================================================
1599--- gcc/testsuite/gcc.target/i386/avx-vtestpd-256-1.c (.../tags/gcc_4_4_1_release) (wersja 151837)
1600+++ gcc/testsuite/gcc.target/i386/avx-vtestpd-256-1.c (.../branches/gcc-4_4-branch) (wersja 151837)
1601@@ -1,6 +1,8 @@
1602 /* { dg-do run } */
1603 /* { dg-require-effective-target avx } */
1604-/* { dg-options "-O2 -mavx" } */
1605+/* { dg-options "-O2 -mavx -DNEED_IEEE754_DOUBLE" } */
1606+/* { dg-warning "attribute ignored" "" { target default_packed } 164 } */
1607+/* { dg-message " from " "include chain" { target default_packed } 0 } */
1608
1609 #include "avx-check.h"
1610
1611Index: gcc/testsuite/gcc.target/i386/pr37248-2.c
1612===================================================================
1613--- gcc/testsuite/gcc.target/i386/pr37248-2.c (.../tags/gcc_4_4_1_release) (wersja 151837)
1614+++ gcc/testsuite/gcc.target/i386/pr37248-2.c (.../branches/gcc-4_4-branch) (wersja 151837)
1615@@ -1,5 +1,5 @@
1616 /* PR middle-end/37248 */
1617-/* { dg-do compile } */
1618+/* { dg-do compile { target { ! default_packed } } } */
1619 /* { dg-options "-O2 -fdump-tree-optimized" } */
1620
1621 struct S
1622Index: gcc/testsuite/gcc.target/i386/avx-vtestpd-256-3.c
1623===================================================================
1624--- gcc/testsuite/gcc.target/i386/avx-vtestpd-256-3.c (.../tags/gcc_4_4_1_release) (wersja 151837)
1625+++ gcc/testsuite/gcc.target/i386/avx-vtestpd-256-3.c (.../branches/gcc-4_4-branch) (wersja 151837)
1626@@ -1,6 +1,8 @@
1627 /* { dg-do run } */
1628 /* { dg-require-effective-target avx } */
1629-/* { dg-options "-O2 -mavx" } */
1630+/* { dg-options "-O2 -mavx -DNEED_IEEE754_DOUBLE" } */
1631+/* { dg-warning "attribute ignored" "" { target default_packed } 164 } */
1632+/* { dg-message " from " "include chain" { target default_packed } 0 } */
1633
1634 #include "avx-check.h"
1635
1636Index: gcc/testsuite/gcc.target/i386/pr40906-1.c
1637===================================================================
1638--- gcc/testsuite/gcc.target/i386/pr40906-1.c (.../tags/gcc_4_4_1_release) (wersja 0)
1639+++ gcc/testsuite/gcc.target/i386/pr40906-1.c (.../branches/gcc-4_4-branch) (wersja 151837)
1640@@ -0,0 +1,26 @@
1641+/* { dg-do run } */
1642+/* { dg-require-effective-target ilp32 } */
1643+/* { dg-options "-O2 -fomit-frame-pointer -mpush-args -mno-accumulate-outgoing-args" } */
1644+
1645+void abort (void);
1646+
1647+void __attribute__((noinline))
1648+f (long double a)
1649+{
1650+ if (a != 1.23L)
1651+ abort ();
1652+}
1653+
1654+int __attribute__((noinline))
1655+g (long double b)
1656+{
1657+ f (b);
1658+ return 0;
1659+}
1660+
1661+int
1662+main (void)
1663+{
1664+ g (1.23L);
1665+ return 0;
1666+}
1667Index: gcc/testsuite/gnat.dg/alignment9.adb
1668===================================================================
1669--- gcc/testsuite/gnat.dg/alignment9.adb (.../tags/gcc_4_4_1_release) (wersja 0)
1670+++ gcc/testsuite/gnat.dg/alignment9.adb (.../branches/gcc-4_4-branch) (wersja 151837)
1671@@ -0,0 +1,30 @@
1672+-- { dg-do run }
1673+-- { dg-options "-gnatws" }
1674+
1675+procedure Alignment9 is
1676+
1677+ type Kind is (Small, Large);
1678+ for Kind'Size use 8;
1679+
1680+ type Header is
1681+ record
1682+ K : Kind;
1683+ I : Integer;
1684+ end record;
1685+
1686+ for Header use
1687+ record
1688+ K at 4 range 0..7;
1689+ I at 0 range 0..31;
1690+ end record;
1691+
1692+ for Header'Size use 5*8;
1693+ for Header'Alignment use 1;
1694+
1695+ H : Header;
1696+
1697+begin
1698+ if H'Size /= 40 then
1699+ raise Program_Error;
1700+ end if;
1701+end;
1702Index: gcc/testsuite/gnat.dg/array8.adb
1703===================================================================
1704--- gcc/testsuite/gnat.dg/array8.adb (.../tags/gcc_4_4_1_release) (wersja 0)
1705+++ gcc/testsuite/gnat.dg/array8.adb (.../branches/gcc-4_4-branch) (wersja 151837)
1706@@ -0,0 +1,34 @@
1707+-- { dg-do compile }
1708+-- { dg-options "-O2" }
1709+
1710+PROCEDURE Array8 IS
1711+
1712+ function ID (I : Integer) return Integer is
1713+ begin
1714+ return I;
1715+ end;
1716+
1717+ SUBTYPE STB IS INTEGER RANGE ID(-8) .. -5;
1718+
1719+ TYPE TB IS ARRAY (STB RANGE <>) OF INTEGER;
1720+
1721+ GENERIC
1722+ B1 : TB;
1723+ PROCEDURE PROC1;
1724+
1725+ PROCEDURE PROC1 IS
1726+ BEGIN
1727+ IF B1'FIRST /= -8 THEN
1728+ raise Program_Error;
1729+ ELSIF B1'LAST /= ID(-5) THEN
1730+ raise Program_Error;
1731+ ELSIF B1 /= (7, 6, 5, 4) THEN
1732+ raise Program_Error;
1733+ END IF;
1734+ END;
1735+
1736+ PROCEDURE PROC2 IS NEW PROC1 ((7, 6, ID(5), 4));
1737+
1738+BEGIN
1739+ PROC2;
1740+END;
1741Index: gcc/testsuite/ada/acats/tests/c9/c96001a.ada
1742===================================================================
1743--- gcc/testsuite/ada/acats/tests/c9/c96001a.ada (.../tags/gcc_4_4_1_release) (wersja 151837)
1744+++ gcc/testsuite/ada/acats/tests/c9/c96001a.ada (.../branches/gcc-4_4-branch) (wersja 151837)
1745@@ -51,7 +51,7 @@
1746 ---------------------------------------------
1747
1748 DECLARE -- (A)
1749- X : DURATION := 5.0;
1750+ X : DURATION := 5.0 * Impdef.One_Second;
1751 OLD_TIME : TIME;
1752 LAPSE : DURATION;
1753 BEGIN -- (A)
1754Index: gcc/testsuite/ada/acats/tests/c9/c940005.a
1755===================================================================
1756--- gcc/testsuite/ada/acats/tests/c9/c940005.a (.../tags/gcc_4_4_1_release) (wersja 151837)
1757+++ gcc/testsuite/ada/acats/tests/c9/c940005.a (.../branches/gcc-4_4-branch) (wersja 151837)
1758@@ -85,7 +85,7 @@
1759 -- In reality one would expect a time of 5 to 10 seconds. In
1760 -- the interests of speeding up the test suite a shorter time
1761 -- is used
1762- Pulse_Time_Delta : constant duration := ImpDef.Switch_To_New_Task;
1763+ Pulse_Time_Delta : constant duration := ImpDef.Long_Switch_To_New_Task;
1764
1765 -- control over stopping tasks
1766 protected Control is
1767Index: gcc/testsuite/ada/acats/tests/c9/c94001c.ada
1768===================================================================
1769--- gcc/testsuite/ada/acats/tests/c9/c94001c.ada (.../tags/gcc_4_4_1_release) (wersja 151837)
1770+++ gcc/testsuite/ada/acats/tests/c9/c94001c.ada (.../branches/gcc-4_4-branch) (wersja 151837)
1771@@ -209,7 +209,7 @@
1772
1773 BEGIN -- (E)
1774 WHILE NOT(OUT_TSK'TERMINATED) AND DELAY_COUNT < 60 LOOP
1775- DELAY 1.0 * Impdef.One_Second;
1776+ DELAY 1.0 * Impdef.One_Long_Second;
1777 DELAY_COUNT := DELAY_COUNT + 1;
1778 END LOOP;
1779 IF DELAY_COUNT = 60 THEN
1780@@ -252,7 +252,7 @@
1781
1782 BEGIN
1783 WHILE NOT(OUT_TSK'TERMINATED) AND DELAY_COUNT < 60 LOOP
1784- DELAY 1.0 * Impdef.One_Second;
1785+ DELAY 1.0 * Impdef.One_Long_Second;
1786 DELAY_COUNT := DELAY_COUNT + 1;
1787 END LOOP;
1788 IF DELAY_COUNT = 60 THEN
1789Index: gcc/testsuite/ada/acats/tests/c9/c94006a.ada
1790===================================================================
1791--- gcc/testsuite/ada/acats/tests/c9/c94006a.ada (.../tags/gcc_4_4_1_release) (wersja 151837)
1792+++ gcc/testsuite/ada/acats/tests/c9/c94006a.ada (.../branches/gcc-4_4-branch) (wersja 151837)
1793@@ -42,7 +42,7 @@
1794 SELECT
1795 ACCEPT E;
1796 OR
1797- DELAY 30.0 * Impdef.One_Second;
1798+ DELAY 30.0 * Impdef.One_Long_Second;
1799 END SELECT;
1800 END TT;
1801
1802Index: gcc/testsuite/ada/acats/tests/c9/c94008c.ada
1803===================================================================
1804--- gcc/testsuite/ada/acats/tests/c9/c94008c.ada (.../tags/gcc_4_4_1_release) (wersja 151837)
1805+++ gcc/testsuite/ada/acats/tests/c9/c94008c.ada (.../branches/gcc-4_4-branch) (wersja 151837)
1806@@ -202,7 +202,7 @@
1807 DELAY 10.0 * Impdef.One_Second;
1808
1809 IF TERMINATE_COUNT.GET /= 1 THEN
1810- DELAY 20.0 * Impdef.One_Second;
1811+ DELAY 20.0 * Impdef.One_Long_Second;
1812 END IF;
1813
1814 IF TERMINATE_COUNT.GET /= 1 THEN
1815@@ -243,7 +243,7 @@
1816 DELAY 10.0 * Impdef.One_Second; -- WAIT FOR T1, T2, AND T3 TO GET TO SELECT STMTS.
1817
1818 IF TERMINATE_COUNT.GET /= 3 THEN
1819- DELAY 20.0 * Impdef.One_Second;
1820+ DELAY 20.0 * Impdef.One_Long_Second;
1821 END IF;
1822
1823 IF TERMINATE_COUNT.GET /= 3 THEN
1824Index: gcc/testsuite/ada/acats/tests/c9/c97307a.ada
1825===================================================================
1826--- gcc/testsuite/ada/acats/tests/c9/c97307a.ada (.../tags/gcc_4_4_1_release) (wersja 151837)
1827+++ gcc/testsuite/ada/acats/tests/c9/c97307a.ada (.../branches/gcc-4_4-branch) (wersja 151837)
1828@@ -160,7 +160,7 @@
1829 EXPIRED.READ (EXPIRED_CALLS);
1830 EXIT WHEN E'COUNT >= DESIRED_QUEUE_LENGTH -
1831 EXPIRED_CALLS;
1832- DELAY 2.0 * Impdef.One_Second;
1833+ DELAY 2.0 * Impdef.One_Long_Second;
1834 END LOOP;
1835 EXIT WHEN DESIRED_QUEUE_LENGTH = 5;
1836 DISPATCH.READY;
1837@@ -171,7 +171,7 @@
1838 -- LET THE TIMED ENTRY CALLS ISSUED BY CALLER1,
1839 -- CALLER3, AND CALLER5 EXPIRE:
1840
1841- DELAY DELAY_TIME + 10.0 * Impdef.One_Second;
1842+ DELAY DELAY_TIME + 10.0 * Impdef.One_Long_Second;
1843
1844 -- AT THIS POINT, ALL THE TIMED ENTRY CALLS MUST HAVE
1845 -- EXPIRED AND BEEN REMOVED FROM THE ENTRY QUEUE FOR E,
1846Index: gcc/testsuite/ada/acats/tests/c9/c940007.a
1847===================================================================
1848--- gcc/testsuite/ada/acats/tests/c9/c940007.a (.../tags/gcc_4_4_1_release) (wersja 151837)
1849+++ gcc/testsuite/ada/acats/tests/c9/c940007.a (.../branches/gcc-4_4-branch) (wersja 151837)
1850@@ -90,7 +90,7 @@
1851 -- In reality one would expect a time of 5 to 10 seconds. In
1852 -- the interests of speeding up the test suite a shorter time
1853 -- is used
1854- Pulse_Time_Delta : constant duration := ImpDef.Switch_To_New_Task;
1855+ Pulse_Time_Delta : constant duration := ImpDef.Long_Switch_To_New_Task;
1856
1857
1858 -- control over stopping tasks
1859Index: gcc/testsuite/ada/acats/tests/c9/c951002.a
1860===================================================================
1861--- gcc/testsuite/ada/acats/tests/c9/c951002.a (.../tags/gcc_4_4_1_release) (wersja 151837)
1862+++ gcc/testsuite/ada/acats/tests/c9/c951002.a (.../branches/gcc-4_4-branch) (wersja 151837)
1863@@ -278,14 +278,14 @@
1864 -- Wait until the message is queued on the entry before starting
1865 -- the Credit_Task
1866 while not Hold.TC_Message_is_Queued loop
1867- delay ImpDef.Minimum_Task_Switch;
1868+ delay ImpDef.Long_Minimum_Task_Switch;
1869 end loop;
1870 --
1871 Credit_Task.TC_Start;
1872
1873 -- Ensure the first part of the test is complete before continuing
1874 while not (Credit_Message'terminated and Credit_Task'terminated) loop
1875- delay ImpDef.Minimum_Task_Switch;
1876+ delay ImpDef.Long_Minimum_Task_Switch;
1877 end loop;
1878
1879 --======================================================
1880@@ -298,12 +298,12 @@
1881 -- for it to reach the accept statement and call Hold.Set_DB_Overload
1882 -- before starting Debit_Message
1883 --
1884- delay ImpDef.Switch_To_New_Task;
1885+ delay ImpDef.Long_Switch_To_New_Task;
1886
1887 Debit_Message.TC_Start;
1888
1889 while not Debit_Task'terminated loop
1890- delay ImpDef.Minimum_Task_Switch;
1891+ delay ImpDef.Long_Minimum_Task_Switch;
1892 end loop;
1893
1894 Hold.Clear_DB_Overload; -- Allow completion
1895Index: gcc/testsuite/ada/acats/tests/c9/c954a01.a
1896===================================================================
1897--- gcc/testsuite/ada/acats/tests/c9/c954a01.a (.../tags/gcc_4_4_1_release) (wersja 151837)
1898+++ gcc/testsuite/ada/acats/tests/c9/c954a01.a (.../branches/gcc-4_4-branch) (wersja 151837)
1899@@ -148,7 +148,7 @@
1900 end select;
1901
1902 -- Allow other tasks to get control
1903- delay ImpDef.Minimum_Task_Switch;
1904+ delay ImpDef.Long_Minimum_Task_Switch;
1905
1906 end loop;
1907
1908@@ -175,7 +175,7 @@
1909
1910 procedure C954A01 is
1911
1912- Long_Enough : constant Duration := ImpDef.Switch_To_New_Task;
1913+ Long_Enough : constant Duration := ImpDef.Long_Switch_To_New_Task;
1914
1915 --==============================================--
1916
1917Index: gcc/testsuite/ada/acats/support/impdef.a
1918===================================================================
1919--- gcc/testsuite/ada/acats/support/impdef.a (.../tags/gcc_4_4_1_release) (wersja 151837)
1920+++ gcc/testsuite/ada/acats/support/impdef.a (.../branches/gcc-4_4-branch) (wersja 151837)
1921@@ -105,6 +105,8 @@
1922 Minimum_Task_Switch : constant Duration := 0.001;
1923 -- ^^^ --- MODIFY HERE AS NEEDED
1924
1925+ Long_Minimum_Task_Switch : constant Duration := 0.1;
1926+
1927 --=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====--
1928
1929 -- This is the time required to activate another task and allow it
1930@@ -117,13 +119,15 @@
1931 Switch_To_New_Task : constant Duration := 0.001;
1932 -- ^^^ -- MODIFY HERE AS NEEDED
1933
1934+ Long_Switch_To_New_Task : constant Duration := 0.1;
1935+
1936 --=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====--
1937
1938 -- This is the time which will clear the queues of other tasks
1939 -- waiting to run. It is expected that this will be about five
1940 -- times greater than Switch_To_New_Task.
1941
1942- Clear_Ready_Queue : constant Duration := 1.1;
1943+ Clear_Ready_Queue : constant Duration := 0.1;
1944 -- ^^^ --- MODIFY HERE AS NEEDED
1945
1946 --=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====--
1947Index: gcc/testsuite/gcc.dg/builtins-config.h
1948===================================================================
1949--- gcc/testsuite/gcc.dg/builtins-config.h (.../tags/gcc_4_4_1_release) (wersja 151837)
1950+++ gcc/testsuite/gcc.dg/builtins-config.h (.../branches/gcc-4_4-branch) (wersja 151837)
1951@@ -1,4 +1,4 @@
1952-/* Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation.
1953+/* Copyright (C) 2003, 2004, 2005, 2006, 2009 Free Software Foundation.
1954
1955 Define macros useful in tests for bulitin functions. */
1956
1957@@ -15,8 +15,8 @@
1958 /* Irix6 doesn't have the entire C99 runtime. */
1959 #elif defined(__AVR__)
1960 /* AVR doesn't have the entire C99 runtime. */
1961-#elif defined(__FreeBSD__) && (__FreeBSD__ < 5)
1962-/* FreeBSD before version 5 doesn't have the entire C99 runtime. */
1963+#elif defined(__FreeBSD__)
1964+/* FreeBSD up to at least version 8 lacks support for cexp and friends. */
1965 #elif defined(__netware__)
1966 /* NetWare doesn't have the entire C99 runtime. */
1967 #elif defined(__vxworks)
1968Index: gcc/testsuite/gcc.dg/20030225-1.c
1969===================================================================
1970--- gcc/testsuite/gcc.dg/20030225-1.c (.../tags/gcc_4_4_1_release) (wersja 151837)
1971+++ gcc/testsuite/gcc.dg/20030225-1.c (.../branches/gcc-4_4-branch) (wersja 151837)
1972@@ -5,7 +5,6 @@
1973 and Benjamin Herrenschmidt <benh@kernel.crashing.org>. */
1974 /* { dg-do run { target fpic } } */
1975 /* { dg-options "-O2 -fPIC" } */
1976-/* { dg-bogus "\[Uu\]nresolved symbol .(_GLOBAL_OFFSET_TABLE_|\[_.A-Za-z\]\[_.0-9A-Za-z\]*@(PLT|GOT|GOTOFF))" "PIC unsupported" { xfail *-*-netware* } 0 } */
1977
1978 extern void exit (int);
1979
1980Index: gcc/testsuite/gcc.dg/20030708-1.c
1981===================================================================
1982--- gcc/testsuite/gcc.dg/20030708-1.c (.../tags/gcc_4_4_1_release) (wersja 151837)
1983+++ gcc/testsuite/gcc.dg/20030708-1.c (.../branches/gcc-4_4-branch) (wersja 151837)
1984@@ -1,7 +1,6 @@
1985 /* PR c/11420 */
1986 /* { dg-do link { target fpic } } */
1987 /* { dg-options "-O2 -fpic" } */
1988-/* { dg-bogus "\[Uu\]nresolved symbol .(_GLOBAL_OFFSET_TABLE_|\[_.A-Za-z\]\[_.0-9A-Za-z\]*@(PLT|GOT|GOTOFF))" "PIC unsupported" { xfail *-*-netware* } 0 } */
1989
1990 void (* volatile fn) (void);
1991 static void foo (void)
1992Index: gcc/testsuite/gcc.dg/cdce1.c
1993===================================================================
1994--- gcc/testsuite/gcc.dg/cdce1.c (.../tags/gcc_4_4_1_release) (wersja 151837)
1995+++ gcc/testsuite/gcc.dg/cdce1.c (.../branches/gcc-4_4-branch) (wersja 151837)
1996@@ -1,7 +1,8 @@
1997 /* { dg-do run } */
1998 /* { dg-skip-if "doubles are floats" { "avr-*-*" "m32c-*-*" } { "*" } { "" } } */
1999 /* { dg-options "-O2 -fmath-errno -fdump-tree-cdce-details -lm" } */
2000-/* { dg-final { scan-tree-dump "cdce1.c:16: note: function call is shrink-wrapped into error conditions\." "cdce" } } */
2001+/* { dg-options "-O2 -fmath-errno -fdump-tree-cdce-details" { target *-*-netware* } } */
2002+/* { dg-final { scan-tree-dump "cdce1.c:17: note: function call is shrink-wrapped into error conditions\." "cdce" } } */
2003 /* { dg-final { cleanup-tree-dump "cdce" } } */
2004
2005 #include <stdlib.h>
2006Index: gcc/testsuite/gcc.dg/bitfld-16.c
2007===================================================================
2008--- gcc/testsuite/gcc.dg/bitfld-16.c (.../tags/gcc_4_4_1_release) (wersja 151837)
2009+++ gcc/testsuite/gcc.dg/bitfld-16.c (.../branches/gcc-4_4-branch) (wersja 151837)
2010@@ -1,5 +1,6 @@
2011 /* { dg-do compile } */
2012 /* { dg-options "-Wno-packed-bitfield-compat" } */
2013+/* { dg-options "-Wno-packed-bitfield-compat -mno-ms-bitfields" { target i?86-*-netware } } */
2014
2015 struct t
2016 {
2017Index: gcc/testsuite/gcc.dg/special/gcsec-1.c
2018===================================================================
2019--- gcc/testsuite/gcc.dg/special/gcsec-1.c (.../tags/gcc_4_4_1_release) (wersja 151837)
2020+++ gcc/testsuite/gcc.dg/special/gcsec-1.c (.../branches/gcc-4_4-branch) (wersja 151837)
2021@@ -3,10 +3,8 @@
2022 /* { dg-do run { xfail rs6000-*-aix* powerpc*-*-aix* } } */
2023 /* { dg-require-gc-sections "" } */
2024
2025-/* { dg-options "-ffunction-sections -fdata-sections -Wl,--gc-sections -static" } */
2026-/* { dg-options "-ffunction-sections -fdata-sections -Wl,--gc-sections -static" { target native } } */
2027-/* Solaris 10 does not support static linking; there is no libc.a. */
2028-/* { dg-options "-ffunction-sections -fdata-sections -Wl,--gc-sections" { target *-*-netware* i?86-*-solaris2.1[0-9] } } */
2029+/* { dg-options "-ffunction-sections -fdata-sections -Wl,--gc-sections" } */
2030+/* { dg-options "-ffunction-sections -fdata-sections -Wl,--gc-sections -static" { target static } } */
2031
2032 #include <stdlib.h>
2033
2034Index: gcc/testsuite/gcc.dg/20050321-2.c
2035===================================================================
2036--- gcc/testsuite/gcc.dg/20050321-2.c (.../tags/gcc_4_4_1_release) (wersja 151837)
2037+++ gcc/testsuite/gcc.dg/20050321-2.c (.../branches/gcc-4_4-branch) (wersja 151837)
2038@@ -5,7 +5,6 @@
2039 figure out branch to lab is too far. */
2040 /* { dg-do link { target fpic } } */
2041 /* { dg-options "-g1 -fpic" } */
2042-/* { dg-bogus "\[Uu\]nresolved symbol .(_GLOBAL_OFFSET_TABLE_|\[_.A-Za-z\]\[_.0-9A-Za-z\]*@(PLT|GOT|GOTOFF))" "PIC unsupported" { xfail *-*-netware* } 0 } */
2043 /* { dg-require-effective-target int32plus } */
2044
2045 #define A(n) \
2046Index: gcc/testsuite/gcc.dg/pr41033.c
2047===================================================================
2048--- gcc/testsuite/gcc.dg/pr41033.c (.../tags/gcc_4_4_1_release) (wersja 0)
2049+++ gcc/testsuite/gcc.dg/pr41033.c (.../branches/gcc-4_4-branch) (wersja 151837)
2050@@ -0,0 +1,24 @@
2051+/* { dg-options "-O1 -fno-strict-aliasing" } */
2052+/* PR rtl-optimization/41033 */
2053+
2054+struct X {
2055+ int i;
2056+ int j;
2057+};
2058+
2059+int foo(struct X *p, struct X *q)
2060+{
2061+ p->j = 1;
2062+ q->i = 0;
2063+ return p->j;
2064+}
2065+
2066+extern void abort (void);
2067+
2068+int main()
2069+{
2070+ struct X x;
2071+ if (foo (&x, (struct X *)&x.j) != 0)
2072+ abort ();
2073+ return 0;
2074+}
2075Index: gcc/testsuite/gcc.dg/pr40861.c
2076===================================================================
2077--- gcc/testsuite/gcc.dg/pr40861.c (.../tags/gcc_4_4_1_release) (wersja 0)
2078+++ gcc/testsuite/gcc.dg/pr40861.c (.../branches/gcc-4_4-branch) (wersja 151837)
2079@@ -0,0 +1,7 @@
2080+/* { dg-do compile } */
2081+/* { dg-options "-O" } */
2082+
2083+int foo(int i)
2084+{
2085+ return (1LL >> 128 * i) && i;
2086+}
2087Index: gcc/testsuite/gcc.dg/bitfld-18.c
2088===================================================================
2089--- gcc/testsuite/gcc.dg/bitfld-18.c (.../tags/gcc_4_4_1_release) (wersja 151837)
2090+++ gcc/testsuite/gcc.dg/bitfld-18.c (.../branches/gcc-4_4-branch) (wersja 151837)
2091@@ -1,5 +1,6 @@
2092 /* { dg-do compile } */
2093 /* { dg-options "-Wno-packed-bitfield-compat" } */
2094+/* { dg-options "-Wno-packed-bitfield-compat -mno-ms-bitfields" { target i?86-*-netware } } */
2095
2096 struct t
2097 {
2098Index: gcc/testsuite/gcc.dg/large-size-array-2.c
2099===================================================================
2100--- gcc/testsuite/gcc.dg/large-size-array-2.c (.../tags/gcc_4_4_1_release) (wersja 151837)
2101+++ gcc/testsuite/gcc.dg/large-size-array-2.c (.../branches/gcc-4_4-branch) (wersja 151837)
2102@@ -4,4 +4,4 @@
2103 static char * name[] = {
2104 [0x80000000] = "bar"
2105 };
2106-/* { dg-error "too large" "" { target { { ! lp64 } || x86_64-*-mingw* } } 6 } */
2107+/* { dg-error "too large" "" { target { { ! lp64 } && { ! llp64 } } } 6 } */
2108Index: gcc/testsuite/gcc.dg/builtins-10.c
2109===================================================================
2110--- gcc/testsuite/gcc.dg/builtins-10.c (.../tags/gcc_4_4_1_release) (wersja 151837)
2111+++ gcc/testsuite/gcc.dg/builtins-10.c (.../branches/gcc-4_4-branch) (wersja 151837)
2112@@ -25,7 +25,7 @@
2113 link_error ();
2114
2115 if (pow(pow(x,4.0),0.25) != x)
2116- link_error ();
2117+ /* XFAIL. PR41098. */;
2118 }
2119
2120 void test2(double x, double y, double z)
2121@@ -42,7 +42,7 @@
2122 if (pow(sqrt(x),y) != pow(x,y*0.5))
2123 link_error ();
2124
2125- if (pow(pow(x,y),z) != pow(x,y*z))
2126+ if (pow(pow(fabs(x),y),z) != pow(fabs(x),y*z))
2127 link_error ();
2128 }
2129
2130Index: gcc/testsuite/gcc.dg/large-size-array-4.c
2131===================================================================
2132--- gcc/testsuite/gcc.dg/large-size-array-4.c (.../tags/gcc_4_4_1_release) (wersja 151837)
2133+++ gcc/testsuite/gcc.dg/large-size-array-4.c (.../branches/gcc-4_4-branch) (wersja 151837)
2134@@ -4,4 +4,4 @@
2135 static char * name[] = {
2136 [0x80000000] = "bar"
2137 };
2138-/* { dg-error "too large" "" { target { { ! lp64 } || x86_64-*-mingw* } } 6 } */
2139+/* { dg-error "too large" "" { target { { ! lp64 } && { ! llp64 } } } 6 } */
2140Index: gcc/testsuite/gcc.dg/c99-const-expr-2.c
2141===================================================================
2142--- gcc/testsuite/gcc.dg/c99-const-expr-2.c (.../tags/gcc_4_4_1_release) (wersja 151837)
2143+++ gcc/testsuite/gcc.dg/c99-const-expr-2.c (.../branches/gcc-4_4-branch) (wersja 151837)
2144@@ -14,8 +14,10 @@
2145 int b;
2146 long *c;
2147
2148-#if defined(_LP64) || defined(_WIN64)
2149+#if defined(_LP64)
2150 #define ZERO 0L
2151+#elif defined(_WIN64)
2152+#define ZERO 0LL
2153 #else
2154 #define ZERO 0
2155 #endif
2156Index: gcc/testsuite/gcc.dg/uninit-6.c
2157===================================================================
2158--- gcc/testsuite/gcc.dg/uninit-6.c (.../tags/gcc_4_4_1_release) (wersja 151837)
2159+++ gcc/testsuite/gcc.dg/uninit-6.c (.../branches/gcc-4_4-branch) (wersja 151837)
2160@@ -39,7 +39,7 @@
2161 rv = malloc (sizeof (struct tree));
2162 rv->car = 0;
2163
2164- APPEND(rv, field, INTEGER_T, a); /* { dg-bogus "field" "uninitialized variable warning" } */
2165+ APPEND(rv, field, INTEGER_T, a); /* { dg-bogus "field" "uninitialized variable warning" { xfail *-*-* } } */
2166 APPEND(rv, field, PTR_T, b);
2167 APPEND(rv, field, INTEGER_T, c);
2168
2169Index: gcc/testsuite/gcc.dg/torture/pr41261.c
2170===================================================================
2171--- gcc/testsuite/gcc.dg/torture/pr41261.c (.../tags/gcc_4_4_1_release) (wersja 0)
2172+++ gcc/testsuite/gcc.dg/torture/pr41261.c (.../branches/gcc-4_4-branch) (wersja 151837)
2173@@ -0,0 +1,8 @@
2174+/* { dg-do compile } */
2175+/* { dg-options "-fprofile-arcs" } */
2176+
2177+extern void relocate_kernel();
2178+void machine_kexec(void *control_page)
2179+{
2180+ __builtin_memcpy(control_page, relocate_kernel, 2048);
2181+}
2182Index: gcc/testsuite/gcc.dg/torture/pr39074.c
2183===================================================================
2184--- gcc/testsuite/gcc.dg/torture/pr39074.c (.../tags/gcc_4_4_1_release) (wersja 151837)
2185+++ gcc/testsuite/gcc.dg/torture/pr39074.c (.../branches/gcc-4_4-branch) (wersja 151837)
2186@@ -2,9 +2,11 @@
2187 /* { dg-options "-fdump-tree-alias" } */
2188 /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
2189
2190+typedef __PTRDIFF_TYPE__ intptr_t;
2191+
2192 int i;
2193 void __attribute__((noinline))
2194-foo(long b, long q)
2195+foo(long b, intptr_t q)
2196 {
2197 int *y;
2198 int **a = &y, **x;
2199Index: gcc/testsuite/gcc.dg/torture/builtin-power-1.c
2200===================================================================
2201--- gcc/testsuite/gcc.dg/torture/builtin-power-1.c (.../tags/gcc_4_4_1_release) (wersja 151837)
2202+++ gcc/testsuite/gcc.dg/torture/builtin-power-1.c (.../branches/gcc-4_4-branch) (wersja 151837)
2203@@ -77,9 +77,9 @@
2204 /* Test pow(pow(x,y),z) -> pow(x,y*z). */
2205 #define POW_POW \
2206 extern void link_failure_pow_pow(void); \
2207- if (pow(pow(d1, d2), d3) != pow(d1,d2*d3) \
2208- || powf(powf(f1,f2),f3) != powf(f1,f2*f3) \
2209- || powl(powl(ld1,ld2),ld3) != powl(ld1,ld2*ld3)) \
2210+ if (pow(pow(fabs(d1), d2), d3) != pow(fabs(d1),d2*d3) \
2211+ || powf(powf(fabs(f1),f2),f3) != powf(fabs(f1),f2*f3) \
2212+ || powl(powl(fabs(ld1),ld2),ld3) != powl(fabs(ld1),ld2*ld3)) \
2213 link_failure_pow_pow()
2214
2215 POW_POW;
2216Index: gcc/testsuite/gcc.dg/torture/pr41094.c
2217===================================================================
2218--- gcc/testsuite/gcc.dg/torture/pr41094.c (.../tags/gcc_4_4_1_release) (wersja 0)
2219+++ gcc/testsuite/gcc.dg/torture/pr41094.c (.../branches/gcc-4_4-branch) (wersja 151837)
2220@@ -0,0 +1,19 @@
2221+/* { dg-do run } */
2222+/* { dg-options "-ffast-math" } */
2223+
2224+#include <math.h>
2225+
2226+extern void abort (void);
2227+
2228+double foo(void)
2229+{
2230+ double x = -4.0;
2231+ return pow (x * x, 0.25);
2232+}
2233+
2234+int main()
2235+{
2236+ if (foo() != 2.0)
2237+ abort ();
2238+ return 0;
2239+}
2240Index: gcc/testsuite/gcc.dg/20021018-1.c
2241===================================================================
2242--- gcc/testsuite/gcc.dg/20021018-1.c (.../tags/gcc_4_4_1_release) (wersja 151837)
2243+++ gcc/testsuite/gcc.dg/20021018-1.c (.../branches/gcc-4_4-branch) (wersja 151837)
2244@@ -1,6 +1,5 @@
2245 /* { dg-do run { target fpic } } */
2246 /* { dg-options "-O2 -fpic" } */
2247-/* { dg-bogus "\[Uu\]nresolved symbol .(_GLOBAL_OFFSET_TABLE_|\[_.A-Za-z\]\[_.0-9A-Za-z\]*@(PLT|GOT|GOTOFF))" "PIC unsupported" { xfail *-*-netware* } 0 } */
2248
2249 extern void abort (void);
2250 extern void exit (int);
2251Index: gcc/testsuite/gcc.dg/tree-ssa/pr33920.c
2252===================================================================
2253--- gcc/testsuite/gcc.dg/tree-ssa/pr33920.c (.../tags/gcc_4_4_1_release) (wersja 151837)
2254+++ gcc/testsuite/gcc.dg/tree-ssa/pr33920.c (.../branches/gcc-4_4-branch) (wersja 151837)
2255@@ -2,6 +2,7 @@
2256 /* { dg-do compile } */
2257 /* { dg-options "-O3" } */
2258
2259+typedef __PTRDIFF_TYPE__ intptr_t;
2260 typedef union lispunion *object;
2261 struct character
2262 {
2263@@ -22,14 +23,14 @@
2264 object V659;
2265 object _x, _y;
2266 object V643;
2267- long V648;
2268+ intptr_t V648;
2269 unsigned char V653;
2270 object V651;
2271 object V654;
2272 object V658;
2273
2274 T1240:
2275-if (V648 >= (long)V651) /* { dg-warning "cast from pointer to integer of different size" "" { target { ! int32plus } } } */
2276+if (V648 >= (intptr_t)V651) /* { dg-warning "cast from pointer to integer of different size" "" { target { ! int32plus } } } */
2277 goto T1243;
2278 V653 = ((char *) V654->v.v_self)[V648];
2279 V659 = (object) V654 + V653;
2280@@ -41,7 +42,7 @@
2281 goto T1249;
2282 goto T1224;
2283 T1249:
2284- V648 = (long) V648 + 1;
2285+ V648 = (intptr_t) V648 + 1;
2286 goto T1240;
2287 T1243:
2288 V643 = (object) & Cnil_body;
2289Index: gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-27.c
2290===================================================================
2291--- gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-27.c (.../tags/gcc_4_4_1_release) (wersja 0)
2292+++ gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-27.c (.../branches/gcc-4_4-branch) (wersja 151837)
2293@@ -0,0 +1,24 @@
2294+/* { dg-do compile } */
2295+/* { dg-options "-O2 -fdump-tree-ccp1" } */
2296+
2297+#include <string.h>
2298+
2299+char c[10];
2300+
2301+void
2302+f1 ()
2303+{
2304+ const char *p = "123456";
2305+ memcpy (c, p, 6);
2306+}
2307+
2308+void
2309+f2 ()
2310+{
2311+ const char *p = "12345678";
2312+ p += 2;
2313+ memcpy (c, p, 6);
2314+}
2315+
2316+/* { dg-final { scan-tree-dump-times "memcpy\[^\n\]*123456" 2 "ccp1" } } */
2317+/* { dg-final { cleanup-tree-dump "ccp1" } } */
2318Index: gcc/testsuite/gcc.dg/uninit-pr40943.c
2319===================================================================
2320--- gcc/testsuite/gcc.dg/uninit-pr40943.c (.../tags/gcc_4_4_1_release) (wersja 0)
2321+++ gcc/testsuite/gcc.dg/uninit-pr40943.c (.../branches/gcc-4_4-branch) (wersja 151837)
2322@@ -0,0 +1,10 @@
2323+/* PR middle-end/40943 */
2324+/* { dg-do compile } */
2325+/* { dg-options "-O2 -Wuninitialized" } */
2326+
2327+void
2328+foo (void)
2329+{
2330+ int *p;
2331+ *p = 3; /* { dg-warning "is used uninitialized" } */
2332+}
2333Index: gcc/testsuite/gcc.dg/cdce2.c
2334===================================================================
2335--- gcc/testsuite/gcc.dg/cdce2.c (.../tags/gcc_4_4_1_release) (wersja 151837)
2336+++ gcc/testsuite/gcc.dg/cdce2.c (.../branches/gcc-4_4-branch) (wersja 151837)
2337@@ -1,7 +1,8 @@
2338 /* { dg-do run } */
2339 /* { dg-skip-if "doubles are floats" { "avr-*-*" } { "*" } { "" } } */
2340 /* { dg-options "-O2 -fmath-errno -fdump-tree-cdce-details -lm" } */
2341-/* { dg-final { scan-tree-dump "cdce2.c:16: note: function call is shrink-wrapped into error conditions\." "cdce" } }*/
2342+/* { dg-options "-O2 -fmath-errno -fdump-tree-cdce-details" { target *-*-netware* } } */
2343+/* { dg-final { scan-tree-dump "cdce2.c:17: note: function call is shrink-wrapped into error conditions\." "cdce" } }*/
2344 /* { dg-final { cleanup-tree-dump "cdce" } } */
2345
2346 #include <stdlib.h>
2347Index: gcc/testsuite/gcc.dg/bitfld-15.c
2348===================================================================
2349--- gcc/testsuite/gcc.dg/bitfld-15.c (.../tags/gcc_4_4_1_release) (wersja 151837)
2350+++ gcc/testsuite/gcc.dg/bitfld-15.c (.../branches/gcc-4_4-branch) (wersja 151837)
2351@@ -1,6 +1,7 @@
2352 /* { dg-do compile } */
2353 /* Remove pedantic. Allow the GCC extension to use char for bitfields. */
2354 /* { dg-options "" } */
2355+/* { dg-options "-mno-ms-bitfields" { target i?86-*-netware } } */
2356
2357 struct t
2358 {
2359Index: gcc/testsuite/gcc.dg/20090902-1.c
2360===================================================================
2361--- gcc/testsuite/gcc.dg/20090902-1.c (.../tags/gcc_4_4_1_release) (wersja 0)
2362+++ gcc/testsuite/gcc.dg/20090902-1.c (.../branches/gcc-4_4-branch) (wersja 151837)
2363@@ -0,0 +1,3 @@
2364+/* { dg-do compile } */
2365+#define STRING(x) #x
2366+char buf[] = STRING(L'\x123');
2367Index: gcc/testsuite/gcc.dg/debug/20020224-1.c
2368===================================================================
2369--- gcc/testsuite/gcc.dg/debug/20020224-1.c (.../tags/gcc_4_4_1_release) (wersja 151837)
2370+++ gcc/testsuite/gcc.dg/debug/20020224-1.c (.../branches/gcc-4_4-branch) (wersja 151837)
2371@@ -1,9 +1,13 @@
2372+/* { dg-options "-g3 -O" } */
2373 /* { dg-do compile } */
2374
2375-/* Here's the deal: f3 is not inlined because it's too big, but f2 and
2376- f1 are inlined into it. We used to fail to emit debugging info for
2377- t1, because it was moved inside the (inlined) block of f1, marked
2378- as abstract, then we'd crash. */
2379+/* Here's the deal: f4 is inlined into main, f3 is inlined into f4, f2 is
2380+ inlined into f1. The DIE of main should contain DW_TAG_inlined_subroutines
2381+ children for f4, f3, f2 and f1. Also, there should be a DIE representing
2382+ and out of line instance of f4, aside the DIE representing its abstract
2383+ instance.
2384+ We used to fail to emit debugging info for t1, because it was moved
2385+ inside the (inlined) block of f1, marked as abstract, then we'd crash. */
2386
2387 #define UNUSED __attribute__((unused))
2388 #define EXT __extension__
2389@@ -58,3 +62,10 @@
2390
2391 return;
2392 }
2393+
2394+int
2395+main ()
2396+{
2397+ int foo = 1;
2398+ f4 ();
2399+}
2400Index: gcc/testsuite/gcc.dg/debug/dwarf2/inline2.c
2401===================================================================
2402--- gcc/testsuite/gcc.dg/debug/dwarf2/inline2.c (.../tags/gcc_4_4_1_release) (wersja 0)
2403+++ gcc/testsuite/gcc.dg/debug/dwarf2/inline2.c (.../branches/gcc-4_4-branch) (wersja 151837)
2404@@ -0,0 +1,70 @@
2405+/* Contributed by Dodji Seketeli <dodji@redhat.com>
2406+ Origin: PR debug/37801
2407+
2408+ Abstract instances (DW_TAG_subroutines having the DW_AT_inline attribute)
2409+ of second and first were having a DW_TAG_lexical_block DIE wrongly
2410+ representing the inlined calls to third (in second) and to
2411+ second (in first). At the same time, main didn't have children
2412+ DW_TAG_inlined_subroutine DIEs representing the inlined calls to
2413+ first, second and third.
2414+
2415+ The ideal goal here is to test that we have no superfluous
2416+ DW_TAG_lexical_block DIE anymore, that abstract instances DIEs have
2417+ no descendant DIE with a DW_AT_abstract_origin attribute, and that main has
2418+ properly nested DW_TAG_inlined_subroutine DIEs for third, second and first.
2419+*/
2420+
2421+/* { dg-options "-O -g3 -dA" } */
2422+/* { dg-do compile } */
2423+
2424+/* There are 6 inlined subroutines:
2425+ - One for each subroutine inlined into main, that's 3.
2426+ - One for earch subroutine inline into the out of line instances
2427+ of third, second and first. */
2428+/* { dg-final { scan-assembler-times "\\(DIE \\(.*?\\) DW_TAG_inlined_subroutine" 6 } } */
2429+
2430+/* Likewise we should have 6 DW_TAG_lexical_block DIEs:
2431+ - One for each subroutine inlined into main, so that's 3.
2432+ - One for each subroutine inlined in the out of line instances
2433+ of third, second and first, that's 3.
2434+*/
2435+/* { dg-final { scan-assembler-times "\\(DIE \\(.*?\\) DW_TAG_lexical_block" 6 } } */
2436+
2437+
2438+/* There are 3 DW_AT_inline attributes: one per abstract inline instance.
2439+ The value of the attribute must be 0x3, meaning the function was
2440+ actually inlined. */
2441+/* { dg-final { scan-assembler-times "byte.*?0x3.*? DW_AT_inline" 3 } } */
2442+
2443+
2444+inline void
2445+third (int arg3)
2446+{
2447+ int var3 = arg3;
2448+ int* a = 0;
2449+ a[0] = var3;
2450+}
2451+
2452+inline void
2453+second (int arg2)
2454+{
2455+ int var2 = arg2;
2456+ third (var2+1);
2457+}
2458+
2459+inline void
2460+first (int arg1)
2461+{
2462+ int var1 = arg1;
2463+ second (var1+1);
2464+}
2465+
2466+int
2467+main ()
2468+{
2469+ int some_int = 1;
2470+ first (some_int);
2471+ return 0;
2472+}
2473+
2474+
2475Index: gcc/testsuite/gcc.dg/bitfld-17.c
2476===================================================================
2477--- gcc/testsuite/gcc.dg/bitfld-17.c (.../tags/gcc_4_4_1_release) (wersja 151837)
2478+++ gcc/testsuite/gcc.dg/bitfld-17.c (.../branches/gcc-4_4-branch) (wersja 151837)
2479@@ -1,5 +1,6 @@
2480 /* { dg-do compile } */
2481 /* { dg-options "" } */
2482+/* { dg-options "-mno-ms-bitfields" { target i?86-*-netware } } */
2483
2484 struct t
2485 {
2486Index: gcc/testsuite/gcc.dg/c90-const-expr-2.c
2487===================================================================
2488--- gcc/testsuite/gcc.dg/c90-const-expr-2.c (.../tags/gcc_4_4_1_release) (wersja 151837)
2489+++ gcc/testsuite/gcc.dg/c90-const-expr-2.c (.../branches/gcc-4_4-branch) (wersja 151837)
2490@@ -14,8 +14,10 @@
2491 int b;
2492 long *c;
2493
2494-#if defined(_LP64) || defined(_WIN64)
2495+#if defined(_LP64)
2496 #define ZERO 0L
2497+#elif defined(_WIN64)
2498+#define ZERO 0LL
2499 #else
2500 #define ZERO 0
2501 #endif
2502Index: gcc/testsuite/gcc.dg/20010912-1.c
2503===================================================================
2504--- gcc/testsuite/gcc.dg/20010912-1.c (.../tags/gcc_4_4_1_release) (wersja 151837)
2505+++ gcc/testsuite/gcc.dg/20010912-1.c (.../branches/gcc-4_4-branch) (wersja 151837)
2506@@ -1,6 +1,5 @@
2507 /* { dg-do run { target fpic } } */
2508 /* { dg-options "-O2 -fpic" } */
2509-/* { dg-bogus "\[Uu\]nresolved symbol .(_GLOBAL_OFFSET_TABLE_|\[_.A-Za-z\]\[_.0-9A-Za-z\]*@(PLT|GOT|GOTOFF))" "PIC unsupported" { xfail *-*-netware* } 0 } */
2510
2511 extern void abort (void);
2512 extern void exit (int);
2513Index: gcc/testsuite/gcc.dg/pr41123.c
2514===================================================================
2515--- gcc/testsuite/gcc.dg/pr41123.c (.../tags/gcc_4_4_1_release) (wersja 0)
2516+++ gcc/testsuite/gcc.dg/pr41123.c (.../branches/gcc-4_4-branch) (wersja 151837)
2517@@ -0,0 +1,46 @@
2518+/* PR middle-end/41123 */
2519+/* { dg-do compile } */
2520+/* { dg-options "-O2 -fno-strict-aliasing" } */
2521+
2522+struct S { char a, b, c, d, e, f, g, h; };
2523+struct T { int a, b; };
2524+
2525+struct S
2526+f1 (float _Complex x)
2527+{
2528+ return *(struct S *) & x;
2529+}
2530+
2531+int
2532+f2 (float _Complex x)
2533+{
2534+ struct S f = f1 (x);
2535+ return f.b;
2536+}
2537+
2538+struct T
2539+f3 (float _Complex x)
2540+{
2541+ return *(struct T *) & x;
2542+}
2543+
2544+int
2545+f4 (float _Complex x)
2546+{
2547+ struct T f = f3 (x);
2548+ return f.a;
2549+}
2550+
2551+int
2552+f5 (float _Complex x)
2553+{
2554+ struct T f = f3 (x);
2555+ return f.b;
2556+}
2557+
2558+struct T
2559+f6 (float _Complex x)
2560+{
2561+ struct T f = f3 (x);
2562+ return f;
2563+}
2564Index: gcc/testsuite/gcc.dg/uninit-6-O0.c
2565===================================================================
2566--- gcc/testsuite/gcc.dg/uninit-6-O0.c (.../tags/gcc_4_4_1_release) (wersja 151837)
2567+++ gcc/testsuite/gcc.dg/uninit-6-O0.c (.../branches/gcc-4_4-branch) (wersja 151837)
2568@@ -39,7 +39,7 @@
2569 rv = malloc (sizeof (struct tree));
2570 rv->car = 0;
2571
2572- APPEND(rv, field, INTEGER_T, a); /* { dg-bogus "field" "uninitialized variable warning" } */
2573+ APPEND(rv, field, INTEGER_T, a); /* { dg-bogus "field" "uninitialized variable warning" { xfail *-*-* } } */
2574 APPEND(rv, field, PTR_T, b);
2575 APPEND(rv, field, INTEGER_T, c);
2576
2577Index: gcc/testsuite/gcc.dg/pr41232.c
2578===================================================================
2579--- gcc/testsuite/gcc.dg/pr41232.c (.../tags/gcc_4_4_1_release) (wersja 0)
2580+++ gcc/testsuite/gcc.dg/pr41232.c (.../branches/gcc-4_4-branch) (wersja 151837)
2581@@ -0,0 +1,14 @@
2582+/* { dg-do compile } */
2583+/* { dg-options "-O1 -g" } */
2584+extern int atoi (const char *);
2585+extern int sprintf (char *, const char *, ...);
2586+void malloc_init() {
2587+ char *cptr;
2588+ char buf[1];
2589+ int tmbd = atoi(cptr);
2590+ if (tmbd > 0)
2591+ tmbd = (tmbd <= 124) ? tmbd : 124;
2592+ else
2593+ tmbd = 0;
2594+ sprintf(buf, "%d\n", tmbd);
2595+}
2596Index: gcc/testsuite/gcc.dg/pr40971.c
2597===================================================================
2598--- gcc/testsuite/gcc.dg/pr40971.c (.../tags/gcc_4_4_1_release) (wersja 0)
2599+++ gcc/testsuite/gcc.dg/pr40971.c (.../branches/gcc-4_4-branch) (wersja 151837)
2600@@ -0,0 +1,23 @@
2601+/* PR target/40971 */
2602+/* { dg-do compile } */
2603+/* { dg-options "-O -fstack-protector -fno-strict-aliasing" } */
2604+/* { dg-require-effective-target fstack_protector } */
2605+
2606+extern void bar (char *);
2607+
2608+void
2609+foo (int f, long a)
2610+{
2611+ {
2612+ char d[32768];
2613+ bar (d);
2614+ }
2615+ double b = f;
2616+ while (a)
2617+ {
2618+ char c[sizeof (double)];
2619+ __builtin_memcpy (c, &b, sizeof (c));
2620+ if (*(double *) c != 2.0)
2621+ break;
2622+ }
2623+}
2624Index: gcc/testsuite/gcc.dg/20030213-1.c
2625===================================================================
2626--- gcc/testsuite/gcc.dg/20030213-1.c (.../tags/gcc_4_4_1_release) (wersja 151837)
2627+++ gcc/testsuite/gcc.dg/20030213-1.c (.../branches/gcc-4_4-branch) (wersja 151837)
2628@@ -1,7 +1,6 @@
2629 /* Testcase for http://gcc.gnu.org/ml/gcc-patches/2003-02/msg01017.html */
2630 /* { dg-do link { target fpic } } */
2631 /* { dg-options "-O -fpic" } */
2632-/* { dg-bogus "\[Uu\]nresolved symbol .(_GLOBAL_OFFSET_TABLE_|\[_.A-Za-z\]\[_.0-9A-Za-z\]*@(PLT|GOT|GOTOFF))" "PIC unsupported" { xfail *-*-netware* } 0 } */
2633
2634 int *g;
2635
2636Index: gcc/testsuite/gcc.dg/dfp/pr39902.c
2637===================================================================
2638--- gcc/testsuite/gcc.dg/dfp/pr39902.c (.../tags/gcc_4_4_1_release) (wersja 151837)
2639+++ gcc/testsuite/gcc.dg/dfp/pr39902.c (.../branches/gcc-4_4-branch) (wersja 151837)
2640@@ -189,7 +189,7 @@
2641 if (COMPARE128 (a128, p128_2_0))
2642 FAILURE
2643
2644- a128.d = p128_2_0.d * 1.0DD;
2645+ a128.d = p128_2_0.d * 1.0DL;
2646 if (COMPARE128 (a128, p128_2_0))
2647 FAILURE
2648
2649@@ -197,7 +197,7 @@
2650 if (COMPARE128 (a128, m128_2_0))
2651 FAILURE
2652
2653- a128.d = p128_2_0.d * -1.0DD;
2654+ a128.d = p128_2_0.d * -1.0DL;
2655 if (COMPARE128 (a128, m128_2_0))
2656 FAILURE
2657
2658@@ -208,7 +208,7 @@
2659 if (! (COMPARE128 (a128, p128_2_0)))
2660 FAILURE
2661
2662- a128.d = p128_2_0.d * 1.DD;
2663+ a128.d = p128_2_0.d * 1.DL;
2664 if (! (COMPARE128 (a128, p128_2_0)))
2665 FAILURE
2666
2667@@ -216,7 +216,7 @@
2668 if (! (COMPARE128 (a128, m128_2_0)))
2669 FAILURE
2670
2671- a128.d = p128_2_0.d * -1.DD;
2672+ a128.d = p128_2_0.d * -1.DL;
2673 if (! (COMPARE128 (a128, m128_2_0)))
2674 FAILURE
2675 }
2676Index: gcc/testsuite/gcc.dg/ssp-1.c
2677===================================================================
2678--- gcc/testsuite/gcc.dg/ssp-1.c (.../tags/gcc_4_4_1_release) (wersja 151837)
2679+++ gcc/testsuite/gcc.dg/ssp-1.c (.../branches/gcc-4_4-branch) (wersja 151837)
2680@@ -4,7 +4,7 @@
2681
2682 #include <stdlib.h>
2683
2684-static void
2685+void
2686 __stack_chk_fail (void)
2687 {
2688 exit (0); /* pass */
2689Index: gcc/testsuite/gcc.dg/vect/O1-pr33854.c
2690===================================================================
2691--- gcc/testsuite/gcc.dg/vect/O1-pr33854.c (.../tags/gcc_4_4_1_release) (wersja 151837)
2692+++ gcc/testsuite/gcc.dg/vect/O1-pr33854.c (.../branches/gcc-4_4-branch) (wersja 151837)
2693@@ -1,7 +1,7 @@
2694 /* Testcase by Martin Michlmayr <tbm@cyrius.com> */
2695 /* { dg-do compile } */
2696
2697-extern void *malloc (long unsigned int __size);
2698+extern void *malloc (__SIZE_TYPE__ __size);
2699 typedef struct VMatrix_ VMatrix;
2700 struct VMatrix_
2701 {
2702Index: gcc/testsuite/gcc.dg/vect/O1-pr41008.c
2703===================================================================
2704--- gcc/testsuite/gcc.dg/vect/O1-pr41008.c (.../tags/gcc_4_4_1_release) (wersja 0)
2705+++ gcc/testsuite/gcc.dg/vect/O1-pr41008.c (.../branches/gcc-4_4-branch) (wersja 151837)
2706@@ -0,0 +1,23 @@
2707+/* { dg-do compile } */
2708+
2709+double heating[2][2];
2710+
2711+void foo (int, int);
2712+
2713+void map_do()
2714+{
2715+ int jsav, ksav, k, j;
2716+
2717+ for(k = 0; k < 2; k++)
2718+ for(j = 0; j < 2; j++)
2719+ if (heating[k][j] > 0.)
2720+ {
2721+ jsav = j;
2722+ ksav = k;
2723+ }
2724+
2725+ foo (jsav, ksav);
2726+}
2727+
2728+/* { dg-final { cleanup-tree-dump "vect" } } */
2729+
2730Index: gcc/testsuite/gcc.dg/vect/pr33846.c
2731===================================================================
2732--- gcc/testsuite/gcc.dg/vect/pr33846.c (.../tags/gcc_4_4_1_release) (wersja 151837)
2733+++ gcc/testsuite/gcc.dg/vect/pr33846.c (.../branches/gcc-4_4-branch) (wersja 151837)
2734@@ -7,7 +7,9 @@
2735 return ~i >> 31;
2736 }
2737
2738-void _mix_some_samples (long buf, int *mix_buffer, int mix_size)
2739+typedef __PTRDIFF_TYPE__ intptr_t;
2740+
2741+void _mix_some_samples (intptr_t buf, int *mix_buffer, int mix_size)
2742 {
2743 int i;
2744 signed int *p = mix_buffer;
2745Index: gcc/testsuite/gcc.dg/vect/no-scevccp-noreassoc-outer-2.c
2746===================================================================
2747--- gcc/testsuite/gcc.dg/vect/no-scevccp-noreassoc-outer-2.c (.../tags/gcc_4_4_1_release) (wersja 151837)
2748+++ gcc/testsuite/gcc.dg/vect/no-scevccp-noreassoc-outer-2.c (.../branches/gcc-4_4-branch) (wersja 151837)
2749@@ -4,7 +4,7 @@
2750 #include "tree-vect.h"
2751
2752 #define N 40
2753-int a[200*N];
2754+int a[200*N+N];
2755
2756 __attribute__ ((noinline)) void
2757 foo (){
2758Index: gcc/testsuite/gcc.dg/vect/pr33833.c
2759===================================================================
2760--- gcc/testsuite/gcc.dg/vect/pr33833.c (.../tags/gcc_4_4_1_release) (wersja 151837)
2761+++ gcc/testsuite/gcc.dg/vect/pr33833.c (.../branches/gcc-4_4-branch) (wersja 151837)
2762@@ -1,6 +1,10 @@
2763 /* Testcase by Martin Michlmayr <tbm@cyrius.com> */
2764 /* { dg-do compile } */
2765
2766+#define signed
2767+typedef unsigned __PTRDIFF_TYPE__ uintptr_t;
2768+#undef signed
2769+
2770 struct list_head
2771 {
2772 struct list_head *prev;
2773@@ -14,7 +18,7 @@
2774 struct prio_array *active, arrays[2];
2775 } per_cpu__runqueues;
2776
2777-void sched_init (unsigned long __ptr)
2778+void sched_init (uintptr_t __ptr)
2779 {
2780 int j, k;
2781 struct prio_array *array;
f06d2ced 2782Index: gcc/testsuite/ChangeLog
52d9744f 2783===================================================================
55465a90
AM
2784--- gcc/testsuite/ChangeLog (.../tags/gcc_4_4_1_release) (wersja 151837)
2785+++ gcc/testsuite/ChangeLog (.../branches/gcc-4_4-branch) (wersja 151837)
2786@@ -1,3 +1,577 @@
2787+2009-09-16 Uros Bizjak <ubizjak@gmail.com>
2788+
2789+ * gfortran.dg/default_format_denormal_2.f90: Add ieee options.
2790+ * gfortran.dg/default_format_denormal_1.f90: Ditto. Remove
2791+ alpha*-*-* target from XFAIL list.
2792+
2793+2009-09-16 Eric Botcazou <ebotcazou@adacore.com>
2794+
2795+ * gnat.dg/alignment9.adb: New test.
2796+
2797+2009-09-16 Richard Guenther <rguenther@suse.de>
2798+
2799+ Backport from mainline
2800+ 2009-09-09 Richard Guenther <rguenther@suse.de>
2801+
2802+ PR tree-optimization/41101
2803+ * gcc.c-torture/compile/pr41101.c: New testcase.
2804+
2805+2009-09-11 Steven G. Kargl <kargl@gcc.gnu.org>
2806+
2807+ Backported from mainline:
2808+ 2009-05-08 Janus Weil <janus@gcc.gnu.org>
2809+
2810+ PR fortran/39876
2811+ * gfortran.dg/intrinsic_3.f90: New.
2812+
2813+
2814+2009-09-10 H.J. Lu <hongjiu.lu@intel.com>
2815+
2816+ * gcc.dg/pr41241.c: Removed.
2817+
2818+2009-09-10 H.J. Lu <hongjiu.lu@intel.com>
2819+
2820+ Backport from mainline:
2821+ 2009-09-10 Richard Guenther <rguenther@suse.de>
2822+
2823+ PR middle-end/41257
2824+ * g++.dg/torture/pr41257-2.C: New testcase.
2825+
2826+ 2009-09-08 Alexandre Oliva <aoliva@redhat.com>
2827+
2828+ PR debug/41229
2829+ PR debug/41291
2830+ PR debug/41300
2831+ * gfortran.dg/pr41229.f90: New.
2832+
2833+ 2009-09-08 Alexandre Oliva <aoliva@redhat.com>
2834+
2835+ PR debug/41232
2836+ * gcc.dg/pr41232.c: New.
2837+
2838+ 2009-09-07 Martin Jambor <mjambor@suse.cz>
2839+
2840+ PR middle-end/41282
2841+ * gcc.c-torture/compile/pr41282.c: New test.
2842+
2843+ 2009-09-06 Jakub Jelinek <jakub@redhat.com>
2844+
2845+ PR bootstrap/41241
2846+ * gcc.dg/pr41241.c: New test.
2847+
2848+ 2009-09-06 Richard Guenther <rguenther@suse.de>
2849+
2850+ PR middle-end/41144
2851+ * g++.dg/torture/pr41144.C: New testcase.
2852+
2853+ 2009-09-06 Richard Guenther <rguenther@suse.de>
2854+
2855+ PR middle-end/41261
2856+ * gcc.dg/torture/pr41261.c: New testcase.
2857+
2858+ 2009-09-05 Richard Guenther <rguenther@suse.de>
2859+
2860+ PR middle-end/41181
2861+ * gcc.c-torture/compile/pr41181.c: New testcase.
2862+
2863+ 2009-09-05 Richard Guenther <rguenther@suse.de>
2864+
2865+ PR debug/41273
2866+ * g++.dg/torture/pr41273.C: New testcase.
2867+
2868+ 2009-09-04 Alexandre Oliva <aoliva@redhat.com>
2869+
2870+ PR debug/41225
2871+ * gfortran.dg/pr41225.f90: New.
2872+
2873+ 2009-09-04 Richard Guenther <rguenther@suse.de>
2874+
2875+ PR middle-end/41257
2876+ * g++.dg/torture/pr41257.C: New testcase.
2877+
2878+ 2009-09-04 Martin Jambor <mjambor@suse.cz>
2879+
2880+ PR tree-optimization/41112
2881+ * gnat.dg/array8.adb: New test.
2882+
2883+2009-09-08 Ozkan Sezer <sezeroz@gmail.com>
2884+
2885+ * gcc.dg/large-size-array-2.c: Fix target requirement.
2886+ * gcc.dg/large-size-array-4.c: Likewise.
2887+ * gcc.dg/c99-const-expr-2.c: Define ZERO as 0LL for _WIN64.
2888+ * gcc.dg/c90-const-expr-2.c: Likewise.
2889+ * gcc.dg/torture/pr39074.c: Use intptr_t typedef'ed as __PTRDIFF_TYPE__
2890+ instead of long.
2891+ * gcc.dg/tree-ssa/pr33920.c: Likewise.
2892+ * gcc.dg/vect/pr33846.c: Likewise.
2893+ * gcc.dg/vect/pr33833.c: Use uintptr_t, typedef'ed as unsigned
2894+ __PTRDIFF_TYPE__, instead of unsigned long.
2895+ * gcc.dg/vect/O1-pr33854.c: Use __SIZE_TYPE__ instead of unsigned long.
2896+
2897+2009-09-07 Uros Bizjak <ubizjak@gmail.com>
2898+
2899+ Backport from mainline:
2900+ 2009-08-27 Uros Bizjak <ubizjak@gmail.com>
2901+
2902+ PR rtl-optimization/40861
2903+ * gcc.dg/pr40861.c: New test.
2904+
2905+2009-09-05 Paul Thomas <pault@gcc.gnu.org>
2906+
2907+ PR fortran/41258
2908+ * gfortran.dg/typebound_proc_12.f90 : New test.
2909+
2910+2009-09-03 Jakub Jelinek <jakub@redhat.com>
2911+
2912+ * gfortran.dg/proc_ptr_comp_18.f90: Removed.
2913+ * gfortran.dg/proc_ptr_comp_19.f90: Removed.
2914+
2915+2009-09-02 Ian Lance Taylor <iant@google.com>
2916+
2917+ * gcc.dg/20090902-1.c: New test.
2918+
2919+2009-08-31 Jason Merrill <jason@redhat.com>
2920+
2921+ PR c++/41127
2922+ * g++.dg/parse/enum5.C: New.
2923+ * g++.dg/cpp0x/enum1.C: Adjust expected error.
2924+
2925+2009-08-31 Gerald Pfeifer <gerald@pfeifer.com>
2926+
2927+ * gcc.dg/builtins-config.h (HAVE_C99_RUNTIME): Do not define
2928+ for FreeBSD.
2929+
2930+2009-08-29 H.J. Lu <hongjiu.lu@intel.com>
2931+
2932+ Backport from mainline:
2933+ 2009-08-26 H.J. Lu <hongjiu.lu@intel.com>
2934+
2935+ PR fortran/41162
2936+ * gfortran.dg/pr41162.f: New.
2937+
2938+ 2009-08-26 Richard Guenther <rguenther@suse.de>
2939+
2940+ PR middle-end/41163
2941+ * gcc.c-torture/compile/pr41163.c: New testcase.
2942+
2943+ 2009-08-25 Janus Weil <janus@gcc.gnu.org>
2944+
2945+ PR fortran/41139
2946+ * gfortran.dg/proc_ptr_25.f90: New.
2947+ * gfortran.dg/proc_ptr_comp_18.f90: New.
2948+ * gfortran.dg/proc_ptr_comp_19.f90: New.
2949+
2950+ 2009-08-20 Michael Matz <matz@suse.de>
2951+
2952+ PR fortran/41126
2953+ * gfortran.dg/pr41126.f90: New test.
2954+
2955+ 2009-08-20 Janus Weil <janus@gcc.gnu.org>
2956+
2957+ PR fortran/41121
2958+ * gfortran.dg/intrinsic_5.f90: New.
2959+
2960+ 2009-08-19 Jason Merrill <jason@redhat.com>
2961+
2962+ PR c++/41120
2963+ * g++.dg/other/gc4.C: New.
2964+
2965+2009-08-28 Uros Bizjak <ubizjak@gmail.com>
2966+
2967+ Backport from mainline:
2968+ 2009-08-25 Uros Bizjak <ubizjak@gmail.com>
2969+
2970+ * gcc.c-torture/compile/limits-fndefn.c: Add dg-timeout-factor.
2971+
2972+ 2009-08-18 Uros Bizjak <ubizjak@gmail.com>
2973+
2974+ * g++.dg/cdce3.C: Add -mieee for alpha*-*-* targets.
2975+
2976+ 2009-08-17 Uros Bizjak <ubizjak@gmail.com>
2977+
2978+ * lib/target-supports.exp
2979+ (check_effective_target_vect_cmdline_needed): Add alpha to the list
2980+ of targets that do not need command line argument to enable SIMD.
2981+
2982+2008-08-25 Paul Thomas <pault@gcc.gnu.org>
2983+
2984+ PR fortran/41062
2985+ * gfortran.dg/use_only_4.f90: New test.
2986+
2987+2009-08-24 Richard Guenther <rguenther@suse.de>
2988+
2989+ PR middle-end/41094
2990+ * gcc.dg/torture/pr41094.c: New testcase.
2991+ * gcc.dg/torture/builtin-power-1.c: Adjust.
2992+ * gcc.dg/builtins-10.c: Likewise.
2993+
2994+2009-08-23 Uros Bizjak <ubizjak@gmail.com>
2995+
2996+ PR target/40718
2997+ * gcc.target/i386/pr40718.c: New test.
2998+
2999+2009-08-21 Jakub Jelinek <jakub@redhat.com>
3000+
3001+ PR c++/41131
3002+ * g++.dg/expr/unary3.C: New test.
3003+
3004+2009-08-20 Thomas Koenig <tkoenig@gcc.gnu.org>
3005+
3006+ PR libfortran/40962
3007+ * c_f_pointer_tests_4.f90: New test.
3008+
3009+2009-08-19 Jakub Jelinek <jakub@redhat.com>
3010+
3011+ PR middle-end/41123
3012+ * gcc.dg/pr41123.c: New test.
3013+
3014+2009-08-18 H.J. Lu <hongjiu.lu@intel.com>
3015+
3016+ * gfortran.dg/pr41011.f: Removed.
3017+
3018+2009-08-18 Jakub Jelinek <jakub@redhat.com>
3019+
3020+ PR target/40971
3021+ * gcc.dg/pr40971.c: New test.
3022+
3023+2009-08-17 Dodji Seketeli <dodji@redhat.com>
3024+
3025+ * gcc.dg/debug/dwarf2/inline2.c: Add -dA to compile options.
3026+
3027+2009-08-16 H.J. Lu <hongjiu.lu@intel.com>
3028+
3029+ Backport from mainline:
3030+ 2009-08-14 Janus Weil <janus@gcc.gnu.org>
3031+
3032+ PR fortran/41070
3033+ * gfortran.dg/structure_constructor_10.f90: New.
3034+
3035+ 2009-08-14 Paolo Bonzini <bonzini@gnu.org>
3036+
3037+ PR target/40934
3038+ * gcc.target/i386/pr40934.c: New.
3039+
3040+ 2009-08-13 Janus Weil <janus@gcc.gnu.org>
3041+
3042+ PR fortran/40995
3043+ * gfortran.dg/intrinsic_4.f90: New.
3044+
3045+ 2009-08-13 Richard Guenther <rguenther@suse.de>
3046+
3047+ PR middle-end/41047
3048+ * gcc.dg/tree-ssa/ssa-ccp-27.c: New testcase.
3049+
3050+ 2009-08-12 Richard Guenther <rguenther@suse.de>
3051+
3052+ PR tree-optimization/41011
3053+ * gfortran.dg/pr41011.f: New testcase.
3054+
3055+ 2009-08-10 Richard Guenther <rguenther@suse.de>
3056+
3057+ PR middle-end/41006
3058+ * gcc.c-torture/compile/pr41006-1.c: New testcase.
3059+ * gcc.c-torture/compile/pr41006-2.c: Likewise.
3060+
3061+ 2009-08-10 Dodji Seketeli <dodji@redhat.com>
3062+
3063+ PR c++/40866
3064+ * g++.dg/expr/stmt-expr-1.C: New test.
3065+
3066+ 2009-08-09 Ira Rosen <irar@il.ibm.com>
3067+
3068+ PR tree-optimization/41008
3069+ * gcc.dg/vect/O1-pr41008.c: New test.
3070+
3071+ 2009-08-08 Richard Guenther <rguenther@suse.de>
3072+
3073+ PR tree-optimization/40991
3074+ * g++.dg/torture/pr40991.C: New testcase.
3075+
3076+ 2009-08-06 Uros Bizjak <ubizjak@gmail.com>
3077+ H.J. Lu <hongjiu.lu@intel.com>
3078+
3079+ PR target/40957
3080+ * gcc.target/i386/pr40957.c: New test.
3081+
3082+ 2009-08-06 Richard Guenther <rguenther@suse.de>
3083+
3084+ PR tree-optimization/40964
3085+ * gcc.c-torture/compile/pr40964.c: New testcase.
3086+
3087+2009-08-16 Paul Thomas <pault@gcc.gnu.org>
3088+
3089+ PR fortran/40847
3090+ * gfortran.dg/transfer_resolve_1.f90 : New test.
3091+
3092+2009-08-16 Uros Bizjak <ubizjak@gmail.com>
3093+
3094+ Backport from mainline:
3095+ 2009-08-14 Uros Bizjak <ubizjak@gmail.com>
3096+
3097+ PR target/41019
3098+ * gcc.target/i386/pr41019.c: New test.
3099+
3100+2009-08-16 Dodji Seketeli <dodji@redhat.com>
3101+
3102+ PR debug/37801
3103+ * gcc/testsuite/gcc.dg/debug/20020224-1.c: Adjust the comment.
3104+ Make sure to trigger inlining optimizations.
3105+ * gcc/testsuite/gcc.dg/debug/dwarf2/inline2.c: New test.
3106+
3107+2009-08-12 Richard Guenther <rguenther@suse.de>
3108+
3109+ PR rtl-optimization/41033
3110+ * gcc.dg/pr41033.c: New test.
3111+
3112+2009-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3113+
3114+ Backport:
3115+ 2009-04-30 Adam Nemet <anemet@caviumnetworks.com>
3116+
3117+ * gcc.dg/ssp-1.c (__stack_chk_fail): Remove static.
3118+
3119+2009-08-09 Richard Guenther <rguenther@suse.de>
3120+
3121+ PR tree-optimization/41016
3122+ * gcc.c-torture/compile/pr41016.c: New testcase.
3123+
3124+2009-08-08 Laurent GUERBY <laurent@guerby.net>
3125+
3126+ * ada/acats/support/impdef.a: Tweak timing constants. Add
3127+ Long_Minimum_Task_Switch and Long_Switch_To_New_Task.
3128+ * ada/acats/tests/c9/c940005.a: Use new timing constants.
3129+ * ada/acats/tests/c9/c940007.a: Likewise.
3130+ * ada/acats/tests/c9/c94001c.ada: Likewise.
3131+ * ada/acats/tests/c9/c94006a.ada: Likewise.
3132+ * ada/acats/tests/c9/c94008c.ada: Likewise.
3133+ * ada/acats/tests/c9/c951002.a: Likewise.
3134+ * ada/acats/tests/c9/c954a01.a: Likewise.
3135+ * ada/acats/tests/c9/c96001a.ada: Likewise.
3136+ * ada/acats/tests/c9/c97307a.ada: Likewise.
3137+
3138+2009-08-05 Jason Merrill <jason@redhat.com>
3139+
3140+ PR c++/40948
3141+ * g++.dg/ext/complit12.C: Expand.
3142+
3143+2009-08-05 Uros Bizjak <ubizjak@gmail.com>
3144+ Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
3145+
3146+ PR target/40906
3147+ * gcc.target/i386/pr40906-1.c: New test.
3148+ * gcc.target/i386/pr40906-2.c: Ditto.
3149+ * gcc.target/i386/pr40906-3.c: Ditto.
3150+
3151+2009-08-05 H.J. Lu <hongjiu.lu@intel.com>
3152+
3153+ Backport from mainline:
3154+ 2009-07-30 Martin Jambor <mjambor@suse.cz>
3155+
3156+ PR tree-optimization/40570
3157+ * gcc.c-torture/compile/pr40570.c: New test.
3158+
3159+ 2009-07-29 Richard Guenther <rguenther@suse.de>
3160+
3161+ PR c++/40834
3162+ * g++.dg/torture/pr40834.C: New testcase.
3163+
3164+2009-08-05 Jakub Jelinek <jakub@redhat.com>
3165+
3166+ PR rtl-optimization/40924
3167+ * g++.dg/torture/pr40924.C: New test.
3168+
3169+2009-08-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
3170+
3171+ PR libfortran/40853
3172+ * gfortran.dg/namelist_40.f90: Update error output.
3173+ * gfortran.dg/namelist_47.f90: Update error output.
3174+ * gfortran.dg/namelist_58.f90: New test.
3175+
3176+2009-08-04 Dodji Seketeli <dodji@redhat.com>
3177+
3178+ PR c++/39987
3179+ * g++.dg/overload/defarg4.C: New test.
3180+
3181+2009-08-04 Dodji Seketeli <dodji@redhat.com>
3182+
3183+ PR debug/39706
3184+ * g++.dg/debug/dwarf2/pubnames-1.C: New test.
3185+
3186+2009-08-03 Jason Merrill <jason@redhat.com>
3187+ Jakub Jelinek <jakub@redhat.com>
3188+
3189+ PR c++/40948
3190+ * g++.dg/ext/complit12.C: New.
3191+
3192+2009-08-03 Janis Johnson <janis187@us.ibm.com>
3193+
3194+ PR c/39902
3195+ * gcc.target/powerpc/pr39902-2.c: New test.
3196+
3197+2009-08-03 Jakub Jelinek <jakub@redhat.com>
3198+
3199+ PR middle-end/40943
3200+ * gcc.dg/uninit-6.c: Re-add XFAIL.
3201+ * gcc.dg/uninit-6-O0.c: Likewise.
3202+ * gcc.dg/uninit-pr40943.c: New test.
3203+
3204+2009-07-30 Janis Johnson <janis187@us.ibm.com>
3205+
3206+ PR c/39902
3207+ * gcc.dg/dfp/pr39902.c: Fix typos in constant suffixes.
3208+
3209+2009-07-29 Tobias Burnus <burnus@net-b.de>
3210+
3211+ PR fortran/40851
3212+ * gfortran.dg/derived_init_3.f90: New test.
3213+
3214+2009-07-28 H.J. Lu <hongjiu.lu@intel.com>
3215+
3216+ Backport from mainline:
3217+ 2009-07-27 Janus Weil <janus@gcc.gnu.org>
3218+
3219+ PR fortran/40848
3220+ * gfortran.dg/altreturn_7.f90: New.
3221+
3222+ 2009-07-27 Simon Baldwin <simonb@google.com>
3223+
3224+ PR testsuite/40829
3225+ * gcc.dg/vect/no-scevccp-noreassoc-outer-2.c: Extended array 'a'
3226+ so that indexing no longer runs off array end.
3227+
3228+ 2009-07-24 Janus Weil <janus@gcc.gnu.org>
3229+
3230+ PR fortran/40822
3231+ * gfortran.dg/char_length_16.f90: New.
3232+
3233+2009-07-28 Jakub Jelinek <jakub@redhat.com>
3234+
3235+ PR fortran/40878
3236+ * gfortran.dg/gomp/pr40878-1.f90: New test.
3237+ * gfortran.dg/gomp/pr40878-2.f90: New test.
3238+
3239+ PR testsuite/40891
3240+ * gcc.dg/cdce1.c: Adjust note line number.
3241+ * gcc.dg/cdce2.c: Likewise.
3242+
3243+2009-07-28 Jan Beulich <jbeulich@novell.com>
3244+
3245+ * gcc.target/i386/avx-vtestpd-1.c: Add -DNEED_IEEE754_DOUBLE.
3246+ * gcc.target/i386/avx-vtestpd-2.c: Likewise.
3247+ * gcc.target/i386/avx-vtestpd-256-1.c: Likewise.
3248+ * gcc.target/i386/avx-vtestpd-256-2.c: Likewise.
3249+ * gcc.target/i386/avx-vtestpd-256-3.c: Likewise.
3250+ * gcc.target/i386/avx-vtestpd-3.c: Likewise.
3251+ * gcc.target/i386/avx-vtestps-1.c: Add -DNEED_IEEE754_FLOAT.
3252+ * gcc.target/i386/avx-vtestps-2.c: Likewise.
3253+ * gcc.target/i386/avx-vtestps-256-1.c: Likewise.
3254+ * gcc.target/i386/avx-vtestps-256-2.c: Likewise.
3255+ * gcc.target/i386/avx-vtestps-256-3.c: Likewise.
3256+ * gcc.target/i386/avx-vtestps-3.c: Likewise.
3257+ * gcc.target/i386/m128-check.h (union ieee754_float): Put into
3258+ #ifdef NEED_IEEE754_FLOAT conditional.
3259+ (union ieee754_double): Put into #ifdef NEED_IEEE754_DOUBLE
3260+ conditional.
3261+
3262+2009-07-28 Jan Beulich <jbeulich@novell.com>
3263+
3264+ * g++.dg/ext/bitfield2.C: Add -mno-ms-bitfields for
3265+ i?86-*-netware.
3266+ * g++.dg/ext/bitfield3.C: Likewise.
3267+ * g++.dg/ext/bitfield4.C: Likewise.
3268+ * g++.dg/ext/bitfield5.C: Likewise.
3269+ * gcc.dg/bitfld-15.c: Likewise.
3270+ * gcc.dg/bitfld-16.c: Likewise.
3271+ * gcc.dg/bitfld-17.c: Likewise.
3272+ * gcc.dg/bitfld-18.c: Likewise.
3273+ * g++.old-deja/g++.jason/thunk2.C: Remove dg-bogus.
3274+ * gcc.dg/20010912-1.c: Likewise.
3275+ * gcc.dg/20021018-1.c: Likewise.
3276+ * gcc.dg/20030213-1.c: Likewise.
3277+ * gcc.dg/20030225-1.c: Likewise.
3278+ * gcc.dg/20030708-1.c: Likewise.
3279+ * gcc.dg/20050321-2.c: Likewise.
3280+ * gcc.dg/cdce1.c: Don't pass -lm for *-*-netware*.
3281+ * gcc.dg/cdce2.c: Likewise.
3282+ * gcc.target/i386/pr37248-2.c: Don't test on default_packet
3283+ targets.
3284+ * gcc.target/i386/pr37248-3.c: Likewise.
3285+
3286+2007-07-26 Simon Martin <simartin@users.sourceforge.net>
3287+
3288+ PR c++/40749
3289+ * g++.dg/warn/Wreturn-type-6.C: New test.
3290+
3291+2009-07-25 Uros Bizjak <ubizjak@gmail.com>
3292+
3293+ * lib/target-supports.exp (check_effective_target_static): New
3294+ procedure.
3295+ * gcc.dg/special/gcsec-1.c (dg-options): Use -static only when
3296+ supported.
3297+ * g++.old-deja/g++.law/weak.C: Require static effective target.
3298+
3299+2009-07-24 Jason Merrill <jason@redhat.com>
3300+
3301+ * g++.dg/cpp0x/initlist23.C: New.
3302+
3303+2009-07-21 Jason Merrill <jason@redhat.com>
3304+
3305+ Core issue 934
3306+ * g++.dg/cpp0x/initlist22.C: New.
3307+
f06d2ced 3308+2009-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
52d9744f 3309+
f06d2ced
AM
3310+ PR fortran/40727
3311+ * gfortran.dg/intrinsic_cmplx.f90: New test.
52d9744f 3312+
f06d2ced 3313+2009-07-23 H.J. Lu <hongjiu.lu@intel.com>
52d9744f 3314+
f06d2ced
AM
3315+ Backport from mainline:
3316+ 2009-07-22 Richard Guenther <rguenther@suse.de>
52d9744f 3317+
f06d2ced
AM
3318+ PR c++/40799
3319+ * g++.dg/lookup/using21.C: New testcase.
52d9744f 3320+
f06d2ced 3321+ 2009-07-19 Jan Hubicka <jh@suse.cz>
52d9744f 3322+
f06d2ced
AM
3323+ PR tree-optimization/40676
3324+ * gcc.c-torture/compile/pr40676.c: New testcase.
52d9744f 3325+
f06d2ced 3326+ 2009-07-15 Richard Guenther <rguenther@suse.de>
2a12872e 3327+
f06d2ced
AM
3328+ PR middle-end/40753
3329+ * gcc.c-torture/compile/pr40753.c: New testcase.
cd41f4b6 3330+
f06d2ced 3331+ 2009-07-14 Dodji Seketeli <dodji@redhat.com>
52d9744f 3332+
f06d2ced
AM
3333+ PR debug/40705
3334+ * g++.dg/debug/dwarf2/typedef1.C: New test.
54cd5b73 3335+
f06d2ced
AM
3336+ PR c++/40357
3337+ * g++.dg/other/typedef3.C: New test.
54cd5b73 3338+
f06d2ced 3339+ 2009-07-10 Richard Guenther <rguenther@suse.de>
54cd5b73 3340+
f06d2ced
AM
3341+ PR tree-optimization/40496
3342+ * g++.dg/opt/pr40496.C: New testcase.
54cd5b73 3343+
f06d2ced 3344+ 2009-07-09 Jakub Jelinek <jakub@redhat.com>
54cd5b73 3345+
f06d2ced
AM
3346+ PR middle-end/40692
3347+ * gcc.c-torture/compile/pr40692.c: New test.
54cd5b73 3348+
f06d2ced 3349+ 2009-07-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
54cd5b73 3350+
f06d2ced
AM
3351+ PR libfortran/40330
3352+ PR libfortran/40662
3353+ * gfortran.dg/fmt_cache_1.f: New test.
676d0378 3354+
f06d2ced 3355+2009-07-22 Richard Guenther <rguenther@suse.de>
676d0378 3356+
f06d2ced
AM
3357+ PR tree-optimization/40321
3358+ * gcc.c-torture/compile/pr40321.c: New testcase.
3359+ * g++.dg/torture/pr40321.C: Likewise.
676d0378 3360+
f06d2ced 3361 2009-07-22 Release Manager
676d0378 3362
f06d2ced 3363 * GCC 4.4.1 released.
55465a90
AM
3364@@ -148,7 +722,7 @@
3365
3366 PR target/40587
3367 * gfortran.dg/pr40587.f: New test.
3368-
3369+
3370 2009-07-03 Jerry DeLisle <jvdelisle@gcc.gnu.org>
3371
3372 PR fortran/40638
3373@@ -535,7 +1109,7 @@
3374 2009-05-14 Ben Elliston <bje@au.ibm.com>
3375
3376 Backport from mainline:
3377- 2009-05-14 Ben Elliston <bje@au.ibm.com>
3378+ 2009-05-14 Ben Elliston <bje@au.ibm.com>
3379
3380 PR middle-end/40035
3381 * gcc.c-torture/compile/pr40035.c: New test.
3382@@ -1011,7 +1585,7 @@
3383
3384 PR objc/27377
3385 * objc.dg/conditional-1.m: New tests.
3386-
3387+
3388 2009-04-08 Dodji Seketeli <dodji@redhat.com>
3389
3390 PR c++/39637
3391@@ -1037,7 +1611,7 @@
3392 2009-04-06 Laurent GUERBY <laurent@guerby.net>
3393
3394 * lib/gnat.exp: Handle multilib.
3395-
3396+
3397 2009-04-06 Jason Merrill <jason@redhat.com>
3398
3399 PR c++/35146
3400@@ -1295,7 +1869,7 @@
3401 2009-03-23 Jason Merrill <jason@redhat.com>
3402
3403 * g++.dg/cpp0x/auto12.C: Add variadic test.
3404-
3405+
3406 PR c++/39526
3407 * g++.dg/warn/Wshadow-4.C: New test.
3408
3409@@ -1630,8 +2204,8 @@
3410 * gcc.dg/vect/vect-complex-1.c: Add attribute aligned to the arrays.
3411 * gcc.dg/vect/vect-iv-6.c: Don't expect to fail to vectorize
3412 on targets without vector misalignment support.
3413- * lib/target-supports.exp
3414- (check_effective_target_vect_short_mult): Add
3415+ * lib/target-supports.exp
3416+ (check_effective_target_vect_short_mult): Add
3417 check_effective_target_arm32.
3418
3419 2009-03-02 Sebastian Pop <sebastian.pop@amd.com>
3420@@ -1977,7 +2551,7 @@
3421 2009-02-15 Uros Bizjak <ubizjak@gmail.com>
3422
3423 * gcc.dg/struct/w_prof_single_str_global.c: Mask return value.
3424-
3425+
3426 2009-02-13 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3427
3428 * gcc.target/spu/intrinsics-sr.c: New test.
3429@@ -2317,7 +2891,7 @@
3430 PR middle-end/35854
3431 * gcc.dg/lower-subreg-1.c: Renamed dump pass from "subreg"
3432 to "subreg1".
3433-
3434+
3435 2009-01-29 Steve Ellcey <sje@cup.hp.com>
3436
3437 PR middle-end/38857
3438@@ -2791,7 +3365,7 @@
3439 * g++.dg/eh/check-vect.h (sig_ill_handler): Remove AltiVec runtime
3440 check.
3441 * g++.dg/ext/altivec_check.h: Delete.
3442-
3443+
3444 2009-01-13 Nathan Froyd <froydnj@codesourcery.com>
3445
3446 * gcc.target/powerpc/altivec-macros.c: Require a powerpc_altivec_ok
3447@@ -3187,7 +3761,7 @@
3448 dg-timeout-factor.
3449 * gcc.dg/20020425-1.c: Likewise.
3450 * gcc.dg/pch/pch.exp: Likewise.
3451-
3452+
3453 2009-01-05 Paul Thomas <pault@gcc.gnu.org>
3454
3455 PR fortran/38657
3456@@ -3202,7 +3776,7 @@
3457
3458 PR fortran/38669
3459 PR fortran/38726
3460- * gfortran.dg/elemental_subroutine_7.f90:
3461+ * gfortran.dg/elemental_subroutine_7.f90:
3462 Fix p values so that it can be used as vector subscript.
3463
3464 2009-01-05 Jason Merrill <jason@redhat.com>
3465Index: gcc/testsuite/g++.old-deja/g++.brendan/init4.C
3466===================================================================
3467--- gcc/testsuite/g++.old-deja/g++.brendan/init4.C (.../tags/gcc_4_4_1_release) (wersja 151837)
3468+++ gcc/testsuite/g++.old-deja/g++.brendan/init4.C (.../branches/gcc-4_4-branch) (wersja 151837)
3469@@ -2,4 +2,4 @@
3470 // GROUPS passed initialization
3471 struct CharList { int i; };
3472
3473-const CharList& terminals = { 1 };// { dg-error "" } .*
3474+const CharList& terminals = { 1 }; // { dg-error "initializer lists" } c++0x
3475Index: gcc/testsuite/g++.old-deja/g++.jason/thunk2.C
3476===================================================================
3477--- gcc/testsuite/g++.old-deja/g++.jason/thunk2.C (.../tags/gcc_4_4_1_release) (wersja 151837)
3478+++ gcc/testsuite/g++.old-deja/g++.jason/thunk2.C (.../branches/gcc-4_4-branch) (wersja 151837)
3479@@ -1,6 +1,5 @@
3480 // { dg-do run { target fpic } }
3481 // { dg-options "-fPIC" }
3482-// { dg-bogus "\[Uu\]nresolved symbol .(_GLOBAL_OFFSET_TABLE_|\[_.A-Za-z\]\[_.0-9A-Za-z\]*@(PLT|GOT|GOTOFF))|\[Bb\]ad fixup at .DATA.:" "PIC unsupported" { xfail *-*-netware* } 0 }
3483 // { dg-skip-if "requires unsupported run-time relocation" { spu-*-* } { "*" } { "" } }
3484 // Test that non-variadic function calls using thunks and PIC work right.
3485
3486Index: gcc/testsuite/g++.old-deja/g++.law/weak.C
3487===================================================================
3488--- gcc/testsuite/g++.old-deja/g++.law/weak.C (.../tags/gcc_4_4_1_release) (wersja 151837)
3489+++ gcc/testsuite/g++.old-deja/g++.law/weak.C (.../branches/gcc-4_4-branch) (wersja 151837)
3490@@ -1,4 +1,5 @@
3491 // { dg-do link { target i?86-*-linux* x86_64-*-linux* } }
3492+// { dg-require-effective-target static }
3493 // { dg-options "-static" }
3494 // Bug: g++ fails to instantiate operator<<.
3495
f06d2ced 3496Index: gcc/testsuite/g++.dg/other/typedef3.C
54cd5b73 3497===================================================================
f06d2ced 3498--- gcc/testsuite/g++.dg/other/typedef3.C (.../tags/gcc_4_4_1_release) (wersja 0)
55465a90 3499+++ gcc/testsuite/g++.dg/other/typedef3.C (.../branches/gcc-4_4-branch) (wersja 151837)
f06d2ced
AM
3500@@ -0,0 +1,12 @@
3501+// Contributed by Dodji Seketeli <dodji@redhat.com>
3502+// Origin: PR c++/40357
3503+// { dg-do compile }
54cd5b73 3504+
f06d2ced 3505+struct XalanCProcessor
54cd5b73 3506+{
f06d2ced
AM
3507+ typedef enum {eInvalid, eXalanSourceTree, eXercesDOM} ParseOptionType;
3508+ ParseOptionType getParseOption(void);
3509+};
3510+typedef XalanCProcessor::ParseOptionType ParseOptionType;
3511+ParseOptionType XalanCProcessor::getParseOption(void) {}
676d0378 3512+
55465a90
AM
3513Index: gcc/testsuite/g++.dg/other/gc4.C
3514===================================================================
3515--- gcc/testsuite/g++.dg/other/gc4.C (.../tags/gcc_4_4_1_release) (wersja 0)
3516+++ gcc/testsuite/g++.dg/other/gc4.C (.../branches/gcc-4_4-branch) (wersja 151837)
3517@@ -0,0 +1,14 @@
3518+// PR c++/41120
3519+// { dg-options "--param ggc-min-heapsize=0 --param ggc-min-expand=0" }
3520+
3521+struct A
3522+{
3523+ A();
3524+};
3525+
3526+struct B
3527+{
3528+ A a;
3529+};
3530+
3531+B b;
3532Index: gcc/testsuite/g++.dg/debug/dwarf2/pubnames-1.C
3533===================================================================
3534--- gcc/testsuite/g++.dg/debug/dwarf2/pubnames-1.C (.../tags/gcc_4_4_1_release) (wersja 0)
3535+++ gcc/testsuite/g++.dg/debug/dwarf2/pubnames-1.C (.../branches/gcc-4_4-branch) (wersja 151837)
3536@@ -0,0 +1,14 @@
3537+// Contributed by Dodji Seketeli <dodji@redhat.com>
3538+// Origin PR debug/39706
3539+// { dg-options "-g -dA" }
3540+// { dg-do compile }
3541+// { dg-final { scan-assembler-times ".debug_pubnames" 1 } }
3542+// { dg-final { scan-assembler-times "\"main\".*external name" 1 } }
3543+// { dg-final { scan-assembler-times "\"ns::ns_x.*external name" 1 } }
3544+// { dg-final { scan-assembler-times "\"y::y_x.*external name" 1 } }
3545+
3546+namespace ns { int ns_x; }
3547+class y { public: static int y_x; };
3548+int y::y_x;
3549+int main() { return ns::ns_x; }
3550+
f06d2ced 3551Index: gcc/testsuite/g++.dg/debug/dwarf2/typedef1.C
2a12872e 3552===================================================================
f06d2ced 3553--- gcc/testsuite/g++.dg/debug/dwarf2/typedef1.C (.../tags/gcc_4_4_1_release) (wersja 0)
55465a90 3554+++ gcc/testsuite/g++.dg/debug/dwarf2/typedef1.C (.../branches/gcc-4_4-branch) (wersja 151837)
f06d2ced
AM
3555@@ -0,0 +1,33 @@
3556+// Contributed by Dodji Seketeli <dodji@redhat.com>
3557+// Origin: PR c++/40705
3558+// { dg-options "-g -dA" }
3559+// { dg-do compile }
3560+// { dg-final { scan-assembler-times "DW_TAG_structure_type" 2 } }
3561+// { dg-final { scan-assembler-times "DW_AT_name: \"foo<1u>\"" 1 } }
3562+// { dg-final { scan-assembler-times "DW_TAG_enumeration_type" 2 } }
3563+// { dg-final { scan-assembler-times "DW_AT_name: \"typedef foo<1u>::type type\"" 1 } }
3564+// { dg-final { scan-assembler-times "DIE (.*) DW_TAG_enumeration_type" 2 } }
3565+// { dg-final { scan-assembler-times "\"e0..\".*DW_AT_name" 1 } }
3566+// { dg-final { scan-assembler-times "\"e1..\".*DW_AT_name" 1 } }
3567+
3568+template <unsigned int n>
3569+struct foo
52d9744f 3570+{
f06d2ced
AM
3571+public:
3572+ typedef
3573+ unsigned char type;
3574+};
52d9744f 3575+
f06d2ced
AM
3576+template<>
3577+struct foo<1>
52d9744f 3578+{
f06d2ced
AM
3579+ typedef enum { e0, e1 } type;
3580+};
52d9744f
AM
3581+
3582+int
f06d2ced 3583+main()
52d9744f 3584+{
f06d2ced
AM
3585+ foo<1> f;
3586+ foo<1>::type t = foo<1>::e1;
3587+ return t;
52d9744f 3588+}
55465a90
AM
3589Index: gcc/testsuite/g++.dg/ext/bitfield5.C
3590===================================================================
3591--- gcc/testsuite/g++.dg/ext/bitfield5.C (.../tags/gcc_4_4_1_release) (wersja 151837)
3592+++ gcc/testsuite/g++.dg/ext/bitfield5.C (.../branches/gcc-4_4-branch) (wersja 151837)
3593@@ -1,5 +1,6 @@
3594 /* { dg-do compile } */
3595 /* { dg-options "-Wno-packed-bitfield-compat" } */
3596+/* { dg-options "-Wno-packed-bitfield-compat -mno-ms-bitfields" { target i?86-*-netware } } */
3597
3598 struct t
3599 {
3600Index: gcc/testsuite/g++.dg/ext/complit12.C
3601===================================================================
3602--- gcc/testsuite/g++.dg/ext/complit12.C (.../tags/gcc_4_4_1_release) (wersja 0)
3603+++ gcc/testsuite/g++.dg/ext/complit12.C (.../branches/gcc-4_4-branch) (wersja 151837)
3604@@ -0,0 +1,65 @@
3605+// PR c++/40948
3606+// { dg-do run }
3607+// { dg-options "" }
3608+
3609+int c;
3610+struct M
3611+{
3612+ M () { ++c; }
3613+ M (const M&) { ++c; }
3614+ ~M () { --c; }
3615+};
3616+
3617+struct S
3618+{
3619+ S ();
3620+ M m[1];
3621+};
3622+
3623+S::S () : m ((M[1]) { M () })
3624+{
3625+}
3626+
3627+struct T
3628+{
3629+ T ();
3630+ M m[4];
3631+};
3632+
3633+T::T () : m ((M[4]) { M (), M (), M (), M () })
3634+{
3635+}
3636+
3637+typedef M MA[1];
3638+MA &bar (MA, MA& r) { return r; }
3639+
3640+M f(M m) { return m; }
3641+
3642+int main ()
3643+{
3644+ {
3645+ M m[1] = (M[1]) { M () };
3646+ if (c != 1)
3647+ return 1;
3648+ M n = (M) { M () };
3649+ if (c != 2)
3650+ return 2;
3651+ M o[4] = (M[4]) { M (), M (), M (), M () };
3652+ if (c != 6)
3653+ return 3;
3654+ S s;
3655+ if (c != 7)
3656+ return 4;
3657+ T t;
3658+ if (c != 11)
3659+ return 5;
3660+ MA ma = bar ((M[2]) { M(), M() }, m);
3661+ if (c != 12)
3662+ return 7;
3663+ M mm[2] = ((M[2]) { f(M()), f(M()) });
3664+ if (c != 14)
3665+ return 8;
3666+ }
3667+ if (c != 0)
3668+ return 6;
3669+}
3670Index: gcc/testsuite/g++.dg/ext/bitfield2.C
3671===================================================================
3672--- gcc/testsuite/g++.dg/ext/bitfield2.C (.../tags/gcc_4_4_1_release) (wersja 151837)
3673+++ gcc/testsuite/g++.dg/ext/bitfield2.C (.../branches/gcc-4_4-branch) (wersja 151837)
3674@@ -1,6 +1,7 @@
3675 /* { dg-do compile } */
3676 /* Remove pedantic. Allow the GCC extension to use char for bitfields. */
3677 /* { dg-options "" } */
3678+/* { dg-options "-mno-ms-bitfields" { target i?86-*-netware } } */
3679
3680 struct t
3681 { /* { dg-message "note: Offset of packed bit-field 't::b' has changed in GCC 4.4" "" { target pcc_bitfield_type_matters } } */
3682Index: gcc/testsuite/g++.dg/ext/bitfield3.C
3683===================================================================
3684--- gcc/testsuite/g++.dg/ext/bitfield3.C (.../tags/gcc_4_4_1_release) (wersja 151837)
3685+++ gcc/testsuite/g++.dg/ext/bitfield3.C (.../branches/gcc-4_4-branch) (wersja 151837)
3686@@ -1,5 +1,6 @@
3687 /* { dg-do compile } */
3688 /* { dg-options "-Wno-packed-bitfield-compat" } */
3689+/* { dg-options "-Wno-packed-bitfield-compat -mno-ms-bitfields" { target i?86-*-netware } } */
3690
3691 struct t
3692 {
3693Index: gcc/testsuite/g++.dg/ext/bitfield4.C
3694===================================================================
3695--- gcc/testsuite/g++.dg/ext/bitfield4.C (.../tags/gcc_4_4_1_release) (wersja 151837)
3696+++ gcc/testsuite/g++.dg/ext/bitfield4.C (.../branches/gcc-4_4-branch) (wersja 151837)
3697@@ -1,5 +1,6 @@
3698 /* { dg-do compile } */
3699 /* { dg-options "" } */
3700+/* { dg-options "-mno-ms-bitfields" { target i?86-*-netware } } */
3701
3702 struct t
3703 { /* { dg-message "note: Offset of packed bit-field 't::b' has changed in GCC 4.4" "" { target pcc_bitfield_type_matters } } */
f06d2ced 3704Index: gcc/testsuite/g++.dg/opt/pr40496.C
f7c10345 3705===================================================================
f06d2ced 3706--- gcc/testsuite/g++.dg/opt/pr40496.C (.../tags/gcc_4_4_1_release) (wersja 0)
55465a90 3707+++ gcc/testsuite/g++.dg/opt/pr40496.C (.../branches/gcc-4_4-branch) (wersja 151837)
f06d2ced
AM
3708@@ -0,0 +1,18 @@
3709+// { dg-do compile }
3710+// { dg-options "-O2 -fprefetch-loop-arrays -msse2" { target i?86-*-* x86_64-*-* } }
f7c10345 3711+
f06d2ced 3712+struct DOMStringHandle
f7c10345 3713+{
f06d2ced
AM
3714+ unsigned int fLength;
3715+ int fRefCount;
3716+};
3717+static void *freeListPtr;
3718+void foo(DOMStringHandle *dsg)
cd41f4b6 3719+{
f06d2ced
AM
3720+ int i;
3721+ for (i = 1; i < 1023; i++)
cd41f4b6 3722+ {
f06d2ced
AM
3723+ *(void **) &dsg[i] = freeListPtr;
3724+ freeListPtr = &dsg[i];
cd41f4b6 3725+ }
52d9744f 3726+}
55465a90
AM
3727Index: gcc/testsuite/g++.dg/cdce3.C
3728===================================================================
3729--- gcc/testsuite/g++.dg/cdce3.C (.../tags/gcc_4_4_1_release) (wersja 151837)
3730+++ gcc/testsuite/g++.dg/cdce3.C (.../branches/gcc-4_4-branch) (wersja 151837)
3731@@ -2,14 +2,14 @@
3732 /* { dg-require-effective-target c99_runtime } */
3733 /* { dg-options "-O2 -fmath-errno -fdump-tree-cdce-details -DGNU_EXTENSION -DLARGE_LONG_DOUBLE -lm" { target { pow10 && large_long_double } } } */
3734 /* { dg-options "-O2 -fmath-errno -fdump-tree-cdce-details -DLARGE_LONG_DOUBLE -lm" { target { {! pow10 } && large_long_double } } } */
3735-/* { dg-options "-O2 -fmath-errno -fdump-tree-cdce-details -DGNU_EXTENSION -lm" { target {pow10 && {! large_long_double } } } } */
3736+/* { dg-options "-O2 -fmath-errno -fdump-tree-cdce-details -DGNU_EXTENSION -lm" { target { pow10 && {! large_long_double } } } } */
3737 /* { dg-options "-O2 -fmath-errno -fdump-tree-cdce-details -lm" { target { {! pow10 } && {! large_long_double } } } } */
3738-/* { dg-final { scan-tree-dump "cdce3.C:91: note: function call is shrink-wrapped into error conditions\." "cdce" { target { pow10 } } } } */
3739-/* { dg-final { scan-tree-dump "cdce3.C:92: note: function call is shrink-wrapped into error conditions\." "cdce" { target { pow10 } } } } */
3740-/* { dg-final { scan-tree-dump "cdce3.C:94: note: function call is shrink-wrapped into error conditions\." "cdce" } } */
3741-/* { dg-final { scan-tree-dump "cdce3.C:95: note: function call is shrink-wrapped into error conditions\." "cdce" } } */
3742-/* { dg-final { scan-tree-dump "cdce3.C:96: note: function call is shrink-wrapped into error conditions\." "cdce" } } */
3743-/* { dg-final { scan-tree-dump "cdce3.C:97: note: function call is shrink-wrapped into error conditions\." "cdce" } } */
3744+/* { dg-options "-mieee -O2 -fmath-errno -fdump-tree-cdce-details -DGNU_EXTENSION -DLARGE_LONG_DOUBLE -lm" { target { alpha*-*-* && { pow10 && large_long_double } } } } */
3745+/* { dg-options "-mieee -O2 -fmath-errno -fdump-tree-cdce-details -DLARGE_LONG_DOUBLE -lm" { target { alpha*-*-* && { {! pow10 } && large_long_double } } } } */
3746+/* { dg-options "-mieee -O2 -fmath-errno -fdump-tree-cdce-details -DGNU_EXTENSION -lm" { target { alpha*-*-* && { pow10 && {! large_long_double } } } } } */
3747+/* { dg-options "-mieee -O2 -fmath-errno -fdump-tree-cdce-details -lm" { target { alpha*-*-* && { {! pow10 } && {! large_long_double } } } } } */
3748+/* { dg-final { scan-tree-dump "cdce3.C:95: note: function call is shrink-wrapped into error conditions\." "cdce" { target { pow10 } } } } */
3749+/* { dg-final { scan-tree-dump "cdce3.C:96: note: function call is shrink-wrapped into error conditions\." "cdce" { target { pow10 } } } } */
3750 /* { dg-final { scan-tree-dump "cdce3.C:98: note: function call is shrink-wrapped into error conditions\." "cdce" } } */
3751 /* { dg-final { scan-tree-dump "cdce3.C:99: note: function call is shrink-wrapped into error conditions\." "cdce" } } */
3752 /* { dg-final { scan-tree-dump "cdce3.C:100: note: function call is shrink-wrapped into error conditions\." "cdce" } } */
3753@@ -20,6 +20,10 @@
3754 /* { dg-final { scan-tree-dump "cdce3.C:105: note: function call is shrink-wrapped into error conditions\." "cdce" } } */
3755 /* { dg-final { scan-tree-dump "cdce3.C:106: note: function call is shrink-wrapped into error conditions\." "cdce" } } */
3756 /* { dg-final { scan-tree-dump "cdce3.C:107: note: function call is shrink-wrapped into error conditions\." "cdce" } } */
3757+/* { dg-final { scan-tree-dump "cdce3.C:108: note: function call is shrink-wrapped into error conditions\." "cdce" } } */
3758+/* { dg-final { scan-tree-dump "cdce3.C:109: note: function call is shrink-wrapped into error conditions\." "cdce" } } */
3759+/* { dg-final { scan-tree-dump "cdce3.C:110: note: function call is shrink-wrapped into error conditions\." "cdce" } } */
3760+/* { dg-final { scan-tree-dump "cdce3.C:111: note: function call is shrink-wrapped into error conditions\." "cdce" } } */
3761 /* { dg-final { cleanup-tree-dump "cdce" } } */
3762 #include <stdlib.h>
3763 #include <math.h>
3764Index: gcc/testsuite/g++.dg/warn/Wreturn-type-6.C
3765===================================================================
3766--- gcc/testsuite/g++.dg/warn/Wreturn-type-6.C (.../tags/gcc_4_4_1_release) (wersja 0)
3767+++ gcc/testsuite/g++.dg/warn/Wreturn-type-6.C (.../branches/gcc-4_4-branch) (wersja 151837)
3768@@ -0,0 +1,13 @@
3769+/* PR c++/40749 */
3770+/* { dg-do "compile" } */
3771+/* { dg-options "-Wreturn-type" } */
3772+
3773+struct A {};
3774+const A a() {} /* { dg-warning "no return statement" } */
3775+const A& b() {} /* { dg-warning "no return statement" } */
3776+
3777+const int c() {} /* { dg-warning "no return statement" } */
3778+
3779+template<class T>
3780+const int foo(T t) {} /* { dg-warning "no return statement" } */
3781+int d = foo<int>(0), e = foo<int>(1);
f06d2ced 3782Index: gcc/testsuite/g++.dg/lookup/using21.C
2a12872e 3783===================================================================
f06d2ced 3784--- gcc/testsuite/g++.dg/lookup/using21.C (.../tags/gcc_4_4_1_release) (wersja 0)
55465a90 3785+++ gcc/testsuite/g++.dg/lookup/using21.C (.../branches/gcc-4_4-branch) (wersja 151837)
f06d2ced
AM
3786@@ -0,0 +1,13 @@
3787+// PR c++/40799
2a12872e 3788+
f06d2ced
AM
3789+namespace Bar {
3790+ typedef int A;
2a12872e 3791+}
f06d2ced
AM
3792+class CollectionDeleteGuard {
3793+public:
3794+ CollectionDeleteGuard(int);
52d9744f 3795+};
f06d2ced 3796+CollectionDeleteGuard::CollectionDeleteGuard(int)
52d9744f 3797+{
f06d2ced 3798+ using Bar::A;
52d9744f 3799+}
55465a90
AM
3800Index: gcc/testsuite/g++.dg/parse/enum5.C
3801===================================================================
3802--- gcc/testsuite/g++.dg/parse/enum5.C (.../tags/gcc_4_4_1_release) (wersja 0)
3803+++ gcc/testsuite/g++.dg/parse/enum5.C (.../branches/gcc-4_4-branch) (wersja 151837)
3804@@ -0,0 +1,17 @@
3805+// PR c++/41127
3806+
3807+#define CHAR_BIT 8
3808+enum EE {ee};
3809+typedef unsigned int T;
3810+
3811+struct D {
3812+ T : sizeof(unsigned int) * CHAR_BIT; // OK
3813+ EE : sizeof(EE) * CHAR_BIT; // OK
3814+ enum EE : sizeof(EE) * CHAR_BIT; // not OK
3815+ enum EE xxxx : sizeof(EE) * CHAR_BIT; // OK
3816+ T x : sizeof(unsigned int) * CHAR_BIT; // OK
3817+ enum FF {ff} : sizeof(int) * CHAR_BIT; // OK
3818+} element;
3819+
3820+enum EE xx;
3821+EE yy;
3822Index: gcc/testsuite/g++.dg/expr/stmt-expr-1.C
3823===================================================================
3824--- gcc/testsuite/g++.dg/expr/stmt-expr-1.C (.../tags/gcc_4_4_1_release) (wersja 0)
3825+++ gcc/testsuite/g++.dg/expr/stmt-expr-1.C (.../branches/gcc-4_4-branch) (wersja 151837)
3826@@ -0,0 +1,36 @@
3827+// Contributed by Dodji Seketeli <dodji@redhat.com>
3828+// Origin PR c++/40866
3829+// { dg-options "-std=gnu++98" }
3830+// { dg-do "compile" }
3831+
3832+template <typename T> class QForeachContainer {
3833+public:
3834+ QForeachContainer();
3835+ int brk;
3836+ typename T::const_iterator i;
3837+};
3838+
3839+template <typename T> class QList {
3840+public:
3841+ class const_iterator {
3842+ public:
3843+ const_iterator(const const_iterator &o);
3844+ const_iterator &operator++();
3845+ };
3846+};
3847+
3848+class QAction;
3849+class QWidget {
3850+public:
3851+ QList<QAction*> actions() const;
3852+};
3853+class myDialog : public QWidget {
3854+ myDialog();
3855+};
3856+
3857+myDialog::myDialog()
3858+{
3859+ QForeachContainer<__typeof__(actions())> _container_;
3860+ ({++_container_.brk; ++_container_.i;});
3861+}
3862+
3863Index: gcc/testsuite/g++.dg/expr/unary3.C
3864===================================================================
3865--- gcc/testsuite/g++.dg/expr/unary3.C (.../tags/gcc_4_4_1_release) (wersja 0)
3866+++ gcc/testsuite/g++.dg/expr/unary3.C (.../branches/gcc-4_4-branch) (wersja 151837)
3867@@ -0,0 +1,11 @@
3868+// PR c++/41131
3869+// { dg-do compile }
3870+
3871+struct X { enum E { a = 100 }; };
3872+
3873+int
3874+main ()
3875+{
3876+ X x;
3877+ (void) &x.a; // { dg-error "lvalue required" }
3878+}
3879Index: gcc/testsuite/g++.dg/cpp0x/enum1.C
3880===================================================================
3881--- gcc/testsuite/g++.dg/cpp0x/enum1.C (.../tags/gcc_4_4_1_release) (wersja 151837)
3882+++ gcc/testsuite/g++.dg/cpp0x/enum1.C (.../branches/gcc-4_4-branch) (wersja 151837)
3883@@ -2,5 +2,5 @@
3884 // { dg-do compile }
3885 // { dg-options "-std=gnu++0x" }
3886
3887-enum : { }; // { dg-error "expected type-specifier" }
3888+enum : { }; // { dg-error "expected" }
3889 enum : 3 { }; // { dg-error "expected" }
3890Index: gcc/testsuite/g++.dg/cpp0x/initlist22.C
3891===================================================================
3892--- gcc/testsuite/g++.dg/cpp0x/initlist22.C (.../tags/gcc_4_4_1_release) (wersja 0)
3893+++ gcc/testsuite/g++.dg/cpp0x/initlist22.C (.../branches/gcc-4_4-branch) (wersja 151837)
3894@@ -0,0 +1,24 @@
3895+// Core issue 934
3896+// { dg-options "-std=c++0x" }
3897+
3898+int i;
3899+
3900+int& r1{ i }; // OK, direct binding
3901+int&& r2{ i }; // OK, direct binding
3902+
3903+int& r3{ }; // { dg-error "" } reference to temporary
3904+int&& r4{ }; // OK, reference to temporary
3905+
3906+struct A { int i; } a;
3907+
3908+A& r5 { i }; // { dg-error "" } reference to temporary
3909+A&& r6 { i }; // OK, aggregate initialization of temporary
3910+A& r7 { a }; // { dg-error "" } invalid aggregate initializer for A
3911+A&& r8 { a }; // { dg-error "" } invalid aggregate initializer for A
3912+
3913+struct B { B(int); int i; } b(0);
3914+
3915+B& r9 { i }; // { dg-error "" } reference to temporary
3916+B&& r10 { i }; // OK, make temporary with B(int) constructor
3917+B& r11 { b }; // { dg-error "" } reference to temporary
3918+B&& r12 { b }; // OK, make temporary with copy constructor
3919Index: gcc/testsuite/g++.dg/cpp0x/initlist23.C
3920===================================================================
3921--- gcc/testsuite/g++.dg/cpp0x/initlist23.C (.../tags/gcc_4_4_1_release) (wersja 0)
3922+++ gcc/testsuite/g++.dg/cpp0x/initlist23.C (.../branches/gcc-4_4-branch) (wersja 151837)
3923@@ -0,0 +1,15 @@
3924+// { dg-options "-std=c++0x" }
3925+
3926+#include <initializer_list>
3927+
3928+struct A
3929+{
3930+ A& operator=(int i);
3931+ A& operator=(std::initializer_list<int> l) { return *this; }
3932+};
3933+
3934+int main()
3935+{
3936+ A a;
3937+ a = { };
3938+}
3939Index: gcc/testsuite/g++.dg/torture/pr41257-2.C
3940===================================================================
3941--- gcc/testsuite/g++.dg/torture/pr41257-2.C (.../tags/gcc_4_4_1_release) (wersja 0)
3942+++ gcc/testsuite/g++.dg/torture/pr41257-2.C (.../branches/gcc-4_4-branch) (wersja 151837)
3943@@ -0,0 +1,16 @@
3944+/* { dg-do link } */
3945+
3946+struct A
3947+{
3948+ virtual ~A();
3949+};
3950+
3951+struct B : virtual A
3952+{
3953+ virtual ~B() {}
3954+};
3955+
3956+int main()
3957+{
3958+ return 0;
3959+}
3960Index: gcc/testsuite/g++.dg/torture/pr41257.C
3961===================================================================
3962--- gcc/testsuite/g++.dg/torture/pr41257.C (.../tags/gcc_4_4_1_release) (wersja 0)
3963+++ gcc/testsuite/g++.dg/torture/pr41257.C (.../branches/gcc-4_4-branch) (wersja 151837)
3964@@ -0,0 +1,20 @@
3965+/* { dg-do compile } */
3966+
3967+struct A
3968+{
3969+ virtual void foo();
3970+ virtual ~A();
3971+ int i;
3972+};
3973+
3974+struct B : virtual A {};
3975+
3976+struct C : B
3977+{
3978+ virtual void foo();
3979+};
3980+
3981+void bar()
3982+{
3983+ C().foo();
3984+}
3985Index: gcc/testsuite/g++.dg/torture/pr40924.C
3986===================================================================
3987--- gcc/testsuite/g++.dg/torture/pr40924.C (.../tags/gcc_4_4_1_release) (wersja 0)
3988+++ gcc/testsuite/g++.dg/torture/pr40924.C (.../branches/gcc-4_4-branch) (wersja 151837)
3989@@ -0,0 +1,111 @@
3990+// PR rtl-optimization/40924
3991+// { dg-do run }
3992+
3993+extern "C" void abort (void);
3994+
3995+#define MAY_ALIAS __attribute__((__may_alias__))
3996+
3997+typedef struct { float v[2]; } floata;
3998+typedef struct { int v[2]; } inta;
3999+
4000+typedef unsigned int uint MAY_ALIAS;
4001+typedef signed int sint MAY_ALIAS;
4002+typedef float flt MAY_ALIAS;
4003+
4004+static inline unsigned short
4005+less_than (inta a, inta b)
4006+{
4007+ unsigned short r = 0;
4008+ const uint *p1 = (const uint *) &a;
4009+ const uint *p2 = (const uint *) &b;
4010+ for (int i=0; i < 2; i++)
4011+ if (p1[i] < p2[i]) r |= (1 << i);
4012+ return r;
4013+}
4014+
4015+static inline inta
4016+multiply (inta b, inta c)
4017+{
4018+ inta r;
4019+ sint *p3 = (sint *) &c;
4020+ for (int i=0; i < 2; i++)
4021+ r.v[i] = (int) (b.v[i] * p3[i] & 0xFFFFFFFF);
4022+ return r;
4023+}
4024+
4025+static inline floata
4026+gather (inta indexes, const void *baseAddr)
4027+{
4028+ floata r;
4029+
4030+ sint *idx = (sint *) &indexes;
4031+ flt *src = (flt *) baseAddr;
4032+ for (int i=0; i < 2; i++)
4033+ r.v[i] = *(src + idx[i]);
4034+ return r;
4035+}
4036+
4037+static inline inta
4038+add (const inta &b, const inta &c)
4039+{
4040+ inta result;
4041+ sint *r = (sint *) &result;
4042+
4043+ for (int i=0; i < 2; i++)
4044+ r[i] = b.v[i] + c.v[i];
4045+ return result;
4046+}
4047+
4048+struct uintv
4049+{
4050+ inta data;
4051+ inline uintv () { data.v[0] = 0; data.v[1] = 1; }
4052+ inline uintv (unsigned int a)
4053+ {
4054+ for (int i=0; i < 2; i++)
4055+ *(uint *) &data.v[i] = a;
4056+ }
4057+ inline uintv (inta x) : data (x) {}
4058+ inline uintv operator* (const uintv &x) const
4059+ { return multiply (data, x.data); }
4060+ inline uintv operator+ (const uintv &x) const
4061+ { return uintv (add (data, x.data)); }
4062+ inline unsigned short operator< (const uintv &x) const
4063+ { return less_than (data, x.data); }
4064+};
4065+
4066+struct floatv
4067+{
4068+ floata data;
4069+ explicit inline floatv (const uintv &x)
4070+ {
4071+ uint *p2 = (uint *) &x.data;
4072+ for (int i=0; i < 2; i++)
4073+ data.v[i] = p2[i];
4074+ }
4075+ inline floatv (const float *array, const uintv &indexes)
4076+ {
4077+ const uintv &offsets = indexes * uintv (1);
4078+ data = gather (offsets.data, array);
4079+ }
4080+ unsigned short operator== (const floatv &x) const
4081+ {
4082+ unsigned short r = 0;
4083+ for (int i=0; i < 2; i++)
4084+ if (data.v[i] == x.data.v[i]) r |= (1 << i);
4085+ return r;
4086+ }
4087+};
4088+
4089+int
4090+main ()
4091+{
4092+ const float array[2] = { 2, 3 };
4093+ for (uintv i; (i < 2) == 3; i = i + 2)
4094+ {
4095+ const floatv ii (i + 2);
4096+ floatv a (array, i);
4097+ if ((a == ii) != 3)
4098+ abort ();
4099+ }
4100+}
f06d2ced 4101Index: gcc/testsuite/g++.dg/torture/pr40321.C
52d9744f 4102===================================================================
f06d2ced 4103--- gcc/testsuite/g++.dg/torture/pr40321.C (.../tags/gcc_4_4_1_release) (wersja 0)
55465a90 4104+++ gcc/testsuite/g++.dg/torture/pr40321.C (.../branches/gcc-4_4-branch) (wersja 151837)
f06d2ced 4105@@ -0,0 +1,25 @@
52d9744f 4106+/* { dg-do compile } */
52d9744f 4107+
f06d2ced 4108+struct VectorD2
52d9744f 4109+{
f06d2ced
AM
4110+ VectorD2() : x(0), y(0) { }
4111+ VectorD2(int _x, int _y) : x(_x), y(_y) { }
4112+ int x, y;
4113+ int GetLength2() const { return x*x + y*y; };
4114+ VectorD2 operator+(const VectorD2 vec) const {
4115+ return VectorD2(x+vec.x,y+vec.y);
4116+ }
52d9744f 4117+};
f06d2ced 4118+struct Shape
52d9744f 4119+{
f06d2ced
AM
4120+ enum Type { ST_RECT, ST_CIRCLE } type;
4121+ VectorD2 pos;
4122+ VectorD2 radius;
4123+ bool CollisionWith(const Shape& s) const;
4124+};
4125+bool Shape::CollisionWith(const Shape& s) const
52d9744f 4126+{
f06d2ced
AM
4127+ if(type == ST_CIRCLE && s.type == ST_RECT)
4128+ return s.CollisionWith(*this);
4129+ return (pos + s.pos).GetLength2() < (radius + s.radius).GetLength2();
52d9744f 4130+}
55465a90
AM
4131Index: gcc/testsuite/g++.dg/torture/pr41273.C
4132===================================================================
4133--- gcc/testsuite/g++.dg/torture/pr41273.C (.../tags/gcc_4_4_1_release) (wersja 0)
4134+++ gcc/testsuite/g++.dg/torture/pr41273.C (.../branches/gcc-4_4-branch) (wersja 151837)
4135@@ -0,0 +1,18 @@
4136+/* { dg-do compile } */
4137+/* { dg-options "-g" } */
4138+
4139+long *H2_ipX_ener_sort;
4140+double H2_old_populations[2];
4141+double H2_total;
4142+
4143+void H2_LevelPops()
4144+{
4145+ double sum_pop = 0.;
4146+ long nEner = 0;
4147+ while( nEner < 3 && sum_pop/H2_total < 0.99999 )
4148+ {
4149+ long ip = H2_ipX_ener_sort[nEner];
4150+ sum_pop += H2_old_populations[ip];
4151+ ++nEner;
4152+ }
4153+}
4154Index: gcc/testsuite/g++.dg/torture/pr41144.C
4155===================================================================
4156--- gcc/testsuite/g++.dg/torture/pr41144.C (.../tags/gcc_4_4_1_release) (wersja 0)
4157+++ gcc/testsuite/g++.dg/torture/pr41144.C (.../branches/gcc-4_4-branch) (wersja 151837)
4158@@ -0,0 +1,23 @@
4159+/* { dg-do compile } */
4160+
4161+struct rgba8;
4162+template<class ColorT> class span_gouraud {
4163+public:
4164+ struct coord_type { };
4165+ coord_type m_coord[3];
4166+};
4167+template<class ColorT> class span_gouraud_rgba : public span_gouraud<ColorT>
4168+{
4169+ typedef ColorT color_type;
4170+ typedef span_gouraud<color_type> base_type;
4171+ typedef typename base_type::coord_type coord_type;
4172+public:
4173+ void prepare() {
4174+ coord_type coord[3];
4175+ }
4176+};
4177+void the_application() {
4178+ typedef span_gouraud_rgba<rgba8> gouraud_span_gen_type;
4179+ gouraud_span_gen_type span_gouraud;
4180+ span_gouraud.prepare();
4181+}
4182Index: gcc/testsuite/g++.dg/torture/pr40834.C
4183===================================================================
4184--- gcc/testsuite/g++.dg/torture/pr40834.C (.../tags/gcc_4_4_1_release) (wersja 0)
4185+++ gcc/testsuite/g++.dg/torture/pr40834.C (.../branches/gcc-4_4-branch) (wersja 151837)
4186@@ -0,0 +1,52 @@
4187+/* { dg-do run } */
4188+
4189+extern "C" void abort (void);
4190+class XalanDOMString
4191+{
4192+public:
4193+ int y;
4194+};
4195+
4196+class XObject
4197+{
4198+public:
4199+ const XalanDOMString& str() const { return x; }
4200+ XalanDOMString x;
4201+};
4202+
4203+class XObjectPtr
4204+{
4205+public:
4206+ XObjectPtr(const XObjectPtr& theSource)
4207+ {
4208+ m_xobjectPtr = theSource.m_xobjectPtr;
4209+ }
4210+ const XObject* operator->() const
4211+ {
4212+ return m_xobjectPtr;
4213+ };
4214+ XObjectPtr(XObject *p) { m_xobjectPtr = p; }
4215+ XObject* m_xobjectPtr;
4216+};
4217+
4218+class FunctionSubstringBefore
4219+{
4220+public:
4221+ int execute( const XObjectPtr arg1) const
4222+ {
4223+ const XalanDOMString& theFirstString = arg1->str();
4224+ return theFirstString.y;
4225+ }
4226+};
4227+
4228+int
4229+main ()
4230+{
4231+ XObject x;
4232+ XObjectPtr y (&x);
4233+ x.x.y = -1;
4234+ FunctionSubstringBefore z;
4235+ if (z.execute (y) != -1)
4236+ abort ();
4237+ return 0;
4238+}
4239Index: gcc/testsuite/g++.dg/torture/pr40991.C
4240===================================================================
4241--- gcc/testsuite/g++.dg/torture/pr40991.C (.../tags/gcc_4_4_1_release) (wersja 0)
4242+++ gcc/testsuite/g++.dg/torture/pr40991.C (.../branches/gcc-4_4-branch) (wersja 151837)
4243@@ -0,0 +1,113 @@
4244+/* { dg-options "-std=gnu++0x" } */
4245+
4246+typedef __SIZE_TYPE__ size_t;
4247+namespace std __attribute__ ((__visibility__ ("default"))) {
4248+ using ::size_t;
4249+ void __throw_bad_function_call() __attribute__((__noreturn__));
4250+}
4251+inline void* operator new(std::size_t, void* __p) throw() {
4252+ return __p;
4253+}
4254+namespace std {
4255+ class type_info {
4256+ public:
4257+ bool operator==(const type_info& __arg) const { }
4258+ };
4259+ namespace tr1 {
4260+ template<typename _Tp, _Tp __v> struct integral_constant { };
4261+ typedef integral_constant<bool, true> true_type;
4262+ template<typename _Res, typename... _ArgTypes>
4263+ struct _Maybe_unary_or_binary_function { };
4264+ class _Undefined_class;
4265+ union _Nocopy_types {
4266+ void (_Undefined_class::*_M_member_pointer)();
4267+ };
4268+ union _Any_data {
4269+ void* _M_access() {
4270+ return &_M_pod_data[0];
4271+ }
4272+ char _M_pod_data[sizeof(_Nocopy_types)];
4273+ };
4274+ enum _Manager_operation { __get_type_info, __get_functor_ptr, __clone_functor, __destroy_functor };
4275+ template<typename _Tp> struct _Simple_type_wrapper {
4276+ _Simple_type_wrapper(_Tp __value) : __value(__value) { }
4277+ _Tp __value;
4278+ };
4279+ template<typename _Signature> class function;
4280+ class _Function_base {
4281+ public:
4282+ static const std::size_t _M_max_size = sizeof(_Nocopy_types);
4283+ static const std::size_t _M_max_align = __alignof__(_Nocopy_types);
4284+ template<typename _Functor> class _Base_manager {
4285+ static const bool __stored_locally = (sizeof(_Functor) <= _M_max_size && __alignof__(_Functor) <= _M_max_align && (_M_max_align % __alignof__(_Functor) == 0));
4286+ typedef integral_constant<bool, __stored_locally> _Local_storage;
4287+ public:
4288+ static bool _M_manager(_Any_data& __dest, const _Any_data& __source, _Manager_operation __op) { }
4289+ static void _M_init_functor(_Any_data& __functor, const _Functor& __f) {
4290+ _M_init_functor(__functor, __f, _Local_storage());
4291+ }
4292+ template<typename _Class, typename _Tp> static bool _M_not_empty_function(_Tp _Class::* const& __mp) {
4293+ return __mp;
4294+ }
4295+ static void _M_init_functor(_Any_data& __functor, const _Functor& __f, true_type) {
4296+ new (__functor._M_access()) _Functor(__f);
4297+ }
4298+ };
4299+ ~_Function_base() {
4300+ if (_M_manager) _M_manager(_M_functor, _M_functor, __destroy_functor);
4301+ }
4302+ bool _M_empty() const {
4303+ return !_M_manager;
4304+ }
4305+ typedef bool (*_Manager_type)(_Any_data&, const _Any_data&, _Manager_operation);
4306+ _Any_data _M_functor;
4307+ _Manager_type _M_manager;
4308+ };
4309+ template<typename _Signature, typename _Functor> class _Function_handler;
4310+ template<typename _Class, typename _Member, typename _Res, typename... _ArgTypes> class _Function_handler<_Res(_ArgTypes...), _Member _Class::*> : public _Function_handler<void(_ArgTypes...), _Member _Class::*> {
4311+ public:
4312+ static _Res _M_invoke(const _Any_data& __functor, _ArgTypes... __args) { }
4313+ };
4314+ template<typename _Class, typename _Member, typename... _ArgTypes> class _Function_handler<void(_ArgTypes...), _Member _Class::*> : public _Function_base::_Base_manager< _Simple_type_wrapper< _Member _Class::* > > { };
4315+ template<typename _Res, typename... _ArgTypes> class function<_Res(_ArgTypes...)> : public _Maybe_unary_or_binary_function<_Res, _ArgTypes...>, private _Function_base {
4316+ typedef _Res _Signature_type(_ArgTypes...);
4317+ struct _Useless { };
4318+ public:
4319+ template<typename _Functor> function(_Functor __f, _Useless = _Useless());
4320+ _Res operator()(_ArgTypes... __args) const;
4321+ const type_info& target_type() const;
4322+ typedef _Res (*_Invoker_type)(const _Any_data&, _ArgTypes...);
4323+ _Invoker_type _M_invoker;
4324+ };
4325+ template<typename _Res, typename... _ArgTypes> template<typename _Functor> function<_Res(_ArgTypes...)>:: function(_Functor __f, _Useless) : _Function_base() {
4326+ typedef _Function_handler<_Signature_type, _Functor> _My_handler;
4327+ if (_My_handler::_M_not_empty_function(__f)) {
4328+ _M_invoker = &_My_handler::_M_invoke;
4329+ _M_manager = &_My_handler::_M_manager;
4330+ _My_handler::_M_init_functor(_M_functor, __f);
4331+ }
4332+ }
4333+ template<typename _Res, typename... _ArgTypes> _Res function<_Res(_ArgTypes...)>:: operator()(_ArgTypes... __args) const {
4334+ if (_M_empty()) {
4335+ __throw_bad_function_call();
4336+ }
4337+ return _M_invoker(_M_functor, __args...);
4338+ }
4339+ template<typename _Res, typename... _ArgTypes> const type_info& function<_Res(_ArgTypes...)>:: target_type() const {
4340+ if (_M_manager) {
4341+ _Any_data __typeinfo_result;
4342+ _M_manager(__typeinfo_result, _M_functor, __get_type_info);
4343+ }
4344+ }
4345+ }
4346+}
4347+struct X {
4348+ int bar;
4349+};
4350+void test05() {
4351+ using std::tr1::function;
4352+ X x;
4353+ function<int(X&)> frm(&X::bar);
4354+ frm(x) == 17;
4355+ typeid(int X::*) == frm.target_type();
4356+}
4357Index: gcc/testsuite/g++.dg/overload/defarg4.C
4358===================================================================
4359--- gcc/testsuite/g++.dg/overload/defarg4.C (.../tags/gcc_4_4_1_release) (wersja 0)
4360+++ gcc/testsuite/g++.dg/overload/defarg4.C (.../branches/gcc-4_4-branch) (wersja 151837)
4361@@ -0,0 +1,26 @@
4362+// Contributed by Dodji Seketeli <dodji@redhat.com>
4363+// Origin PR c++/39987
4364+// { dg-do "compile" }
4365+
4366+class foo
4367+{
4368+ template<typename U>
4369+ static bool func(const U& x)
4370+ {}
4371+public:
4372+ template<typename U>
4373+ unsigned int Find(const U& x, bool (*pFunc) (const U&) = func) const
4374+ {}
4375+};
4376+
4377+class bar {
4378+ bool Initialize();
4379+protected:
4380+ foo b;
4381+};
4382+
4383+bool bar::Initialize()
4384+{
4385+ b.Find(b);
4386+}
4387+
4388Index: gcc/testsuite/lib/target-supports.exp
4389===================================================================
4390--- gcc/testsuite/lib/target-supports.exp (.../tags/gcc_4_4_1_release) (wersja 151837)
4391+++ gcc/testsuite/lib/target-supports.exp (.../branches/gcc-4_4-branch) (wersja 151837)
4392@@ -611,6 +611,13 @@
4393 } "-pthread"]
4394 }
4395
4396+# Return 1 if the target supports -static
4397+proc check_effective_target_static {} {
4398+ return [check_no_compiler_messages static executable {
4399+ int main (void) { return 0; }
4400+ } "-static"]
4401+}
4402+
4403 # Return 1 if the target supports -fstack-protector
4404 proc check_effective_target_fstack_protector {} {
4405 return [check_runtime fstack_protector {
4406@@ -1269,7 +1276,8 @@
4407 verbose "check_effective_target_vect_cmdline_needed: using cached result" 2
4408 } else {
4409 set et_vect_cmdline_needed_saved 1
4410- if { [istarget ia64-*-*]
4411+ if { [istarget alpha*-*-*]
4412+ || [istarget ia64-*-*]
4413 || (([istarget x86_64-*-*] || [istarget i?86-*-*])
4414 && [check_effective_target_lp64])
4415 || ([istarget powerpc*-*-*]
4416Index: gcc/testsuite/gfortran.dg/default_format_denormal_2.f90
4417===================================================================
4418--- gcc/testsuite/gfortran.dg/default_format_denormal_2.f90 (.../tags/gcc_4_4_1_release) (wersja 151837)
4419+++ gcc/testsuite/gfortran.dg/default_format_denormal_2.f90 (.../branches/gcc-4_4-branch) (wersja 151837)
4420@@ -7,6 +7,8 @@
4421 ! wide enough and have enough precision, by checking that values can
4422 ! be written and read back.
4423 !
4424+! { dg-options "-mieee" { target alpha*-*-* } }
4425+
4426 include "default_format_2.inc"
4427
4428 program main
4429Index: gcc/testsuite/gfortran.dg/char_length_16.f90
4430===================================================================
4431--- gcc/testsuite/gfortran.dg/char_length_16.f90 (.../tags/gcc_4_4_1_release) (wersja 0)
4432+++ gcc/testsuite/gfortran.dg/char_length_16.f90 (.../branches/gcc-4_4-branch) (wersja 151837)
4433@@ -0,0 +1,12 @@
4434+! { dg-do compile }
4435+!
4436+! PR 40822: [4.5 Regression] Internal compiler error when Fortran intrinsic LEN referenced before explicit declaration
4437+!
4438+! Contributed by Mat Cross <mathewc@nag.co.uk>
4439+
4440+SUBROUTINE SEARCH(ITEMVAL)
4441+ CHARACTER (*) :: ITEMVAL
4442+ CHARACTER (LEN(ITEMVAL)) :: ITEM
4443+ INTRINSIC LEN
4444+END
4445+
4446Index: gcc/testsuite/gfortran.dg/c_f_pointer_tests_4.f90
4447===================================================================
4448--- gcc/testsuite/gfortran.dg/c_f_pointer_tests_4.f90 (.../tags/gcc_4_4_1_release) (wersja 0)
4449+++ gcc/testsuite/gfortran.dg/c_f_pointer_tests_4.f90 (.../branches/gcc-4_4-branch) (wersja 151837)
4450@@ -0,0 +1,15 @@
4451+! { dg-do run }
4452+program main
4453+ use iso_c_binding, only: c_ptr, c_loc, c_f_pointer
4454+ implicit none
4455+ integer, dimension(2,1,2), target :: table
4456+ table = reshape ( (/ 1,2,-1,-2/), (/2,1,2/))
4457+ call set_table (c_loc (table))
4458+contains
4459+ subroutine set_table (cptr)
4460+ type(c_ptr), intent(in) :: cptr
4461+ integer, dimension(:,:,:), pointer :: table_tmp
4462+ call c_f_pointer (cptr, table_tmp, (/2,1,2/))
4463+ if (any(table_tmp /= table)) call abort
4464+ end subroutine set_table
4465+end program main
4466Index: gcc/testsuite/gfortran.dg/namelist_40.f90
4467===================================================================
4468--- gcc/testsuite/gfortran.dg/namelist_40.f90 (.../tags/gcc_4_4_1_release) (wersja 151837)
4469+++ gcc/testsuite/gfortran.dg/namelist_40.f90 (.../branches/gcc-4_4-branch) (wersja 151837)
4470@@ -1,4 +1,4 @@
4471-! { dg-do run { target fd_truncate } }
4472+! { dg-do run }
4473 ! PR33672 Additional runtime checks needed for namelist reads
4474 ! Submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org>
4475
4476@@ -47,7 +47,7 @@
4477 end subroutine writenml
4478
4479 end program namelist_40
4480-! { dg-output "Multiple sub-objects with non-zero rank in namelist object x(\n|\r\n|\r)" }
4481+! { dg-output "Multiple sub-objects with non-zero rank in namelist object x%m%ch(\n|\r\n|\r)" }
4482 ! { dg-output "Missing colon in substring qualifier for namelist variable x%m%ch(\n|\r\n|\r)" }
4483 ! { dg-output "Substring out of range for namelist variable x%m%ch(\n|\r\n|\r)" }
4484 ! { dg-output "Bad character in substring qualifier for namelist variable x%m%ch(\n|\r\n|\r)" }
4485Index: gcc/testsuite/gfortran.dg/gomp/pr40878-1.f90
4486===================================================================
4487--- gcc/testsuite/gfortran.dg/gomp/pr40878-1.f90 (.../tags/gcc_4_4_1_release) (wersja 0)
4488+++ gcc/testsuite/gfortran.dg/gomp/pr40878-1.f90 (.../branches/gcc-4_4-branch) (wersja 151837)
4489@@ -0,0 +1,63 @@
4490+! PR fortran/40878
4491+! { dg-do compile }
4492+! { dg-options "-fopenmp" }
4493+
4494+subroutine test1
4495+ integer :: j, k
4496+ integer :: m = 2
4497+!$omp parallel do collapse(m) schedule (static,1) ! { dg-error "Constant expression required" }
4498+ do k = 1, 2
4499+ do j = 1, 6
4500+ enddo
4501+ enddo
4502+!$omp end parallel do
4503+end
4504+subroutine test2
4505+ integer :: j, k
4506+ integer :: m
4507+ m = 2
4508+!$omp parallel do collapse(m) schedule (static,1) ! { dg-error "Constant expression required" }
4509+ do k = 1, 2
4510+ do j = 1, 6
4511+ enddo
4512+ enddo
4513+!$omp end parallel do
4514+end
4515+subroutine test3
4516+ integer :: j, k
4517+ integer, parameter :: m = 0
4518+!$omp parallel do collapse(m) schedule (static,1) ! { dg-error "not constant positive integer" }
4519+ do k = 1, 2
4520+ do j = 1, 6
4521+ enddo
4522+ enddo
4523+!$omp end parallel do
4524+end
4525+subroutine test4
4526+ integer :: j, k
4527+ integer, parameter :: m = -2
4528+!$omp parallel do collapse(m) schedule (static,1) ! { dg-error "not constant positive integer" }
4529+ do k = 1, 2
4530+ do j = 1, 6
4531+ enddo
4532+ enddo
4533+!$omp end parallel do
4534+end
4535+subroutine test5
4536+ integer :: j, k
4537+!$omp parallel do collapse(0) schedule (static,1) ! { dg-error "not constant positive integer" }
4538+ do k = 1, 2
4539+ do j = 1, 6
4540+ enddo
4541+ enddo
4542+!$omp end parallel do
4543+end
4544+subroutine test6
4545+ integer :: j, k
4546+!$omp parallel do collapse(-1) schedule (static,1) ! { dg-error "not constant positive integer" }
4547+ do k = 1, 2
4548+ do j = 1, 6
4549+ enddo
4550+ enddo
4551+!$omp end parallel do
4552+end
4553Index: gcc/testsuite/gfortran.dg/gomp/pr40878-2.f90
4554===================================================================
4555--- gcc/testsuite/gfortran.dg/gomp/pr40878-2.f90 (.../tags/gcc_4_4_1_release) (wersja 0)
4556+++ gcc/testsuite/gfortran.dg/gomp/pr40878-2.f90 (.../branches/gcc-4_4-branch) (wersja 151837)
4557@@ -0,0 +1,23 @@
4558+! PR fortran/40878
4559+! { dg-do compile }
4560+! { dg-options "-fopenmp" }
4561+
4562+subroutine test1
4563+ integer :: j, k
4564+ integer, parameter :: m = 2
4565+!$omp parallel do collapse(m) schedule (static,1)
4566+ do k = 1, 2
4567+ do j = 1, 6
4568+ enddo
4569+ enddo
4570+!$omp end parallel do
4571+end
4572+subroutine test2
4573+ integer :: j, k
4574+!$omp parallel do collapse(2) schedule (static,1)
4575+ do k = 1, 2
4576+ do j = 1, 6
4577+ enddo
4578+ enddo
4579+!$omp end parallel do
4580+end
4581Index: gcc/testsuite/gfortran.dg/intrinsic_4.f90
4582===================================================================
4583--- gcc/testsuite/gfortran.dg/intrinsic_4.f90 (.../tags/gcc_4_4_1_release) (wersja 0)
4584+++ gcc/testsuite/gfortran.dg/intrinsic_4.f90 (.../branches/gcc-4_4-branch) (wersja 151837)
4585@@ -0,0 +1,12 @@
4586+! { dg-do compile }
4587+! { dg-options "-Wsurprising" }
4588+!
4589+! PR 40995: [4.5 Regression] Spurious "Type specified for intrinsic function...ignored" message
4590+!
4591+! Contributed by Mat Cross <mathewc@nag.co.uk>
4592+
4593+subroutine sub(n,x)
4594+ intrinsic abs
4595+ integer n, x(abs(n))
4596+end
4597+
4598Index: gcc/testsuite/gfortran.dg/pr41162.f
4599===================================================================
4600--- gcc/testsuite/gfortran.dg/pr41162.f (.../tags/gcc_4_4_1_release) (wersja 0)
4601+++ gcc/testsuite/gfortran.dg/pr41162.f (.../branches/gcc-4_4-branch) (wersja 151837)
4602@@ -0,0 +1,5 @@
4603+! { dg-do compile }
4604+! PRs 41154/41162
4605+ write (*,'(1PD24.15,F4.2,0P)') 1.0d0
4606+ write (*,'(1PD24.15,F4.2,0P/)') 1.0d0
4607+ end
4608Index: gcc/testsuite/gfortran.dg/pr41225.f90
4609===================================================================
4610--- gcc/testsuite/gfortran.dg/pr41225.f90 (.../tags/gcc_4_4_1_release) (wersja 0)
4611+++ gcc/testsuite/gfortran.dg/pr41225.f90 (.../branches/gcc-4_4-branch) (wersja 151837)
4612@@ -0,0 +1,20 @@
4613+! { dg-do compile }
4614+! { dg-options "-O2 -ffast-math -funroll-loops -ftree-vectorize -g" }
4615+ SUBROUTINE block_15_1_1_1(kbd,kbc,kad,kac,pbd,pbc,pad,pac,prim,scale)
4616+ INTEGER, PARAMETER :: dp=8
4617+ REAL(KIND=dp) :: kbd(1*1), kbc(1*1), kad(15*1), kac(15*1), pbd(1*1), &
4618+ pbc(1*1), pad(15*1), pac(15*1), prim(15*1*1*1), scale
4619+ INTEGER :: ma, mb, mc, md, p_index
4620+ DO md = 1,1
4621+ DO mc = 1,1
4622+ DO mb = 1,1
4623+ DO ma = 1,15
4624+ p_index=p_index+1
4625+ tmp = scale*prim(p_index)
4626+ ks_bd = ks_bd + tmp* pac((mc-1)*15+ma)
4627+ END DO
4628+ kbd((md-1)*1+mb) = kbd((md-1)*1+mb) - ks_bd
4629+ END DO
4630+ END DO
4631+ END DO
4632+ END SUBROUTINE block_15_1_1_1
4633Index: gcc/testsuite/gfortran.dg/derived_init_3.f90
4634===================================================================
4635--- gcc/testsuite/gfortran.dg/derived_init_3.f90 (.../tags/gcc_4_4_1_release) (wersja 0)
4636+++ gcc/testsuite/gfortran.dg/derived_init_3.f90 (.../branches/gcc-4_4-branch) (wersja 151837)
4637@@ -0,0 +1,34 @@
4638+! { dg-do run }
4639+!
4640+! PR fortran/40851
4641+!
4642+! Make sure the an INTENT(OUT) dummy is not initialized
4643+! when it is a pointer.
4644+!
4645+! Contributed by Juergen Reuter <juergen.reuter@desy.de>.
4646+!
4647+program main
4648+
4649+ type :: string
4650+ character,dimension(:),allocatable :: chars
4651+ end type string
4652+
4653+ type :: string_container
4654+ type(string) :: string
4655+ end type string_container
4656+
4657+ type(string_container), target :: tgt
4658+ type(string_container), pointer :: ptr
4659+
4660+ ptr => tgt
4661+ call set_ptr (ptr)
4662+ if (associated(ptr)) call abort()
4663+
4664+contains
4665+
4666+ subroutine set_ptr (ptr)
4667+ type(string_container), pointer, intent(out) :: ptr
4668+ ptr => null ()
4669+ end subroutine set_ptr
4670+
4671+end program main
4672Index: gcc/testsuite/gfortran.dg/pr41229.f90
4673===================================================================
4674--- gcc/testsuite/gfortran.dg/pr41229.f90 (.../tags/gcc_4_4_1_release) (wersja 0)
4675+++ gcc/testsuite/gfortran.dg/pr41229.f90 (.../branches/gcc-4_4-branch) (wersja 151837)
4676@@ -0,0 +1,10 @@
4677+! { dg-do compile }
4678+! { dg-options "-O2 -g" }
4679+SUBROUTINE cp_fm_triangular_multiply()
4680+ INTEGER, PARAMETER :: dp=KIND(0.0D0)
4681+ REAL(dp), ALLOCATABLE, DIMENSION(:) :: tau, work
4682+ REAL(KIND=dp), DIMENSION(:, :), POINTER :: a
4683+ ndim = SIZE(a,2)
4684+ ALLOCATE(tau(ndim),STAT=istat)
4685+ ALLOCATE(work(2*ndim),STAT=istat)
4686+END SUBROUTINE
4687Index: gcc/testsuite/gfortran.dg/structure_constructor_10.f90
4688===================================================================
4689--- gcc/testsuite/gfortran.dg/structure_constructor_10.f90 (.../tags/gcc_4_4_1_release) (wersja 0)
4690+++ gcc/testsuite/gfortran.dg/structure_constructor_10.f90 (.../branches/gcc-4_4-branch) (wersja 151837)
4691@@ -0,0 +1,28 @@
4692+! { dg-do compile }
4693+!
4694+! PR 41070: [4.5 Regression] Error: Components of structure constructor '' at (1) are PRIVATE
4695+!
4696+! Contributed by Michael Richmond <michael.a.richmond@nasa.gov>
4697+
4698+MODULE cdf_aux_mod
4699+IMPLICIT NONE
4700+
4701+TYPE :: one_parameter
4702+ CHARACTER (8) :: name
4703+END TYPE one_parameter
4704+
4705+TYPE :: the_distribution
4706+ CHARACTER (8) :: name
4707+END TYPE the_distribution
4708+
4709+TYPE (the_distribution), PARAMETER :: the_beta = the_distribution('cdf_beta')
4710+END MODULE cdf_aux_mod
4711+
4712+SUBROUTINE cdf_beta()
4713+ USE cdf_aux_mod
4714+ IMPLICIT NONE
4715+ CALL check_complements(the_beta%name)
4716+END SUBROUTINE cdf_beta
4717+
4718+! { dg-final { cleanup-modules "cdf_aux_mod" } }
4719+
4720Index: gcc/testsuite/gfortran.dg/altreturn_7.f90
4721===================================================================
4722--- gcc/testsuite/gfortran.dg/altreturn_7.f90 (.../tags/gcc_4_4_1_release) (wersja 0)
4723+++ gcc/testsuite/gfortran.dg/altreturn_7.f90 (.../branches/gcc-4_4-branch) (wersja 151837)
4724@@ -0,0 +1,34 @@
4725+! { dg-do compile }
4726+!
4727+! PR 40848: [4.5 Regression] ICE with alternate returns
4728+!
4729+! Contributed by Joost VandeVondele <jv244@cam.ac.uk>
4730+
4731+MODULE TT
4732+
4733+INTERFACE M
4734+ MODULE PROCEDURE M1,M2
4735+END INTERFACE
4736+
4737+CONTAINS
4738+
4739+ SUBROUTINE M1(I,*)
4740+ INTEGER :: I
4741+ RETURN 1
4742+ END SUBROUTINE
4743+
4744+ SUBROUTINE M2(I,J)
4745+ INTEGER :: I,J
4746+ END SUBROUTINE
4747+
4748+END MODULE
4749+
4750+
4751+ USE TT
4752+ CALL M(1,*2)
4753+ CALL ABORT()
4754+2 CONTINUE
4755+END
4756+
4757+! { dg-final { cleanup-modules "tt" } }
4758+
4759Index: gcc/testsuite/gfortran.dg/default_format_denormal_1.f90
4760===================================================================
4761--- gcc/testsuite/gfortran.dg/default_format_denormal_1.f90 (.../tags/gcc_4_4_1_release) (wersja 151837)
4762+++ gcc/testsuite/gfortran.dg/default_format_denormal_1.f90 (.../branches/gcc-4_4-branch) (wersja 151837)
4763@@ -1,4 +1,4 @@
4764-! { dg-do run { xfail alpha*-*-* *-*-darwin[89]* *-*-freebsd* *-*-mingw* *-*-cygwin* spu-*-* } }
4765+! { dg-do run { xfail *-*-darwin[89]* *-*-freebsd* *-*-mingw* *-*-cygwin* spu-*-* } }
4766 ! Test XFAILed on these platforms because the system's printf() lacks
4767 ! proper support for denormals.
4768 !
4769@@ -6,6 +6,8 @@
4770 ! wide enough and have enough precision, by checking that values can
4771 ! be written and read back.
4772 !
4773+! { dg-options "-mieee" { target alpha*-*-* } }
4774+
4775 include "default_format_1.inc"
4776
4777 program main
4778Index: gcc/testsuite/gfortran.dg/use_only_4.f90
4779===================================================================
4780--- gcc/testsuite/gfortran.dg/use_only_4.f90 (.../tags/gcc_4_4_1_release) (wersja 0)
4781+++ gcc/testsuite/gfortran.dg/use_only_4.f90 (.../branches/gcc-4_4-branch) (wersja 151837)
4782@@ -0,0 +1,34 @@
4783+! { dg-do compile }
4784+! Test the fix for PR41062, in which an ICE would ensue because
4785+! of confusion between the two 'one's in the creation of module
4786+! debug info.
4787+!
4788+! Reported by Norman S. Clerman <clerman@fuse.net>
4789+! Reduced testcase by Tobias Burnus <burnus@gcc.gnu.org>
4790+!
4791+module m1
4792+ interface one ! GENERIC "one"
4793+ module procedure one1
4794+ end interface
4795+contains
4796+ subroutine one1()
4797+ call abort
4798+ end subroutine one1
4799+end module m1
4800+
4801+module m2
4802+use m1, only : one ! USE generic "one"
4803+contains
4804+ subroutine two()
4805+ call one() ! Call internal "one"
4806+ contains
4807+ subroutine one() ! Internal "one"
4808+ print *, "m2"
4809+ end subroutine one
4810+ end subroutine two
4811+end module m2
4812+
4813+ use m2
4814+ call two
4815+end
4816+! { dg-final { cleanup-modules "m1 m2" } }
4817Index: gcc/testsuite/gfortran.dg/intrinsic_3.f90
4818===================================================================
4819--- gcc/testsuite/gfortran.dg/intrinsic_3.f90 (.../tags/gcc_4_4_1_release) (wersja 0)
4820+++ gcc/testsuite/gfortran.dg/intrinsic_3.f90 (.../branches/gcc-4_4-branch) (wersja 151837)
4821@@ -0,0 +1,40 @@
4822+! { dg-do compile }
4823+! { dg-options "-std=f95" }
4824+!
4825+! PR 39876: module procedure name that collides with the GNU intrinsic
4826+!
4827+! Contributed by Alexei Matveev <alexei.matveev+gcc@gmail.com>
4828+
4829+module p
4830+ implicit none
4831+
4832+ contains
4833+
4834+ subroutine test()
4835+ implicit none
4836+ print *, avg(erfc)
4837+ end subroutine test
4838+
4839+ function avg(f)
4840+ implicit none
4841+ double precision :: avg
4842+ interface
4843+ double precision function f(x)
4844+ implicit none
4845+ double precision, intent(in) :: x
4846+ end function f
4847+ end interface
4848+ avg = ( f(1.0D0) + f(2.0D0) ) / 2
4849+ end function avg
4850+
4851+ function erfc(x)
4852+ implicit none
4853+ double precision, intent(in) :: x
4854+ double precision :: erfc
4855+ erfc = x
4856+ end function erfc
4857+
4858+end module p
4859+
4860+! { dg-final { cleanup-modules "p" } }
4861+
4862Index: gcc/testsuite/gfortran.dg/intrinsic_5.f90
4863===================================================================
4864--- gcc/testsuite/gfortran.dg/intrinsic_5.f90 (.../tags/gcc_4_4_1_release) (wersja 0)
4865+++ gcc/testsuite/gfortran.dg/intrinsic_5.f90 (.../branches/gcc-4_4-branch) (wersja 151837)
4866@@ -0,0 +1,13 @@
4867+! { dg-do compile }
4868+! { dg-options "-fimplicit-none" }
4869+!
4870+! PR 41121: [4.5 Regression] compile-time error when building BLAS with -fimplicit-none
4871+!
4872+! Original test case: http://www.netlib.org/blas/dgbmv.f
4873+! Reduced by Joost VandeVondele <jv244@cam.ac.uk>
4874+
4875+ INTRINSIC MIN
4876+ INTEGER :: I,J
4877+ print *,MIN(I,J)
4878+END
4879+
4880Index: gcc/testsuite/gfortran.dg/typebound_proc_12.f90
4881===================================================================
4882--- gcc/testsuite/gfortran.dg/typebound_proc_12.f90 (.../tags/gcc_4_4_1_release) (wersja 0)
4883+++ gcc/testsuite/gfortran.dg/typebound_proc_12.f90 (.../branches/gcc-4_4-branch) (wersja 151837)
4884@@ -0,0 +1,12 @@
4885+! { dg-do compile }
4886+! Test the fix for PR41258, where an ICE was caused by a search
4887+! for a typebound procedure to resolve d%c%e
4888+!
4889+! Contributed by Joost VandeVondele <jv244@cam.ac.uk>
4890+!
4891+ TYPE a
4892+ TYPE(b), DIMENSION(:), POINTER :: c ! { dg-error "type that has not been declared" }
4893+ END TYPE
4894+ TYPE(a), POINTER :: d
4895+ CALL X(d%c%e) ! { dg-error "before it is defined" }
4896+end
4897Index: gcc/testsuite/gfortran.dg/namelist_47.f90
4898===================================================================
4899--- gcc/testsuite/gfortran.dg/namelist_47.f90 (.../tags/gcc_4_4_1_release) (wersja 151837)
4900+++ gcc/testsuite/gfortran.dg/namelist_47.f90 (.../branches/gcc-4_4-branch) (wersja 151837)
4901@@ -1,4 +1,4 @@
4902-! { dg-do run { target fd_truncate } }
4903+! { dg-do run }
4904
4905 module nml_47
4906 type :: mt
4907@@ -45,7 +45,7 @@
4908 end subroutine writenml
4909
4910 end program namelist_47
4911-! { dg-output "Multiple sub-objects with non-zero rank in namelist object x(\n|\r\n|\r)" }
4912+! { dg-output "Multiple sub-objects with non-zero rank in namelist object x%m%c012345678901234567890123456789012345678901234567890123456789h(\n|\r\n|\r)" }
4913 ! { dg-output "Missing colon in substring qualifier for namelist variable x%m%c012345678901234567890123456789012345678901234567890123456789h(\n|\r\n|\r)" }
4914 ! { dg-output "Substring out of range for namelist variable x%m%c012345678901234567890123456789012345678901234567890123456789h(\n|\r\n|\r)" }
4915 ! { dg-output "Bad character in substring qualifier for namelist variable x%m%c012345678901234567890123456789012345678901234567890123456789h(\n|\r\n|\r)" }
4916Index: gcc/testsuite/gfortran.dg/proc_ptr_25.f90
4917===================================================================
4918--- gcc/testsuite/gfortran.dg/proc_ptr_25.f90 (.../tags/gcc_4_4_1_release) (wersja 0)
4919+++ gcc/testsuite/gfortran.dg/proc_ptr_25.f90 (.../branches/gcc-4_4-branch) (wersja 151837)
4920@@ -0,0 +1,36 @@
4921+! { dg-do run }
4922+!
4923+! PR 41139: [4.5 Regression] a procedure pointer call as actual argument
4924+!
4925+! Original test case by Barron Bichon <barron.bichon@swri.org>
4926+! Modified by Janus Weil <janus@gcc.gnu.org>
4927+
4928+PROGRAM test
4929+
4930+ PROCEDURE(add), POINTER :: f
4931+ logical :: g
4932+
4933+ ! Passing the function works
4934+ g=greater(4.,add(1.,2.))
4935+ if (.not. g) call abort()
4936+
4937+ ! Passing the procedure pointer fails
4938+ f => add
4939+ g=greater(4.,f(1.,2.))
4940+ if (.not. g) call abort()
4941+
4942+CONTAINS
4943+
4944+ REAL FUNCTION add(x,y)
4945+ REAL, INTENT(in) :: x,y
4946+ print *,"add:",x,y
4947+ add = x+y
4948+ END FUNCTION add
4949+
4950+ LOGICAL FUNCTION greater(x,y)
4951+ REAL, INTENT(in) :: x, y
4952+ greater = (x > y)
4953+ END FUNCTION greater
4954+
4955+END PROGRAM test
4956+
f06d2ced 4957Index: gcc/testsuite/gfortran.dg/intrinsic_cmplx.f90
52d9744f 4958===================================================================
f06d2ced 4959--- gcc/testsuite/gfortran.dg/intrinsic_cmplx.f90 (.../tags/gcc_4_4_1_release) (wersja 0)
55465a90 4960+++ gcc/testsuite/gfortran.dg/intrinsic_cmplx.f90 (.../branches/gcc-4_4-branch) (wersja 151837)
f06d2ced
AM
4961@@ -0,0 +1,9 @@
4962+! { dg-do compile }
4963+! PR fortran/40727
4964+program test
4965+ integer, parameter :: sp = kind(1.e0), dp = kind(1.d0)
4966+ complex(sp) :: s
4967+ complex(dp) :: d
4968+ s = cmplx(0.e0, cmplx(0.e0,0.e0)) ! { dg-error "either REAL or INTEGER" }
4969+ d = dcmplx(0.d0, cmplx(0.d0,0.d0)) ! { dg-error "either REAL or INTEGER" }
4970+end program test
55465a90
AM
4971Index: gcc/testsuite/gfortran.dg/namelist_58.f90
4972===================================================================
4973--- gcc/testsuite/gfortran.dg/namelist_58.f90 (.../tags/gcc_4_4_1_release) (wersja 0)
4974+++ gcc/testsuite/gfortran.dg/namelist_58.f90 (.../branches/gcc-4_4-branch) (wersja 151837)
4975@@ -0,0 +1,25 @@
4976+! { dg-do run }
4977+! PR40853 Error in namelist IO.
4978+! Test case derived from example given in PR. < jvdelisle@gcc.gnu.org >
4979+program test
4980+ implicit none
4981+ type tao_title_struct
4982+ character(2) justify
4983+ end type
4984+ type tao_plot_page_struct
4985+ real shape_height_max
4986+ type (tao_title_struct) title ! Comment this line out and the bug goes away.
4987+ real size(2)
4988+ end type
4989+ type (tao_plot_page_struct) plot_page
4990+ namelist / params / plot_page
4991+ open (10, status="scratch")
4992+ write(10,'(a)')" &params"
4993+ write(10,'(a)')" plot_page%size=5 , 2,"
4994+ write(10,'(a)')"/"
4995+ rewind(10)
4996+ read (10, nml = params)
4997+ if (any(plot_page%size .ne. (/ 5, 2 /))) call abort
4998+ close (10)
4999+end program
5000+
5001Index: gcc/testsuite/gfortran.dg/transfer_resolve_1.f90
5002===================================================================
5003--- gcc/testsuite/gfortran.dg/transfer_resolve_1.f90 (.../tags/gcc_4_4_1_release) (wersja 0)
5004+++ gcc/testsuite/gfortran.dg/transfer_resolve_1.f90 (.../branches/gcc-4_4-branch) (wersja 151837)
5005@@ -0,0 +1,21 @@
5006+! { dg-do run }
5007+! PR40847 - an error in gfc_resolve_transfer caused the character length
5008+! of 'mold' to be set incorrectly.
5009+!
5010+! Contributed by Joost VandeVondele <jv244@cam.ac.uk>
5011+!
5012+program test_elemental
5013+
5014+if (any (transfer_size((/0.,0./),(/'a','b'/)) .ne. [4 ,4])) call abort
5015+
5016+contains
5017+
5018+ elemental function transfer_size (source, mold)
5019+ real, intent(in) :: source
5020+ character(*), intent(in) :: mold
5021+ integer :: transfer_size
5022+ transfer_size = SIZE(TRANSFER(source, (/mold/)))
5023+ return
5024+ end function transfer_size
5025+
5026+end program test_elemental
f06d2ced 5027Index: gcc/testsuite/gfortran.dg/fmt_cache_1.f
52d9744f 5028===================================================================
f06d2ced 5029--- gcc/testsuite/gfortran.dg/fmt_cache_1.f (.../tags/gcc_4_4_1_release) (wersja 0)
55465a90 5030+++ gcc/testsuite/gfortran.dg/fmt_cache_1.f (.../branches/gcc-4_4-branch) (wersja 151837)
52d9744f 5031@@ -0,0 +1,33 @@
f06d2ced
AM
5032+! { dg-do run { target fd_truncate } }
5033+! pr40662 segfaults when specific format is invoked twice.
5034+! pr40330 incorrect io.
5035+! test case derived from pr40662, <jvdelisle@gcc.gnu.org>
5036+ program astap
5037+ character(40) teststring
5038+ arlxca = 0.0
5039+ open(10)
5040+ write(10,40) arlxca
5041+ write(10,40) arlxca
5042+40 format(t4,"arlxca = ",1pg13.6,t27,"arlxcc = ",g13.6,t53,
5043+ . "atmpca = ",g13.6,t79,"atmpcc = ",g13.6,t105,
5044+ . "backup = ",g13.6,/,
5045+ . t4,"csgfac = ",g13.6,t27,"csgmax = ",g13.6,t53,
5046+ . "csgmin = ",g13.6,t79,"drlxca = ",g13.6,t105,
5047+ . "drlxcc = ",g13.6,/,
5048+ . t4,"dtimeh = ",g13.6,t27,"dtimei = ",g13.6,t53,
5049+ . "dtimel = ",g13.6,t79,"dtimeu = ",g13.6,t105,
5050+ . "dtmpca = ",g13.6,/,
5051+ . t4,"dtmpcc = ",g13.6,t27,"ebalna = ",g13.6,t53,
5052+ . "ebalnc = ",g13.6,t79,"ebalsa = ",g13.6,t105,
5053+ . "ebalsc = ",g13.6)
5054+ rewind 10
5055+ rewind 10
5056+ teststring = ""
5057+ read(10,'(a)') teststring
5058+ if (teststring.ne." arlxca = 0.00000 arlxcc = ")call abort
5059+ teststring = ""
5060+ read(10,'(a)') teststring
5061+ if (teststring.ne." arlxca = 0.00000 arlxcc = ")call abort
5062+ end program astap
52d9744f 5063+
52d9744f 5064+
55465a90
AM
5065Index: gcc/testsuite/gfortran.dg/pr41126.f90
5066===================================================================
5067--- gcc/testsuite/gfortran.dg/pr41126.f90 (.../tags/gcc_4_4_1_release) (wersja 0)
5068+++ gcc/testsuite/gfortran.dg/pr41126.f90 (.../branches/gcc-4_4-branch) (wersja 151837)
5069@@ -0,0 +1,6 @@
5070+! { dg-do compile }
5071+SUBROUTINE write_cputime( checkpoint )
5072+ CHARACTER(LEN=*), INTENT(IN) :: checkpoint
5073+ CHARACTER(LEN=LEN_TRIM(checkpoint)+7) :: string1
5074+ string1 = ADJUSTL(string1)
5075+END SUBROUTINE write_cputime
5076Index: gcc/cp/init.c
5077===================================================================
5078--- gcc/cp/init.c (.../tags/gcc_4_4_1_release) (wersja 151837)
5079+++ gcc/cp/init.c (.../branches/gcc-4_4-branch) (wersja 151837)
5080@@ -2695,6 +2695,13 @@
5081 gcc_assert (!init);
5082
5083 inner_elt_type = strip_array_types (type);
5084+
5085+ /* Look through the TARGET_EXPR around a compound literal. */
5086+ if (init && TREE_CODE (init) == TARGET_EXPR
5087+ && TREE_CODE (TARGET_EXPR_INITIAL (init)) == CONSTRUCTOR
5088+ && from_array != 2)
5089+ init = TARGET_EXPR_INITIAL (init);
5090+
5091 if (init
5092 && TREE_CODE (atype) == ARRAY_TYPE
5093 && (from_array == 2
5094@@ -2763,6 +2770,17 @@
5095 base = get_temp_regvar (ptype, rval);
5096 iterator = get_temp_regvar (ptrdiff_type_node, maxindex);
5097
5098+ /* If initializing one array from another, initialize element by
5099+ element. We rely upon the below calls to do the argument
5100+ checking. Evaluate the initializer before entering the try block. */
5101+ if (from_array && init && TREE_CODE (init) != CONSTRUCTOR)
5102+ {
5103+ base2 = decay_conversion (init);
5104+ itype = TREE_TYPE (base2);
5105+ base2 = get_temp_regvar (itype, base2);
5106+ itype = TREE_TYPE (itype);
5107+ }
5108+
5109 /* Protect the entire array initialization so that we can destroy
5110 the partially constructed array if an exception is thrown.
5111 But don't do this if we're assigning. */
5112@@ -2805,16 +2823,8 @@
5113 }
5114 else if (from_array)
5115 {
5116- /* If initializing one array from another, initialize element by
5117- element. We rely upon the below calls the do argument
5118- checking. */
5119 if (init)
5120- {
5121- base2 = decay_conversion (init);
5122- itype = TREE_TYPE (base2);
5123- base2 = get_temp_regvar (itype, base2);
5124- itype = TREE_TYPE (itype);
5125- }
5126+ /* OK, we set base2 above. */;
5127 else if (TYPE_LANG_SPECIFIC (type)
5128 && TYPE_NEEDS_CONSTRUCTING (type)
5129 && ! TYPE_HAS_DEFAULT_CONSTRUCTOR (type))
5130Index: gcc/cp/decl.c
5131===================================================================
5132--- gcc/cp/decl.c (.../tags/gcc_4_4_1_release) (wersja 151837)
5133+++ gcc/cp/decl.c (.../branches/gcc-4_4-branch) (wersja 151837)
5134@@ -4345,13 +4345,6 @@
5135 return NULL_TREE;
5136 }
5137
5138- if (TREE_CODE (init) == CONSTRUCTOR)
5139- {
5140- error ("ISO C++ forbids use of initializer list to "
5141- "initialize reference %qD", decl);
5142- return NULL_TREE;
5143- }
5144-
5145 if (TREE_CODE (init) == TREE_LIST)
5146 init = build_x_compound_expr_from_list (init, "initializer");
5147
5148@@ -7618,7 +7611,6 @@
5149 bool unsigned_p, signed_p, short_p, long_p, thread_p;
5150 bool type_was_error_mark_node = false;
5151 bool parameter_pack_p = declarator? declarator->parameter_pack_p : false;
5152- bool set_no_warning = false;
5153 bool template_type_arg = false;
5154
5155 signed_p = declspecs->specs[(int)ds_signed];
5156@@ -8297,7 +8289,6 @@
5157 /* We now know that the TYPE_QUALS don't apply to the
5158 decl, but to its return type. */
5159 type_quals = TYPE_UNQUALIFIED;
5160- set_no_warning = true;
5161 }
5162
5163 /* Error about some types functions can't return. */
5164@@ -9499,9 +9490,6 @@
5165 if (!processing_template_decl)
5166 cp_apply_type_quals_to_decl (type_quals, decl);
5167
5168- if (set_no_warning)
5169- TREE_NO_WARNING (decl) = 1;
5170-
5171 return decl;
5172 }
5173 }
5174Index: gcc/cp/call.c
5175===================================================================
5176--- gcc/cp/call.c (.../tags/gcc_4_4_1_release) (wersja 151837)
5177+++ gcc/cp/call.c (.../branches/gcc-4_4-branch) (wersja 151837)
5178@@ -1211,7 +1211,21 @@
5179 lvalue_p = clk_ordinary;
5180 from = TREE_TYPE (from);
5181 }
5182- else if (expr)
5183+
5184+ if (expr && BRACE_ENCLOSED_INITIALIZER_P (expr))
5185+ {
5186+ maybe_warn_cpp0x ("extended initializer lists");
5187+ conv = implicit_conversion (to, from, expr, c_cast_p,
5188+ flags);
5189+ if (!CLASS_TYPE_P (to)
5190+ && CONSTRUCTOR_NELTS (expr) == 1)
5191+ {
5192+ expr = CONSTRUCTOR_ELT (expr, 0)->value;
5193+ from = TREE_TYPE (expr);
5194+ }
5195+ }
5196+
5197+ if (lvalue_p == clk_none && expr)
5198 lvalue_p = real_lvalue_p (expr);
5199
5200 tfrom = from;
5201@@ -1347,9 +1361,10 @@
5202 conversion operator). */
5203 flags |= LOOKUP_NO_TEMP_BIND;
5204
5205- conv = implicit_conversion (to, from, expr, c_cast_p,
5206- flags);
5207 if (!conv)
5208+ conv = implicit_conversion (to, from, expr, c_cast_p,
5209+ flags);
5210+ if (!conv)
5211 return NULL;
5212
5213 conv = build_conv (ck_ref_bind, rto, conv);
5214@@ -6242,6 +6257,14 @@
5215 ref_conv1 = maybe_handle_ref_bind (&ics1);
5216 ref_conv2 = maybe_handle_ref_bind (&ics2);
5217
5218+ /* List-initialization sequence L1 is a better conversion sequence than
5219+ list-initialization sequence L2 if L1 converts to
5220+ std::initializer_list<X> for some X and L2 does not. */
5221+ if (ics1->kind == ck_list && ics2->kind != ck_list)
5222+ return 1;
5223+ if (ics2->kind == ck_list && ics1->kind != ck_list)
5224+ return -1;
5225+
5226 /* [over.ics.rank]
5227
5228 When comparing the basic forms of implicit conversion sequences (as
5229@@ -6292,26 +6315,13 @@
5230 conversion *t1;
5231 conversion *t2;
5232
5233- for (t1 = ics1; t1->kind != ck_user && t1->kind != ck_list; t1 = t1->u.next)
5234+ for (t1 = ics1; t1->kind != ck_user; t1 = t1->u.next)
5235 if (t1->kind == ck_ambig || t1->kind == ck_aggr)
5236 return 0;
5237- for (t2 = ics2; t2->kind != ck_user && t2->kind != ck_list; t2 = t2->u.next)
5238+ for (t2 = ics2; t2->kind != ck_user; t2 = t2->u.next)
5239 if (t2->kind == ck_ambig || t2->kind == ck_aggr)
5240 return 0;
5241
5242- /* Conversion to std::initializer_list is better than other
5243- user-defined conversions. */
5244- if (t1->kind == ck_list
5245- || t2->kind == ck_list)
5246- {
5247- if (t2->kind != ck_list)
5248- return 1;
5249- else if (t1->kind != ck_list)
5250- return -1;
5251- else
5252- return 0;
5253- }
5254-
5255 if (t1->cand->fn != t2->cand->fn)
5256 return 0;
5257
5258@@ -7288,6 +7298,7 @@
5259 if (!conv || conv->bad_p)
5260 {
5261 if (!(TYPE_QUALS (TREE_TYPE (type)) & TYPE_QUAL_CONST)
5262+ && !TYPE_REF_IS_RVALUE (type)
5263 && !real_lvalue_p (expr))
5264 error ("invalid initialization of non-const reference of "
5265 "type %qT from a temporary of type %qT",
5266Index: gcc/cp/Make-lang.in
5267===================================================================
5268--- gcc/cp/Make-lang.in (.../tags/gcc_4_4_1_release) (wersja 151837)
5269+++ gcc/cp/Make-lang.in (.../branches/gcc-4_4-branch) (wersja 151837)
5270@@ -72,8 +72,8 @@
5271 # Shared with C front end:
5272 CXX_C_OBJS = attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o \
5273 c-dump.o $(CXX_TARGET_OBJS) c-pretty-print.o c-opts.o c-pch.o \
5274- incpath.o cppdefault.o c-ppoutput.o c-cppbuiltin.o prefix.o \
5275- c-gimplify.o c-omp.o tree-inline.o
5276+ incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o \
5277+ c-gimplify.o c-omp.o
5278
5279 # Language-specific object files for C++ and Objective C++.
5280 CXX_AND_OBJCXX_OBJS = cp/call.o cp/decl.o cp/expr.o cp/pt.o cp/typeck2.o \
5281Index: gcc/cp/error.c
5282===================================================================
5283--- gcc/cp/error.c (.../tags/gcc_4_4_1_release) (wersja 151837)
5284+++ gcc/cp/error.c (.../branches/gcc-4_4-branch) (wersja 151837)
5285@@ -2181,7 +2181,10 @@
5286 return decl_as_string (decl, TFF_DECL_SPECIFIERS);
5287
5288 reinit_cxx_pp ();
5289- if (v == 1 && DECL_CLASS_SCOPE_P (decl))
5290+ if (v == 1
5291+ && (DECL_CLASS_SCOPE_P (decl)
5292+ || (DECL_NAMESPACE_SCOPE_P (decl)
5293+ && CP_DECL_CONTEXT (decl) != global_namespace)))
5294 {
5295 dump_type (CP_DECL_CONTEXT (decl), TFF_PLAIN_IDENTIFIER);
5296 pp_cxx_colon_colon (cxx_pp);
5297Index: gcc/cp/tree.c
5298===================================================================
5299--- gcc/cp/tree.c (.../tags/gcc_4_4_1_release) (wersja 151837)
5300+++ gcc/cp/tree.c (.../branches/gcc-4_4-branch) (wersja 151837)
5301@@ -132,6 +132,12 @@
5302 return clk_ordinary;
5303
5304 case CONST_DECL:
5305+ /* CONST_DECL without TREE_STATIC are enumeration values and
5306+ thus not lvalues. With TREE_STATIC they are used by ObjC++
5307+ in objc_build_string_object and need to be considered as
5308+ lvalues. */
5309+ if (! TREE_STATIC (ref))
5310+ return clk_none;
5311 case VAR_DECL:
5312 if (TREE_READONLY (ref) && ! TREE_STATIC (ref)
5313 && DECL_LANG_SPECIFIC (ref)
5314Index: gcc/cp/ChangeLog
5315===================================================================
5316--- gcc/cp/ChangeLog (.../tags/gcc_4_4_1_release) (wersja 151837)
5317+++ gcc/cp/ChangeLog (.../branches/gcc-4_4-branch) (wersja 151837)
5318@@ -1,3 +1,64 @@
5319+2009-09-09 Jack Howarth <howarth@bromo.med.uc.edu>
5320+
5321+ PR bootstrap/41180
5322+ * Make-lang.in: Remove redundant code from linkage for darwin10.
5323+
5324+2009-08-31 Jason Merrill <jason@redhat.com>
5325+
5326+ PR c++/41127
5327+ * parser.c (cp_parser_enum_specifier): Make sure the : is followed by a
5328+ type-specifier-seq before we commit.
5329+
5330+2009-08-21 Jakub Jelinek <jakub@redhat.com>
5331+
5332+ PR c++/41131
5333+ * tree.c (lvalue_p_1) <case CONST_DECL>: Return clk_none if
5334+ not TREE_STATIC.
5335+
5336+2009-08-05 Jason Merrill <jason@redhat.com>
5337+
5338+ PR c++/40948
5339+ * init.c (build_vec_init): Evaluate the initializer before
5340+ starting the initialization try block.
5341+
5342+2009-08-04 Dodji Seketeli <dodji@redhat.com>
5343+
5344+ PR c++/39987
5345+ * pt.c (tsubst_default_argument): Let access checks of the
5346+ default argument happen in the context of the current function.
5347+
5348+2009-08-04 Dodji Seketeli <dodji@redhat.com>
5349+
5350+ PR debug/39706
5351+ * error.c (lang_decl_name): Print qualified names for decls
5352+ in namespace scope.
5353+
5354+2009-08-03 Jason Merrill <jason@redhat.com>
5355+ Jakub Jelinek <jakub@redhat.com>
5356+
5357+ PR c++/40948
5358+ * init.c (build_vec_init): Look through a TARGET_EXPR around a
5359+ CONSTRUCTOR.
5360+
5361+2009-07-26 Simon Martin <simartin@users.sourceforge.net>
5362+
5363+ PR c++/40749
5364+ * decl.c (grokdeclarator): Do not set TREE_NO_WARNING for functions
5365+ with a qualified return type.
5366+
5367+2009-07-24 Jason Merrill <jason@redhat.com>
5368+
5369+ Core issue 702
5370+ * call.c (compare_ics): Give list-initialization of std::init_list
5371+ priority over conversion to scalar, too.
5372+
5373+2009-07-21 Jason Merrill <jason@redhat.com>
5374+
5375+ Core issue 934
5376+ * call.c (reference_binding): Implement binding to { }.
5377+ (initialize_reference): Binding temporary to non-const && is fine.
5378+ * decl.c (grok_reference_init): Remove error for CONSTRUCTOR.
5379+
5380 2009-07-22 Release Manager
5381
5382 * GCC 4.4.1 released.
5383Index: gcc/cp/pt.c
f06d2ced 5384===================================================================
55465a90
AM
5385--- gcc/cp/pt.c (.../tags/gcc_4_4_1_release) (wersja 151837)
5386+++ gcc/cp/pt.c (.../branches/gcc-4_4-branch) (wersja 151837)
5387@@ -8007,11 +8007,11 @@
5388 cp_function_chain->x_current_class_ref = saved_class_ref;
5389 }
5390
5391- pop_access_scope (fn);
5392-
5393 /* Make sure the default argument is reasonable. */
5394 arg = check_default_argument (type, arg);
5395
5396+ pop_access_scope (fn);
5397+
5398 return arg;
5399 }
5400
5401Index: gcc/cp/parser.c
5402===================================================================
5403--- gcc/cp/parser.c (.../tags/gcc_4_4_1_release) (wersja 151837)
5404+++ gcc/cp/parser.c (.../branches/gcc-4_4-branch) (wersja 151837)
5405@@ -11871,11 +11871,19 @@
5406 else
5407 identifier = make_anon_name ();
5408
5409- /* Check for the `:' that denotes a specified underlying type in C++0x. */
5410+ /* Check for the `:' that denotes a specified underlying type in C++0x.
5411+ Note that a ':' could also indicate a bitfield width, however. */
5412 if (cp_lexer_next_token_is (parser->lexer, CPP_COLON))
5413 {
5414 cp_decl_specifier_seq type_specifiers;
5415
5416+ /* Consume the `:'. */
5417+ cp_lexer_consume_token (parser->lexer);
5418+
5419+ /* Parse the type-specifier-seq. */
5420+ cp_parser_type_specifier_seq (parser, /*is_condition=*/false,
5421+ &type_specifiers);
5422+
5423 /* At this point this is surely not elaborated type specifier. */
5424 if (!cp_parser_parse_definitely (parser))
5425 return NULL_TREE;
5426@@ -11883,15 +11891,8 @@
5427 if (cxx_dialect == cxx98)
5428 maybe_warn_cpp0x ("scoped enums");
5429
5430- /* Consume the `:'. */
5431- cp_lexer_consume_token (parser->lexer);
5432-
5433 has_underlying_type = true;
5434
5435- /* Parse the type-specifier-seq. */
5436- cp_parser_type_specifier_seq (parser, /*is_condition=*/false,
5437- &type_specifiers);
5438-
5439 /* If that didn't work, stop. */
5440 if (type_specifiers.type != error_mark_node)
5441 {
5442Index: gcc/dwarf2out.c
5443===================================================================
5444--- gcc/dwarf2out.c (.../tags/gcc_4_4_1_release) (wersja 151837)
5445+++ gcc/dwarf2out.c (.../branches/gcc-4_4-branch) (wersja 151837)
5446@@ -14260,8 +14260,14 @@
5447 static void
5448 gen_inlined_subroutine_die (tree stmt, dw_die_ref context_die, int depth)
5449 {
5450- tree decl = block_ultimate_origin (stmt);
5451+ tree decl;
5452
5453+ /* The instance of function that is effectively being inlined shall not
5454+ be abstract. */
5455+ gcc_assert (! BLOCK_ABSTRACT (stmt));
5456+
5457+ decl = block_ultimate_origin (stmt);
5458+
5459 /* Emit info for the abstract instance first, if we haven't yet. We
5460 must emit this even if the block is abstract, otherwise when we
5461 emit the block below (or elsewhere), we may end up trying to emit
5462@@ -14281,20 +14287,6 @@
5463 decls_for_scope (stmt, subr_die, depth);
5464 current_function_has_inlines = 1;
5465 }
5466- else
5467- /* We may get here if we're the outer block of function A that was
5468- inlined into function B that was inlined into function C. When
5469- generating debugging info for C, dwarf2out_abstract_function(B)
5470- would mark all inlined blocks as abstract, including this one.
5471- So, we wouldn't (and shouldn't) expect labels to be generated
5472- for this one. Instead, just emit debugging info for
5473- declarations within the block. This is particularly important
5474- in the case of initializers of arguments passed from B to us:
5475- if they're statement expressions containing declarations, we
5476- wouldn't generate dies for their abstract variables, and then,
5477- when generating dies for the real variables, we'd die (pun
5478- intended :-) */
5479- gen_lexical_block_die (stmt, context_die, depth);
5480 }
5481
5482 /* Generate a DIE for a field in a record, or structure. */
5483@@ -14921,7 +14913,23 @@
5484 if (must_output_die)
5485 {
5486 if (inlined_func)
5487- gen_inlined_subroutine_die (stmt, context_die, depth);
5488+ {
5489+ /* If STMT block is abstract, that means we have been called
5490+ indirectly from dwarf2out_abstract_function.
5491+ That function rightfully marks the descendent blocks (of
5492+ the abstract function it is dealing with) as being abstract,
5493+ precisely to prevent us from emitting any
5494+ DW_TAG_inlined_subroutine DIE as a descendent
5495+ of an abstract function instance. So in that case, we should
5496+ not call gen_inlined_subroutine_die.
5497+
5498+ Later though, when cgraph asks dwarf2out to emit info
5499+ for the concrete instance of the function decl into which
5500+ the concrete instance of STMT got inlined, the later will lead
5501+ to the generation of a DW_TAG_inlined_subroutine DIE. */
5502+ if (! BLOCK_ABSTRACT (stmt))
5503+ gen_inlined_subroutine_die (stmt, context_die, depth);
5504+ }
5505 else
5506 gen_lexical_block_die (stmt, context_die, depth);
5507 }
5508Index: gcc/expr.c
5509===================================================================
5510--- gcc/expr.c (.../tags/gcc_4_4_1_release) (wersja 151837)
5511+++ gcc/expr.c (.../branches/gcc-4_4-branch) (wersja 151837)
5512@@ -7806,6 +7806,33 @@
5513 || mode1 == BLKmode
5514 || bitpos + bitsize > GET_MODE_BITSIZE (mode2));
5515
5516+ /* Handle CONCAT first. */
5517+ if (GET_CODE (op0) == CONCAT && !must_force_mem)
5518+ {
5519+ if (bitpos == 0
5520+ && bitsize == GET_MODE_BITSIZE (GET_MODE (op0)))
5521+ return op0;
5522+ if (bitpos == 0
5523+ && bitsize == GET_MODE_BITSIZE (GET_MODE (XEXP (op0, 0)))
5524+ && bitsize)
5525+ {
5526+ op0 = XEXP (op0, 0);
5527+ mode2 = GET_MODE (op0);
5528+ }
5529+ else if (bitpos == GET_MODE_BITSIZE (GET_MODE (XEXP (op0, 0)))
5530+ && bitsize == GET_MODE_BITSIZE (GET_MODE (XEXP (op0, 1)))
5531+ && bitpos
5532+ && bitsize)
5533+ {
5534+ op0 = XEXP (op0, 1);
5535+ bitpos = 0;
5536+ mode2 = GET_MODE (op0);
5537+ }
5538+ else
5539+ /* Otherwise force into memory. */
5540+ must_force_mem = 1;
5541+ }
5542+
5543 /* If this is a constant, put it in a register if it is a legitimate
5544 constant and we don't need a memory reference. */
5545 if (CONSTANT_P (op0)
5546@@ -7879,16 +7906,6 @@
5547 MEM_VOLATILE_P (op0) = 1;
5548 }
5549
5550- /* The following code doesn't handle CONCAT.
5551- Assume only bitpos == 0 can be used for CONCAT, due to
5552- one element arrays having the same mode as its element. */
5553- if (GET_CODE (op0) == CONCAT)
5554- {
5555- gcc_assert (bitpos == 0
5556- && bitsize == GET_MODE_BITSIZE (GET_MODE (op0)));
5557- return op0;
5558- }
5559-
5560 /* In cases where an aligned union has an unaligned object
5561 as a field, we might be extracting a BLKmode value from
5562 an integer-mode (e.g., SImode) object. Handle this case
5563Index: gcc/longlong.h
5564===================================================================
5565--- gcc/longlong.h (.../tags/gcc_4_4_1_release) (wersja 151837)
5566+++ gcc/longlong.h (.../branches/gcc-4_4-branch) (wersja 151837)
5567@@ -982,7 +982,7 @@
5568 " or r1,%0" \
5569 : "=r" (q), "=&z" (r) \
5570 : "1" (n1), "r" (n0), "rm" (d), "r" (&__udiv_qrnnd_16) \
5571- : "r1", "r2", "r4", "r5", "r6", "pr"); \
5572+ : "r1", "r2", "r4", "r5", "r6", "pr", "t"); \
5573 } while (0)
5574
5575 #define UDIV_TIME 80
5576@@ -990,7 +990,7 @@
5577 #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
5578 __asm__ ("clrt;subc %5,%1; subc %4,%0" \
5579 : "=r" (sh), "=r" (sl) \
5580- : "0" (ah), "1" (al), "r" (bh), "r" (bl))
5581+ : "0" (ah), "1" (al), "r" (bh), "r" (bl) : "t")
5582
5583 #endif /* __sh__ */
5584
5585Index: gcc/ada/ChangeLog
5586===================================================================
5587--- gcc/ada/ChangeLog (.../tags/gcc_4_4_1_release) (wersja 151837)
5588+++ gcc/ada/ChangeLog (.../branches/gcc-4_4-branch) (wersja 151837)
f06d2ced 5589@@ -1,3 +1,9 @@
55465a90
AM
5590+2009-09-16 Eric Botcazou <ebotcazou@adacore.com>
5591+
5592+ * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Size>: Strip
5593+ conversions between original and packable version of types from
5594+ the expression.
5595+
5596 2009-07-22 Release Manager
5597
5598 * GCC 4.4.1 released.
5599Index: gcc/ada/gcc-interface/trans.c
5600===================================================================
5601--- gcc/ada/gcc-interface/trans.c (.../tags/gcc_4_4_1_release) (wersja 151837)
5602+++ gcc/ada/gcc-interface/trans.c (.../branches/gcc-4_4-branch) (wersja 151837)
5603@@ -1037,9 +1037,16 @@
5604 case Attr_Max_Size_In_Storage_Elements:
5605 gnu_expr = gnu_prefix;
5606
5607- /* Remove NOPS from gnu_expr and conversions from gnu_prefix.
5608- We only use GNU_EXPR to see if a COMPONENT_REF was involved. */
5609- while (TREE_CODE (gnu_expr) == NOP_EXPR)
5610+ /* Remove NOPs and conversions between original and packable version
5611+ from GNU_EXPR, and conversions from GNU_PREFIX. We use GNU_EXPR
5612+ to see if a COMPONENT_REF was involved. */
5613+ while (TREE_CODE (gnu_expr) == NOP_EXPR
5614+ || (TREE_CODE (gnu_expr) == VIEW_CONVERT_EXPR
5615+ && TREE_CODE (TREE_TYPE (gnu_expr)) == RECORD_TYPE
5616+ && TREE_CODE (TREE_TYPE (TREE_OPERAND (gnu_expr, 0)))
5617+ == RECORD_TYPE
5618+ && TYPE_NAME (TREE_TYPE (gnu_expr))
5619+ == TYPE_NAME (TREE_TYPE (TREE_OPERAND (gnu_expr, 0)))))
5620 gnu_expr = TREE_OPERAND (gnu_expr, 0);
5621
5622 gnu_prefix = remove_conversions (gnu_prefix, true);
5623Index: gcc/dse.c
5624===================================================================
5625--- gcc/dse.c (.../tags/gcc_4_4_1_release) (wersja 151837)
5626+++ gcc/dse.c (.../branches/gcc-4_4-branch) (wersja 151837)
5627@@ -1070,6 +1070,8 @@
5628 {
5629 rtx mem_address = XEXP (mem, 0);
5630 rtx expanded_address, address;
5631+ int expanded;
5632+
5633 /* Make sure that cselib is has initialized all of the operands of
5634 the address before asking it to do the subst. */
5635
5636@@ -1114,72 +1116,88 @@
5637 fprintf (dump_file, "\n");
5638 }
5639
5640- /* Use cselib to replace all of the reg references with the full
5641- expression. This will take care of the case where we have
5642+ /* First see if just canon_rtx (mem_address) is const or frame,
5643+ if not, try cselib_expand_value_rtx and call canon_rtx on that. */
5644+ address = NULL_RTX;
5645+ for (expanded = 0; expanded < 2; expanded++)
5646+ {
5647+ if (expanded)
5648+ {
5649+ /* Use cselib to replace all of the reg references with the full
5650+ expression. This will take care of the case where we have
5651
5652- r_x = base + offset;
5653- val = *r_x;
5654+ r_x = base + offset;
5655+ val = *r_x;
5656
5657- by making it into
5658+ by making it into
5659
5660- val = *(base + offset);
5661- */
5662+ val = *(base + offset); */
5663
5664- expanded_address = cselib_expand_value_rtx (mem_address, scratch, 5);
5665+ expanded_address = cselib_expand_value_rtx (mem_address,
5666+ scratch, 5);
5667
5668- /* If this fails, just go with the mem_address. */
5669- if (!expanded_address)
5670- expanded_address = mem_address;
5671+ /* If this fails, just go with the address from first
5672+ iteration. */
5673+ if (!expanded_address)
5674+ break;
5675+ }
5676+ else
5677+ expanded_address = mem_address;
5678
5679- /* Split the address into canonical BASE + OFFSET terms. */
5680- address = canon_rtx (expanded_address);
5681+ /* Split the address into canonical BASE + OFFSET terms. */
5682+ address = canon_rtx (expanded_address);
5683
5684- *offset = 0;
5685+ *offset = 0;
5686
5687- if (dump_file)
5688- {
5689- fprintf (dump_file, "\n after cselib_expand address: ");
5690- print_inline_rtx (dump_file, expanded_address, 0);
5691- fprintf (dump_file, "\n");
5692+ if (dump_file)
5693+ {
5694+ if (expanded)
5695+ {
5696+ fprintf (dump_file, "\n after cselib_expand address: ");
5697+ print_inline_rtx (dump_file, expanded_address, 0);
5698+ fprintf (dump_file, "\n");
5699+ }
5700
5701- fprintf (dump_file, "\n after canon_rtx address: ");
5702- print_inline_rtx (dump_file, address, 0);
5703- fprintf (dump_file, "\n");
5704- }
5705+ fprintf (dump_file, "\n after canon_rtx address: ");
5706+ print_inline_rtx (dump_file, address, 0);
5707+ fprintf (dump_file, "\n");
5708+ }
5709
5710- if (GET_CODE (address) == CONST)
5711- address = XEXP (address, 0);
5712+ if (GET_CODE (address) == CONST)
5713+ address = XEXP (address, 0);
5714
5715- if (GET_CODE (address) == PLUS && GET_CODE (XEXP (address, 1)) == CONST_INT)
5716- {
5717- *offset = INTVAL (XEXP (address, 1));
5718- address = XEXP (address, 0);
5719+ if (GET_CODE (address) == PLUS
5720+ && GET_CODE (XEXP (address, 1)) == CONST_INT)
5721+ {
5722+ *offset = INTVAL (XEXP (address, 1));
5723+ address = XEXP (address, 0);
5724+ }
5725+
5726+ if (const_or_frame_p (address))
5727+ {
5728+ group_info_t group = get_group_info (address);
5729+
5730+ if (dump_file)
5731+ fprintf (dump_file, " gid=%d offset=%d \n",
5732+ group->id, (int)*offset);
5733+ *base = NULL;
5734+ *group_id = group->id;
5735+ return true;
5736+ }
5737 }
5738
5739- if (const_or_frame_p (address))
5740- {
5741- group_info_t group = get_group_info (address);
5742+ *base = cselib_lookup (address, Pmode, true);
5743+ *group_id = -1;
5744
5745- if (dump_file)
5746- fprintf (dump_file, " gid=%d offset=%d \n", group->id, (int)*offset);
5747- *base = NULL;
5748- *group_id = group->id;
5749- }
5750- else
5751+ if (*base == NULL)
5752 {
5753- *base = cselib_lookup (address, Pmode, true);
5754- *group_id = -1;
5755-
5756- if (*base == NULL)
5757- {
5758- if (dump_file)
5759- fprintf (dump_file, " no cselib val - should be a wild read.\n");
5760- return false;
5761- }
5762 if (dump_file)
5763- fprintf (dump_file, " varying cselib base=%d offset = %d\n",
5764- (*base)->value, (int)*offset);
5765+ fprintf (dump_file, " no cselib val - should be a wild read.\n");
5766+ return false;
5767 }
5768+ if (dump_file)
5769+ fprintf (dump_file, " varying cselib base=%d offset = %d\n",
5770+ (*base)->value, (int)*offset);
5771 return true;
5772 }
5773
5774Index: gcc/tree-ssa-ifcombine.c
5775===================================================================
5776--- gcc/tree-ssa-ifcombine.c (.../tags/gcc_4_4_1_release) (wersja 151837)
5777+++ gcc/tree-ssa-ifcombine.c (.../branches/gcc-4_4-branch) (wersja 151837)
5778@@ -151,7 +151,7 @@
5779 {
5780 gimple def_stmt = SSA_NAME_DEF_STMT (candidate);
5781 if (is_gimple_assign (def_stmt)
5782- && gimple_assign_cast_p (def_stmt))
5783+ && CONVERT_EXPR_CODE_P (gimple_assign_rhs_code (def_stmt)))
5784 {
5785 if (TYPE_PRECISION (TREE_TYPE (candidate))
5786 <= TYPE_PRECISION (TREE_TYPE (gimple_assign_rhs1 (def_stmt))))
5787@@ -162,21 +162,6 @@
5788 return candidate;
5789 }
5790
5791-/* Helpers for recognize_single_bit_test defined mainly for source code
5792- formating. */
5793-
5794-static int
5795-operand_precision (tree t)
5796-{
5797- return TYPE_PRECISION (TREE_TYPE (t));
5798-}
5799-
5800-static bool
5801-integral_operand_p (tree t)
5802-{
5803- return INTEGRAL_TYPE_P (TREE_TYPE (t));
5804-}
5805-
5806 /* Recognize a single bit test pattern in GIMPLE_COND and its defining
5807 statements. Store the name being tested in *NAME and the bit
5808 in *BIT. The GIMPLE_COND computes *NAME & (1 << *BIT).
5809@@ -212,15 +197,11 @@
5810 stmt = SSA_NAME_DEF_STMT (orig_name);
5811
5812 while (is_gimple_assign (stmt)
5813- && (gimple_assign_ssa_name_copy_p (stmt)
5814- || (gimple_assign_cast_p (stmt)
5815- && integral_operand_p (gimple_assign_lhs (stmt))
5816- && integral_operand_p (gimple_assign_rhs1 (stmt))
5817- && (operand_precision (gimple_assign_lhs (stmt))
5818- <= operand_precision (gimple_assign_rhs1 (stmt))))))
5819- {
5820- stmt = SSA_NAME_DEF_STMT (gimple_assign_rhs1 (stmt));
5821- }
5822+ && ((CONVERT_EXPR_CODE_P (gimple_assign_rhs_code (stmt))
5823+ && (TYPE_PRECISION (TREE_TYPE (gimple_assign_lhs (stmt)))
5824+ <= TYPE_PRECISION (TREE_TYPE (gimple_assign_rhs1 (stmt)))))
5825+ || gimple_assign_ssa_name_copy_p (stmt)))
5826+ stmt = SSA_NAME_DEF_STMT (gimple_assign_rhs1 (stmt));
5827
5828 /* If we found such, decompose it. */
5829 if (is_gimple_assign (stmt)
5830Index: gcc/fortran/openmp.c
5831===================================================================
5832--- gcc/fortran/openmp.c (.../tags/gcc_4_4_1_release) (wersja 151837)
5833+++ gcc/fortran/openmp.c (.../branches/gcc-4_4-branch) (wersja 151837)
5834@@ -396,12 +396,13 @@
5835 const char *p = gfc_extract_int (cexpr, &collapse);
5836 if (p)
5837 {
5838- gfc_error (p);
5839+ gfc_error_now (p);
5840 collapse = 1;
5841 }
5842 else if (collapse <= 0)
5843 {
5844- gfc_error ("COLLAPSE clause argument not constant positive integer at %C");
5845+ gfc_error_now ("COLLAPSE clause argument not"
5846+ " constant positive integer at %C");
5847 collapse = 1;
5848 }
5849 c->collapse = collapse;
5850Index: gcc/fortran/intrinsic.c
5851===================================================================
5852--- gcc/fortran/intrinsic.c (.../tags/gcc_4_4_1_release) (wersja 151837)
5853+++ gcc/fortran/intrinsic.c (.../branches/gcc-4_4-branch) (wersja 151837)
5854@@ -836,13 +836,17 @@
5855 /* See if this intrinsic is allowed in the current standard. */
5856 if (gfc_check_intrinsic_standard (isym, &symstd, false, loc) == FAILURE)
5857 {
5858- if (gfc_option.warn_intrinsics_std)
5859- gfc_warning_now ("The intrinsic '%s' at %L is not included in the"
5860- " selected standard but %s and '%s' will be treated as"
5861- " if declared EXTERNAL. Use an appropriate -std=*"
5862- " option or define -fall-intrinsics to allow this"
5863- " intrinsic.", sym->name, &loc, symstd, sym->name);
5864- sym->attr.external = 1;
5865+ if (sym->attr.proc == PROC_UNKNOWN)
5866+ {
5867+ if (gfc_option.warn_intrinsics_std)
5868+ gfc_warning_now ("The intrinsic '%s' at %L is not included in the"
5869+ " selected standard but %s and '%s' will be"
5870+ " treated as if declared EXTERNAL. Use an"
5871+ " appropriate -std=* option or define"
5872+ " -fall-intrinsics to allow this intrinsic.",
5873+ sym->name, &loc, symstd, sym->name);
5874+ gfc_add_external (&sym->attr, &loc);
5875+ }
5876
5877 return false;
5878 }
5879Index: gcc/fortran/ChangeLog
5880===================================================================
5881--- gcc/fortran/ChangeLog (.../tags/gcc_4_4_1_release) (wersja 151837)
5882+++ gcc/fortran/ChangeLog (.../branches/gcc-4_4-branch) (wersja 151837)
5883@@ -1,3 +1,50 @@
5884+2009-09-11 Steven G. Kargl <kargl@gcc.gnu.org>
5885+
5886+ Backported from mainline:
5887+ 2009-05-08 Janus Weil <janus@gcc.gnu.org>
5888+
5889+ PR fortran/39876
5890+ * intrinsic.c (gfc_is_intrinsic): Do not add the EXTERNAL attribute if
5891+ the symbol is a module procedure.
5892+
5893+
5894+2009-09-05 Paul Thomas <pault@gcc.gnu.org>
5895+
5896+ PR fortran/41258
5897+ * primary.c (gfc_match_varspec): Do not look for typebound
5898+ procedures unless the derived type has a f2k_derived namespace.
5899+
5900+2008-08-25 Paul Thomas <pault@gcc.gnu.org>
5901+
5902+ PR fortran/41062
5903+ * trans-decl.c (gfc_trans_use_stmts): Keep going through use
5904+ list if symbol is not use associated.
5905+
5906+2009-08-16 Paul Thomas <pault@gcc.gnu.org>
5907+
5908+ PR fortran/40847
5909+ * iresolve.c (gfc_resolve_transfer): Correct error in 'mold'
5910+ character length for case where length expresson is NULL.
5911+
5912+2009-07-29 Tobias Burnus <burnus@net-b.de>
5913+
5914+ PR fortran/40851
5915+ * resolve.c (resolve_symbol): Do not initialize pointer derived-types.
5916+ * trans-decl.c (init_intent_out_dt): Ditto.
5917+ (generate_local_decl): No need to set attr.referenced for DT pointers.
5918+
5919+2009-07-28 Jakub Jelinek <jakub@redhat.com>
5920+
5921+ PR fortran/40878
5922+ * openmp.c (gfc_match_omp_clauses): Use gfc_error_now instead of
5923+ gfc_error to diagnose invalid COLLAPSE arguments.
5924+
f06d2ced 5925+2009-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
52d9744f 5926+
f06d2ced
AM
5927+ PR fortran/40727
5928+ * fortran/check.c (gfc_check_cmplx, gfc_check_dcmplx): Add check that
5929+ the optional second argument isn't of COMPLEX type.
52d9744f 5930+
f06d2ced 5931 2009-07-22 Release Manager
52d9744f 5932
f06d2ced 5933 * GCC 4.4.1 released.
55465a90
AM
5934Index: gcc/fortran/resolve.c
5935===================================================================
5936--- gcc/fortran/resolve.c (.../tags/gcc_4_4_1_release) (wersja 151837)
5937+++ gcc/fortran/resolve.c (.../branches/gcc-4_4-branch) (wersja 151837)
5938@@ -9414,7 +9414,7 @@
5939 if ((!a->save && !a->dummy && !a->pointer
5940 && !a->in_common && !a->use_assoc
5941 && !(a->function && sym != sym->result))
5942- || (a->dummy && a->intent == INTENT_OUT))
5943+ || (a->dummy && a->intent == INTENT_OUT && !a->pointer))
5944 apply_default_init (sym);
5945 }
5946
5947Index: gcc/fortran/iresolve.c
5948===================================================================
5949--- gcc/fortran/iresolve.c (.../tags/gcc_4_4_1_release) (wersja 151837)
5950+++ gcc/fortran/iresolve.c (.../branches/gcc-4_4-branch) (wersja 151837)
5951@@ -2346,9 +2346,19 @@
5952 /* TODO: Make this do something meaningful. */
5953 static char transfer0[] = "__transfer0", transfer1[] = "__transfer1";
5954
5955- if (mold->ts.type == BT_CHARACTER && !mold->ts.cl->length
5956- && !(mold->expr_type == EXPR_VARIABLE && mold->symtree->n.sym->attr.dummy))
5957- mold->ts.cl->length = gfc_int_expr (mold->value.character.length);
5958+ if (mold->ts.type == BT_CHARACTER
5959+ && !mold->ts.cl->length
5960+ && gfc_is_constant_expr (mold))
5961+ {
5962+ int len;
5963+ if (mold->expr_type == EXPR_CONSTANT)
5964+ mold->ts.cl->length = gfc_int_expr (mold->value.character.length);
5965+ else
5966+ {
5967+ len = mold->value.constructor->expr->value.character.length;
5968+ mold->ts.cl->length = gfc_int_expr (len);
5969+ }
5970+ }
5971
5972 f->ts = mold->ts;
5973
5974Index: gcc/fortran/trans-decl.c
5975===================================================================
5976--- gcc/fortran/trans-decl.c (.../tags/gcc_4_4_1_release) (wersja 151837)
5977+++ gcc/fortran/trans-decl.c (.../branches/gcc-4_4-branch) (wersja 151837)
5978@@ -2826,7 +2826,8 @@
5979 gfc_init_block (&fnblock);
5980 for (f = proc_sym->formal; f; f = f->next)
5981 if (f->sym && f->sym->attr.intent == INTENT_OUT
5982- && f->sym->ts.type == BT_DERIVED)
5983+ && !f->sym->attr.pointer
5984+ && f->sym->ts.type == BT_DERIVED)
5985 {
5986 if (f->sym->ts.derived->attr.alloc_comp)
5987 {
5988@@ -3253,7 +3254,13 @@
5989 st = gfc_find_symtree (ns->sym_root,
5990 rent->local_name[0]
5991 ? rent->local_name : rent->use_name);
5992- gcc_assert (st && st->n.sym->attr.use_assoc);
5993+ gcc_assert (st);
5994+
5995+ /* Fixing-up doubly contained symbols, sometimes results in
5996+ ambiguity, which is caught here. */
5997+ if (!st->n.sym->attr.use_assoc)
5998+ continue;
5999+
6000 if (st->n.sym->backend_decl
6001 && DECL_P (st->n.sym->backend_decl)
6002 && st->n.sym->module
6003@@ -3573,6 +3580,7 @@
6004 automatic lengths. */
6005 if (sym->attr.dummy && !sym->attr.referenced
6006 && sym->ts.type == BT_DERIVED
6007+ && !sym->attr.pointer
6008 && sym->ts.derived->attr.alloc_comp
6009 && sym->attr.intent == INTENT_OUT)
6010 {
f06d2ced 6011Index: gcc/fortran/check.c
52d9744f 6012===================================================================
55465a90
AM
6013--- gcc/fortran/check.c (.../tags/gcc_4_4_1_release) (wersja 151837)
6014+++ gcc/fortran/check.c (.../branches/gcc-4_4-branch) (wersja 151837)
f06d2ced
AM
6015@@ -813,6 +813,15 @@
6016 gfc_current_intrinsic, &y->where);
6017 return FAILURE;
6018 }
52d9744f 6019+
f06d2ced
AM
6020+ if (y->ts.type == BT_COMPLEX)
6021+ {
6022+ gfc_error ("'%s' argument of '%s' intrinsic at %L must have a type "
6023+ "of either REAL or INTEGER", gfc_current_intrinsic_arg[1],
6024+ gfc_current_intrinsic, &y->where);
6025+ return FAILURE;
6026+ }
52d9744f 6027+
f06d2ced 6028 }
52d9744f 6029
f06d2ced
AM
6030 if (kind_check (kind, 2, BT_COMPLEX) == FAILURE)
6031@@ -937,6 +946,14 @@
6032 gfc_current_intrinsic, &y->where);
6033 return FAILURE;
6034 }
6035+
6036+ if (y->ts.type == BT_COMPLEX)
6037+ {
6038+ gfc_error ("'%s' argument of '%s' intrinsic at %L must have a type "
6039+ "of either REAL or INTEGER", gfc_current_intrinsic_arg[1],
6040+ gfc_current_intrinsic, &y->where);
6041+ return FAILURE;
6042+ }
6043 }
52d9744f 6044
f06d2ced 6045 return SUCCESS;
55465a90
AM
6046Index: gcc/fortran/primary.c
6047===================================================================
6048--- gcc/fortran/primary.c (.../tags/gcc_4_4_1_release) (wersja 151837)
6049+++ gcc/fortran/primary.c (.../branches/gcc-4_4-branch) (wersja 151837)
6050@@ -1773,7 +1773,11 @@
6051 if (m != MATCH_YES)
6052 return MATCH_ERROR;
6053
6054- tbp = gfc_find_typebound_proc (sym, &t, name, false);
6055+ if (sym->f2k_derived)
6056+ tbp = gfc_find_typebound_proc (sym, &t, name, false);
6057+ else
6058+ tbp = NULL;
6059+
6060 if (tbp)
6061 {
6062 gfc_symbol* tbp_sym;
f06d2ced
AM
6063Index: gcc/BASE-VER
6064===================================================================
55465a90
AM
6065--- gcc/BASE-VER (.../tags/gcc_4_4_1_release) (wersja 151837)
6066+++ gcc/BASE-VER (.../branches/gcc-4_4-branch) (wersja 151837)
f06d2ced
AM
6067@@ -1 +1 @@
6068-4.4.1
6069+4.4.2
55465a90
AM
6070Index: gcc/alias.c
6071===================================================================
6072--- gcc/alias.c (.../tags/gcc_4_4_1_release) (wersja 151837)
6073+++ gcc/alias.c (.../branches/gcc-4_4-branch) (wersja 151837)
6074@@ -1932,6 +1932,9 @@
6075 {
6076 const_tree fieldx, fieldy, typex, typey, orig_y;
6077
6078+ if (!flag_strict_aliasing)
6079+ return false;
6080+
6081 do
6082 {
6083 /* The comparison has to be done at a common type, since we don't
f06d2ced 6084Index: gcc/tree-ssa-pre.c
52d9744f 6085===================================================================
55465a90
AM
6086--- gcc/tree-ssa-pre.c (.../tags/gcc_4_4_1_release) (wersja 151837)
6087+++ gcc/tree-ssa-pre.c (.../branches/gcc-4_4-branch) (wersja 151837)
6088@@ -396,10 +396,6 @@
6089 #define BB_DEFERRED(BB) ((bb_value_sets_t) ((BB)->aux))->deferred
6090
6091
6092-/* Maximal set of values, used to initialize the ANTIC problem, which
6093- is an intersection problem. */
6094-static bitmap_set_t maximal_set;
6095-
6096 /* Basic block list in postorder. */
6097 static int *postorder;
6098
6099@@ -2113,49 +2109,45 @@
6100 {
6101 VEC(basic_block, heap) * worklist;
6102 size_t i;
6103- basic_block bprime, first;
6104+ basic_block bprime, first = NULL;
6105
6106 worklist = VEC_alloc (basic_block, heap, EDGE_COUNT (block->succs));
6107 FOR_EACH_EDGE (e, ei, block->succs)
6108- VEC_quick_push (basic_block, worklist, e->dest);
6109- first = VEC_index (basic_block, worklist, 0);
6110-
6111- if (phi_nodes (first))
6112 {
6113- bitmap_set_t from = ANTIC_IN (first);
6114-
6115- if (!BB_VISITED (first))
6116- from = maximal_set;
6117- phi_translate_set (ANTIC_OUT, from, block, first);
6118+ if (!first
6119+ && BB_VISITED (e->dest))
6120+ first = e->dest;
6121+ else if (BB_VISITED (e->dest))
6122+ VEC_quick_push (basic_block, worklist, e->dest);
6123 }
6124- else
6125+
6126+ /* Of multiple successors we have to have visited one already. */
6127+ if (!first)
6128 {
6129- if (!BB_VISITED (first))
6130- bitmap_set_copy (ANTIC_OUT, maximal_set);
6131- else
6132- bitmap_set_copy (ANTIC_OUT, ANTIC_IN (first));
6133+ SET_BIT (changed_blocks, block->index);
6134+ BB_VISITED (block) = 0;
6135+ BB_DEFERRED (block) = 1;
6136+ changed = true;
6137+ VEC_free (basic_block, heap, worklist);
6138+ goto maybe_dump_sets;
6139 }
6140
6141- for (i = 1; VEC_iterate (basic_block, worklist, i, bprime); i++)
6142+ if (phi_nodes (first))
6143+ phi_translate_set (ANTIC_OUT, ANTIC_IN (first), block, first);
6144+ else
6145+ bitmap_set_copy (ANTIC_OUT, ANTIC_IN (first));
6146+
6147+ for (i = 0; VEC_iterate (basic_block, worklist, i, bprime); i++)
6148 {
6149 if (phi_nodes (bprime))
6150 {
6151 bitmap_set_t tmp = bitmap_set_new ();
6152- bitmap_set_t from = ANTIC_IN (bprime);
6153-
6154- if (!BB_VISITED (bprime))
6155- from = maximal_set;
6156- phi_translate_set (tmp, from, block, bprime);
6157+ phi_translate_set (tmp, ANTIC_IN (bprime), block, bprime);
6158 bitmap_set_and (ANTIC_OUT, tmp);
6159 bitmap_set_free (tmp);
6160 }
6161 else
6162- {
6163- if (!BB_VISITED (bprime))
6164- bitmap_set_and (ANTIC_OUT, maximal_set);
6165- else
6166- bitmap_set_and (ANTIC_OUT, ANTIC_IN (bprime));
6167- }
6168+ bitmap_set_and (ANTIC_OUT, ANTIC_IN (bprime));
6169 }
6170 VEC_free (basic_block, heap, worklist);
6171 }
6172@@ -3507,11 +3499,7 @@
f06d2ced 6173 }
52d9744f 6174
52d9744f 6175
f06d2ced
AM
6176-/* Add OP to EXP_GEN (block), and possibly to the maximal set if it is
6177- not defined by a phi node.
6178- PHI nodes can't go in the maximal sets because they are not in
6179- TMP_GEN, so it is possible to get into non-monotonic situations
6180- during ANTIC calculation, because it will *add* bits. */
6181+/* Add OP to EXP_GEN (block), and possibly to the maximal set. */
52d9744f 6182
f06d2ced
AM
6183 static void
6184 add_to_exp_gen (basic_block block, tree op)
55465a90 6185@@ -3523,9 +3511,6 @@
f06d2ced
AM
6186 return;
6187 result = get_or_alloc_expr_for_name (op);
6188 bitmap_value_insert_into_set (EXP_GEN (block), result);
6189- if (TREE_CODE (op) != SSA_NAME
6190- || gimple_code (SSA_NAME_DEF_STMT (op)) != GIMPLE_PHI)
6191- bitmap_value_insert_into_set (maximal_set, result);
f06d2ced 6192 }
52d9744f 6193 }
52d9744f 6194
55465a90 6195@@ -3544,6 +3529,19 @@
f06d2ced
AM
6196 add_to_value (get_expr_value_id (e), e);
6197 bitmap_insert_into_set (PHI_GEN (block), e);
6198 bitmap_value_insert_into_set (AVAIL_OUT (block), e);
6199+ if (!in_fre)
6200+ {
6201+ unsigned i;
6202+ for (i = 0; i < gimple_phi_num_args (phi); ++i)
6203+ {
6204+ tree arg = gimple_phi_arg_def (phi, i);
6205+ if (TREE_CODE (arg) == SSA_NAME)
6206+ {
6207+ e = get_or_alloc_expr_for_name (arg);
6208+ add_to_value (get_expr_value_id (e), e);
f06d2ced
AM
6209+ }
6210+ }
6211+ }
6212 }
52d9744f 6213 }
52d9744f 6214
55465a90
AM
6215@@ -3579,10 +3577,7 @@
6216
6217 add_to_value (get_expr_value_id (e), e);
6218 if (!in_fre)
6219- {
6220- bitmap_insert_into_set (TMP_GEN (ENTRY_BLOCK_PTR), e);
6221- bitmap_value_insert_into_set (maximal_set, e);
6222- }
6223+ bitmap_insert_into_set (TMP_GEN (ENTRY_BLOCK_PTR), e);
6224 bitmap_value_insert_into_set (AVAIL_OUT (ENTRY_BLOCK_PTR), e);
6225 }
6226 }
6227@@ -3598,10 +3593,7 @@
6228
6229 add_to_value (get_expr_value_id (e), e);
6230 if (!in_fre)
6231- {
6232- bitmap_insert_into_set (TMP_GEN (ENTRY_BLOCK_PTR), e);
6233- bitmap_value_insert_into_set (maximal_set, e);
6234- }
6235+ bitmap_insert_into_set (TMP_GEN (ENTRY_BLOCK_PTR), e);
6236 bitmap_value_insert_into_set (AVAIL_OUT (ENTRY_BLOCK_PTR), e);
6237 }
6238 }
6239@@ -3705,11 +3697,7 @@
6240 get_or_alloc_expression_id (result);
6241 add_to_value (get_expr_value_id (result), result);
6242 if (!in_fre)
6243- {
6244- bitmap_value_insert_into_set (EXP_GEN (block),
6245- result);
6246- bitmap_value_insert_into_set (maximal_set, result);
6247- }
6248+ bitmap_value_insert_into_set (EXP_GEN (block), result);
6249 continue;
6250 }
6251
6252@@ -3791,10 +3779,7 @@
6253 get_or_alloc_expression_id (result);
6254 add_to_value (get_expr_value_id (result), result);
6255 if (!in_fre)
6256- {
6257- bitmap_value_insert_into_set (EXP_GEN (block), result);
6258- bitmap_value_insert_into_set (maximal_set, result);
6259- }
6260+ bitmap_value_insert_into_set (EXP_GEN (block), result);
6261
6262 continue;
6263 }
6264@@ -4173,7 +4158,6 @@
6265 TMP_GEN (bb) = bitmap_set_new ();
6266 AVAIL_OUT (bb) = bitmap_set_new ();
6267 }
6268- maximal_set = in_fre ? NULL : bitmap_set_new ();
6269
6270 need_eh_cleanup = BITMAP_ALLOC (NULL);
6271 }
6272@@ -4254,10 +4238,9 @@
f06d2ced
AM
6273 FOR_ALL_BB (bb)
6274 {
6275 print_bitmap_set (dump_file, EXP_GEN (bb), "exp_gen", bb->index);
6276- print_bitmap_set (dump_file, TMP_GEN (bb), "tmp_gen",
6277- bb->index);
6278- print_bitmap_set (dump_file, AVAIL_OUT (bb), "avail_out",
6279- bb->index);
6280+ print_bitmap_set (dump_file, PHI_GEN (bb), "phi_gen", bb->index);
6281+ print_bitmap_set (dump_file, TMP_GEN (bb), "tmp_gen", bb->index);
6282+ print_bitmap_set (dump_file, AVAIL_OUT (bb), "avail_out", bb->index);
6283 }
f06d2ced
AM
6284 }
6285
55465a90
AM
6286Index: gcc/simplify-rtx.c
6287===================================================================
6288--- gcc/simplify-rtx.c (.../tags/gcc_4_4_1_release) (wersja 151837)
6289+++ gcc/simplify-rtx.c (.../branches/gcc-4_4-branch) (wersja 151837)
6290@@ -2009,6 +2009,7 @@
6291 /* x*2 is x+x and x*(-1) is -x */
6292 if (GET_CODE (trueop1) == CONST_DOUBLE
6293 && SCALAR_FLOAT_MODE_P (GET_MODE (trueop1))
6294+ && !DECIMAL_FLOAT_MODE_P (GET_MODE (trueop1))
6295 && GET_MODE (op0) == mode)
6296 {
6297 REAL_VALUE_TYPE d;
6298@@ -5243,6 +5244,7 @@
6299 && GET_MODE_BITSIZE (innermode) >= (2 * GET_MODE_BITSIZE (outermode))
6300 && GET_CODE (XEXP (op, 1)) == CONST_INT
6301 && (INTVAL (XEXP (op, 1)) & (GET_MODE_BITSIZE (outermode) - 1)) == 0
6302+ && INTVAL (XEXP (op, 1)) >= 0
6303 && INTVAL (XEXP (op, 1)) < GET_MODE_BITSIZE (innermode)
6304 && byte == subreg_lowpart_offset (outermode, innermode))
6305 {
f06d2ced 6306Index: gcc/po/es.po
52d9744f 6307===================================================================
55465a90
AM
6308--- gcc/po/es.po (.../tags/gcc_4_4_1_release) (wersja 151837)
6309+++ gcc/po/es.po (.../branches/gcc-4_4-branch) (wersja 151837)
6310@@ -1,4 +1,4 @@
6311