1. 13 Jul, 2004 17 commits
    • 12658_thread.cc: Move/rename to 12658_thread-1.cc and xfail. · 9a2ba7af
      2004-07-13  Paolo Carlini  <pcarlini@suse.de>
      
      	* testsuite/22_locale/locale/cons/12658_thread.cc: Move/rename
      	to 12658_thread-1.cc and xfail.
      	* testsuite/22_locale/locale/cons/12658_thread-2.c: New, much
      	simpler version of 12658_thread-1.cc, still failing on 3_3 and
      	not failing on 3_4/mainline - both on single processor and
      	multiprocessor machines.
      
      From-SVN: r84610
      Paolo Carlini committed
    • builtins.c (std_gimplify_va_arg_expr): Handle types passed by reference. · af064de5
              * builtins.c (std_gimplify_va_arg_expr): Handle types passed
              by reference.
              (ind_gimplify_va_arg_expr): Remove.
              * tree.h (ind_gimplify_va_arg_expr): Remove.
              * config/pa/pa.c (hppa_gimplify_va_arg_expr): Don't use it.
              * config/mmix/mmix.c (mmix_function_arg_pass_by_reference): Allow
              argsp to be null.
      
              * config/arc/arc.c (arc_gimplify_va_arg_expr): Remove.
              (TARGET_GIMPLIFY_VA_ARG_EXPR): Remove.
              * config/cris/cris.c, config/fr30/fr30.c, config/frv/frv.c,
              config/iq2000/iq2000.c, config/m32r/m32r.c, config/mmix/mmix.c,
              config/mn10300/mn10300.c, config/v850/v850.c: Similarly.
      
      From-SVN: r84608
      Richard Henderson committed
    • function.c (pass_by_reference): New. · 0976078c
              * function.c (pass_by_reference): New.
              (assign_parm_find_data_types): Use it.
              * calls.c (initialize_argument_information): Likewise.
              (emit_library_call_value_1): Likewise.
              * expr.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
              * function.h (pass_by_reference): Declare.
      ada/
              * misc.c (default_pass_by_ref): Use pass_by_reference.
      
      From-SVN: r84607
      Richard Henderson committed
    • target-def.h (TARGET_MUST_PASS_IN_STACK): New. · fe984136
      	* target-def.h (TARGET_MUST_PASS_IN_STACK): New.
      	* target.h (struct gcc_target): Add calls.must_pass_in_stack.
      	* expr.h (MUST_PASS_IN_STACK): Remove.
      	* system.h (MUST_PASS_IN_STACK): Poison.
      	* tree.h (must_pass_in_stack_var_size): Declare.
      	(must_pass_in_stack_var_size_or_pad): Declare.
      	* calls.c (must_pass_in_stack_var_size): New.
      	(must_pass_in_stack_var_size_or_pad): Rename from
      	default_must_pass_in_stack.
      	* config/alpha/alpha.c (unicosmk_must_pass_in_stack): New.
      	(TARGET_MUST_PASS_IN_STACK): New.
      	* config/alpha/unicosmk.h (MUST_PASS_IN_STACK): Remove.
      	* config/fr30/fr30.c (fr30_must_pass_in_stack): New.
      	(TARGET_MUST_PASS_IN_STACK): New.
      	* config/fr30/fr30.h (MUST_PASS_IN_STACK): Remove.
      	* config/frv/frv.c (frv_must_pass_in_stack): New.
      	(TARGET_MUST_PASS_IN_STACK): New.
      	* config/frv/frv.h (MUST_PASS_IN_STACK): Remove.
      	* config/i386/i386-protos.h (ix86_must_pass_in_stack): Remove.
      	* config/i386/i386.c (TARGET_MUST_PASS_IN_STACK): New.
      	(ix86_must_pass_in_stack): Make static.
      	* config/i386/i386.h (MUST_PASS_IN_STACK): Remove.
      	* config/ia64/ia64.c (TARGET_MUST_PASS_IN_STACK): New.
      	* config/ia64/ia64.h (MUST_PASS_IN_STACK): Remove.
      	* config/m32r/m32r.c (TARGET_MUST_PASS_IN_STACK): New.
      	* config/m32r/m32r.h (MUST_PASS_IN_STACK): Remove.
      	* config/mcore/mcore-protos.h (mcore_must_pass_on_stack): Remove.
      	* config/mcore/mcore.c (TARGET_MUST_PASS_IN_STACK): New.
      	(mcore_must_pass_on_stack): Remove.
      	* config/mcore/mcore.h (MUST_PASS_IN_STACK): Remove.
      	* config/mips/mips.c (TARGET_MUST_PASS_IN_STACK): New.
      	* config/mips/mips.h (MUST_PASS_IN_STACK): Remove.
      	* config/pa/pa.c (TARGET_MUST_PASS_IN_STACK): New.
      	* config/pa/pa.h (MUST_PASS_IN_STACK): Remove.
      	* config/rs6000/aix.h (MUST_PASS_IN_STACK): Remove.
      	* config/rs6000/linux64.h (MUST_PASS_IN_STACK): Remove.
      	* config/rs6000/rs6000.c (rs6000_must_pass_in_stack): New.
      	(TARGET_MUST_PASS_IN_STACK): New.
      	* config/sh/sh.c (TARGET_MUST_PASS_IN_STACK): New.
      	* config/sh/sh.h (MUST_PASS_IN_STACK): Remove.
      	* config/sparc/sparc.c (TARGET_MUST_PASS_IN_STACK): New.
      	* config/sparc/sparc.h (MUST_PASS_IN_STACK): Remove.
      	* config/xtensa/xtensa.c (TARGET_MUST_PASS_IN_STACK): New.
      	* config/xtensa/xtensa.h (MUST_PASS_IN_STACK): Remove.
      	* doc/tm.texi (TARGET_MUST_PASS_IN_STACK): Update from
      	MUST_PASS_IN_STACK.
      
      	* calls.c, function.c, config/alpha/alpha.c, config/alpha/alpha.h,
      	config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.c,
      	config/cris/cris.h, config/fr30/fr30.c, config/fr30/fr30.h,
      	config/frv/frv.c, config/i386/i386.c, config/iq2000/iq2000.c,
      	config/mcore/mcore.c, config/mcore/mcore.h, config/mips/mips.c,
      	config/mmix/mmix.c, config/mmix/mmix.h, config/rs6000/rs6000.c,
      	config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
      	config/xtensa/xtensa.c: Use target hook.
      
      From-SVN: r84606
      Richard Henderson committed
    • Copy files from g77.f-torture/compile. · 29f17118
      2004-07-13  David Billinghurst (David.Billinghurst@riotinto.com)
      
      	Copy files from g77.f-torture/compile.
      	Add "{ dg-do compile}".  Other changes as noted
      	* gfortran.dg/g77/19990905-0.f: XFAIL PR 16511
      	* gfortran.dg/g77/20010519-1.f: Add dg-warning as required
      	* gfortran.dg/g77/20030115-1.f: Add dg-warning as required
      	* gfortran.dg/g77/20030326-1.f: XFAIL PR 16511
      	* gfortran.dg/g77/970125-0.f: Add dg-excess-errors.
      	* gfortran.dg/g77/980519-2.f: Declare hd_S,hd_Z,hd_T
      	* gfortran.dg/g77/990115-1.f: Declare RANK as INTEGER
      	* gfortran.dg/g77/alpha1.f: Separate declaration and DATA
      	statement to conform to standard.  Append alpha1.x for reference.
      	* gfortran.dg/g77/xformat.f: Add dg-warning
      
      From-SVN: r84605
      David Billinghurst committed
    • configure.ac (gcc_cv_as_offsetable_lo10): Fix a typo. · ecb0ccbc
      2004-07-13  Anthony Heading  <aheading@jpmorgan.com>
      
      	* configure.ac (gcc_cv_as_offsetable_lo10: Fix a typo.
      	* configure: Rebuilt.
      
      From-SVN: r84603
      Anthony Heading committed
    • invoke.texi: Remove documentation for MIPS -mrnames option. · 5b9cc93e
      	* doc/invoke.texi: Remove documentation for MIPS -mrnames option.
      	* config/mips/mips.h (mips_reg_names): Don't declare.
      	(MASK_NAME_REGS): Delete.  Shuffle other MASK_* values down.
      	(TARGET_NAME_REGS): Delete.
      	(TARGET_SWITCHES): Remove -mrnames.
      	(REGISTER_NAMES): Initialise with the old contents of mips_reg_names[].
      	(ADDITIONAL_REGISTER_NAMES): Remove entries for names mentioned
      	in REGISTER_NAMES.
      	* config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Delete.
      	(override_options): Remove handling of TARGET_NAME_REGS.
      
      From-SVN: r84602
      Richard Sandiford committed
    • * config/mips/mips.h (TARGET_*): Boolify. · 40a350c9
      From-SVN: r84601
      Richard Sandiford committed
    • Fix NM/AR propagation from toplevel for recursive makes. · f6a874ac
      * Makefile.in (AR): Use @AR@ not ar.
      (NM): New.
      (AR_FOR_TARGET): Use $(AR) not ar for native.
      (NM_FOR_TARGET): Use $(NM) not nm for native.
      * configure.ac: Add AC_CHECK_PROG calls for NM and AR.
      * configure: Regenerate.
      
      From-SVN: r84600
      James E Wilson committed
    • sparc.md (ashlsi3): Eliminate const 1 special case. · d7ae4c28
      2004-07-12  David S. Miller  <davem@nuts.davemloft.net>
      
      	* config/sparc/sparc.md (ashlsi3): Eliminate const 1
      	special case.
      	(ashldi3_sp64): Likewise.
      
      From-SVN: r84599
      David S. Miller committed
    • re PR target/16477 (Failure of gcc.c-torture/execute/strct-stdarg-1.c) · 7ea18c08
      	PR target/16477
      	* pa.c (function_arg): Update comment.
      	* pa.h (BLOCK_REG_PADDING): Define.
      
      From-SVN: r84598
      John David Anglin committed
    • re PR libgcj/15713 (compile interpret.cc with -fno-strict-aliasing) · 7a1c3d48
      2004-07-12  Bryce McKinlay  <mckinlay@redhat.com>
      
      	PR libgcj/15713
      	* include/jvm.h (_Jv_value): New union type.
      	* gcj/field.h (_Jv_Field): Add new _addr union field variants
      	* interperet.cc (run): Use _Jv_value union type and *_addr _Jv_Field
      	union members.
      
      From-SVN: r84596
      Bryce McKinlay committed
    • re PR tree-optimization/16461 (ICE: expected ssa_name, have integer_cst in… · 066a0344
      re PR tree-optimization/16461 (ICE: expected ssa_name, have integer_cst in independent_of_stmt_p, at tree-tailcall.c:210)
      
      	PR tree-optimization/16461
      	* tree-tailcall.c (independent_of_stmt_p): Handle non-SSA name
      	arguments of phi nodes.
      
      From-SVN: r84595
      Zdenek Dvorak committed
    • Daily bump. · d39a9880
      From-SVN: r84592
      GCC Administrator committed
    • cpp.F: Copy from g77.f-torture/compile. · eee6792b
      2004-07-13  David Billinghurst (David.Billinghurst@riotinto.com)
      
      	* gfortran.dg/g77/cpp.F: Copy from g77.f-torture/compile.
      	Add {dg-do compile} directive.
      	* gfortran.dg/g77/cpp2.F: Likewise
      
      From-SVN: r84589
      David Billinghurst committed
  2. 12 Jul, 2004 23 commits
    • cp-tree.h (get_aggr_typedef): Remove. · 1a57987b
      	* cp-tree.h (get_aggr_typedef): Remove.
      	* init.c (get_aggr_typedef): Likewise.
      
      From-SVN: r84588
      Mark Mitchell committed
    • re PR c++/5402 (ICE in pop_binding) · 81242403
      	PR c++/5402
      	* g++.dg/lookup/name-clash1.C: New test.
      
      	PR c++/9777
      	* g++.dg/lookup/name-clash2.C: New test.
      
      	PR c++/12102
      	* g++.dg/lookup/name-clash3.C: New test.
      
      From-SVN: r84587
      Volker Reichelt committed
    • abi.html: Remove non-public qualification. · 81f80f5f
      
      2004-07-12  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* docs/html/abi.html: Remove non-public qualification.
      
      	* include/bits/concurrence.h: Tweak comments.
      
      From-SVN: r84586
      Benjamin Kosnik committed
    • * name-lookup.c (push_class_level_binding): Simplify. · f31045fd
      From-SVN: r84585
      Mark Mitchell committed
    • function.c (expand_function_start): Ensure r_save is in Pmode. · 5e89a381
              * function.c (expand_function_start): Ensure r_save is in Pmode.
      	* calls.c (prepare_call_address): Ensure static_chain_value is
      	  in Pmode.
      	* builtins.c (expand_builtin_nonlocal_goto): Ensure r_label and
                r_save_area are in Pmode.
      	* config/ia64/ia64.c (ia64_initialize_trampoline): Ensure addr,
      	  fnaddr, and static_chain are in Pmode.
      
      From-SVN: r84584
      Steve Ellcey committed
    • re PR c++/16475 (FAIL: g++.dg/rtti/tinfo1.C scan-assembler _ZTIP9CTemplateIhE:) · 494d9016
      2004-07-12  Andrew Pinski  <apinski@apple.com>
      
              PR c++/16475
              Revert:
              2004-07-07  H.J. Lu  <hongjiu.lu@intel.com>
                      PR c++/16276
                      * rtti.c (emit_tinfo_decl): Turn off DECL_ONE_ONLY if typeinfo
                      is not public.
      
      From-SVN: r84583
      Andrew Pinski committed
    • re PR target/16445 (Gcc 3.4 ICE on valid code) · 52b754e8
      2004-07-12  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR target/16445
      	* config/ia64/ia64.c (bundling): Don't count ignored insns.
      
      From-SVN: r84580
      Vladimir Makarov committed
    • target.h (struct gcc_target): Move gimplify_va_arg_expr next to build_builtin_va_list. · cdc3ddb8
              * target.h (struct gcc_target): Move gimplify_va_arg_expr
              next to build_builtin_va_list.
              * target-def.h (TARGET_GIMPLIFY_VA_ARG_EXPR): Update to match.
              * builtins.c (gimplify_va_arg_expr): Likewise.
              * gimplify.c (copy_if_shared_r): Likewise.
      
      From-SVN: r84578
      Richard Henderson committed
    • passes.c (rest_of_decl_compilation): Don't defer call of assemble_variable if… · a0c71497
      passes.c (rest_of_decl_compilation): Don't defer call of assemble_variable if its DECL_RTL is already set.
      
      * passes.c (rest_of_decl_compilation): Don't defer call of
      assemble_variable if its DECL_RTL is already set.
      
      From-SVN: r84576
      Alexandre Oliva committed
    • cfgloop.h (struct loop): Add nb_iterations field. · 9baba81b
      	* cfgloop.h (struct loop): Add nb_iterations field.
      	(current_loops): Declare.
      	* tree-chrec.c (chrec_not_analyzed_yet,
      	chrec_dont_know, chrec_known, count_ev_in_wider_type,
      	chrec_contains_symbols_defined_in_loop): Remove the temporary
      	hooks.
      	* tree-flow-inline.h (loop_containing_stmt): New function.
      	* tree-scalar-evolution.c: Add implementation.
      	* tree-scalar-evolution.h: Add declarations.
      
      From-SVN: r84573
      Sebastian Pop committed
    • parser.c (cp_parser_class_head): Remove unused variable. · 98ca843c
      2004-07-12  Eric Christopher  <echristo@redhat.com>
      
              * parser.c (cp_parser_class_head): Remove unused variable.
      
      From-SVN: r84571
      Eric Christopher committed
    • re PR java/16474 (gcjh: Illegal C++ produced for some non-gcj bytecode) · dd4e1500
      2004-07-12  Bryce McKinlay  <mckinlay@redhat.com>
      
              PR java/16474
              gjavah.c (print_field_info): Emit constant only if field is static.
      
      From-SVN: r84570
      Bryce McKinlay committed
    • re PR rtl-optimization/15921 (gcc.c-torture/compile/920501-4.c fails on powerpc-*) · fdbda73f
      2004-07-12 Vladimir Makarov <vmakarov@redhat.com>
      
      	PR rtl-optimization/15921
      	* Makefile.in (global.o): Add recog.h.
      
      	* global.c (recog.h): Add the include-clause.
      	(bb_info): New member earlyclobber.
      	(allocate_bb_info, free_bb_info): Initialize/finish the new
      	member.
      	(earlyclobber_regclass, earlyclobber_regclass_length): The new
      	global variables.
      	(check_earlyclobber, regclass_intersect,
      	mark_reg_use_for_earlyclobber, mark_reg_use_for_earlyclobber_1):
      	New functions.
      	(calculate_local_reg_bb_info): Calculate value of earlyclobber.
      	(make_accurate_live_analysis): Modify pavin.
      
      From-SVN: r84569
      Vladimir Makarov committed
    • decl.c (grok_op_properties): Reject [de-]allocation functions declared in a… · 3143d517
      decl.c (grok_op_properties): Reject [de-]allocation functions declared in a namespace, or declared as static.
      
      	* decl.c (grok_op_properties): Reject [de-]allocation functions
      	declared in a namespace, or declared as static.
      
      	* g++.dg/lookup/new2.C: New test.
      	* g++.old-deja/g++.ns/new1.C: Remove (ill-formed).
      
      From-SVN: r84567
      Giovanni Bajo committed
    • cp-tree.h (make_binfo): Remove. · 2176cbb5
      	* cp-tree.h (make_binfo): Remove.
      	* decl.c (xref_basetypes): Use make_tree_binfo directly.
      	* tree.h (copy_base_binfos): Likewise.
      	(make_binfo): Remove.
      
      From-SVN: r84566
      Nathan Sidwell committed
    • XCanvasPeer.java (createImage): Implement. · 717b2091
      2004-07-12  Scott Gilbertson  <scottg@mantatest.com>
      
      	* gnu/awt/xlib/XCanvasPeer.java (createImage): Implement.
      	* gnu/awt/xlib/XOffScreenImage.java
      	  (XOffScreenImage): Add ImageConsumer interface. Add ColorModel
      	  constructor argument. Add constructor using ImageProducer.
      	  (getSource): Implement.
      	  (imageComplete): New method.
      	  (setColorModel): New method.
      	  (setDimensions): New method.
      	  (setHints): New method.
      	  (setPixels): New method.
      	  (setProperties): New method.
      	* gnu/gcj/xlib/GC.java (drawPoint): New native method.
      	* gnu/gcj/xlib/natGC.cc (drawPoint): New native method.
      
      From-SVN: r84564
      Scott Gilbertson committed
    • missed in previous commit · ccb14335
      From-SVN: r84563
      Nathan Sidwell committed
    • call.c (build_user_type_conversion_1, [...]): Pass type directly to… · cad7e87b
      call.c (build_user_type_conversion_1, [...]): Pass type directly to lookup_fnfields & build_special_member_call.
      
      	* call.c (build_user_type_conversion_1, build_new_op,
      	check_constructor_callable, build_temp,
      	perform_direct_initialization_of_possible): Pass type directly to
      	lookup_fnfields & build_special_member_call.
      	(build_special_member_call): Accept a type, and complete it.
      	* class.c (finish_stuct_bits): Copy the BINFOs here.
      	* cvt.c (ocp_convert): Pass type directly to
      	build_special_member_call.
      	* decl.c (build_ptrmemfunc_type): Call xref_bastypes here.
      	(xref_basetypes): Allocate the binfo here. Adjust.
      	* init.c (build_init, build_new_1): Pass type directly to
      	build_special_member_call.
      	* lex.c (cxx_make_type): Do not allocate binfo here.
      	* name-lookup.c (arg_assoc_class): Incomplete types have no binfo.
      	* parser.c (cp_parser_class_head): Always call xref_basetypes.
      	* pt.c (instantiate_class_template): Likewise. Inhibit access
      	checking for template friends.
      	* ptree.c (cxx_print_type): Adjust record printing.
      	* search.c (lookup_base): When taking a type, complete it before
      	looking for a binfo.
      	(lookup_member): Delay completing a type.
      	(push_class_decls): Don't walk an incomplete type.
      	(lookup_conversions): Likewise.
      	* semantics.c (finish_stmt_expr_expr): Pass type directly to
      	build_special_member_call.
      	* tree.c (copy_base_binfos): Adjust.
      	(make_binfo): Likewise.
      	* typeck.c (build_modify_expr): Pass type directly to
      	build_special_member_call.
      	* typeck2.c (process_init_constructor): Check a binfo exists.
      	(build_m_component_ref): Allow accessing an incomplete type.
      	(build_functional_cast): Pass type directly to
      	build_special_member_call.
      
      From-SVN: r84562
      Nathan Sidwell committed
    • tree-cfg.c (find_taken_edge): Statically compute the truth value of a predicate… · 255cd731
      tree-cfg.c (find_taken_edge): Statically compute the truth value of a predicate comparing an SSA_NAME to itself.
      
      
      	* tree-cfg.c (find_taken_edge): Statically compute the truth
      	value of a predicate comparing an SSA_NAME to itself.
      
      From-SVN: r84561
      Diego Novillo committed
    • rs6000.c (rs6000_rtx_costs): Indicate that the rs6000 doesn't have shift-and-add… · 938bf747
      rs6000.c (rs6000_rtx_costs): Indicate that the rs6000 doesn't have shift-and-add or shift-and-sub...
      
      
      	* config/rs6000/rs6000.c (rs6000_rtx_costs): Indicate that the
      	rs6000 doesn't have shift-and-add or shift-and-sub instructions
      	by returning the cost of a multiplication plus an addition.
      
      From-SVN: r84556
      Roger Sayle committed
    • 004-07-12 David Billinghurst (David.Billinghurst@riotinto.com) · 62e39334
              * gfortran.dg/g77/12002.f: Copy from g77.f-torture/compile.
              Add {dg-do compile} directive.
              * gfortran.dg/g77/13060.f: Likewise
              * gfortran.dg/g77/19990218-0.f: Likewise
              * gfortran.dg/g77/19990305-0.f: Likewise
              * gfortran.dg/g77/19990419-0.f: Likewise
              * gfortran.dg/g77/19990502-0.f: Likewise
              * gfortran.dg/g77/19990502-1.f: Likewise
              * gfortran.dg/g77/19990525-0.f: Likewise
              * gfortran.dg/g77/19990826-1.f: Likewise
              * gfortran.dg/g77/19990826-3.f: Likewise
              * gfortran.dg/g77/19990905-2.f: Likewise
              * gfortran.dg/g77/20000412-1.f: Likewise
              * gfortran.dg/g77/20000511-1.f: Likewise
              * gfortran.dg/g77/20000511-2.f: Likewise
              * gfortran.dg/g77/20000518.f: Likewise
              * gfortran.dg/g77/20000601-1.f: Likewise
              * gfortran.dg/g77/20000601-2.f: Likewise
              * gfortran.dg/g77/20000629-1.f: Likewise
              * gfortran.dg/g77/20000630-2.f: Likewise
              * gfortran.dg/g77/20010115.f: Likewise
              * gfortran.dg/g77/20010321-1.f: Likewise
              * gfortran.dg/g77/20010426.f: Likewise
              * gfortran.dg/g77/20020307-1.f: Likewise
              * gfortran.dg/g77/8485.f: Likewise
              * gfortran.dg/g77/960317-1.f: Likewise
              * gfortran.dg/g77/970915-0.f: Likewise
              * gfortran.dg/g77/980310-1.f: Likewise
              * gfortran.dg/g77/980310-2.f: Likewise
              * gfortran.dg/g77/980310-3.f: Likewise
              * gfortran.dg/g77/980310-4.f: Likewise
              * gfortran.dg/g77/980310-6.f: Likewise
              * gfortran.dg/g77/980310-7.f: Likewise
              * gfortran.dg/g77/980310-8.f: Likewise
              * gfortran.dg/g77/980419-2.f: Likewise
              * gfortran.dg/g77/980424-0.f: Likewise
              * gfortran.dg/g77/980427-0.f: Likewise
              * gfortran.dg/g77/980729-0.f: Likewise
              * gfortran.dg/g77/981117-1.f: Likewise
              * gfortran.dg/g77/toon_1.f: Likewise
      
      From-SVN: r84553
      David Billinghurst committed
    • re PR c++/2204 (G++ doesn't check (member) function parameter for abstract-ness.) · 7fb213d8
      	PR c++/2204
      	* config-lang.in (gtfiles): Add typeck2.c.
      	* Make-lang.in: Tweak typeck2.c dependencies, and add rule for
      	gt-cp-typeck2.h.
      	* cp-tree.h: Declare complete_type_check_abstract.
      	* typeck2.c (pat_calc_hash, pat_compare,
      	complete_type_check_abstract): New functions.
      	(abstract_virtuals_error): If the type is abstract, register the
      	declaration within abstract_pending_vars for further checks.
      	Inspect also dependent types. Handle IDENTIFIER_NODEs as decl.
      	* decl.c (cp_finish_decl): Do not strip array types.
      	(create_array_type_for_decl): Check for abstractness of the element
      	type.
      	(complete_vars): Call complete_type_check_abstract.
      	* class.c (finish_struct): Prepare a list of virtual functions for
      	template types, and call complete_vars on it to check for abstractness.
      
      	PR c++/2204
      	* g++.dg/other/abstract2.C: New test.
      
      From-SVN: r84552
      Giovanni Bajo committed
    • config.gcc: Add sh-*-symbianelf target. · b55e3aad
      * config.gcc: Add sh-*-symbianelf target.
      * config/sh/sh.c: Add new target macros:
        TARGET_ENCODE_SECTION_INFO, TARGET_STRIP_NAME_ENCODING,
        TARGET_CXX_IMPORT_EXPORT_CLASS.
        (sh_file_start): Create a definition of the .directive section.
        (sh_attribute): Add dllimport and dllexport attributes.
      * config/sh/symbian-pre.h: New file.
      * config/sh/symbian-post.h: New file.
      * config/sh/symbian.c: New file. Contains Symbian specific functions.
      * config/sh/sh-protos.h: Add prototypes for new functions provided by symbian.c.
      * config/sh/t-symbian: New file.
      * doc/extend.texi: Document support for dllimport and dllexport	attributes by
        the sh-symbianelf target.
      
      From-SVN: r84551
      Nick Clifton committed