1. 08 Dec, 2004 40 commits
    • * MAINTAINERS: Update my email address. · ce5e944c
      From-SVN: r91906
      Christopher Faylor committed
    • Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and PICFLAG. · 7994d50c
      	* Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
      	PICFLAG.
      	* Makefile.in: Regenerated.
      
      From-SVN: r91905
      David Edelsohn committed
    • clarify previous entry. · ea24508f
      From-SVN: r91904
      David Edelsohn committed
    • Makefile.am (LIBCFLAGS): Remove duplicate. · 83ba5345
      	* Makefile.am (LIBCFLAGS): Remove duplicate.
      	(PICFLAG): Remove duplicate.
      	* Makefile.in: Regenerated.
      
      From-SVN: r91903
      David Edelsohn committed
    • Add missing PR numbers for previous commit: · baa8edda
      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
      Tobias Schlüter committed
    • re PR java/18811 (rhug build problem, regression?) · 9e6a1ba9
      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 committed
    • jcf-parse.c (load_class): Remove sanity test for missing inner class file. · 477c6c35
      2004-12-07  Andrew Haley  <aph@redhat.com>
      
      	* jcf-parse.c (load_class): Remove sanity test for missing inner
      	class file.
      
      From-SVN: r91900
      Andrew Haley committed
    • resolve.c (resolve_code): Impose correct restrictions on assigned variable. · 40f2165e
      fortran/
      * resolve.c (resolve_code): Impose correct restrictions on
      assigned variable.
      
      testsuite/
      * gfortran.dg/assign_1.f90: New test.
      
      From-SVN: r91898
      Tobias Schlüter committed
    • Resync. · 180684eb
      From-SVN: r91897
      Arnaud Charlet committed
    • g-socket.ads (Get_Host_By_Address, [...]): Clarify documentation of the… · a5b62485
      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 committed
    • * vxaddr2line.adb: Add support for x86 vxworks · 4e8c0836
      From-SVN: r91895
      Arnaud Charlet committed
    • sem_ch8.adb (Find_Type): If node is a reference to 'Base and the prefix is not a scalar type... · bc41faa2
      	* 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 committed
    • sem_ch5.adb (One_Bound): Remove call to Resolve... · e2d6a9e5
      	* 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 committed
    • sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram used to record… · 6e73e3ab
      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 committed
    • nlists.adb (Prepend_Debug): Remove parameters and nest within Prepend. · 07233820
      	* 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 committed
    • misc.c (gnat_types_compatible_p, [...]): Remove. · 6a2b39bd
      	* 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 committed
    • * Makefile.in: Add support for foreign threads on VMS. · bd94e912
      From-SVN: r91889
      Arnaud Charlet committed
    • lib-xref.adb (Generate_Reference): Handle properly a reference to an entry formal... · 1a1035e4
      	* 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 committed
    • * g-regpat.adb: (Match): Change a misuse of or to or else · 4722c5d6
      From-SVN: r91887
      Arnaud Charlet committed
    • g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a compile-time warning. · 2fb9c1bb
      	* g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a
      	compile-time warning.
      
      From-SVN: r91886
      Arnaud Charlet committed
    • gnatmem.adb, [...]: Output the copyright message on a separate line from the version message. · 5f8abbd9
      	* 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 committed
    • exp_dist.adb (Specific_Build_General_Calling_Stubs, [...]): New subprograms. · bd7f7a65
      	* 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 committed
    • exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of construct is rewritten... · 14532762
      	* 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 committed
    • 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