Commit Graph

69015 Commits

Author SHA1 Message Date
David Edelsohn 1fa5c70974 * config/rs6000/rs6000.md (eq<mode>_compare): Restrict to Pmode.
From-SVN: r100841
2005-06-11 15:07:05 -04:00
Daniel Berlin e4d693c1c2 lambda-code.c (replace_uses_equiv_to_x_with_y): Verify the step is an INTEGER_CST before calling int_cst_value.
2005-06-11  Daniel Berlin  <dberlin@dberlin.org>

	* lambda-code.c (replace_uses_equiv_to_x_with_y): Verify the step
	is an INTEGER_CST before calling int_cst_value.

From-SVN: r100839
2005-06-11 15:28:35 +00:00
GCC Administrator e8f927317c Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r100836.2
2005-06-11 00:16:20 +00:00
Uros Bizjak 74c4a88aff re PR target/21981 ([4.0 only] __m64 return value should be returned in %mm0)
PR target/21981
	* config/i386/i386.c (ix86_function_value_regno_p): Return true
	for FIRST_MMX_REG if TARGET_MMX.
	(ix86_return_in_memory): Return 1 for MMX/3dNow vectors. Delete
	wrong comment.
	(ix86_struct_value_rtx): Emit warning for MMX ABI violations.
	(ix86_value_regno): Return FIRST_MMX_REG for MMX vector modes.

From-SVN: r100832
2005-06-10 14:45:12 -07:00
Daniel Berlin c45af542bd lambda-code.c (replace_uses_equiv_to_x_with_y): Check step and access function against chrec_dont_know.
2005-06-10  Daniel Berlin  <dberlin@dberlin.org>

	* lambda-code.c (replace_uses_equiv_to_x_with_y): Check step
	and access function against chrec_dont_know.

From-SVN: r100831
2005-06-10 21:34:07 +00:00
Daniel Berlin 668c9ad184 lambda-code.c (replace_uses_of_x_with_y): Renamed and rewritten slightly.
2005-06-10  Daniel Berlin  <dberlin@dberlin.org>

	* lambda-code.c (replace_uses_of_x_with_y): Renamed and rewritten
        slightly.
	(exit_phi_for_loop_p): New function.
	(can_put_in_inner_loop): Ditto.
	(can_convert_to_perfect_nest): Ditto.
	(perfect_nestify): Create iv with right type.
	Rewrite statements in correct order.

From-SVN: r100827
2005-06-10 19:23:26 +00:00
Keith Besaw 51540eba26 tree-ssa-alias.c (new_type_alias): Use existing type tag if VAR has just one in its may_aliases list.
2005-06-10  Keith Besaw  <kbesaw@us.ibm.com>

        * tree-ssa-alias.c (new_type_alias): Use existing type
        tag if VAR has just one in its may_aliases list.

From-SVN: r100824
2005-06-10 17:44:22 +00:00
Aldy Hernandez 73042643c7 re PR c++/10611 (operations on vector mode not recognized in C++)
PR c++/10611
        * cvt.c (build_expr_type_conversion): Same.
        * typeck.c (build_binary_op): Handle vectors.
        (common_type): Same.
        (type_after_usual_arithmetic_conversions): Same.
        * testsuite/g++.dg/conversion/simd2.C: New.

From-SVN: r100823
2005-06-10 17:35:37 +00:00
Aldy Hernandez f8103b9fe2 re PR middle-end/17961 (ICE for operation on small vector with altivec enabled)
PR 17961
	* config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Remove.
	* config/rs6000/linux64.h (ROUND_TYPE_ALIGN): Remove vector check.
	* testsuite/gcc.dg/simd-3.c: New.

From-SVN: r100820
2005-06-10 17:04:09 +00:00
Fariborz Jahanian 4a96e5c3cd Use scc_operand predicate for eq:SI in powerpc.
Oked by David Edelsohn.

From-SVN: r100818
2005-06-10 15:01:59 +00:00
Dorit Nuzman bb74832900 tree-vect-analyze.c (vect_analyze_data_ref_dependence): DRs whose dependence-distance modulo VF is 0 are recorded in the...
* tree-vect-analyze.c (vect_analyze_data_ref_dependence): DRs whose
        dependence-distance modulo VF is 0 are recorded in the
        SAME_ALIGN_REFs VEC in each DR.
        (vect_enhance_data_refs_alignment): Avoid 80 column overflow. The
        alignment information of DRs that are in the SAME_ALIGN_REFs VEC of the
        DR we want to peel for, is set to 0.
        * tree-vect-transform.c (vect_do_peeling_for_loop_bound): Fix printout.
        * tree-vectorizer.c (destroy_loop_vec_info): Free the SAME_ALIGN_REFs
        VEC.
        * tree-vectorizer.h (dr_p): New type. Defined to use the VEC API.
        (_stmt_vec_info): Added new field same_align_refs.
        (STMT_VINFO_SAME_ALIGN_REFS): New macro.

From-SVN: r100817
2005-06-10 14:52:01 +00:00
Nathan Sidwell cdd5a1bebe * vec.h (VEC_safe_grow): Append MEM_STAT_INFO.
From-SVN: r100816
2005-06-10 12:02:22 +00:00
Alan Modra 71625f3dc6 linux.h (NO_PROFILE_COUNTERS): Define.
* config/rs6000/linux.h (NO_PROFILE_COUNTERS): Define.
	* config/rs6000/linux64.h (NO_PROFILE_COUNTERS): Define as 1.
	* config/rs6000/rs6000.c (output_function_profiler): Obey
	NO_PROFILE_COUNTERS.  Handle TARGET_SECURE_PLT.  Use "bcl 20,31"
	for -fPIC.  Delete save_lr and substitute its value into strings.

From-SVN: r100814
2005-06-10 11:14:59 +09:30
Dale Johannesen 2e3f0db6f9 i386.c (optimization_options): Make -fno-math-errno the default on Darwin.
2005-06-09  Dale Johannesen  <dalej@apple.com>

        * config/i386/i386.c (optimization_options):  Make -fno-math-errno
        the default on Darwin.
        * config/rs6000/rs6000.c (optimization_options):  Ditto.
        * doc/invoke.texi (-fno-math-errno): Document.

2005-06-09  Dale Johannesen  <dalej@apple.com>

        * config/rs6000/rs6000.c (TARGET_INSN_VALID_WITHIN_DOLOOP):
        Change to TARGET_INVALID_WITHIN_DOLOOP.

From-SVN: r100813
2005-06-10 01:16:52 +00:00
David Edelsohn e94412761a rs6000.md (eq): Convert to define_insn_and_split.
* config/rs6000/rs6000.md (eq): Convert to define_insn_and_split.
        * config/rs6000/predicates.md (scc_eq_operand): New.

From-SVN: r100812
2005-06-09 21:11:43 -04:00
GCC Administrator 192a18c8f4 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r100810.2
2005-06-10 00:16:17 +00:00
Kaz Kojima 9a487a4524 sh.md (mextr_rl): Set buffer size properly.
* config/sh/sh.md (mextr_rl): Set buffer size properly.
	(*mextr_lr): Likewise.

From-SVN: r100808
2005-06-09 23:42:29 +00:00
Gabriel Dos Reis 724da85609 Fix email address
From-SVN: r100807
2005-06-09 22:27:41 +00:00
Gabriel Dos Reis b7e20b53f6 re PR c/21759 (Implement warning for codes at the intersection of C and C++)
PR c/21759
        * c.opt (Wc++-compat): New.
        * doc/invoke.texi (-Wc++-compat): Document.
        * c-typeck.c (convert_for_assignment): Check for implicit
        conversion void* -> T*.
testsuite/
        * gcc.dg/Wcxx-compat-1.c: New.

From-SVN: r100806
2005-06-09 22:21:48 +00:00
Thomas Koenig 92f5e87c2b re PR fortran/21480 ([4.0 only] trivial reshape operation gives erroneous results)
2005-06-09  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/21480
	* m4/reshape.m4:  Use sizeof (rtype_name) for sizes to be passed
	to reshape_packed.
	* generated/reshape_c4.c:  Regenerated.
	* generated/reshape_c8.c:  Regenerated.
	* generated/reshape_i4.c:  Regenerated.
	* generated/reshape_i8.c:  Regenerated.

2005-06-09  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/21480
	* gfortran.dg/reshape-complex.f90:  Add a test for a packed
	complex array.

From-SVN: r100805
2005-06-09 19:43:27 +00:00
Gabriel Dos Reis 8562f05c95 machmode.h (to_machine_mode): New.
* machmode.h (to_machine_mode): New.
        * rtl.h (to_rtx_code): Likewise.
        * read-rtl.c (apply_mode_macro): Convert mode to machine_mode.
        (print_c_condition): Convert return value of htab_find().
        (apply_code_macro): Add explicit cast when convertin to enums.
        (apply_mode_maps): Likewise.
        (check_code_macro): Likewise.
        (read_rtx_1): Likewise.

From-SVN: r100804
2005-06-09 17:41:37 +00:00
Richard Henderson c8d3810f93 ia64.c (update_set_flags): Just return for IF_THEN_ELSE.
* config/ia64/ia64.c (update_set_flags): Just return for IF_THEN_ELSE.
        Use SCALAR_FLOAT_MODE_P.
        * config/ia64/vect.md (vcondv2sf): Remove code check on comparison.
        (fselect): Rename from fpcmp; use %F.
        (fpcmp): New.

From-SVN: r100803
2005-06-09 10:38:06 -07:00
Jan Hubicka 30be951ac7 cgraphunit.c (cgraph_create_edges): Do not walk BLOCK; finalize local statics when doing unit-at-a-time.
* cgraphunit.c (cgraph_create_edges): Do not walk BLOCK; finalize
	local statics when doing unit-at-a-time.
	(cgraph_varpool_assemble_pending_decls): Output debug info.
	* dwarf2out.c (decls_for_scope): Skip local statics.
	(dwarf2out_decl): Handle local statics.
	* passes.c (rest_of_decl_compilation): Do not differentiate
	local and global statics in unit-at-a-time.
	* tree-inline.c (remap_decls): Put local static into
	unexpanded_vars_list rather than introducing duplicated VAR_DECL
	node.

From-SVN: r100802
2005-06-09 16:21:36 +00:00
Daniel Berlin 2ffa9a0ce5 rs6000.c: (rs6000_insn_valid_within_doloop): Fix prototype.
2005-06-09  Daniel Berlin  <dberlin@dberlin.org>

	* config/rs6000/rs6000.c: (rs6000_insn_valid_within_doloop): Fix
	prototype.

From-SVN: r100801
2005-06-09 14:23:28 +00:00
Daniel Berlin 910fdc79ea Makefile.in (OBJS-common): Add tree-ssa-structalias.o.
2005-06-08  Daniel Berlin  <dberlin@dberlin.org>

	* Makefile.in (OBJS-common): Add tree-ssa-structalias.o.
	* tree-flow.h (find_what_p_points_to): Add prototype.
	(push_fields_onto_fieldstack): Ditto.
	(sort_fieldstack): Ditto.
	* tree-optimize.c (init_tree_optimization_passes): Add
	pass_build_pta and pass_del_pta.
	* tree-pass.h (pass_build_pta): New structure.
	(pass_del_pta): Ditto.
	* tree-ssa-alias.c (compute_flow_sensitive_aliasing): Disambiguate
	using new alias analyzer.
	(push_fields_onto_fieldstack): Removed from here.
	(bitpos_of_field): Ditto.
	(fieldoff_compare): Ditto.
	* tree-ssa-structalias.c: New file.
	* tree-ssa-structalias.h: Ditto.

From-SVN: r100800
2005-06-09 13:05:39 +00:00
Nathan Sidwell 5878b92f9e c-typeck.c (build_c_cast): Check type punning on COMPONENT_REF too.
/:
	* c-typeck.c (build_c_cast): Check type punning on COMPONENT_REF
	too.
testsuite:
	* gcc.dg/alias-8.c: New.

From-SVN: r100799
2005-06-09 11:36:12 +00:00
Bernd Schmidt 9df3d545d5 bfin.c (enum bfin_builtins): Moved here from...
* config/bfin/bfin.c (enum bfin_builtins): Moved here from...
	* config/bfin/bfin.h (enum bfin_builtins): ... here.

From-SVN: r100798
2005-06-09 11:26:16 +00:00
Adrian Straetling e7e64a25d5 target.h (insn_valid_within_doloop): Rename into "invalid_within_doloop".
2005-06-09  Adrian Straetling  <straetling@de.ibm.com>

	* target.h (insn_valid_within_doloop): Rename into
	"invalid_within_doloop".  Change return type to "const char *".
	Update Comment.
	* targhooks.h (default_insn_valid_within_doloop): Rename into
	"default_invalid_within_doloop".
	* targhooks.c (default_insn_valid_within_doloop): Likewise.
	Update Comment.
	* target-def.h (TARGET_INSN_VALID_WITHIN_DOLOOP): Rename target hook
	into "TARGET_INVALID_WITHIN_DOLOOP". Default it to
	"default_invalid_within_doloop".
	* hooks.c (hook_constcharptr_rtx_null): New function.
	(hook_bool_rtx_true): Remove.
	* hooks.h (hook_constcharptr_rtx_null): Declare.
	(hook_bool_rtx_true): Remove.
	* loop-doloop.c (doloop_valid_p): Temporarily store return value of
	"invalid_within_doloop" and print error message if non-null.
	Update Comment.
	* doc/tm.texi: Update documentation.
	* config/s390/s390.c: Adjust to new hook name and new default hook.
	* config/rs6000/rs6000.c: (rs6000_insn_valid_within_doloop): Rename
	into "rs6000_invalid_within_doloop".
	(rs6000_invalid_within_doloop): Change return type to "static const
	char *" and replace return values.  Update Comment.

From-SVN: r100797
2005-06-09 11:17:23 +00:00
Bernd Schmidt fd078f5215 bfin.opt (mlong-calls): New.
* config/bfin/bfin.opt (mlong-calls): New.
	* config/bfin/predicates.md (call_insn_operand): Disallow SYMBOL_REF
	if TARGET_LONG_CALLS.

From-SVN: r100796
2005-06-09 11:12:44 +00:00
Kaveh R. Ghazi 74118f1510 gjavah.c (error): Add ATTRIBUTE_PRINTF_1.
* gjavah.c (error): Add ATTRIBUTE_PRINTF_1.
	* java-tree.h (parse_error_context): Move...
	* parse.h (parse_error_context): ... here, add ATTRIBUTE_GCC_DIAG.
	* parse.y (parse_warning_context): Add ATTRIBUTE_GCC_DIAG.
	* verify-impl.c (debug_print): Add ATTRIBUTE_PRINTF_1.

From-SVN: r100795
2005-06-09 10:55:02 +00:00
Richard Henderson e41d82f5d7 re PR tree-optimization/20610 (Real by complex multiplications perform unnecessary operations)
PR tree-opt/20610
        * tree.h (DECL_COMPLEX_GIMPLE_REG_P): New.
        (struct tree_decl): Add gimple_reg_flag.
        * integrate.c (copy_decl_for_inlining): Copy it.
        * gimplify.c (internal_get_tmp_var): Set it.
        (gimplify_bind_expr): Likewise.
        (gimplify_function_tree): Likewise.
        (gimplify_modify_expr_complex_part): New.
        (gimplify_modify_expr): Use it.
        * tree-gimple.c (is_gimple_reg_type): Allow complex.
        (is_gimple_reg): Allow complex with DECL_COMPLEX_GIMPLE_REG_P set.

        * tree-complex.c (complex_lattice_t): New.
        (complex_lattice_values, complex_variable_components): New.
        (some_nonzerop, find_lattice_value, is_complex_reg,
        init_parameter_lattice_values, init_dont_simulate_again,
        complex_visit_stmt, complex_visit_phi, create_components,
        update_complex_components, update_parameter_components,
        update_phi_components, update_all_vops, expand_complex_move): New.
        (extract_component): Handle INDIRECT_REF, COMPONENT_REF, ARRAY_REF,
        SSA_NAME.
        (update_complex_assignment): Use update_complex_components;
        handle updates of return_expr properly.
        (expand_complex_addition): Use complex lattice values.
        (expand_complex_multiplication): Likewise.
        (expand_complex_division): Likewise.
        (expand_complex_libcall): Use update_complex_components.
        (expand_complex_comparison): Use update_stmt.
        (expand_complex_operations_1): Use expand_complex_move, retrieve
        lattice values.
        (tree_lower_complex): Compute lattice values.
        (tree_lower_complex_O0): Duplicate from tree_lower_complex.
        (pass_lower_complex_O0): Rename from pass_lower_complex.
        (pass_lower_complex, gate_no_optimization): New.
        * tree-optimize.c (init_tree_optimization_passes): Update for
        complex pass changes.
        * tree-pass.h (pass_lower_complex_O0): Declare.

From-SVN: r100793
2005-06-09 00:43:40 -07:00
Dale Johannesen 31920d83c2 darwin.c (darwin_binds_local_p): New.
2005-06-08  Dale Johannesen  <dalej@apple.com>

        * config/darwin.c (darwin_binds_local_p):  New.
        * config/darwin-protos.h (darwin_binds_local_p):  Declare it.
        * config/i386/i386.c (TARGET_BINDS_LOCAL_P):  Use it for TARGET_MACHO.
        * config/rs6000/rs6000.c (rs6000_binds_local_p):  Remove.
        (TARGET_BINDS_LOCAL_P):  Change it to darwin_binds_local_p.

From-SVN: r100792
2005-06-09 03:53:24 +00:00
Roger Sayle 77462a3c00 * typeck.c (convert): Only clear TREE_OVERFLOW on INTEGER_CST nodes.
From-SVN: r100791
2005-06-09 03:38:09 +00:00
GCC Administrator db55b26071 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r100789.2
2005-06-09 00:16:23 +00:00
Bryce McKinlay 429f766f9f Add PR number to ChangeLog entry.
From-SVN: r100786
2005-06-09 01:15:43 +01:00
Bryce McKinlay e8050c0c80 RMIClassLoader.java (getClassLoader): Make public.
* java/rmi/server/RMIClassLoader.java (getClassLoader): Make public.
	From Gary Benson.

From-SVN: r100785
2005-06-09 01:02:37 +01:00
Aldy Hernandez 79a020563c rs6000.h: Remove rs6000_long_double_size_string...
* config/rs6000/rs6000.h: Remove rs6000_long_double_size_string,
        rs6000_isel, rs6000_spe, rs6000_alignment_string,
        rs6000_sched_restricted_insns_priority_str,
        rs6000_sched_restricted_insns_priority, rs6000_abi_string.

From-SVN: r100784
2005-06-08 23:45:45 +00:00
Zdenek Dvorak 03daa27a28 tree-ssa-address.c (addr_for_mem_ref): Use LAST_VIRTUAL_REGISTER instead of FIRST_PSEUDO_REGISTER for creating...
* tree-ssa-address.c (addr_for_mem_ref): Use LAST_VIRTUAL_REGISTER
	instead of FIRST_PSEUDO_REGISTER for creating pseudoregisters.
	* tree-ssa-loop-ivopts.c (add_cost, multiply_by_cost,
	multiplier_allowed_in_address_p, get_address_cost): Ditto.

From-SVN: r100783
2005-06-08 22:47:07 +00:00
Richard Henderson bd8633a3c0 ia64.h (NO_PROFILE_COUNTERS): New.
* config/ia64/ia64.h (NO_PROFILE_COUNTERS): New.
        * config/ia64/ia64.c (ia64_output_function_profiler): Honor it.
        Emit out3 load right after alloc.

From-SVN: r100781
2005-06-08 14:29:36 -07:00
Aldy Hernandez 8713190c2b linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use rs6000_explicit_options.
* config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
	rs6000_explicit_options.

From-SVN: r100775
2005-06-08 20:14:19 +00:00
Richard Henderson 2b4f149bc9 ia64.h (FUNCTION_PROFILER): Move implementation ...
* config/ia64/ia64.h (FUNCTION_PROFILER): Move implementation ...
        * config/ia64/ia64.c (ia64_output_function_profiler): ... here; add
        unwind markup.
        * config/ia64/ia64-protos.h (ia64_output_function_profiler): Declare.

From-SVN: r100774
2005-06-08 12:23:07 -07:00
Benjamin Kosnik fdeeef7f2a re PR libstdc++/21955 (std::stringbuf vs. in_avail)
2005-06-08  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/21955
	* include/std/std_sstream.h (basic_stringbuf::showmanyc): Add.
	Remove unnecessary this->_M_mode decoration.
	* include/bits/fstream.tcc: Adjust line spacing.
	* testsuite/27_io/basic_streambuf/in_avail/char/1.cc: New, test
	base class behavior.
	* testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc: Same.
	* testsuite/27_io/basic_stringbuf/in_avail/char/21955.cc: New.
	* testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Match
	filebuf behavior.
	* testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Same.
	* testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc: Same.
	* testsuite/27_io/basic_stringbuf/str/char/1.cc: Same.
	* testsuite/27_io/basic_streambuf/in_avail/char/9701-3.cc: Move...
	* testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc: ...here.

From-SVN: r100770
2005-06-08 17:29:44 +00:00
Joseph Myers 7a9430c092 sol2-c.c (cmn_err_char_table): Allow width for %b formats.
* config/sol2-c.c (cmn_err_char_table): Allow width for %b
	formats.

testsuite:
	* gcc.dg/format/cmn_err-1.c: Update.

From-SVN: r100763
2005-06-08 17:28:39 +01:00
James A. Morrison 8b0096b486 re PR target/20666 (SPARC builtins should be folded if possible)
2005-06-08  James A. Morrison  <phython@gcc.gnu.org>

        PR target/20666
        * config/sparc/sparc.c (sparc_fold_builtin): New function
        (sparc_vis_mul8x16): New function.
        (sparc_handle_vis_mul8x16): New function.
        (TARGET_FOLD_BUILTIN): Define to sparc_fold_builtin.

From-SVN: r100762
2005-06-08 16:03:31 +00:00
Ziga Mahkovec a6cddf6e80 MessageFormat.java (parse): When parsing strings, check for an empty pattern trailer.
2005-06-08  Ziga Mahkovec  <ziga.mahkovec@klika.si>

	* java/text/MessageFormat.java (parse): When parsing strings, check
	for an empty pattern trailer.

From-SVN: r100761
2005-06-08 15:46:08 +00:00
David Ayers cf22360307 NXConstStr.h, [...]: Do not include Objective-C headers as system headers.
2005-06-08  David Ayers  <d.ayers@inode.at>

	* objc/NXConstStr.h, objc/Object.h, objc/Protocol.h,
	objc/encoding.h, objc/hash.h, objc/objc-api.h,
	objc/runtime.h, objc/sarray.h, objc/thr.h,
	objc/typedstream.h: Do not include Objective-C headers as
	system headers.

From-SVN: r100760
2005-06-08 15:13:17 +00:00
David Edelsohn 70ae01917f re PR rtl-optimization/10588 ([PPC] i==0||j==0 should use cntlzw and srawi)
* config/rs6000/rs6000.md (call_indirect_nonlocal_aix32): Prefer
	CTR to LR.
	(call_indirect_nonlocal_aix64): Same.
	(call_value_indirect_nonlocal_aix32): Same.
	(call_value_indirect_nonlocal_aix64): Same.

	PR target/10588
	(eq): Use CLZ splitter for compare with zero.

From-SVN: r100759
2005-06-08 10:46:09 -04:00
Alex V. Breger 625b02b215 re PR testsuite/21702 (Typo in gcc/testsuite/gcc.target/i386/i386.exp)
PR testsuite/21702
	* gcc.target/i386/i386.exp: Fix comment typo.

From-SVN: r100758
2005-06-08 12:02:19 +00:00
Nathan Sidwell 98ed9dae3a re PR c++/19497 (Invalid declaration in template diagnosed too late)
cp:
	PR c++/19497
	* cp-tree.def (USING_DECL): Update documentation.
	* cp-tree.h (DECL_DEPENDENT_P): New.
	(USING_DECL_DECLS, USING_DECL_SCOPE): New.
	* class.c (handle_using_decl): Move most of the processing to ...
	* name-lookup.c (do_class_using_decl): ... here.  Make stricter.
	(push_using_decl): Use USING_DECL_SCOPE.
	(cp_emit_debug_info_for_using): Make extern.
	* cxx-pretty-print.c (pp_cxx_statement) <USING_DECL case>: Adjust.
	* name-lookup.h (cp_emit_debug_info_for_using): Declare.
	* pt.c (tsubst_decl) <USING_DECL case>: Use do_class_using_decl
	when tsubsting.
	(tsubst_expr): Use USING_DECL_SCOPE.
	* search.c (lookup_field_1): Use DECL_DEPENDENT_P.
	* semantics.c (finish_member_declaration): Likewise.
testsuite:
	PR c++/19497
	* g++.dg/inherit/using5.C: New.
	* g++.dg/inherit/using6.C: New.

From-SVN: r100757
2005-06-08 11:49:23 +00:00
Volker Reichelt cb6d4a9fce re PR c++/19894 (pointer-to-void member not rejected in template)
PR c++/19894
	* pt.c (tsubst): Reject pointer-to-member of type void.

	* g++.dg/template/ptrmem15.C: New test.

	PR c++/20563
	* parser.c (cp_parser_label_declaration): Deal with invalid/missing
	identifiers.

	* g++.dg/ext/label4.C: New test.

From-SVN: r100754
2005-06-08 11:09:13 +00:00