1. 08 Dec, 2004 31 commits
    • exp_ch6.adb (Expand_Call): Add comment on handling of back end intrinsic · 98f01d53
      	* 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 committed
    • exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component with an… · 2717634d
      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 committed
    • * eval_fat.adb: Revert previous change. · e913f03b
      From-SVN: r91880
      Arnaud Charlet committed
    • decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for TYPE_SIZE_UNIT… · 0da07eae
      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 committed
    • debug.adb: Document that -gnatdA automatically sets -gnatR3m · a4c1cd80
      	* 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 committed
    • make.adb (Check_Mains, [...]): Adapt to name changes in package Prj… · 44e1918a
      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 committed
    • back_end.adb (Scan_Back_End_Switches): Accept --param. · a7e5b6df
      	* back_end.adb (Scan_Back_End_Switches): Accept --param.
      
      	* lang-specs.h: Accept --param.
      
      From-SVN: r91876
      Arnaud Charlet committed
    • atree.adb (Visit_Itype): Create a new name for the generated itype... · dcdf1790
      	* 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 committed
    • a-exexpr.adb (Others_Value, [...]): Change initial values from 16#BEEF# to… · 87f07a97
      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 committed
    • s-intman-vxworks.adb (Notify_Exception): removed useless check for current task being suspended. · 8cd9e2ac
      	* 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
      Arnaud Charlet committed
    • Add new tests for xstormy16 · de40e4dd
      From-SVN: r91870
      Nick Clifton committed
    • frv.c (frv_sort_insn_group): Always initialize packet_group->nop. · 75d0ac8d
      	* config/frv/frv.c (frv_sort_insn_group): Always initialize
      	packet_group->nop.
      
      From-SVN: r91867
      Richard Sandiford committed
    • re PR c++/18100 (template member with same name as class not rejected) · 4104f0f4
      	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
      Kriang Lerdsuwanakij committed
    • re PR c++/18672 (Segfault with simple template code) · 0710ccff
      .:	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 committed
    • re PR c++/18803 (rejects access to operator() in template) · db24eb1f
      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
      Nathan Sidwell committed
    • i386.c (output_387_binary_op, [...]): Fix is_sse condition. · 89b17498
      	* config/i386/i386.c (output_387_binary_op,
      	ix86_prepare_fp_compare_args): Fix is_sse condition.
      
      From-SVN: r91862
      Uros Bizjak committed
    • re PR c/18867 (ICE on invalid switch quantity) · 371f495a
      	PR c/18867
      	* gcc.dg/noncompile/20041207.c: Fix typo in dg directive.
      
      From-SVN: r91861
      Hans-Peter Nilsson committed
    • Makefile.tpl: Generate normal dependencies if the LHS module is not bootstrapped. · 893f1e87
      	* Makefile.tpl: Generate normal dependencies if the LHS module is
      	not bootstrapped.
      	* Makefile.in: Regenerate.
      
      From-SVN: r91857
      Matt Kraai committed
    • i386-protos.h (ix86_split_fp_branch): New rtx argument. · 7c82106f
              * 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
      Uros Bizjak committed
    • c-common.c (verify_tree): Don't check code length if we know we are handling tcc_unary. · ac1b13f4
      	* 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
      Kazu Hirata committed
    • IdentityHashMap.java (put): Replace mistaken use of "<<" by "*". · 7fd64ba3
      	* java/util/IdentityHashMap.java (put): Replace mistaken use of
      	"<<" by "*".
      
      From-SVN: r91852
      Ranjit Mathew committed
    • re PR middle-end/18293 (Redundant copy operation introduced by expand) · 58b42e19
      
      	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
      Roger Sayle committed
    • tree-pretty-print.c (dump_array_domain): Split out from dump_generic_node; fix… · b16bcb17
      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 Henderson committed
    • invoke.texi: Adjust default values for large-function-growth and inline-unit-growth to match... · 74515a0a
      	* doc/invoke.texi: Adjust default values for
      	large-function-growth and inline-unit-growth to match
      	params.def.  Clarify used algorithm.
      
      From-SVN: r91845
      Richard Guenther committed
    • Makefile.am (AM_MAKEFLAGS): New. · 7dd42019
      	* libgfortran/Makefile.am (AM_MAKEFLAGS): New.
      	* libgfortran/Makefile.in: Regenerate
      
      From-SVN: r91844
      Steve Ellcey committed
    • io.h (open_external): Change prototype. · 6ecf6dcb
      	* io/io.h (open_external): Change prototype.
      	* io/unix.c (regular_file): Change prototype and set flags->action if
      	needed.
      	(open_external): Ditto.
      	* io/open.c (new_unit): Let open_external set flags->action.
      
      From-SVN: r91843
      Steve Ellcey committed
    • re PR target/18443 (#pragma pack(1) breaks function pointer initialization) · 1b79dc38
              PR target/18443
              * config/ia64/ia64.c (ia64_assemble_integer): Add support for
              emitting unaligned pointer-sized integers.
      
      From-SVN: r91842
      David Mosberger committed
    • Daily bump. · 9492747a
      From-SVN: r91840
      GCC Administrator committed
    • re PR c/18867 (ICE on invalid switch quantity) · 02fbae83
              PR c/18867
              * c-typeck.c (c_start_case): Set orig_type to error_mark_node
              when the type of the controlling expression is not a valid type.
      
      testsuite/
              * gcc.dg/noncompile/20041207.c: New test.
      
      From-SVN: r91837
      Steven Bosscher committed
    • re PR middle-end/17340 (Internal error compiling with -O3) · 665fcad8
              PR tree-optimization/17340
              * tree-ssa-pre.c (compute_antic): Fix comment.
              (compute_avail): Do not recurse, instead do a DFS using a stack
              and a loop.
              (execute_pre): Adjust.
      
      From-SVN: r91835
      Steven Bosscher committed
  2. 07 Dec, 2004 9 commits
    • c-tree.h (struct lang_type): Rename 'objc_protocols' field to 'objc_info'. · c7baa145
      [gcc/ChangeLog]
      2004-12-07  Ziemowit Laski  <zlaski@apple.com>
      
              * c-tree.h (struct lang_type): Rename 'objc_protocols' field
              to 'objc_info'.
      
      [gcc/cp/ChangeLog]
      2004-12-07  Ziemowit Laski  <zlaski@apple.com>
      
              * cp-tree.h (struct lang_type_class): Rename 'objc_protocols'
              field to 'objc_info'.
      
      From-SVN: r91833
      Ziemowit Laski committed
    • configure.ac: Check for ieeefp.h. · 6e4d9244
      	* configure.ac: Check for ieeefp.h.  Check for fabsf in libm.
      	* configure: Regenerate.
      	* config.h.in: Likewise.
      	* c99_protos.h: New file.
      	* libgfortran.h: Include c99_protos.h and conditionally ieeefp.h.
      	* intrinsics/c99_functions.c (fabsf): New function.
      
      From-SVN: r91832
      Eric Botcazou committed
    • re PR target/16317 (MIPS-netbsd does not define NO_IMPLICIT_EXTERN_C) · c08f800e
      2004-12-07  Eric Christopher  <echristo@redhat.com>
      
      	PR target/16317
      	* config/netbsd.h (NO_IMPLICIT_EXTERN_C): Define.
      
      From-SVN: r91831
      Eric Christopher committed
    • mips-protos.h (mips_valid_pointer_mode): Move prototype... · 20c076a8
      2004-12-07  Eric Christopher  <echristo@redhat.com>
      
      	* config/mips/mips-protos.h (mips_valid_pointer_mode): Move
      	prototype...
      	* config/mips/mips.c: ... here. Make static.
      
      From-SVN: r91830
      Eric Christopher committed
    • re PR target/18442 (Rejects attribute((mode(SI))) when using -mint64) · a122d1f1
      2004-12-07  Eric Christopher  <echristo@redhat.com>
      
      	PR target/18442
      	* config/mips/mips.c (mips_vector_mode_supported_p): New function.
      	(TARGET_SCALAR_MODE_SUPPORTED_P): Define to above.
      
      From-SVN: r91820
      Eric Christopher committed
    • c-common.c, [...]: Replace uses of first_rtl_op with TREE_CODE_LENGTH. · 54e4aedb
      gcc/
      	* c-common.c, expr.c, fold-const.c, print-tree.c,
      	tree-gimple.c, tree-inline.c, tree-pretty-print.c,
      	tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c: Replace uses of
      	first_rtl_op with TREE_CODE_LENGTH.
      	* tree.c (first_rtl_op): Remove.
      	Replace uses of first_rtl_op with TREE_CODE_LENGTH.
      	* tree.h: Remove the prototype for first_rtl_op.
      
      gcc/cp/
      	* pt.c: Replace a use of first_rtl_op with TREE_CODE_LENGTH.
      
      From-SVN: r91818
      Kazu Hirata committed
    • splay-tree.c (splay_tree_delete_helper): Redesign the logic so that recursion… · b180d5fb
      splay-tree.c (splay_tree_delete_helper): Redesign the logic so that recursion (and thus large stack space) is not needed.
      
      * splay-tree.c (splay_tree_delete_helper): Redesign the logic so
      that recursion (and thus large stack space) is not needed.
      
      From-SVN: r91815
      DJ Delorie committed
    • t-aix43, t-aix52 (SHLIB_LINK): Revert 2004-12-01 change. · 354e49c1
              * config/rs6000/t-aix43, config/rs6000/t-aix52 (SHLIB_LINK):
              Revert 2004-12-01 change.
      
      From-SVN: r91812
      David Edelsohn committed
    • type_traits: Implement is_const and is_volatile. · 0f910b4f
      2004-12-07  Paolo Carlini  <pcarlini@suse.de>
      
      	* include/tr1/type_traits: Implement is_const and is_volatile.
      	* testsuite/testsuite_tr1.h (test_property): New.
      	* testsuite/tr1/4_metaprogramming/type_properties/
      	is_const/is_const.c: New.
      	* testsuite/tr1/4_metaprogramming/type_properties/
      	is_const/typedefs.cc: Likewise.
      	* testsuite/tr1/4_metaprogramming/type_properties/
      	is_volatile/is_volatile.cc: Likewise.
      	* testsuite/tr1/4_metaprogramming/type_properties/
      	is_volatile/typedefs.cc: Likewise.
      	* testsuite/tr1/4_metaprogramming/composite_type_traits/
      	is_arithmetic/is_arithmetic.cc: Slightly tweak to use ClassType
      	from testsuite_tr1.h.
      	* testsuite/tr1/4_metaprogramming/composite_type_traits/
      	is_fundamental/is_fundamental.cc: Likewise.
      	* testsuite/tr1/4_metaprogramming/primary_type_categories/
      	is_array/is_array.cc: Likewise.
      	* testsuite/tr1/4_metaprogramming/primary_type_categories/
      	is_floating_point/is_floating_point.cc: Likewise.
      	* testsuite/tr1/4_metaprogramming/primary_type_categories/
      	is_integral/is_integral.cc: Likewise.
      	* testsuite/tr1/4_metaprogramming/primary_type_categories/
      	is_reference/is_reference.cc: Likewise.
      	* testsuite/tr1/4_metaprogramming/primary_type_categories/
      	is_void/is_void.cc: Likewise.
      
      From-SVN: r91808
      Paolo Carlini committed