]>
Commit | Line | Data |
---|---|---|
55465a90 AM |
1 | Index: 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. | |
14 | Index: 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 | |
50 | Index: 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 */ | |
70 | Index: 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. | |
84 | Index: 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. | |
136 | Index: 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 | |
149 | Index: 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 | ||
180 | Index: 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. | |
194 | Index: 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 |
308 | Index: 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 |
315 | Index: 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 |
342 | Index: 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 | |
348 | Index: 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 | |
920 | Index: 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 | 947 | Index: 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) | |
957 | Index: 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 | 979 | Index: 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 | 999 | Index: 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 |
1037 | Index: 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 | +} | |
1062 | Index: 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 | +} | |
1086 | Index: 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 | +} | |
1111 | Index: 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 | +} | |
1128 | Index: 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 | +} | |
1150 | Index: 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 | +} | |
1170 | Index: 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 | +} | |
1185 | Index: 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 | + | |
1200 | Index: 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 | +} | |
1215 | Index: 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 | +} | |
1248 | Index: 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 | +} | |
1278 | Index: 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 | + | |
1319 | Index: 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 | +} | |
1339 | Index: 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 | |
1366 | Index: 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 | ||
1380 | Index: 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 | +} | |
1404 | Index: 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 | ||
1418 | Index: 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 | ||
1432 | Index: 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 | ||
1446 | Index: 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 | { | |
1459 | Index: 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 | +} | |
1490 | Index: 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 | ||
1504 | Index: 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 | ||
1518 | Index: 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 | ||
1532 | Index: 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 | ||
1546 | Index: 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 | ||
1560 | Index: 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 | ||
1574 | Index: 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 | +} | |
1597 | Index: 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 | ||
1611 | Index: 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 | |
1622 | Index: 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 | ||
1636 | Index: 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 | +} | |
1667 | Index: 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; | |
1702 | Index: 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; | |
1741 | Index: 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) | |
1754 | Index: 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 | |
1767 | Index: 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 | |
1789 | Index: 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 | ||
1802 | Index: 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 | |
1824 | Index: 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, | |
1846 | Index: 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 | |
1859 | Index: 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 | |
1895 | Index: 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 | ||
1917 | Index: 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 | --=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- | |
1947 | Index: 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) | |
1968 | Index: 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 | ||
1980 | Index: 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) | |
1992 | Index: 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> | |
2006 | Index: 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 | { | |
2017 | Index: 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 | ||
2034 | Index: 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) \ | |
2046 | Index: 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 | +} | |
2075 | Index: 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 | +} | |
2087 | Index: 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 | { | |
2098 | Index: 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 } */ | |
2108 | Index: 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 | ||
2130 | Index: 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 } */ | |
2140 | Index: 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 | |
2156 | Index: 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 | ||
2169 | Index: 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 | +} | |
2182 | Index: 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; | |
2199 | Index: 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; | |
2216 | Index: 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 | +} | |
2240 | Index: 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); | |
2251 | Index: 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; | |
2289 | Index: 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" } } */ | |
2318 | Index: 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 | +} | |
2333 | Index: 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> | |
2347 | Index: 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 | { | |
2359 | Index: 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'); | |
2367 | Index: 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 | +} | |
2400 | Index: 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 | + | |
2475 | Index: 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 | { | |
2486 | Index: 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 | |
2502 | Index: 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); | |
2513 | Index: 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 | +} | |
2564 | Index: 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 | ||
2577 | Index: 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 | +} | |
2596 | Index: 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 | +} | |
2624 | Index: 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 | ||
2636 | Index: 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 | } | |
2676 | Index: 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 */ | |
2689 | Index: 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 | { | |
2702 | Index: 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 | + | |
2730 | Index: 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; | |
2745 | Index: 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 (){ | |
2758 | Index: 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 | 2782 | Index: 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> | |
3465 | Index: 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 | |
3475 | Index: 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 | ||
3486 | Index: 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 | 3496 | Index: 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 |
3513 | Index: 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; | |
3532 | Index: 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 | 3551 | Index: 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 |
3589 | Index: 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 | { | |
3600 | Index: 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 | +} | |
3670 | Index: 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 } } */ | |
3682 | Index: 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 | { | |
3693 | Index: 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 | 3704 | Index: 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 |
3727 | Index: 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> | |
3764 | Index: 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 | 3782 | Index: 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 |
3800 | Index: 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; | |
3822 | Index: 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 | + | |
3863 | Index: 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 | +} | |
3879 | Index: 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" } | |
3890 | Index: 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 | |
3919 | Index: 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 | +} | |
3939 | Index: 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 | +} | |
3960 | Index: 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 | +} | |
3985 | Index: 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 | 4101 | Index: 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 |
4131 | Index: 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 | +} | |
4154 | Index: 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 | +} | |
4182 | Index: 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 | +} | |
4239 | Index: 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 | +} | |
4357 | Index: 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 | + | |
4388 | Index: 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*-*-*] | |
4416 | Index: 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 | |
4429 | Index: 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 | + | |
4446 | Index: 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 | |
4466 | Index: 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)" } | |
4485 | Index: 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 | |
4553 | Index: 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 | |
4581 | Index: 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 | + | |
4598 | Index: 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 | |
4608 | Index: 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 | |
4633 | Index: 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 | |
4672 | Index: 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 | |
4687 | Index: 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 | + | |
4720 | Index: 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 | + | |
4759 | Index: 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 | |
4778 | Index: 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" } } | |
4817 | Index: 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 | + | |
4862 | Index: 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 | + | |
4880 | Index: 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 | |
4897 | Index: 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)" } | |
4916 | Index: 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 | 4957 | Index: 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 |
4971 | Index: 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)')" ¶ms" | |
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 | + | |
5001 | Index: 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 | 5027 | Index: 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 |
5065 | Index: 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 | |
5076 | Index: 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)) | |
5130 | Index: 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 | } | |
5174 | Index: 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", | |
5266 | Index: 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 \ | |
5281 | Index: 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); | |
5297 | Index: 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) | |
5314 | Index: 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. | |
5383 | Index: 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 | ||
5401 | Index: 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 | { | |
5442 | Index: 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 | } | |
5508 | Index: 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 | |
5563 | Index: 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 | ||
5585 | Index: 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. | |
5599 | Index: 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); | |
5623 | Index: 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 | ||
5774 | Index: 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) | |
5830 | Index: 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; | |
5850 | Index: 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 | } | |
5879 | Index: 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 |
5934 | Index: 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 | ||
5947 | Index: 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 | ||
5974 | Index: 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 | 6011 | Index: 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 |
6046 | Index: 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 |
6063 | Index: 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 |
6070 | Index: 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 | 6084 | Index: 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 |
6286 | Index: 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 | 6306 | Index: 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 |