Commit Graph

96978 Commits

Author SHA1 Message Date
Ulrich Weigand
263839d33b * reload.c (find_reloads_address): Fix typo.
From-SVN: r154253
2009-11-17 16:11:44 +00:00
Rafael Avila de Espindola
9870fe4f88 lto-elf.c (lto_file_init): Add offset argument.
2009-11-17  Rafael Avila de Espindola  <espindola@google.com>

	* lto-elf.c (lto_file_init): Add offset argument.
	(lto_elf_file_open): Record the offset.
	* lto.c (lto_resolution_read): Change file_name into a lto_file
	argument. Check offsets.
	(lto_file_read): Update call to lto_resolution_read.
	* lto.h (lto_file_struct): Add the offset field.

From-SVN: r154251
2009-11-17 16:00:19 +00:00
Ulrich Weigand
6ca19a974b spu.c (get_pic_reg): Use LAST_ARG_REGNUM as PIC registers in leaf functions if possible.
* config/spu/spu.c (get_pic_reg): Use LAST_ARG_REGNUM as PIC
	registers in leaf functions if possible.

From-SVN: r154245
2009-11-17 13:25:54 +00:00
Maxim Kuvyrkov
73d2e138b1 * config/m68k/m68k-devices.def: Add MCF5441x family.
From-SVN: r154243
2009-11-17 10:23:10 +00:00
Jan Hubicka
f875410705 cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not access removed node.
* cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not access
	removed node.
	* cgraphunit.c (verify_cgraph_node): Verify frequencies for match.

From-SVN: r154242
2009-11-17 09:35:51 +00:00
Uros Bizjak
aaf5d6c03b predicates.md (x86_64_szext_general_operand): Do not nest ior expressions.
* config/i386/predicates.md (x86_64_szext_general_operand): Do not
	nest ior expressions.
	(x86_64_szext_nonmemory_operand): Ditto.
	(call_insn_operand): Ditto.

From-SVN: r154241
2009-11-17 08:30:55 +01:00
Jakub Jelinek
d22f0231e6 re PR c++/42061 ([c++0x] ICE with invalid initializer list for reference)
PR c++/42061
	* call.c (reference_binding): Return NULL for initializer list with
	error operand inside of it.

	* g++.dg/cpp0x/initlist27.C: New test.

From-SVN: r154238
2009-11-17 08:01:18 +01:00
Jakub Jelinek
84526801f6 re PR c++/42059 ([c++0x] ICE with initializer list for VLA)
PR c++/42059
	* typeck.c (cp_build_modify_expr): For initializer list call
	check_array_initializer to make sure lhs isn't a VLA.

	* g++.dg/cpp0x/initlist26.C: New test.

From-SVN: r154237
2009-11-17 07:59:13 +01:00
Jason Merrill
5a887be717 PR c++/189, c++/9937, c++/13950, DR 176
PR c++/189, c++/9937, c++/13950, DR 176
	* g++.dg/tc1/dr176.C: Adjust.

From-SVN: r154235
2009-11-17 00:58:03 -05:00
GCC Administrator
e91a8d0fe1 Daily bump.
From-SVN: r154232
2009-11-17 00:16:56 +00:00
Jason Merrill
5a080ad7b0 PR c++/13950, DR 176
PR c++/13950, DR 176
	* search.c (lookup_field_r): Allow lookup to find the
	injected-class-name from a template base.
	(template_self_reference_p): Remove.
	* decl.c (make_typename_type): Diagnose ambiguity.  Use
	maybe_get_template_decl_from_type_decl.
	* parser.c (cp_parser_template_name): Pass true to is_template
	rather than use maybe_get_template_decl_from_type_decl.
	(cp_parser_lookup_name): Use maybe_get_template_decl_from_type_decl.
	* pt.c (maybe_get_template_decl_from_type_decl): Handle ambiguity.
	Use DECL_SELF_REFERENCE_P.

	* parser.c (cp_parser_parse_and_diagnose_invalid_type_name):
	Avoid duplicate ambiguity error.
	* error.c (dump_decl): Don't say "typedef" for injected-class-name.
	* pt.c (convert_template_argument): Tweak logic.

From-SVN: r154223
2009-11-16 18:29:25 -05:00
Alexandre Oliva
87213cd496 Makefile.def: Restore host and target settings for gmp.
* Makefile.def: Restore host and target settings for gmp.
* Makefile.in: Rebuild.

From-SVN: r154217
2009-11-16 22:56:33 +00:00
Rafael Avila de Espindola
1b70729f70 lto-elf.c (lto_elf_file_open): Use strtoll to parse the offset.
2009-11-16  Rafael Avila de Espindola  <espindola@google.com>

	* lto-elf.c (lto_elf_file_open): Use strtoll to parse the offset.

From-SVN: r154215
2009-11-16 20:25:42 +00:00
Alexandre Oliva
efd0b0d36d * stmt.c (expand_asm_stmt): Get locus from stmt.
From-SVN: r154214
2009-11-16 20:18:45 +00:00
Alexandre Oliva
f8981d1c08 tree-cfg.c (gimple_redirect_edge_and_branch): Create the decl label for the new dest block on demand.
* tree-cfg.c (gimple_redirect_edge_and_branch) <case GIMPLE_ASM>:
Create the decl label for the new dest block on demand.  Require
a fallthrough edge if no asm labels were redirected.

From-SVN: r154213
2009-11-16 20:18:33 +00:00
Uros Bizjak
a81f2330a3 i386.md (cbranchsi4): Use nonimmediate_operand for operand 1 predicate.
* config/i386/i386.md (cbranchsi4): Use nonimmediate_operand for
	operand 1 predicate.
	(cstoresi4): Ditto for operand 2.
	(cbranch<mode>4): Macroize expander from cbranch{qi,hi,si,di,ti}4
	patterns using SDWIM mode iterator.
	(cstore<mode>4): Macroize expander from cstore{qi,hi,si,di}4 patterns
	using SWIM mode iterator.
	(cmpdi_1): Rename from cmpdi_1_rex64.
	(cmp<mode>_1): Macroize expander from cmp{si,di}_1 patterns using
	SWI48 mode iterator.
	(*cmp<mode>_1): Macroize insn from *cmp{qi,hi,si,di}_1_insn using SWI
	mode iterator.
	(*cmp<mode>_ccno_1): Ditto from *cmp{qi,hi,si,di}_ccno_1.
	(*cmp<mode>_minus_1): Ditto from *cmp{qi,hi,si,di}_minus_1.
	(*cmpqi_ext_3_insn): Make private.
	(*cmpqi_ext_3_insn_rex64): Make private.
	(cmpstrnsi): Update for renamed cmpdi_1_rex64.
	* config/i386/predicates.md (cmpsi_operand): Remove.

From-SVN: r154212
2009-11-16 19:42:35 +01:00
Alexandre Oliva
f61428ed3c configure.ac: Add libelf to host_libs.
* configure.ac: Add libelf to host_libs.  Enable in-tree configury
of ppl and cloog.  Fix in-tree configury of libelf, skip tests.
Fix portability of test of C++ as bootstrap language.  Add
ppl/src/ppl-config.o to the bootstrap compare exclusion list.
* configure: Rebuild.
* Makefile.def: Drop host and target settings from gmp, mpfr, ppl,
and cloog.  Fix in-tree ppl configuration.  Introduce libelf
in-tree building.
* Makefile.tpl (POSTSTAGE1_CXX_EXPORT): New.
(POSTSTAGE1_HOST_EXPORTS): Use it.
(STAGE[+id+]_CXXFLAGS): New.
(BASE_FLAGS_TO_PASS): Pass it down.
(configure-stage[+id+]-[+prefix+][+module+]): Use it.  Add
extra_exports.
(all-stage[+id+]-[+prefix+][+module+]): Likewise.
(configure-[+prefix+][+module+], all-[+prefix+][+module+]): Add
extra_exports.
* Makefile.in: Rebuild.

From-SVN: r154211
2009-11-16 18:31:10 +00:00
Ben Elliston
f6c56be6ce * config.sub, config.guess: Update from upstream sources.
From-SVN: r154210
2009-11-17 05:04:53 +11:00
Paul Brook
6ed126e6bc invoke.texi: Document ARM VFPv4 based FPUs.
2009-11-16  Paul Brook  <paul@codesourcery.com>

	gcc/
	* doc/invoke.texi: Document ARM VFPv4 based FPUs.
	* config/arm/arm.c (all_fpus): Add VFPv4 entries.

From-SVN: r154207
2009-11-16 17:03:06 +00:00
Jan Hubicka
0d63a7400d cgraphbuild.c (compute_call_stmt_bb_frequency): Use proper ENTRY_BLOCK_PTR.
* cgraphbuild.c (compute_call_stmt_bb_frequency): Use proper ENTRY_BLOCK_PTR.
	* cgraph.c (cgraph_clone_edge): Avoid freq_scale 0 to completely zero out all
	callees.
	* cgraphunit.c (verify_cgraph_node): Verify cgraph nodes for frequency and count match.
	* ipa-inline.c (update_noncloned_frequencies): New function.
	(cgraph_clone_inlined_nodes): Use it.
	* tree-inline.c (copy_bb): Fix frequency scaling; output
	diagnostic on frequency mismatches to dump file.
	(initialize_cfun): Do not scale frequency; fix count scaling;
	initialize entry and exit block frequencies; copy profile
	info.
	(copy_cfg_body): Use frequency_scale as argument;
	fix count scaling.
	(copy_body): Use frequency_scale as argument.
	(expand_call_inline): Compute frequency scale and output diagnostic
	to dump file.
	(delete_unreachable_blocks_update_callgrah): Remove checking that
	has to be done after edge redirection.
	(tree_function_versioning): Update initialize_cfun and copy_body call.

From-SVN: r154205
2009-11-16 16:06:29 +00:00
Paolo Carlini
3cb9d1d59a re PR c++/42055 (ICE with ambiguous template specialization)
cp/
2009-11-16  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/42055
	* pt.c (determine_specialization): Assign to candidates the return
	value of the chainon called before print_candidates.

testsuite/
2009-11-16  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/42055
	* testsuite/g++.dg/template/crash92.C: New.

From-SVN: r154202
2009-11-16 14:58:33 +00:00
Jan Hubicka
0e3776dbee cgraph.c (cgraph_release_function_body): Update use of ipa_transforms_to_apply.
* cgraph.c (cgraph_release_function_body): Update use of
	ipa_transforms_to_apply.
	(cgraph_remove_node): Remove ipa_transforms_to_apply.
	* cgraph.h (struct cgraph_node): Add ipa_transforms_to_apply.
	* cgraphunit.c (save_inline_function_body): Clear ipa_transforms for
	copied body.
	(cgraph_materialize_clone): Remove original if dead.
	* lto-streamer-in.c (lto_read_body): Remove FIXME and
	ipa_transforms_to_apply hack.
	* function.h (struct function): Add ipa_transforms_to_apply.
	* ipa.c (cgraph_remove_unreachable_nodes): Handle dead clone originals.
	* tree-inline.c (copy_bb): Update sanity check.
	(initialize_cfun): Do not copy ipa_transforms_to_apply.
	(expand_call_inline): remove dead clone originals.
	(tree_function_versioning): Merge transformation queues.
	* passes.c (add_ipa_transform_pass): Remove.
	(execute_one_ipa_transform_pass): Update ipa_transforms_to_apply
	tracking.
	(execute_all_ipa_transforms): Update.
	(execute_one_pass): Update.

	* lto.c (read_cgraph_and_symbols): Set also ipa_transforms_to_apply.

From-SVN: r154200
2009-11-16 13:26:40 +00:00
Paolo Carlini
0229b692f4 re PR c++/32056 (Storage classes on template parameters)
cp/
2009-11-16  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/32056
	* decl.h (enum decl_context): Add TPARM enumerator.
	* decl.c (grokdeclarator): Per 14.1/2, error out if a storage class
	is specified in a template parameter declaration.
	* parser.c (cp_parser_template_parameter): Call grokdeclarator with
	TPARM as third argument.

testsuite/
2009-11-16  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/32056
	* testsuite/g++.dg/template/error44.C: New.

From-SVN: r154198
2009-11-16 08:31:26 +00:00
Andreas Krebbel
0fc4f703e5 pr41919.c: Mark chars explicitely as signed.
2009-11-16  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* gcc.c-torture/execute/pr41919.c: Mark chars explicitely as signed.

From-SVN: r154197
2009-11-16 07:59:25 +00:00
GCC Administrator
f47c263663 Daily bump.
From-SVN: r154195
2009-11-16 00:16:49 +00:00
Steve Ward
ceaaa5ce51 cxxabi.h (__cxa_demangle): Fix typo in comment.
2009-11-15  Steve Ward  <planet36@gmail.com>

	* libsupc++/cxxabi.h (__cxa_demangle): Fix typo in comment.

From-SVN: r154191
2009-11-15 20:59:55 +00:00
Janus Weil
bd09b73784 re PR fortran/42048 ([F03] Erroneous syntax error message on TBP call)
2009-11-15  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/42048
	* match.c (gfc_match_call): If we're inside a function with derived
	type return value, allow calling a TBP of the result variable.


2009-11-15  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/42048
	* gfortran.dg/typebound_call_11.f03: New test.

From-SVN: r154190
2009-11-15 15:54:05 +01:00
Hans-Peter Nilsson
4b12152c8f lto.exp: For non-lto, bail out before calling init functions.
* gcc.dg/lto/lto.exp: For non-lto, bail out before calling
	init functions.

From-SVN: r154189
2009-11-15 14:49:07 +00:00
Andy Hutchinson
a212a5d408 PR target/21078, 21080
PR target/21078, 21080
* config/avr/avr.c (avr_return_addr_rtx): New function for
builtin_return_address.
(expand_prologue): Calculate stack usage.
(avr_asm_function_end_prologue): Output stack size and offset label.
* config/avr/avr.h (RETURN_ADDR_RTX): Replace.
(machine_function): Add stack_usage.
* config/avr/avr-protos.h (avr_return_addr_rtx): New function.

From-SVN: r154188
2009-11-15 04:10:20 +00:00
GCC Administrator
de8caa8cf8 Daily bump.
From-SVN: r154187
2009-11-15 00:16:48 +00:00
Anatoly Sokolov
7ae6223791 iq2000.c (iq2000_function_value): Make static, add new 'outgoing' argument.
* config/iq2000/iq2000.c (iq2000_function_value): Make static, add
	new 'outgoing' argument.
	(iq2000_libcall_value, iq2000_function_value_regno_p): New functions.
	(TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Declare.
	* config/iq2000/iq2000.h: (FUNCTION_VALUE_REGNO_P): Redefine, use
	iq2000_function_value_regno_p.
	(FUNCTION_VALUE, LIBCALL_VALUE): Remove.
	* config/iq2000/iq2000-protos.h (iq2000_function_value_regno_p):
	Declare.

From-SVN: r154184
2009-11-15 00:07:23 +03:00
Richard Earnshaw
282cac16ce re PR target/42031 (Thumb2 ICE - spill failure.)
PR target/42031
	* arm.md (adddi_sesidi_di): Place tied contraint first.
	(adddi_zesidi_di, subdi_di_zesidi, subdi_di_sesidi): Likewise
	(subdi_zesidi_di, subdi_sesidi_di): Likewise.
	(mulsi3_compare0, mulsi_compare0_scratch): Likewise.
	(mulsi3addsi, mulsi3addsi_compare0): Likewise.
	(mulsi3addsi_compare0_scratch, smulsi3_highpart_nov6): Likewise.
	(umulsi3_highpart_nov6, anddi_zesidi_di, anddi_sesdi_di): Likewise.
	(anddi_notdi_di, iordi_sesidi_di, xordi_sesidi_di): Likewise.
	(andsi_iorsi3_notsi, arm_ashldi3_1bit, arm_ashrdi3_1_bit): Likewise.
	(arm_lshrdi3_1bit, one_cmpldi2): Likewise.

From-SVN: r154182
2009-11-14 18:17:21 +00:00
Richard Earnshaw
cfc25c74f1 arm.md (adddi_sesidi_di): Place tied contraint first.
* arm.md (adddi_sesidi_di): Place tied contraint first.
	(adddi_zesidi_di, subdi_di_zesidi, subdi_di_sesidi): Likewise
	(subdi_zesidi_di, subdi_sesidi_di): Likewise.
	(mulsi3_compare0, mulsi_compare0_scratch): Likewise.
	(mulsi3addsi, mulsi3addsi_compare0): Likewise.
	(mulsi3addsi_compare0_scratch, smulsi3_highpart_nov6): Likewise.
	(umulsi3_highpart_nov6, anddi_zesidi_di, anddi_sesdi_di): Likewise.
	(anddi_notdi_di, iordi_sesidi_di, xordi_sesidi_di): Likewise.
	(andsi_iorsi3_notsi, arm_ashldi3_1bit, arm_ashrdi3_1_bit): Likewise.
	(arm_lshrdi3_1bit, one_cmpldi2): Likewise.

From-SVN: r154181
2009-11-14 18:16:18 +00:00
Uros Bizjak
618cc62edb predicates.md (call_register_no_elim_operand): New predicate.
* config/i386/predicates.md (call_register_no_elim_operand):
	New predicate.  Reject stack register as valid call operand
	for 32bit targets.
	(call_insn_operand): Use call_register_no_elim_operand.

From-SVN: r154178
2009-11-14 15:31:13 +01:00
GCC Administrator
2622268e44 Daily bump.
From-SVN: r154177
2009-11-14 00:16:43 +00:00
Paolo Carlini
33913cfa99 forward_list.h (forward_list<>::erase_after): Change signature per N2988, return void; simplify.
2009-11-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.h (forward_list<>::erase_after):
	Change signature per N2988, return void; simplify.
	(_Fwd_list_base<>::_M_erase_after): Likewise return void.
	(forward_list<>::~forward_list): Do not call _M_erase_after
	unnecessarily, the base class destructor already does it.
	(forward_list<>::splice_after(const_iterator position,
	forward_list&&, const_iterator i): Check position != i and
	position != ++i.
	* include/bits/forward_list.tcc (_Fwd_list_base<>::
	_M_erase_after(typename _Node_base::_Pointer): Simplify.
	(_Fwd_list_base<>::_M_erase_after(typename _Node_base::_Pointer,
	typename _Node_base::_Pointer): Fix (remove the correct range
	of element) and simplify (update __pos->_M_next at the end).
	* testsuite/23_containers/forward_list/modifiers/3.cc: Adjust
	and extend.
	* testsuite/23_containers/forward_list/ext_pointer/
	modifiers/3.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	assign_neg.cc: Tweak dg-error line numbers.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: Likewise.

From-SVN: r154174
2009-11-13 22:41:49 +00:00
Jan Hubicka
870875e66e * objc-act.c (objc_add_static_instance): Do not set DECL_COMMON.
From-SVN: r154173
2009-11-13 20:05:56 +00:00
Richard Henderson
08d4cc3365 function.c (stack_protect_prologue): Don't bypass expand_expr for stack_protect_guard and guard_decl.
* function.c (stack_protect_prologue): Don't bypass expand_expr
        for stack_protect_guard and guard_decl.
        (stack_protect_epilogue): Likewise.

From-SVN: r154168
2009-11-13 11:10:45 -08:00
Jan Hubicka
589520b621 ipa.c (function_and_variable_visibility): Clear COMDAT on functions when to PUBLIC is set.
* ipa.c (function_and_variable_visibility): Clear COMDAT on functions
	when to PUBLIC is set.

From-SVN: r154167
2009-11-13 18:55:07 +00:00
Jason Merrill
5b6dad5d8f re PR c++/27425 (ICE with invalid template-template-parameter)
PR c++/27425
	PR c++/34274
	* pt.c (expand_template_argument_pack): Handle null arg gracefully.
	(convert_template_argument): Use %T for type.

From-SVN: r154164
2009-11-13 13:46:47 -05:00
Jason Merrill
9dd90d8e35 re PR c++/29363 (ICE throwing undeclared object)
PR c++/29363
	* decl.c (create_implicit_typedef): Set TYPE_STUB_DECL here.
	(cxx_init_decl_processing): Not here.
	* name-lookup.c (pushtag): Or here.
	* pt.c (lookup_template_class): Or here.

From-SVN: r154163
2009-11-13 13:46:39 -05:00
Jakub Jelinek
2b32c27d98 re PR middle-end/42029 (ICE with complex data type and openmp for reduction clause)
PR middle-end/42029
	* gimplify.c (gimplify_omp_atomic): Set DECL_GIMPLE_REG_P on
	tmp_load if needed.

	* libgomp.c/pr42029.c: New test.

From-SVN: r154161
2009-11-13 19:38:36 +01:00
Uros Bizjak
8410737add re PR target/41900 (call *%esp shouldn't be generated because of CPU errata)
2009-11-13  Uros Bizjak  <ubizjak@gmail.com>

	PR target/41900
	(*call_pop_1, *call_1, *call_value_pop_1, *call_value_1): Use "lsm"
	as operand 1 constraint.
	* config/i386/predicates.md (call_insn_operand): Depend on
	index_register_operand to avoid %esp register.

2009-11-13  Uros Bizjak  <ubizjak@gmail.com>

	Revert:
	2009-11-03  Uros Bizjak  <ubizjak@gmail.com>

	PR target/41900
	* config/i386/i386.h (ix86_arch_indices) <X86_ARCH_CALL_ESP>: New.
	(TARGET_CALL_ESP): New define.
	* config/i386/i386.c (initial_ix86_tune_features): Initialize
	X86_ARCH_CALL_ESP.
	* config/i386/i386.md (*call_pop_1_esp, *call_1_esp,
	*call_value_pop_1_esp, *call_value_1_esp): Rename from *call_pop_1,
	*call_1, *call_value_pop_1 and *call_value_1.  Depend on
	TARGET_CALL_ESP.
	(*call_pop_1, *call_1, *call_value_pop_1, *call_value_1):
	New patterns, use "lsm" as operand 1 constraint.
	* config/i386/predicates.md (call_insn_operand): Depend on
	index_register_operand for !TARGET_CALL_ESP to avoid %esp register.

From-SVN: r154160
2009-11-13 19:33:37 +01:00
Eric Botcazou
0761b46229 * exception.cc (PERSONALITY_FUNCTION): Fix oversight.
From-SVN: r154159
2009-11-13 18:05:20 +00:00
Jason Merrill
d7f1df66b2 re PR c++/26965 (Unnecessary debug info for unused consts in C++)
PR debug/26965
	* dwarf2out.c (gen_variable_die): Don't worry about DECL_COMDAT.
	Don't emit a second declaration at any scope.

From-SVN: r154157
2009-11-13 12:59:26 -05:00
Dodji Seketeli
a3119b91dc Forgot to add gcc/ChangeLog entry for debug/41065
From-SVN: r154154
2009-11-13 16:57:14 +01:00
Paolo Carlini
8ad7097c11 algorithm: Include <utility>, per UK-300.
2009-11-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/algorithm: Include <utility>, per UK-300.
	* include/bits/stl_algobase.h: Don't do it here.

From-SVN: r154152
2009-11-13 15:06:28 +00:00
Jason Merrill
a38f55dbfd re PR c++/35075 (ICE with references in templates)
PR c++/35075
	* pt.c (convert_nontype_argument): Give helpful error about
	reference variable argument to reference template parameter.

From-SVN: r154151
2009-11-13 09:40:32 -05:00
Jason Merrill
ab11c13ff3 PR c++/21008, DR 515
PR c++/21008, DR 515
	* semantics.c (finish_non_static_data_member): Don't check
	derivation in a template.

From-SVN: r154150
2009-11-13 09:40:22 -05:00
Jason Merrill
fc1e08468e re PR c++/11987 (Accepts-invalid with inherited nested type)
PR c++/11987
	* parser.c (cp_parser_direct_declarator): Give helpful error about
	trying to define member of a dependent typedef.
	* pt.c (resolve_typename_type): Don't resolve a typedef typename.
	* tree.c (typedef_variant_p): New.
	* cp-tree.h: Declare it.

From-SVN: r154149
2009-11-13 09:40:13 -05:00