Ziemowit Laski [Sun, 31 Oct 2004 06:17:55 +0000 (06:17 +0000)]
c-common.h (objc_lookup_ivar): Add second parameter to prototype.
[gcc/ChangeLog]
2004-10-30 Ziemowit Laski <zlaski@apple.com>
* c-common.h (objc_lookup_ivar): Add second parameter to
prototype.
* c-typeck.c (build_external_ref): After looking up symbol,
pass it to objc_lookup_ivar() to decide whether it or the
ivar should be used, rather than deciding the issue locally.
* stub-objc.c (objc_lookup_ivar): Add an OTHER parameter,
which is simply returned in the non-ObjC case.
[gcc/objc/ChangeLog]
2004-10-30 Ziemowit Laski <zlaski@apple.com>
* objc-act.c (objc_lookup_ivar): The new OTHER parameter
contains the result of the ID lookup by the C or C++
front-end; in class methods, use OTHER if it exists;
in instance methods, use OTHER only if it is locally
declared.
[gcc/testsuite/ChangeLog]
2004-10-30 Ziemowit Laski <zlaski@apple.com>
Janne Blomqvist [Sun, 31 Oct 2004 01:24:29 +0000 (03:24 +0200)]
re PR fortran/17590 (Standard conformance should take intrinsics into account.)
2004-10-31 Janne Blomqvist <jblomqvi@cc.hut.fi>
PR fortran/17590
* gfortran.h: Change GFC_STD_* flags to more appropriate
ones. (struct gfc_intrinsic_isym): Add field for standard. (struct
gfc_option_t): Add field for warning about use of nonstandard
intrinsics.
* intrinsic.c (add_sym): Add parameter for standard version, check
this against current standard.
(add_sym_0): Pass standard parameter to add_sym.
(add_sym_1, add_sym_0s, add_sym_1s, add_sym_1m, add_sym_2): Ditto.
(add_sym_2s, add_sym_3, add_sym_3ml, add_sym_3red, add_sym_3s): Ditto.
(add_sym_4, add_sym_4s, add_sym_5, add_sym_5s): Ditto.
(make_generic): Add parameter for standard, check this
against currently selected standard.
(add_functions, add_subroutines): Add parameter to tell which
standard an intrinsic belongs to.
(check_intrinsic_standard): New function.
(gfc_intrinsic_func_interface): Add call to check_intrinsic_standard.
(gfc_intrinsic_sub_interface): Ditto.
* lang.opt: Add Wnonstd-intrinsics option.
* options.c (gfc_init_options): Change to use new GFC_STD_* flags,
init new warning.
(set_Wall): Add warning about nonstd intrinsics.
(gfc_handle_option): Change to use new GFC_STD_* flags,
handle new warning.
* invoke.texi: Update manual to include -Wnonstd-intrinsics.
Kaz Kojima [Sat, 30 Oct 2004 23:29:46 +0000 (23:29 +0000)]
sh.c (calc_live_regs): Declare reg as unsigned and modify the for loop expressions for it.
* config/sh/sh.c (calc_live_regs): Declare reg as unsigned and
modify the for loop expressions for it. Remove unnecessary casts.
(sh_expand_prologue): Declare reg as unsigned.
(sh_gimplify_va_arg_expr): Initinalize lab_over.
(sh_handle_sp_switch_attribute): Add const qualifier appropriately.
Roger Sayle [Sat, 30 Oct 2004 19:20:43 +0000 (19:20 +0000)]
re PR middle-end/18096 (internal compiler error: in final_scan_insn, at final.c:2429)
PR middle-end/18096
* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Check that
the stack adjustment, "size", is valid for Pmode. If the stack
frame is too large, generate a trap insn and issue a warning.
Joseph Myers [Sat, 30 Oct 2004 08:50:31 +0000 (09:50 +0100)]
re PR c/16666 (dremf type conflict)
PR c/16666
* c-decl.c (start_function): Don't check for DECL_BUILT_IN when
determining whether to copy parameter types from a previous
prototype declaration.
Geoffrey Keating [Sat, 30 Oct 2004 01:03:12 +0000 (01:03 +0000)]
configure.host (darwin*): Set os_include_dir to a separate directory for Darwin.
* configure.host (darwin*): Set os_include_dir to a separate directory
for Darwin.
* acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Add a new C locale kind,
'darwin'.
* config/locale/darwin/ctype_members.cc: New.
* config/os/bsd/darwin/ctype_base.h: New.
* config/os/bsd/darwin/ctype_inline.h: New.
* config/os/bsd/darwin/ctype_noninline.h: New.
* config/os/bsd/darwin/os_defines.h: New.
Roger Sayle [Sat, 30 Oct 2004 00:56:59 +0000 (00:56 +0000)]
re PR rtl-optimization/17581 (Long long arithmetic fails inside a switch/case statement when compiled with -O2)
PR rtl-optimization/17581
* cselib.c (cselib_process_insn): The last instruction of a libcall
block, with the REG_RETVAL note, should be considered in the libcall.
* gcse.c (do_local_cprop): Allow constants to be propagated outside
of libcall blocks.
(adjust_libcall_notes): Use simplify_replace_rtx instead of
replace_rtx to avoid creating invalid RTL in REG_RETVAL notes.
Jeff Law [Sat, 30 Oct 2004 00:06:22 +0000 (18:06 -0600)]
tree-ssa-dom.c (struct edge_info): New structure holding edge equivalences and edge redirection information.
* tree-ssa-dom.c (struct edge_info): New structure holding
edge equivalences and edge redirection information.
(get_eq_expr_value, record_dominating_conditions): Kill.
(propagate_to_outgoing_edges): Renamed from cprop_into_phis.
Call record_edge_info.
(allocate_edge_info, free_edge_info): New.
(tree_ssa_dominator_optimize): Use propagate_to_outgoing_edges
rather than cprop_into_phis. Free all edge infos before threading
jumps.
(thread_across_edge): Allocate new edge info structures as needed
and store the redirection target into the edge info structure
instead of the edge's AUX field.
(dom_opt_initialize_block): Mark unused argument with ATTRIBUTE_UNUSED.
(record_equivalence_from_incoming_edge): Lose unnecessary argument.
Revamp code which finds and records equivalences associated with
edges to use saved data in the edge_info structure.
(record_equivalencs_from_phis): Similarly.
(dom_opt_finalize_block): Revamp code which finds and records
equivalences associated with edges to use saved data in the
edge_info structure.
(build_and_record_new_cond): New function.
(record_conditions): Use build_and_record_new_cond to record
dominating conditions.
(record_edge_info): New function.
(record_range): Tighten test for conditions which create
useful range records.
Nathan Sidwell [Fri, 29 Oct 2004 08:35:49 +0000 (08:35 +0000)]
typeck.c (composite_pointer_type): Remove comment about DR 195.
cp:
* typeck.c (composite_pointer_type): Remove comment about DR 195.
(build_reinterpret_cast_1): Revert DR195 patch. Only emit a
warning when being pedantic.
(build_reinterpet_cast, build_c_cast): Adjust.
testsuite:
* g++.dg/conversion/dr195.C: Adjust expected errors for DR195 not
being implemented.
* g++.dg/conversion/dr195-1.C: New.
* g++.old-deja/g++.brendan/operators4.C: Don't be pedantic.
* g++.old-deja/g++.mike/p10148.C: Likewise.
Daniel Berlin [Fri, 29 Oct 2004 02:13:03 +0000 (02:13 +0000)]
tree-into-ssa.c (rewrite_virtual_phi_arguments): New function.
2004-10-28 Daniel Berlin <dberlin@dberlin.org>
* tree-into-ssa.c (rewrite_virtual_phi_arguments): New function.
(rewrite_blocks): Modify argument, and use it to decide which
function to call.
(rewrite_def_def_chains): Call rewrite_blocks with true here.
(rewrite_into_ssa): and call it with false here.
Andrew Pinski [Thu, 28 Oct 2004 23:38:47 +0000 (23:38 +0000)]
visibility-[1-9a].c: Change to use scan-hidden instead of scan-assembler.
2004-10-28 Andrew Pinski <pinskia@physics.uc.edu>
* gcc.dg/visibility-[1-9a].c: Change to use scan-hidden instead of
scan-assembler.
* lib/scanasm.exp (hidden-scan-for): New proc.
(scan-hidden): Use hidden-scan-for instead of constructing the scan
string.
(scan-not-hidden): Likewise.
* lib/target-supports.exp (check_visibility_available): mach-o is
support too.
Added pedantic_min_int to gfc_integer_info Added ARITH_ASYMMETRIC to arith...
Added pedantic_min_int to gfc_integer_info
Added ARITH_ASYMMETRIC to arith
Added support for an "asymmetric integer" warning when compiling with pedantic
Set minimum integer values to reflect realities of two's complement signed integers
Frank Ch. Eigler [Thu, 28 Oct 2004 21:24:33 +0000 (21:24 +0000)]
tree-mudflap.c (mudflap_init): Mark cache-lookup decls to prevent their later unnecessary registration.
2004-10-28 Frank Ch. Eigler <fche@redhat.com>
* tree-mudflap.c (mudflap_init): Mark cache-lookup decls to
prevent their later unnecessary registration.
(mf_build_check_statement_for): Remove "addr" argument, and
related "__mf_value" generated code. Update callers.
(mf_decl_eligible_p): New function, factored from mx_register_decls.
(mx_register_decls): Call it.
(mf_xform_derefs_1): Rewrite COMPONENT_REF and ARRAY_REF cases
to restore support for complex nested expressions.
(mudflap_enqueue_decl): Simplify. Move registration call emission
out ...
(mudflap_finish_file): ... to here.
(mudflap_enqueue_constant): Remove dump code.
Zack Weinberg [Thu, 28 Oct 2004 21:00:59 +0000 (21:00 +0000)]
re PR debug/18199 (AIX XCOFF debugging broken)
PR 18199
* dbxout.c (dbxout_begin_complex_stabs_noforcetext): New function.
(DBX_FINISH_STABS): Add (unused by default) SYM parameter.
(dbxout_finish_complex_stabs): Update to match.
(dbxout_symbol_location): Call emit_pending_bincls_if_required
and FORCE_TEXT before DBX_STATIC_BLOCK_START. Use
dbxout_begin_complex_stabs_noforcetext.
* xcoffout.h (DBX_FINISH_STABS): Restore special case for
N_GSYM, using new SYM parameter. Correct logic for special
cases for N_FUN.
Adam Nemet [Thu, 28 Oct 2004 19:31:25 +0000 (19:31 +0000)]
re PR middle-end/18160 (ICE on taking register variable address)
PR middle-end/18160
* gcc.dg/register-var-1.c: New test.
* gcc.dg/register-var-2.c: New test.
* gcc.dg/asm-7.c: Taking the address of a register variable is an
error now.
alpha.md (movqicc_internal): Allow exactly one zero in the conditional.
* config/alpha/alpha.md (movqicc_internal): Allow exactly one
zero in the conditional.
(movhicc_internal, movsicc_internal, movdicc_internal): Likewise.
* lambda-code.c (nestify_update_pending_stmts): Remove.
(perfect_nestify): Use flush_pending_stmts instead of
nestify_update_pending_stmts.
* tree-cfg.c (tree_make_forwarder_block): Use
flush_pending_stmts.
* tree-flow.h: Add a prototype for flush_pending_stmts.
* tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge):
Use flush_pending_stmts.
(lv_update_pending_stmts): Remove.
(tree_ssa_loop_version): Use flush_pending_stmts instead of
lv_update_pending_stmts.
* tree-ssa.c (flush_pending_stmts): New.
Ulrich Weigand [Thu, 28 Oct 2004 12:47:21 +0000 (12:47 +0000)]
re PR target/15286 (ICE cause by reload)
PR target/15286
* final.c (alter_subreg): Compute correct offset to use with
paradoxical SUBREGs of memory operands.
* recog.c (general_operand): Allow paradoxical SUBREGs of
memory operands after reload.
* simplify-rtx.c (simplify_gen_subreg): Fail if simplify_subreg
has failed when passed a hard register.