]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
re PR c++/17154 (Using declaration of function name ignored inside partial specializa...
[gcc.git] / gcc / ChangeLog
CommitLineData
9acf766f
DB
12005-01-05 Daniel Berlin <dberlin@dberlin.org>
2
3 Fix PR middle-end/19286
4 Fix PR debug/19267
5 * dwarf2out.c (gen_subprogram_die): If we've already tried to
6 output this subprogram, simply ignore this attempt to do it again.
7 (add_abstract_origin_attribute): Don't abort trying to add the abstract
8 origin attribute if it's not possible.
9 (gen_block_die): Don't ignore subblocks of "unused" blocks.
10 (decls_for_scope): Ditto.
11 * gimple-low.c (mark_blocks_with_used_subblocks): Remove.
12 (mark_used_blocks): Don't call mark_blocks_with_used_subblocks.
13
e358acde
RH
142005-01-05 Richard Henderson <rth@redhat.com>
15
16 PR target/11327
17 * config/i386/i386.c (BUILTIN_DESC_SWAP_OPERANDS): New.
18 (bdesc_2arg): Use it.
19 (ix86_expand_binop_builtin): Force operands into registers
20 when optimizing.
21 (ix86_expand_unop_builtin, ix86_expand_unop1_builtin,
22 ix86_expand_sse_compare, ix86_expand_sse_comi,
23 ix86_expand_builtin): Likewise.
24
051d8245
RH
252005-01-05 Richard Henderson <rth@redhat.com>
26
27 * config/ia64/ia64.c (rtx_needs_barrier): Handle CONST_VECTOR
28 and VEC_SELECT.
29 * config/ia64/vect.md (mulv8qi3): Re-implement with mix_[rl].
30 (mulv4hi3): Set itanium_class mmmul.
31 (fpack_sfxf, fpack_xfsf, fpack_xfxf): Remove.
32 (fpack): Rename from fpack_sfsf.
33
19f17bb9
RH
342005-01-05 Richard Henderson <rth@redhat.com>
35
36 PR rtl-opt/10692
37 * reload1.c (do_input_reload): Restrict the optimization deleteing
38 a previous output reload to RELOAD_FOR_INPUT.
39
46d096a3
SB
402005-01-05 Steven Bosscher <stevenb@suse.de>
41
42 * combine.c (expand_compound_operation) <ZERO_EXTRACT>: Add
43 comment that we fall through after case.
44 (mark_used_regs_combine): Don't expect a SIGN_EXTRACT in a SET_DEST.
45 (distribute_links): Likewise.
46 * cse.c (cse_insn): Likewise.
47 * cselib.c (cselib_invalidate_mem): Likewise.
48 * df.c: Update comments at the top of the file.
49 (read_modify_subreg_p): Update comments here too.
50 (df_def_record_1): Don't expect a SIGN_EXTRACT in a SET_DEST.
51 * flow.c (mark_set_1): Likewise.
52 (mark_used_regs): Likewise.
53 * gcse.c (mems_conflict_for_gcse_p): Likewise.
54 (canon_list_insert): Likewise.
55 (mark_set): Likewise.
56 (try_replace_reg): Likewise.
57 (store_killed_in_insn): Likewise.
58 * loop.c (count_one_set): Likewise.
59 (basic_induction_var): Likewise.
60 * postreload-gcse.c (find_mem_conflicts): Likewise.
61 * postreload.c (reload_combine_note_store): Likewise.
62 (move2add_note_store): Likewise.
63 * reload.c (find_equiv_reg): Likewise.
64 (mark_referenced_resources): Likewise.
65 * rtlanal.c (set_noop_p): Likewise.
66 (note_stores): Likewise.
67 (note_uses): Likewise.
68 * sched-deps.c (sched_analyze_1): Likewise.
69 * sched-rgn.c (check_live_1): Likewise.
70 (update_live_1): Likewise.
71 * config/i860/i860.c: Likewise.
72
73 * rtl.dec (SIGN_EXTRACT): Document that this cannot appear as
74 an lvalue.
75 (ZERO_EXTRACT): Mention that this one can be an lvalue.
76
77 * doc/rtl.texi: Update documentation for bit-fields and SET.
78
65a878f5
RS
792005-01-05 Roger Sayle <roger@eyesopen.com>
80
81 * ifcvt.c (find_if_case_1): Revert 2005-01-04 change.
82
d2ad2c8a
JH
832005-01-05 Jan Hubicka <jh@suse.cz>
84 Richard Henderson <rth@redhat.com>
85
86 PR target/18910
87 * config/i386/i386.c (ix86_expand_move): Handle tls symbols
88 with an offset.
89
2cdb3148
RH
902005-01-05 Richard Henderson <rth@redhat.com>
91
92 PR target/12902
93 * config/i386/i386.md (sse_movhps, sse_movlps): Remove.
94 (sse_shufps): Change operand 3 to const_int_operand.
95 (sse2_storelps): Fix typo in template.
96 (sse_storehps, sse_loadhps, sse_storelps, sse_loadlps): New.
97 * config/i386/i386.c (ix86_expand_vector_move_misalign): Use them.
98 (ix86_expand_builtin): Likewise.
99
1002005-01-05 Julian Brown <julian@codesourcery.com>
3dd7ab65
JB
101
102 * config/arm/arm.c (arm_return_in_memory): Treat complex types
103 as aggregates for AAPCS ABIs.
104
59d8fe27
SS
1052005-01-05 Stan Shebs <shebs@apple.com>
106
107 * unwind-dw2-fde-darwin.c (examine_objects): Use 64-bit
108 Mach-O getters if ppc64.
109 * config/darwin.c (darwin_asm_output_dwarf_delta): Obey
110 size argument.
111 * config/darwin.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
112 signed four-byte field for global code case.
113 (STARTFILE_SPEC): Avoid crt2.o for 64-bit compilation.
114
010c4d9c
RS
1152005-01-05 Roger Sayle <roger@eyesopen.com>
116
117 PR middle-end/19100
118 * c-common.c: Include real.h.
119 (c_common_truthvalue_conversion): Avoid destructively modifying expr.
120 Correctly handle TREE_CONSTANT_OVERFLOW for INTEGER_CST.
121 Correctly handle TREE_CONSTANT_OVERFLOW and NaNs for REAL_CST.
122 * Makefile.in (c-common.o): Update dependencies.
123
9368fb8f
JM
1242005-01-05 Joseph S. Myers <joseph@codesourcery.com>
125
126 * c-parse.in (asm_string): Add trailing semicolon.
127
9143de5c
JM
1282005-01-05 Joseph S. Myers <joseph@codesourcery.com>
129
130 * c-parse.in (asm_string): New. Don't allow wide strings in
131 'asm'.
132 (simple_asm_expr, asm_argument, asm_operand, asm_clobbers): Use
133 asm_string instead of STRING.
134
0953878d
JM
1352005-01-05 Joseph S. Myers <joseph@codesourcery.com>
136
137 * c-typeck.c (constructor_no_implicit): Remove.
138 (set_designator, process_init_element): Don't check
139 constructor_no_implicit.
140
cf99f196
R
1412005-01-05 J"orn Rennecke <joern.rennecke@st.com>
142 Kaz Kojima <kkojima@gcc.gnu.org>
143
144 PR target/16482
145 * lcm.c (create_pre_exit): New.
146 (optimize_mode_switching): In MODE_ENTRY / MODE_EXIT case, set
147 ENTRY_EXIT_EXTRA to 3. Use create_pre_exit.
148
712ecf4d
RE
1492004-01-05 Richard Earnshaw <rearnsha@arm.com>
150
151 * arm.h (TARGET_OPTIONS): Correctly record -mhard-float and
152 -msoft-float in target_float_switch.
153 * arm.c (arm_override_options): Fix processing of target_float_switch.
154
082cca25
RE
1552004-01-05 Richard Earnshaw <rearnsha@arm.com>
156
157 * arm/vfp.md (arm_movsi_vfp): Hide VFP register classes from register
158 preferencing.
159
c2b43d7a
UB
1602004-01-05 Uros Bizjak <uros@kss-loka.si>
161
162 * doc/invoke.texi (Intel 386 and AMD x86-64 Options):
163 Replace i387 with 'i386 compiler' in -mfpmath=sse option.
164
e82f5749
RS
1652005-01-04 Roger Sayle <roger@eyesopen.com>
166
167 * ifcvt.c (find_if_case_1): Avoid creating an empty forwarder block,
168 if deleting the then-block allows the test-block to fallthru to the
169 else-block.
170
f8f5c4b3
AP
1712005-01-04 Andrew Pinski <pinskia@physics.uc.edu>
172
173 PR c/19152
174 * c-decl.c (diagnose_mismatched_decls): Accept "extern inline" declared
175 after the full declaration if the are in two different TUs.
176
1772005-01-04 Richard Henderson <rth@redhat.com>
fa588429
RH
178
179 PR tree-opt/19158
180 * tree-sra.c (generate_one_element_init): Just
181 call gimplify_and_add.
182 (generate_element_init): Record the
183 new referenced variables and mark them for renaming
184 and split out to ...
185 (generate_element_init_1): This.
186 (scalarize_init): Don't call push_gimplify_context/
187 pop_gimplify_context.
188
5f0c48ed
GK
1892005-01-04 Geoffrey Keating <geoffk@apple.com>
190
191 * toplev.c (get_src_pwd): Handle failure of getpwd().
192
e3523f56
RS
1932005-01-04 Roger Sayle <roger@eyesopen.com>
194
195 * fold-const.c (fold_single_bit_test): Delete unreachable handling
196 of TRUTH_NOT_EXPR.
197 (fold): Don't call fold_single_bit_test with a TRUTH_NOT_EXPR, as
198 all the cases handled by it are inverted by invert_truthvalue.
199
9746bb27
EB
2002005-01-04 Eric Botcazou <ebotcazou@libertysurf.fr>
201
202 * config/sparc/sparc.md (save_register_windowdi): Add missing mode.
203 (save_register_windowsi): Likewise.
204
bfee926b
RH
2052005-01-04 Richard Henderson <rth@redhat.com>
206
207 * tree-mudflap.c (mf_varname_tree): Fix thinko setting declname.
208
21e5076a
UB
2092005-01-04 Uros Bizjak <uros@kss-loka.si>
210
211 PR middle-end/17767
212 * cse.c (fold_rtx) [RTX_COMPARE, RTX_COMM_COMPARE]: Don't attempt
213 any simplifications of vector mode comparison operators.
214 * simplify-rtx.c (simplify_relational_operation): Fix variable name.
215
8ea9d0c7
PB
2162005-01-04 Paolo Bonzini <bonzini@gnu.org>
217 Devang Patel <dpatel@apple.com>
218
219 PR tree-optimization/18308
8ea9d0c7
PB
220 * tree-if-conv.c (add_to_dst_predicate_list): Gimplify
221 the operands before creating a new expression.
222 * dojump.c (do_jump): Make drop_through_label available
223 for all cases. Add expansion of COND_EXPR.
224
8c427b58
IR
2252005-01-04 Ira Rosen <irar@il.ibm.com>
226
227 * tree-vectorizer.c (vect_analyze_offset_expr): Test for
228 INTEGER_CST instead of TREE_CONSTANT.
229 (vect_gen_niters_for_prolog_loop): Test for INTEGER_CST
230 instead of TREE_CONSTANT.
231 (vect_analyze_pointer_ref_access): Test for INTEGER_CST
232 instead of TREE_CONSTANT.
233
8287d24a
EB
2342005-01-04 Eric Botcazou <ebotcazou@libertysurf.fr>
235
236 * tree-eh.c (replace_goto_queue): Return early if the queue is empty.
237
9e4ae64b
UB
2382005-01-04 Uros Bizjak <uros@kss-loka.si>
239
240 PR target/19240
241 * config/i386/i386.md (*fop_df_1_i387): Disable for TARGET_SSE_MATH.
242 (*fop_df_1_i387): Disable for (TARGET_SSE2 && TARGET_SSE_MATH).
243
c756af79
RH
2442005-01-03 Richard Henderson <rth@redhat.com>
245
246 * fold-const.c (force_fit_type): Cope with types larger than 2 HWI.
247 (fold_convert_const_int_from_int, fold_convert_const_int_from_real,
248 fold_convert_const_real_from_real): Split out from ...
249 (fold_convert_const): ... here.
250
d30c9461
RH
2512005-01-03 Richard Henderson <rth@redhat.com>
252
253 PR target/19235
254 * config/i386/i386.md (movdi_2): Separate SSE1 and SSE2 alternatives.
255 (mov<MMXMODEI>_internal): Likewise.
256 (movdf_nointeger): Prefer Y while not preferring, but allowing, x.
257 Add V2SF case; use it for SSE1; don't use TI.
258 (movdf_integer): Likewise.
259 (mov<SSEMODEI>_internal, movti_internal): Force V4SF for SSE1.
260
7d23434b
IR
2612005-01-03 Ira Rosen <irar@il.ibm.com>
262
263 * tree-vectorizer.c (vect_strip_conversions): New function.
264 (vect_analyze_offset_expr): Call vect_strip_conversions. Add
265 check for binary class.
266
1eb3331e
DB
2672005-01-03 Daniel Berlin <dberlin@dberlin.org>
268
269 Fix PR debug/17924
270 Fix PR debug/19191
271 * dwarf2out.c (block_ultimate_origin): Follow decl origin if origin
272 is a decl.
273 * gimple-low.c (mark_blocks_with_used_vars): New function.
274 (mark_blocks_with_used_subblocks): Ditto.
275 (mark_used_blocks): Ditto.
276 (pass_mark_used_blocks): New pass.
277 * tree-inline.c: Include debug.h.
278 (expand_call_inline): Call outlining_inline_function here.
279 * tree-optimize.c (init_tree_optimization_passes): Add
280 pass_mark_used_blocks.
281 * tree-pass.h (pass_mark_used_blocks): New.
282 * Makefile.in (tree-inline.o): Add debug.h dependency.
283
a035080c
GK
2842005-01-03 Geoffrey Keating <geoffk@apple.com>
285
d7001ae5
GK
286 * config/darwin.c (darwin_handle_weak_import_attribute): Permit
287 VAR_DECLs to have weak_import attribute.
288
a035080c
GK
289 * config/rs6000/darwin-fallback.c: Use 'ucontext_t' rather than
290 'struct ucontext'.
291
1ab219d3
SB
2922004-01-03 Steven Bosscher <stevenb@suse.de>
293
294 * passes.c (rest_of_compilation): Don't run regmove if only
295 flag_expensive_optimizations, require flag_regmove instead.
296
e6abef61
EB
2972005-01-03 Eric Botcazou <ebotcazou@libertysurf.fr>
298
299 * config/sparc/litecoff.h (TARGET_OS_CPP_BUILTINS): Do not
300 register "sparc".
301 * config/sparc/sysv4-only.h (TARGET_OS_CPP_BUILTINS): Likewise.
302 * config/sparc/rtemself.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
303 * config/sparc/sol2-64.h (TARGET_SUB_OS_CPP_BUILTINS): Delete.
304 * config/sparc/sp64-elf.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
305
f61134e8
RH
3062005-01-03 Richard Henderson <rth@redhat.com>
307
308 * config/ia64/ia64.c (TARGET_VECTOR_MODE_SUPPORTED_P): New.
309 (ia64_const_ok_for_letter_p): New.
310 (ia64_const_double_ok_for_letter_p): New.
311 (ia64_extra_constraint): New.
312 (ia64_expand_vecint_compare): New.
313 (ia64_expand_vcondu_v2si): New.
314 (ia64_expand_vecint_cmov): New.
315 (ia64_expand_vecint_minmax): New.
316 (ia64_print_operand): Add 'v'.
317 (ia64_preferred_reload_class): New.
318 (ia64_vector_mode_supported_p): New.
319 * config/ia64/ia64.h (UNITS_PER_SIMD_WORD): New.
320 (PREFERRED_RELOAD_CLASS): Move to function.
321 (CONST_OK_FOR_LETTER_P): Move to function.
322 (CONST_DOUBLE_OK_FOR_LETTER_P): Move to function.
323 (CONSTRAINT_OK_FOR_Q, CONSTRAINT_OK_FOR_R): Remove.
324 (CONSTRAINT_OK_FOR_S, CONSTRAINT_OK_FOR_T): Remove.
325 (EXTRA_CONSTRAINT): Move to function.
326 * config/ia64/ia64.md: Include vect.md.
327 (itanium_class): Add mmalua.
328 (type): Handle it.
329 * config/ia64/itanium1.md (1_mmalua): New. Add it to bypasses.
330 (1b_mmalua): New.
331 * config/ia64/itanium2.md (2_mmalua, 2b_mmalua): Similarly.
332 * config/ia64/predicates.md (gr_reg_or_0_operand): Accept any
333 CONST0_RTX.
334 (const_int_2bit_operand): New.
335 (fr_reg_or_0_operand): New.
336 * config/ia64/ia64-modes.def: Add vector modes.
337 * config/ia64/ia64-protos.h: Update.
338 * config/ia64/vect.md: New file.
339
3198b947
RH
3402005-01-03 Richard Henderson <rth@redhat.com>
341
342 * simplify-rtx.c (simplify_binary_operation): Handle VEC_CONCAT.
343
088df4c2
UB
3442005-01-03 Uros Bizjak <uros@kss-loka.si>
345
346 PR target/19236
347 * config/i386/i386.c (log1psf2): Change mode of operands[0,1]
348 to SFmode.
349 (log1pdf2): Change mode of operands[0,1] to DFmode.
350
548a6c4f
EB
3512005-01-03 Eric Botcazou <ebotcazou@libertysurf.fr>
352
353 * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Define to false.
354 * config/sparc/linux.h (SPARC_RELAXED_ORDERING): Define to true.
355 * config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise.
356 * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Define to
357 SPARC_RELAXED_ORDERING.
358
0703dceb
RH
3592005-01-03 Richard Henderson <rth@redhat.com>
360 Uros Bizjak <uros@kss-loka.si>
361
362 PR target/14631
363 * config/i386/i386.c (ix86_expand_builtin): [IX86_BUILTIN_PINSRW,
364 IX86_BUILTIN_PINSRW128]: Fix wrong selector range in error message.
365 * config/i386/i386.md (mmx_pinsrw, sse2_pinsrw): Fix selector
366 handling.
367 (*mmx_pinsrw, *sse2_pinsrw): New patterns.
368 * config/i386/i386/predicates.md (const_pow2_1_to_8_operand,
369 const_pow2_1_to_128_operand): New predicates.
370
97236777
GM
3712005-01-02 Greg McGary <greg@mcgary.org>
372
373 * tree-mudflap.c (mf_varname_tree): decl_printable_name handles
374 anonymous decls.
375 (mf_xform_derefs_1) [RESULT_DECL, STRING_CST]: Handle as innermost
376 object. [ptr_type]: Remove unused variable.
377 Remember nearest addressable array-element or record-component
378 when checking bitfield components. Tolerate empty BIND_EXPR.
379
155a8213
RH
3802005-01-01 Richard Henderson <rth@redhat.com>
381
382 * tree-vectorizer.c (vect_analyze_offset_expr): Strip conversions
383 that don't narrow the value. Fail for other conversions.
384
bedb9fc0
RH
3852005-01-01 Richard Henderson <rth@redhat.com>
386
387 PR c/19031
388 * c-decl.c (pop_file_scope): Call maybe_apply_pending_pragma_weaks.
389 * c-lang.c (finish_file): Don't do it here.
390 * objc/objc-act.c (objc_finish_file): Likewise.
391
392 * cgraph.c (decl_assembler_name_equal): New.
393 (cgraph_node_for_asm, cgraph_varpool_node_for_asm): New.
394 (cgraph_varpool_node): Actually link up cgraph_varpool_nodes.
395 * cgraph.h (struct cgraph_varpool_node): Add next.
396 (cgraph_node_for_asm, cgraph_varpool_node_for_asm): Declare.
397 * varasm.c (assemble_alias): Mark the target as needed.
398
1cb2fc7b
AP
3992005-01-01 Andrew Pinski <pinskia@physics.uc.edu>
400
401 PR middle-end/19221
402 * function.c (get_arg_pointer_save_area): Use entry_of_function
403 instead of get_insns.
404
0ca5fbc0
RS
4052005-01-01 Roger Sayle <roger@eyesopen.com>
406 Andrew Pinski <pinskia@physics.uc.edu>
407 James E. Wilson <wilson@specifixinc.com>
408
409 PR rtl-optimization/12092
410 * loop.c (emit_prefetch_instructions): Do nothing if PREFETCH_BLOCK
411 is zero.
412
91c537b7
RS
4132005-01-01 Roger Sayle <roger@eyesopen.com>
414 Olivier Hainque <hainque@act-europe.fr>
415
416 * tree.c (int_fits_type_p): A narrower type always fits in a
417 wider one, except for negative values into unsigned types.
418
69618c49
RS
4192005-01-01 Roger Sayle <roger@eyesopen.com>
420
421 * tree.c (int_fits_type_p): Compare the result of force_fit_type
422 with the original constant rather than require TREE_OVERFLOW.
423
43e05e45
SB
4242005-01-01 Steven Bosscher <stevenb@suse.de>
425
426 PR middle-end/17544
427 * c-decl.c (finish_function): If compiling C99, annotate the
428 compiler generated return with the current file name and line 0.
429 * tree-cfg.c (remove_useless_stmts_warn_notreached): Only warn if
430 the source line is greater than 0.
431 (remove_bb): Likewise.
432
7a4515d7 433See ChangeLog.12 for earlier changes.
This page took 0.105651 seconds and 5 git commands to generate.