Roger Sayle [Sat, 11 Dec 2004 01:49:05 +0000 (01:49 +0000)]
re PR target/18002 ('while' loop performace regression on avr target)
PR target/18002
PR middle-end/18424
* dojump.c (do_jump): When attempting to reverse the effects of
fold_single_bit_test, we need to STRIP_NOPS and narrowing type
conversions, and handle BIT_XOR_EXPR that's used to invert the
sense of the single bit test.
From-SVN: r92024
GCC Administrator [Sat, 11 Dec 2004 00:16:20 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r92022
Devang Patel [Sat, 11 Dec 2004 00:01:59 +0000 (16:01 -0800)]
re PR driver/18732 (Compiler will not compile two source files if first has error or is unreadable)
PR 18732
* gcc.c (main): Do not break out of loop when error is reported while
processing one source file.
From-SVN: r92018
Diego Novillo [Fri, 10 Dec 2004 21:54:42 +0000 (21:54 +0000)]
tree-into-ssa.c (REWRITE_THIS_STMT): Define.
* tree-into-ssa.c (REWRITE_THIS_STMT): Define.
(mark_def_sites): Clear REWRITE_THIS_STMT for statements that
don't need any operands rewritten.
(rewrite_stmt): Ignore statements that don't need to be
rewritten.
(rewrite_operand): Validate that an existing SSA_NAME is
identical to the current reaching definition of the operand.
* tree-dfa.c (mark_call_clobbered_vars_to_rename): New function.
* tree-vectorizer.c (vectorizable_load): Call it.
* tree-flow.h (mark_call_clobbered_vars_to_rename): Declare.
* tree-sra.c (mark_all_v_defs): Also mark VUSEs for renaming.
From-SVN: r92010
Ben Elliston [Fri, 10 Dec 2004 21:25:00 +0000 (21:25 +0000)]
fibheap.h (struct fibnode): Only use unsigned long bitfields when __GNUC__ is defined and ints are less...
[include]
* fibheap.h (struct fibnode): Only use unsigned long bitfields
when __GNUC__ is defined and ints are less than 32-bits wide.
[libiberty]
* configure.ac: Invoke AC_CHECK_SIZEOF for sizeof (int).
* configure: Regenerate.
* config.in: Likewise.
From-SVN: r92009
Kazu Hirata [Fri, 10 Dec 2004 21:11:02 +0000 (21:11 +0000)]
regmove.c (combine_stack_adjustments_for_block): Free memlist if it hasn't been freed.
* regmove.c (combine_stack_adjustments_for_block): Free
memlist if it hasn't been freed.
From-SVN: r92008
Ziemowit Laski [Fri, 10 Dec 2004 21:08:22 +0000 (21:08 +0000)]
c-typeck.c (lookup_field): Check if a TYPE_LANG_SPECIFIC pointer field is set before dereferencing it.
[gcc/ChangeLog]
2004-12-10 Ziemowit Laski <zlaski@apple.com>
* c-typeck.c (lookup_field): Check if a TYPE_LANG_SPECIFIC
pointer field is set before dereferencing it.
From-SVN: r92007
Andrew Pinski [Fri, 10 Dec 2004 19:32:14 +0000 (19:32 +0000)]
re PR middle-end/18903 (ice in bsi_after_labels)
2004-12-10 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/18903
* gcc.c-torture/compile/pr18903.c: New test.
2004-12-10 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/18903
* tree-cfg.c (remove_bb): Put the moved label at the beginning
of the basic block.
From-SVN: r92006
Kazu Hirata [Fri, 10 Dec 2004 17:58:07 +0000 (17:58 +0000)]
tree-ssa-dom.c (thread_across_edge): Speed up by avoiding a call to is_gimple_min_invariant if we know the result.
* tree-ssa-dom.c (thread_across_edge): Speed up by avoiding a
call to is_gimple_min_invariant if we know the result.
From-SVN: r92003
Kazu Hirata [Fri, 10 Dec 2004 17:51:43 +0000 (17:51 +0000)]
tree-data-ref.c (free_data_refs): Free each data_reference object.
* tree-data-ref.c (free_data_refs): Free each data_reference
object.
From-SVN: r92002
Jeff Law [Fri, 10 Dec 2004 17:28:32 +0000 (10:28 -0700)]
tree-ssa-alias.c (setup_pointers_and_addressables): Remove redundant test of v_ann->mem_tag_kind.
* tree-ssa-alias.c (setup_pointers_and_addressables): Remove
redundant test of v_ann->mem_tag_kind.
* tree-ssa-operands.c (get_indirect_ref_operands): Remove
redundant conditional clearing opf_kill_def.
From-SVN: r92000
Richard Sandiford [Fri, 10 Dec 2004 16:33:25 +0000 (16:33 +0000)]
frv-modes.def: Fix comment typos.
* config/frv/frv-modes.def: Fix comment typos.
(CC_NZ): Define new mode.
* config/frv/frv-protos.h (frv_select_cc_mode): Declare.
(condexec_intop_cmp_operator): Delete.
* config/frv/frv.c (comparison_string): New function.
(frv_print_operand): Use it to handle 'c' and 'C'.
(relational_operator): Redefine in terms of integer_relational_operator
and float_relational_operator.
(signed_relational_operator, unsigned_relational_operator): Delete.
(integer_relational_operator): New predicate, combining the above.
Check the mode of the first operand but leave frv.md to check the rest.
(float_relational_operator): Just check the mode of the first operand
and leave frv.md to check the rest.
(intop_compare_operator): Assume the result is compared with zero
in mode CC_NZmode. Allow PLUS and MINUS. Leave frv.md to check
the operand predicates.
(condexec_intop_cmp_operator): Delete.
(frv_ifcvt_modify_tests, frv_ifcvt_modify_multiple_tests)
(frv_hard_regno_mode_ok): Handle CC_NZmode.
(frv_select_cc_mode): New function.
* config/frv/frv.h (SELECT_CC_MODE): Use frv_select_cc_mode.
(REVERSIBLE_CC_MODE): Include CC_NZmode.
(PREDICATE_CODES): Replace entries for signed_relational_operand and
unsigned_relational_operator with one for integer_relational_operator.
Delete entry for condexec_intop_cmp_operator.
* config/frv/frv.md (movcc_nz, *internal_movcc_nz, reload_incc_nz)
(reload_outcc_nz, *cmpsi_cc_nz, *cond_exec_cmpsi_cc_nz): New patterns.
(*combo_intop_compare2, *combo_intop_compare4): Delete.
(*combo_intop_compare1): Change mode to CC_NZ.
(*combo_intop_compare2): Likewise. Renamed from *combo_intop_compare3.
(branch_{un,}signed_true, branch_{un,}signed_false)
(*scc_{un,}signed, *scc_neg1_{un,}signed, *ck_{un,}signed)
(*movqicc_internal1_{un,}signed, *movqicc_internal2_{un,}signed)
(*movhicc_internal1_{un,}signed, *movhicc_internal2_{un,}signed)
(*movsicc_internal1_{un,}signed, *movsicc_internal2_{un,}signed)
(*movsfcc_has_fprs_{un,}signed, *movsfcc_no_fprs_{un,}signed)
(*return_{unsigned_,}true, *return_{unsigned_,}false): Merge these
pattern pairs. Use integer_relational_operator. Remove mode from
icc_operand.
From-SVN: r91997
Mark Dettinger [Fri, 10 Dec 2004 16:25:51 +0000 (16:25 +0000)]
s390.c (struct processor_costs): New fields ml, sqdbr, sqebr.
2004-12-06 Mark Dettinger <dettinge@de.ibm.com>
* config/s390/s390.c (struct processor_costs): New fields ml,
sqdbr, sqebr.
(s390_rtx_costs): Added the missing handling of multiply & add,
square root, and umulsidi.
From-SVN: r91996
Volker Reichelt [Fri, 10 Dec 2004 16:04:22 +0000 (16:04 +0000)]
re PR c++/18731 (ICE on invalid template declaration)
PR c++/18731
* parser.c (cp_parser_class_head): Reject typedef-name in class head.
* g++.dg/parser/struct-1.C: New test.
* g++.dg/parser/struct-2.C: New test.
* g++.dg/parser/struct-3.C: New test.
From-SVN: r91993
Kazu Hirata [Fri, 10 Dec 2004 15:06:52 +0000 (15:06 +0000)]
expmed.c (synth_mult): Initialize new_limit.latency before making a recursive call.
* expmed.c (synth_mult): Initialize new_limit.latency before
making a recursive call.
From-SVN: r91992
Nick Clifton [Fri, 10 Dec 2004 14:03:45 +0000 (14:03 +0000)]
(legitimate_address_p): Reject address whose index is itself the sum of two
other parts.
From-SVN: r91991
Paolo Carlini [Fri, 10 Dec 2004 11:45:13 +0000 (11:45 +0000)]
type_traits: Implement remove_const, remove_volatile, and remove_cv.
2004-12-10 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits: Implement remove_const, remove_volatile,
and remove_cv.
* testsuite/tr1/4_metaprogramming/const_volatile_modifications/
remove_const.cc: New.
* testsuite/tr1/4_metaprogramming/const_volatile_modifications/
remove_cv.cc: Likewise.
* testsuite/tr1/4_metaprogramming/const_volatile_modifications/
remove_volatile.cc: Likewise.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_array/is_array.cc: Slightly tweak consistently, remove typedefs,
add a few tests.
From-SVN: r91990
Alan Modra [Fri, 10 Dec 2004 10:28:22 +0000 (20:58 +1030)]
* config/t-slibgcc-sld (SHLIB_LINK): Correct symlink.
From-SVN: r91989
Uros Bizjak [Fri, 10 Dec 2004 07:05:15 +0000 (08:05 +0100)]
i386.md (*cmpfp_sf): Change type attribute to "multi".
* config/i386/i386.md (*cmpfp_sf): Change type
attribute to "multi".
From-SVN: r91988
Richard Henderson [Fri, 10 Dec 2004 06:18:03 +0000 (22:18 -0800)]
* gcc.dg/loop-3.c: Don't use i386 tuning for amd64.
From-SVN: r91987
Richard Henderson [Fri, 10 Dec 2004 06:07:08 +0000 (22:07 -0800)]
fp-cmp-4q.c: Remove.
* gcc.c-torture/execute/ieee/fp-cmp-4q.c: Remove.
* gcc.c-torture/execute/ieee/fp-cmp-8q.c: Remove.
From-SVN: r91986
GCC Administrator [Fri, 10 Dec 2004 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r91982
Richard Henderson [Thu, 9 Dec 2004 22:56:57 +0000 (14:56 -0800)]
Testcase for PR c/18282.
From-SVN: r91979
Richard Henderson [Thu, 9 Dec 2004 22:55:41 +0000 (14:55 -0800)]
re PR c/18282 (PR c/17384 patch causes regression from 3.4.2)
PR c/18282
* attribs.c (decl_attributes): Use relayout_decl.
* c-common.c (handle_mode_attribute): Copy all relevant type
parameters from the new underlying integral type.
From-SVN: r91978
Richard Henderson [Thu, 9 Dec 2004 22:52:15 +0000 (14:52 -0800)]
c-common.c (shorten_compare): Don't special-case min/maxval for C enumerations.
* c-common.c (shorten_compare): Don't special-case min/maxval
for C enumerations.
From-SVN: r91974
Matt Austern [Thu, 9 Dec 2004 21:07:01 +0000 (21:07 +0000)]
re PR c++/18514 (Alternate "asm" name ignored for redeclared builtin function imported into namespace std)
PR c++/18514
* name-lookup.c (do_nonmember_using_decl): A real function
declaration takes precedence over an anticipated declaration.
* g++.dg/ext/builtin1.C: New
* g++.dg/ext/builtin2.C: New
* g++.dg/ext/builtin3.C: New
* g++.dg/ext/builtin4.C: New
* g++.dg/ext/builtin5.C: New
From-SVN: r91972
Volker Reichelt [Thu, 9 Dec 2004 20:47:35 +0000 (20:47 +0000)]
* parser.c (cp_parser_member_declaration): Fix comment typo.
From-SVN: r91970
Richard Sandiford [Thu, 9 Dec 2004 20:28:14 +0000 (20:28 +0000)]
simplify-rtx.c (simplify_subreg): In the CONCAT case...
* simplify-rtx.c (simplify_subreg): In the CONCAT case, check whether
the request subreg is entirely contained in the requested component.
(simplify_gen_subreg): Return null for CONCATs that are rejected
by simplify_subreg.
* expmed.c (store_bit_field): Create a temporary when changing the
value to an integer mode.
From-SVN: r91965
David Edelsohn [Thu, 9 Dec 2004 20:21:45 +0000 (20:21 +0000)]
* real.c (ibm_extended): Correct comment.
From-SVN: r91964
Stan Shebs [Thu, 9 Dec 2004 18:25:15 +0000 (18:25 +0000)]
darwin-asm.h: New file, 32/64-bit assembly macros formerly in darwin-tramp.asm.
* config/rs6000/darwin-asm.h: New file, 32/64-bit assembly macros
formerly in darwin-tramp.asm.
* config/rs6000/darwin-tramp.asm: Include darwin-asm.h.
* config/rs6000/darwin-fpsave.asm: Use 32/64-bit macros.
* config/rs6000/t-darwin: Add dependencies.
From-SVN: r91960
Paolo Carlini [Thu, 9 Dec 2004 17:54:27 +0000 (17:54 +0000)]
type_traits: Implement remove_extent and remove_all_extents.
2004-12-09 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits: Implement remove_extent and
remove_all_extents.
* testsuite/tr1/4_metaprogramming/array_modifications/
remove_all_extents.cc: New.
* testsuite/tr1/4_metaprogramming/array_modifications/
remove_extent.cc: Likewise.
From-SVN: r91958
Richard Henderson [Thu, 9 Dec 2004 17:33:42 +0000 (09:33 -0800)]
re PR target/17025 (attribute regparm code-generation bug)
PR target/17025
* config/i386/i386.md (testqi_1_maybe_si, andqi_2_maybe_si): New.
(test_qi_1, andqi_2): Do not promote to simode.
From-SVN: r91956
David Edelsohn [Thu, 9 Dec 2004 16:31:19 +0000 (16:31 +0000)]
re PR bootstrap/18895 (libgfortran AM_MAKEFLAGS arg list + environment too large)
PR bootstrap/18895
Revert 2004-12-07 change.
* Makefile.am (AM_MAKEFLAGS): Delete.
* Makefile.in: Regenerate.
From-SVN: r91955
Andrew Pinski [Thu, 9 Dec 2004 16:17:07 +0000 (16:17 +0000)]
re PR tree-optimization/18904 (4.0-
20041205 regression ICE with -O3)
2004-12-09 Andrew Pinski <pinskia@physics.uc.edu>
PR tree-opt/18904
* g++.dg/opt/ptrmem5.C: New test.
2004-12-09 Andrew Pinski <pinskia@physics.uc.edu>
PR tree-opt/18904
* tree-chrec.c (chrec_convert): Use fold_convert
instead of convert.
From-SVN: r91954
Matt Rice [Thu, 9 Dec 2004 15:54:15 +0000 (15:54 +0000)]
re PR preprocessor/18102 (darwin framework header search depends on order of options)
2004-12-09 Matt Rice <ratmice@yahoo.com>
PR preprocessor/18102
* c-incpath.c (remove_duplicates): Check for construct
equality.
From-SVN: r91953
Alexandre Oliva [Thu, 9 Dec 2004 12:33:09 +0000 (12:33 +0000)]
re PR c++/18757 (ICE (on invalid) in get_innermost_template_args)
gcc/cp/ChangeLog:
PR c++/18757
* parser.c (cp_parser_template_id): Don't create a CPP_TEMPLATE_ID
if parsing failed.
gcc/testsuite/ChangeLog:
* g++.dg/parse/typename5.C: Adjust for new error.
* g++.dg/parse/typename7.C: New.
From-SVN: r91935
Dorit Naishlos [Thu, 9 Dec 2004 11:06:20 +0000 (11:06 +0000)]
genopinit.c (vec_realign_store_optab): Initialization removed.
2004-12-09 Dorit Naishlos <dorit@il.ibm.com>
* genopinit.c (vec_realign_store_optab): Initialization removed.
* optabs.c (optab_for_tree_code): REALIGN_STORE_EXPR case removed.
* optabs.h (optab_index): OTI_vec_realign_store Removed.
(vec_realign_store_optab): Removed.
* target-def.h (TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE): Removed.
* target.h (builtin_mask_for_store): Removed.
* tree.def (REALIGN_STORE_EXPR): Removed.
* config/rs6000/rs6000.c (rs6000_builtin_mask_for_store): Removed.
(altivec_builtin_mask_for_store): Removed.
(altivec_init_builtins): Removed initialization of
altivec_builtin_mask_for_store.
* doc/tm.texi (TARGET_VECTORIZE_MISALIGNED_MEM_OK): New.
(TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): New.
From-SVN: r91932
Nathan Sidwell [Thu, 9 Dec 2004 10:54:50 +0000 (10:54 +0000)]
tree.def (SET_TYPE): Remove.
* tree.def (SET_TYPE): Remove.
(CONSTRUCTOR): Update description.
* builtins.c (type_to_class) Remove SET_TYPE case.
* dbxout.c (dbxout_type): Likewise.
* dwarf2out.c (is_base_type): Likewise.
(gen_set_type_die): Remove.
(gen_type_die): Remove SET_TYPE case.
* expr.c (count_type_elements): Likewise.
(mostly_zeroes_p): Likewise.
(store_constructor): Likewise.
* print_tree.c (print_node): Likewise.
* stor-layout.c (layout_type): Likewise.
* tree-browser.c (browse_tree): Likewise.
* tree-inline.c (remap_type): Likewise.
* tree-pretty-print.c (dump_generic_node): Likewise.
* tree.c (type_contains_plaeholder_1, type_hash_eq,
variably_modified_type_p, initializer_zerop): Likewise.
* tree.h (SET_OR_ARRAY_CHECK): Remove.
(AGGREGATE_TYPE_P): Remove SET_TYPE check.
(TYPE_DOMAIN): Use ARRAY_TYPE_CHECK.
* typeclass.h (enum type_class): Remove set_type_class.
* varasm.c (const_hash_1): Remove SET_TYPE case.
(compare_constant, copy_constant, output_constant): Likewise.
* config/i386/i386.c (classify_argument): Likewise.
* config/ia64/ia64.c (hfa_element_mode): Likewise.
* config/sparc/sparc.c (sparc_type_code): Likewise.
* ada/decl.c (gnat_substitute_in_type): Remove SET_TYPE case.
From-SVN: r91931
Nathan Sidwell [Thu, 9 Dec 2004 10:43:54 +0000 (10:43 +0000)]
re PR c++/16681 (array initialization in struct construct is a memory hog)
PR c++/16681
* tree-inline.c (estimate_num_insns_1): Add RANGE_EXPR case.
From-SVN: r91930
Volker Reichelt [Thu, 9 Dec 2004 10:34:21 +0000 (10:34 +0000)]
re PR c++/18073 (mmintrin.h rejected by C++ frontend)
PR c++/18073
* typeck.c (build_reinterpret_cast_1): Allow cast from vector type.
* g++.dg/other/mmintrin.C: New test.
From-SVN: r91929
Nathan Sidwell [Thu, 9 Dec 2004 09:37:37 +0000 (09:37 +0000)]
re PR c++/16681 (array initialization in struct construct is a memory hog)
cp:
PR c++/16681
* init.c (build_zero_init): Build a RANGE_EXPR for an array
initializer.
testsuite:
PR c++/16681
* g++.dg/init/array15.C: New.
* g++.dg/init/array16.C: New.
From-SVN: r91928
Richard Henderson [Thu, 9 Dec 2004 07:21:19 +0000 (23:21 -0800)]
* config/i386/i386.md: Use FLAGS_REG everywhere.
From-SVN: r91927
Kelley Cook [Thu, 9 Dec 2004 01:27:29 +0000 (01:27 +0000)]
Makefile.am: Add ../config to ACLOCAL_AMFLAGS.
2004-12-08 Kelley Cook <kcook@gcc.gnu.org>
* Makefile.am: Add ../config to ACLOCAL_AMFLAGS.
* aclocal.m4, Makefile.in, testsuite/Makefile.in: Regenerate.
From-SVN: r91926
Eric Christopher [Thu, 9 Dec 2004 01:04:40 +0000 (01:04 +0000)]
mips.c (mips_scalar_mode_supported_p): Rewrite to avoid call to default function.
2004-12-08 Eric Christopher <echristo@redhat.com>
* config/mips/mips.c (mips_scalar_mode_supported_p): Rewrite
to avoid call to default function.
From-SVN: r91925
GCC Administrator [Thu, 9 Dec 2004 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r91923
Kelley Cook [Wed, 8 Dec 2004 23:47:20 +0000 (23:47 +0000)]
typeck.c: Remove DOS line endings.
2004-12-08 Kelley Cook <kcook@gcc.gnu.org>
* typeck.c: Remove DOS line endings.
From-SVN: r91919
Richard Henderson [Wed, 8 Dec 2004 21:17:18 +0000 (13:17 -0800)]
intrinsic.c (gfc_convert_type_warn): Propagate the input shape to the output expression.
* intrinsic.c (gfc_convert_type_warn): Propagate the input shape
to the output expression.
* iresolve.c (gfc_resolve_cshift, gfc_resolve_eoshift): Suppress
warning conversion.
(gfc_resolve_reshape): Force convert SHAPE and ORDER parameters
to index kind.
From-SVN: r91917
David Edelsohn [Wed, 8 Dec 2004 20:25:58 +0000 (20:25 +0000)]
Makefile.def (flags_to_pass): Add PICFLAG_FOR_TARGET.
* Makefile.def (flags_to_pass): Add PICFLAG_FOR_TARGET.
* Makefile.tpl (EXTRA_HOST_FLAGS): Add PICFLAG.
(EXTRA_TARGET_FLAGS): Add PICFLAG.
* Makefile.in: Regenerate.
From-SVN: r91916
Zack Weinberg [Wed, 8 Dec 2004 19:13:35 +0000 (19:13 +0000)]
re PR middle-end/17982 (stop calling assemble_external before final assembly output time)
PR 17982
* varasm.c (pending_assemble_externals): New static.
(assemble_external_real): Meat of assemble_external split out
to this new function.
(process_pending_assemble_externals): New function.
(assemble_external): Use gcc_assert. If flag_unit_at_a_time
is true and the basic test passes, merely cons the decl onto
the pending list to be handled later.
* tree.h: Declare process_pending_assemble_externals.
* cgraphunit.c (cgraph_optimize): Call it.
* config/h8300/h8300.h: Do not define ASM_OUTPUT_EXTERNAL.
From-SVN: r91914
Kazu Hirata [Wed, 8 Dec 2004 18:52:48 +0000 (18:52 +0000)]
cfgloopmanip.c (create_preheader): Speed up by "unrolling" and simplifying FOR_EACH_EDGE.
* cfgloopmanip.c (create_preheader): Speed up by "unrolling"
and simplifying FOR_EACH_EDGE.
From-SVN: r91913
Paolo Carlini [Wed, 8 Dec 2004 16:33:51 +0000 (16:33 +0000)]
type_traits: Implement is_same, add_reference and remove_reference.
2004-12-08 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits: Implement is_same, add_reference and
remove_reference.
* testsuite/testsuite_tr1.h (test_relationship): New.
* testsuite/tr1/4_metaprogramming/reference_modifications/
add_reference.cc: New.
* testsuite/tr1/4_metaprogramming/reference_modifications/
remove_reference.cc: Likewise.
* testsuite/tr1/4_metaprogramming/relationships_between_types/
is_same/is_same.cc: Likewise.
* testsuite/tr1/4_metaprogramming/relationships_between_types/
is_same/typedefs.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/is_const/
is_const.cc: Minor tweaks.
* testsuite/tr1/4_metaprogramming/type_properties/is_volatile/
is_volatile.cc: Likewise.
From-SVN: r91907
Christopher Faylor [Wed, 8 Dec 2004 15:57:14 +0000 (15:57 +0000)]
* MAINTAINERS: Update my email address.
From-SVN: r91906
David Edelsohn [Wed, 8 Dec 2004 15:48:53 +0000 (15:48 +0000)]
Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and PICFLAG.
* Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
PICFLAG.
* Makefile.in: Regenerated.
From-SVN: r91905
David Edelsohn [Wed, 8 Dec 2004 15:43:17 +0000 (10:43 -0500)]
clarify previous entry.
From-SVN: r91904
David Edelsohn [Wed, 8 Dec 2004 15:41:41 +0000 (15:41 +0000)]
Makefile.am (LIBCFLAGS): Remove duplicate.
* Makefile.am (LIBCFLAGS): Remove duplicate.
(PICFLAG): Remove duplicate.
* Makefile.in: Regenerated.
From-SVN: r91903
Tobias Schlüter [Wed, 8 Dec 2004 14:38:24 +0000 (15:38 +0100)]
Add missing PR numbers for previous commit:
fortran/
PR fortran/18826
* resolve.c (resolve_code): Impose correct restrictions on
assigned variable.
testsuite/
PR fortran/18826
* gfortran.dg/assign_1.f90: New test.
From-SVN: r91902
Andrew Haley [Wed, 8 Dec 2004 14:08:22 +0000 (14:08 +0000)]
re PR java/18811 (rhug build problem, regression?)
2004-12-07 Andrew Haley <aph@redhat.com>
PR java/18811:
* jcf-parse.c (load_class): Remove sanity test for missing inner
class file.
From-SVN: r91901
Andrew Haley [Wed, 8 Dec 2004 14:01:50 +0000 (14:01 +0000)]
jcf-parse.c (load_class): Remove sanity test for missing inner class file.
2004-12-07 Andrew Haley <aph@redhat.com>
* jcf-parse.c (load_class): Remove sanity test for missing inner
class file.
From-SVN: r91900
Tobias Schlüter [Wed, 8 Dec 2004 12:29:44 +0000 (13:29 +0100)]
* decl.c (gfc_match_end): Use locus of END when eos is an error.
From-SVN: r91899
Tobias Schlüter [Wed, 8 Dec 2004 12:27:54 +0000 (13:27 +0100)]
resolve.c (resolve_code): Impose correct restrictions on assigned variable.
fortran/
* resolve.c (resolve_code): Impose correct restrictions on
assigned variable.
testsuite/
* gfortran.dg/assign_1.f90: New test.
From-SVN: r91898
Arnaud Charlet [Wed, 8 Dec 2004 11:53:25 +0000 (12:53 +0100)]
Resync.
From-SVN: r91897
Arnaud Charlet [Wed, 8 Dec 2004 11:49:44 +0000 (12:49 +0100)]
g-socket.ads (Get_Host_By_Address, [...]): Clarify documentation of the behaviour of these functions when...
* g-socket.ads (Get_Host_By_Address, Get_Host_By_Name): Clarify
documentation of the behaviour of these functions when passed an IP
address that has no record in the system hosts database and no reverse
record in the DNS.
* cstand.adb, a-tags.ads: Fix typos in comment.
* exp_ch2.adb, exp_ch3.adb, exp_ch5.adb, exp_ch8.adb,
exp_ch9.adb, exp_pakd.adb, interfac.ads, sem_ch6.adb,
sem_ch7.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb,
s-poosiz.ads: Minor reformatting
* make.adb: Minor reformatting
Add some ??? comments asking for more comments
* s-poosiz.adb: Minor reformatting
Add comments on alignment requirement
* sinfo.ads: Remove obsolete comment and fix typo.
* gnat_ugn.texi: Update the section "The GNAT Driver and Project
Files" with the new tool and package names.
Reformatting to suppress most of the warnings for line too long
Document the new section "Project Search Path:" in the output of
gnatls -v.
Add gnatmetric section
* vms_data.ads: Correct GNAT METRIC qualifiers: -I-, -Idir and
-gnatec= are not direct switches of gnatmetric. Changed -eis to -eps
and -eit to -ept. Added qualifier
/ELEMENT_METRICS=CONSTRUCT_NESTING_MAX for new switch -ec.
From-SVN: r91896
Arnaud Charlet [Wed, 8 Dec 2004 11:49:07 +0000 (12:49 +0100)]
* vxaddr2line.adb: Add support for x86 vxworks
From-SVN: r91895
Arnaud Charlet [Wed, 8 Dec 2004 11:48:53 +0000 (12:48 +0100)]
sem_ch8.adb (Find_Type): If node is a reference to 'Base and the prefix is not a scalar type...
* sem_ch8.adb (Find_Type): If node is a reference to 'Base and the
prefix is not a scalar type, place error message on prefix, not on
type entity.
From-SVN: r91894
Arnaud Charlet [Wed, 8 Dec 2004 11:48:38 +0000 (12:48 +0100)]
sem_ch5.adb (One_Bound): Remove call to Resolve...
* sem_ch5.adb (One_Bound): Remove call to Resolve, as the bound needs
to be resolved later as part of Analyze_Iteration_Scheme's call to
Make_Index.
From-SVN: r91893
Arnaud Charlet [Wed, 8 Dec 2004 11:48:22 +0000 (12:48 +0100)]
sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram used to record an implicit dereference as a read operation on...
* sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram
used to record an implicit dereference as a read operation on its
prefix when operating under -gnatc. Necessary to avoid spurious
'variable assigned but never read' warnings in that mode.
(Process_Indexed_Component, Analyze_Selected_Component): When the prefix
is a non-overloaded implicit dereference, call the above subprogram to
ensure proper recording of references.
From-SVN: r91892
Arnaud Charlet [Wed, 8 Dec 2004 11:48:04 +0000 (12:48 +0100)]
nlists.adb (Prepend_Debug): Remove parameters and nest within Prepend.
* nlists.adb (Prepend_Debug): Remove parameters and nest within
Prepend.
(Remove_Next_Debug): Same fix
* nlists.ads: Correct bad comments for Prev and Prev_Non_Pragma (we do
maintain back pointers now, though we did not used to, and comments
were out of date).
(Prepend): Remove pragma Inline.
(Remove_Next): Same cleanup
From-SVN: r91891
Arnaud Charlet [Wed, 8 Dec 2004 11:47:46 +0000 (12:47 +0100)]
misc.c (gnat_types_compatible_p, [...]): Remove.
* misc.c (gnat_types_compatible_p, LANG_HOOKS_TYPES_COMPATIBLE_P):
Remove.
(LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): New.
* adaint.h: (__gnat_dup, __gnat_dup2): Add missing decls.
* trans.c (Exception_Handler_to_gnu_sjlj): Also handle renamed
exception.
(call_to_gnu): Convert to actual DECL_ARG_TYPE, not variant of it.
From-SVN: r91890
Arnaud Charlet [Wed, 8 Dec 2004 11:47:34 +0000 (12:47 +0100)]
* Makefile.in: Add support for foreign threads on VMS.
From-SVN: r91889
Arnaud Charlet [Wed, 8 Dec 2004 11:47:21 +0000 (12:47 +0100)]
lib-xref.adb (Generate_Reference): Handle properly a reference to an entry formal...
* lib-xref.adb (Generate_Reference): Handle properly a reference to an
entry formal, when an accept statement has a pragma Unreferenced for it.
* sem_ch9.adb (Analyze_Accept_Statement): Reset the Is_Referenced flag
and the Has_Pragma_Unreferenced flag for each formal before analyzing
the body, to ensure that warnings are properly emitted for each accept
statement of a given task entry.
From-SVN: r91888
Arnaud Charlet [Wed, 8 Dec 2004 11:46:58 +0000 (12:46 +0100)]
* g-regpat.adb: (Match): Change a misuse of or to or else
From-SVN: r91887
Arnaud Charlet [Wed, 8 Dec 2004 11:46:45 +0000 (12:46 +0100)]
g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a compile-time warning.
* g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a
compile-time warning.
From-SVN: r91886
Arnaud Charlet [Wed, 8 Dec 2004 11:46:30 +0000 (12:46 +0100)]
gnatmem.adb, [...]: Output the copyright message on a separate line from the version message.
* gnatmem.adb, gnatname.adb, gnatsym.adb, gprcmd.adb, vms_conv.adb:
Output the copyright message on a separate line from the version
message.
From-SVN: r91885
Arnaud Charlet [Wed, 8 Dec 2004 11:46:11 +0000 (12:46 +0100)]
exp_dist.adb (Specific_Build_General_Calling_Stubs, [...]): New subprograms.
* exp_dist.adb (Specific_Build_General_Calling_Stubs,
Specific_Build_Stub_Target): New subprograms.
(Build_Subprogram_Calling_Stubs): Make this procedure independent from
the PCS implementation used, using the above PCS-customized subprograms.
Minor reformatting.
(PolyORB_Support.Helpers): New subunit containing supporting subprograms
for generation of DSA code targeted to the PolyORB PCS.
(Add_Stub_Type): Rewrite to isolate the parts that are specific to one
implementation of the partition communication subsystem in ancillary
subprograms.
(Specific_Build_Stub_Type, GARLIC_Support.Build_Stub_Type,
PolyORB_Support.Build_Stub_Type): New subrograms containing the
PCS-specific part of Add_Stub_Type.
(Insert_Partition_Check): Use runtime library function to perform
E.4(19) check.
* rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref
(RE_Same_Partition): New entity, from s-parint.
* s-parint.ads, s-parint.adb (Same_Partition): New subprogram.
From-SVN: r91884
Arnaud Charlet [Wed, 8 Dec 2004 11:45:51 +0000 (12:45 +0100)]
exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of construct is rewritten...
* exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of
construct is rewritten, preserve end label to permit source navigation.
From-SVN: r91883
Arnaud Charlet [Wed, 8 Dec 2004 11:27:00 +0000 (12:27 +0100)]
exp_ch6.adb (Expand_Call): Add comment on handling of back end intrinsic
* exp_ch6.adb (Expand_Call): Add comment on handling of back end
intrinsic
* exp_intr.adb (Expand_Intrinsic_Call): Ignore unrecognized intrinsic,
leaving call unchanged.
This deals with the case where the pragma Import specified
an external name, to be handled by the back end.
* sem_prag.adb (Process_Import_Or_Interface): Do not check validity of
subprogram which is Imported with convention Intrinsic if an
External_Name argument is specified.
(Process_Import_Or_Interface): Properly diagnose link name argument.
(Inlining_Not_Possible): New name for Cannot_Inline, to avoid confusion
with Sem_Ch6.Cannot_Inline.
(Process_Inline): Provide separate warning for inapplicable inline
pragma.
(Cannot_Inline): Reject subprograms that have an at_end handler, so that
treatment is uniform on different targets.
From-SVN: r91882
Arnaud Charlet [Wed, 8 Dec 2004 11:26:46 +0000 (12:26 +0100)]
exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component with an implicit dereference as its prefix...
* exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component
with an implicit dereference as its prefix, use
Insert_Explicit_Dereference instead of merely rewriting the prefix into
an explicit dereference. This ensures that a reference to the original
prefix is generated, if appropriate.
* sem_util.adb (Insert_Explicit_Dereference): When an implicit
dereference is rewritten to an explicit one, generate a reference to
the entity denoted by its prefix using the original prefix node, so
the dereference can be properly recorded as a read of the denoted
access value, if appropriate.
* sem_warn.adb (Output_Unreferenced_Messages): Do not abstain from
emitting 'assigned but never read' warning on a variable on the basis
that it has an access type.
(Check_References): Emit unreferenced warning when the scope is a
subprogram body.
From-SVN: r91881
Arnaud Charlet [Wed, 8 Dec 2004 11:26:32 +0000 (12:26 +0100)]
* eval_fat.adb: Revert previous change.
From-SVN: r91880
Arnaud Charlet [Wed, 8 Dec 2004 11:26:20 +0000 (12:26 +0100)]
decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for TYPE_SIZE_UNIT of result type if...
* decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for
TYPE_SIZE_UNIT of result type if SIZE is not specified.
(make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation
of a bitfield, which we know is useless and causes trouble because of
alignment implications.
* utils.c (create_var_decl): Set DECL_COMMON again on targets without
BSS sections.
(process_attributes): Clear DECL_COMMON again when a section attribute
is present.
(finish_record_type): Independently track if RECORD_TYPE has SIZE and/or
SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT.
(create_field_decl): Special case ADDRESSABLE negative to mean
"no bitfield creation", to be used by make_aligning_type. Don't
restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode
fields claimed addressable still have to be bitfields. Use
value_factor_p instead of a raw binop construction to check for the
position's alignment.
From-SVN: r91879
Arnaud Charlet [Wed, 8 Dec 2004 11:26:04 +0000 (12:26 +0100)]
debug.adb: Document that -gnatdA automatically sets -gnatR3m
* debug.adb: Document that -gnatdA automatically sets -gnatR3m
* gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically
set -gnatR3m mode.
* repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA
flag. No longer needed now that we handle this in gnat1drv.adb.
* repinfo.ads: Minor reformatting
From-SVN: r91878
Arnaud Charlet [Wed, 8 Dec 2004 11:25:51 +0000 (12:25 +0100)]
make.adb (Check_Mains, [...]): Adapt to name changes in package Prj (Current_Spec_Suffix => Ada_Spec_Suffix...
* make.adb (Check_Mains, Switches_Of): Adapt to name changes in
package Prj (Current_Spec_Suffix => Ada_Spec_Suffix,
Current_Body_Suffix => Ada_Body_Suffix).
Take into account Externally_Built attribute.
* clean.adb (In_Extension_Chain): Always return False when one of the
parameter is No_Project.
(Clean_Project): Adapt to changes in package Prj (Lang_Ada =>
Ada_Language_Index).
(Gnatclean): Adapt to change in package Prj.Pars (no parameter
Process_Languages for procedure Parse).
* gnatcmd.adb (Carg_Switches): New table.
(GNATCmd): Put all switches following -cargs in the Carg_Switches table.
Adapt to name changes in package Prj (Current_Spec_Suffix =>
Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix).
* mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type
Header_Num and function Hash are now declared in package Prj,
not Prj.Com.
* prj.adb (Suffix_Of): New function.
(Set (Suffix)): New procedure.
(Hash): One function moved from Prj.Com
(Is_Present, Language_Processing_Data_Of): New functions
(Set): Two new procedures
(Add_Language_Name, Display_Language_Name): New procedures
* prj.ads: (Suffix_Of): New function
(Set (Suffix)): New procedure
Add several types and tables for multi-language support.
(Header_Num): Type moved from Prj.Com
(Hash): Two functions moved from Prj.Com
(Is_Present, Language_Processing_Data_Of): New functions
(Set): Two new procedures
(Add_Language_Name, Display_Language_Name): New procedures
(Naming): Component name changes:
Current_Spec_Suffix => Ada_Spec_Suffix,
Current_Body_Suffix => Ada_Body_Suffix. Add new components:
Impl_Suffixes, Supp_Suffixes.
(Project_Data): New components: Externally_Built, Supp_Languages,
First_Language_Processing, Supp_Language_Processing, Default_Linker,
Default_Linker_Path.
* prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and
new package Language_Processing with its attributes (Compiler_Driver,
Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option,
Binder_Driver, Default_Linker).
* prj-com.ads, prj-com.adb (Hash): Function moved to package Prj.
(Header_Num): Type moved to package Prj
* prj-env.adb: Adapt to name changes in package Prj
(Current_Spec_Suffix => Ada_Spec_Suffix,
Current_Body_Suffix => Ada_Body_Suffix).
* prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by
default to the project path, except the "-" is one of the directories
in env var ADA_PROJECT_PATH.
(Current_Project_Path): Global variable, replacing Project_Path
that was in the body of Prj.Part.
(Project_Path): New function
(Set_Project_Path): New procedure
Initialize Current_Project_Path during elaboration of the package
Remove dependency on Prj.Com, no longer needed
* prj-ext.ads (Project_Path): New function
(Set_Project_Path): New procedure
* prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no
suffix is defined for language <lang>.
(Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of
accessing directly the components of Naming.
(Look_For_Sources): Use Set (Suffix) to set the suffix of a language.
Reorganise of this package.
Break procedure Check in several procedures.
* prj-nmsc.ads: Replace all procedures (Ada_Check,
Other_Languages_Check and Language_Independent_Check) with a single
procedure Check.
* prj-pars.ads, prj-pars.adb (Parse): Remove parameter
Process_Languages, no longer needed.
* prj-part.adb (Project_Path): Move to the body of Prj.Ext as
Current_Project_Path.
Remove elaboration code, moved to the body of Prj.Ext
Use new function Prj.Ext.Project_Path instead of old variable
Project_Path.
(Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path.
When comparing with project paths on the stack, first put the resolved
path in canonical case.
(Parse_Single_Project): Set the path name of the project file in the
tree to the normalized path.
* prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove
parameter Process_Languages, no longer needed.
(Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and
Other_Languages_Check.
* prj-tree.ads (Project_Name_And_Node): New component Canonical_Path
to store the resolved canonical path of the project file.
Remove dependency to Prj.Com, no longer needed
* prj-util.adb: Adapt to name changes in package Prj
(Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix =>
Ada_Body_Suffix).
* snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver,
Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker,
Externally_Built, Include_Option, Language_Processing.
* makegpr.adb: Numerous changes due to changes in packages
Prj and Prj.Nmsc.
* gnatls.adb: Add the default project dir (<prefix>/log/gnat) by
default to the project path, except whe "-" is one of the directories
in env var ADA_PROJECT_PATH.
(Gnatls): In verbose mode, add the new section "Project Search Path:"
From-SVN: r91877
Arnaud Charlet [Wed, 8 Dec 2004 11:25:14 +0000 (12:25 +0100)]
back_end.adb (Scan_Back_End_Switches): Accept --param.
* back_end.adb (Scan_Back_End_Switches): Accept --param.
* lang-specs.h: Accept --param.
From-SVN: r91876
Arnaud Charlet [Wed, 8 Dec 2004 11:25:03 +0000 (12:25 +0100)]
atree.adb (Visit_Itype): Create a new name for the generated itype...
* atree.adb (Visit_Itype): Create a new name for the generated itype,
because the back-end may otherwise treat it as a redefinition of the
old symbol.
From-SVN: r91875
Arnaud Charlet [Wed, 8 Dec 2004 11:24:50 +0000 (12:24 +0100)]
a-exexpr.adb (Others_Value, [...]): Change initial values from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last...
* a-exexpr.adb (Others_Value, All_Others_Value): Change initial values
from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last on 16-bit
targets (such as AAMP).
From-SVN: r91874
Arnaud Charlet [Wed, 8 Dec 2004 11:24:38 +0000 (12:24 +0100)]
s-intman-vxworks.adb (Notify_Exception): removed useless check for current task being suspended.
* s-intman-vxworks.adb (Notify_Exception): removed useless check for
current task being suspended.
* init.c (__gnat_clear_exception): added to reset VxWorks exception
count.
(__gnat_map_signal): removed test for current task being suspended.
From-SVN: r91873
Nick Clifton [Wed, 8 Dec 2004 11:15:24 +0000 (11:15 +0000)]
Add new tests for xstormy16
From-SVN: r91870
Richard Sandiford [Wed, 8 Dec 2004 10:25:39 +0000 (10:25 +0000)]
frv.c (frv_sort_insn_group): Always initialize packet_group->nop.
* config/frv/frv.c (frv_sort_insn_group): Always initialize
packet_group->nop.
From-SVN: r91867
Kriang Lerdsuwanakij [Wed, 8 Dec 2004 10:25:22 +0000 (10:25 +0000)]
re PR c++/18100 (template member with same name as class not rejected)
PR c++/18100
* decl.c (lookup_and_check_tag): Diagnose nested class with
the same name as enclosing class.
* g++.dg/lookup/name-clash4.C: New test.
From-SVN: r91866
Nathan Sidwell [Wed, 8 Dec 2004 08:47:59 +0000 (08:47 +0000)]
re PR c++/18672 (Segfault with simple template code)
.: PR c++/18672
* gimplify.c (canonicalize_addr_expr): Cope with array of
incomplete type.
(gimplify_conversion): Remove redundant checks.
testsuite:
PR c++/18672
* g++.dg/opt/array1.C: New.
From-SVN: r91865
Nathan Sidwell [Wed, 8 Dec 2004 08:42:15 +0000 (08:42 +0000)]
* doc/trouble.texi (Non-bugs): Clarify empty loop removal.
From-SVN: r91864
Nathan Sidwell [Wed, 8 Dec 2004 08:36:09 +0000 (08:36 +0000)]
re PR c++/18803 (rejects access to operator() in template)
cp:
PR c++/18803
* cp-tree.h (REFERENCE_REF_P): New.
(CPTI_TYPE_INFO_TYPE): Rename to ...
(CPTI_CONST_TYPE_INFO_TYPE): ... here.
(CPTI_TYPE_INFO_REF_TYPE): Remove.
(type_info_type_node): Rename to ...
(const_type_info_type_node): ... here.
(type_info_ref_type): Remove.
* call.c (build_user_type_conversion): Reformat.
(resolve_args): Do not convert_from_reference.
(build_object_call): Call convert_from_reference.
(prep_operand): Do not convert_from_reference.
(build_new_method_call): Likewise.
* class.c (build_vfield_ref): Likewise.
* cvt.c (convert_to_reference): Likewise.
(convert_from_reference): Build INDIRECT_REF here, not with
build_indirect_ref.
(convert_force): Do not convert_from_reference.
(build_expr_type_conversion): Likewise.
* decl.c (grok_reference_init): Likewise.
* decl2.c (delete_sanity): Likewise.
* except.c (initialize_handler_parm): Use POINTER_TYPE_P.
* init.c (build_dtor_call): Do not convert_from_reference.
* parser.c (cp_parser_template_argument): Unwrap indirected
reference. Allow TEMPLATE_PARM_INDEX as an object parm.
* pt.c (tsubst_copy_and_build) <case INDIRECT_REF>: Use
convert_from_reference, if indicated.
<case CALL_EXPR>: Do not convert_from_reference.
<case PARM_DECL, VAR_DECL>: Convert_from_reference if needed.
(tsubst_initializer_list): Do not convert_from_reference.
* rtti.c (init_rtti_processing): Adjust node creation.
(throw_bad_typeid): Use const_type_info_type_node.
Do not convert_from_reference.
(typeid_ok_p): Use const_type_info_type_node.
(build_typeid, get_typeid): Always return type_info typed node.
(build_dynamic_cast_1): Dont convert_from_reference. Refactor.
* semantics.c (finish_stmt_expr_expr): Do not
convert_from_reference.
(finish_id_expression): Convert_from_reference as appropriate.
* typeck.c (decay_conversion): Do not convert_from_reference.
(finish_class_member_access_expr): Likewise.
(build_indirect_ref): Use POINTER_TYPE_P.
(convert_arguments): Do not convert_from_reference.
(build_modify_expr): Likewise.
(convert_for_initialization): Likewise.
* typeck2.c (build_x_arrow): Likewise.
testsuite:
PR c++/18803
* g++.dg/template/operator5.C: New.
From-SVN: r91863
Uros Bizjak [Wed, 8 Dec 2004 07:54:43 +0000 (08:54 +0100)]
i386.c (output_387_binary_op, [...]): Fix is_sse condition.
* config/i386/i386.c (output_387_binary_op,
ix86_prepare_fp_compare_args): Fix is_sse condition.
From-SVN: r91862
Hans-Peter Nilsson [Wed, 8 Dec 2004 07:41:32 +0000 (07:41 +0000)]
re PR c/18867 (ICE on invalid switch quantity)
PR c/18867
* gcc.dg/noncompile/
20041207.c: Fix typo in dg directive.
From-SVN: r91861
Matt Kraai [Wed, 8 Dec 2004 07:22:47 +0000 (07:22 +0000)]
Makefile.tpl: Generate normal dependencies if the LHS module is not bootstrapped.
* Makefile.tpl: Generate normal dependencies if the LHS module is
not bootstrapped.
* Makefile.in: Regenerate.
From-SVN: r91857
Uros Bizjak [Wed, 8 Dec 2004 06:50:58 +0000 (07:50 +0100)]
i386-protos.h (ix86_split_fp_branch): New rtx argument.
* config/i386/i386-protos.h (ix86_split_fp_branch): New rtx
argument.
* config/i386/i386.c (output_fp_compare): Fix is_sse condition.
Use EFLAGS_P only when fcomi insn should be used. Fix handling
of eflags_p variable. Change alt table accordingly. For non-fcomi
compare insn always use trailing fnstsw insn. Fix intmode
calculation for ficom insn.
(ix86_split_fp_branch): Add "rtx pushed" as new parameter. Call
ix86_free_from_memory when "pushed" is specified.
(ix86_expand_branch): Change call to ix86_split_fp_branch.
* config/i386/i386.md (*cmpfp_0_sf, *cmpfp_0_df, *cmpfp_0_xf):
Change eflags_p parameter in call to output_fp_compare.
(*cmpfp_2_sf, *cmpfp_2_df, *cmpfp_2_xf): Remove.
(*cmpfp_2_sf_1, *cmpfp_2_df_1, *cmpfp_2_xf_1): Rename to
*cmpfp_2_sf, *cmpfp_2_df, *cmpfp_2_xf. Change eflags_p
parameter in call to output_fp_compare.
(*cmpfp_2_u): Remove.
(*cmpfp_2_u_1): Rename to *cmpfp_2_u. Change eflags_p parameter
in call to output_fp_compare.
(*ficom_1): Remove insn definition and corresponding define_split.
(*cmpfp_si): New insn definition.
(*fp_jcc_8): New insn definition. Add new splitters for
"memory_operand" and "register_operand".
(define_split): Add new parameter in call to ix86_split_fp_branch.
config/i386/predicates.md (float_operator): New predicate.
From-SVN: r91856
Kazu Hirata [Wed, 8 Dec 2004 06:39:00 +0000 (06:39 +0000)]
c-common.c (verify_tree): Don't check code length if we know we are handling tcc_unary.
* c-common.c (verify_tree): Don't check code length if we know
we are handling tcc_unary.
* print_tree.c (print_node): Remove code to handle RTL
appearing as a part of a tree node.
* tree-gimple.c (recalculate_side_effects): Rename fro as len.
* tree.c (build1_stat): Don't check TREE_CODE_LENGTH.
(PROCESS_ARG): Don't refer to fro.
(build2_stat, build3_stat, build4_stat): Don't compute fro.
From-SVN: r91855
Ranjit Mathew [Wed, 8 Dec 2004 02:18:32 +0000 (02:18 +0000)]
IdentityHashMap.java (put): Replace mistaken use of "<<" by "*".
* java/util/IdentityHashMap.java (put): Replace mistaken use of
"<<" by "*".
From-SVN: r91852
Roger Sayle [Wed, 8 Dec 2004 02:15:36 +0000 (02:15 +0000)]
re PR middle-end/18293 (Redundant copy operation introduced by expand)
PR middle-end/18293
* expmed.c (EXACT_POWER_OF_2_OR_ZERO_P): Move definition earlier.
(expand_mult): Special case powers of two to avoid synth_mult.
* loop.c (product_cheap_p): Handle case where expand_mult does
require/generate any instructions (i.e. multiplication by zero).
From-SVN: r91851
Richard Henderson [Wed, 8 Dec 2004 02:04:57 +0000 (18:04 -0800)]
tree-pretty-print.c (dump_array_domain): Split out from dump_generic_node; fix off-by-one error on zero-based array bounds.
* tree-pretty-print.c (dump_array_domain): Split out from
dump_generic_node; fix off-by-one error on zero-based array bounds.
(dump_generic_node): Use it.
(print_declaration): Likewise.
From-SVN: r91850
Richard Guenther [Wed, 8 Dec 2004 01:20:34 +0000 (01:20 +0000)]
invoke.texi: Adjust default values for large-function-growth and inline-unit-growth to match...
* doc/invoke.texi: Adjust default values for
large-function-growth and inline-unit-growth to match
params.def. Clarify used algorithm.
From-SVN: r91845