gcc/
	* doc/md.texi (regclass_for_constraint): Rename to...
	(reg_class_for_constraint): ...this.
	* genpreds.c (num_constraints, enum_order, register_start)
	(register_end, satisfied_start, memory_start, memory_end)
	(address_start, address_end): New variables.
	(add_constraint): Count the number of constraints.
	(choose_enum_order): New function.
	(write_enum_constraint_num): Iterate over enum_order.
	(write_regclass_for_constraint): Rename to...
	(write_reg_class_for_constraint_1): ...this and update output
	accordingly.
	(write_constraint_satisfied_p): Rename to...
	(write_constraint_satisfied_p_1): ...this and update output
	accordingly.  Do nothing if all extra constraints are register
	constraints.
	(write_insn_extra_memory_constraint): Delete.
	(write_insn_extra_address_constraint): Delete.
	(write_range_function): New function.
	(write_tm_preds_h): Define constraint_satisfied_p and
	reg_class_for_constraint as inline functions that do a range check
	before calling the out-of-line function.  Use write_range_function
	to implement insn_extra_{register,memory,address}_constraint,
	the first of which is new.
	(write_insn_preds_c): Update after above changes to write_* functions.
	(main): Call choose_enum_order.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211468 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* genpreds.c (write_lookup_constraint): Rename to...
	(write_lookup_constraint_1): ...this.
	(write_lookup_constraint_array): New function.
	(write_tm_preds_h): Define lookup_constraint as an inline function
	that uses write_lookup_constraint_array where possible.
	(write_insn_preds_c): Update for the changes above.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211469 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* genpreds.c (write_constraint_satisfied_p_1): Replace with...
	(write_constraint_satisfied_p_array): ...this new function.
	(write_tm_preds_h): Replace write_constraint_satisfied_p_1 with
	an array.
	(write_insn_preds_c): Update accordingly.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211470 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* system.h (REG_CLASS_FROM_CONSTRAINT): Poison.
	(REG_CLASS_FOR_CONSTRAINT, EXTRA_CONSTRAINT_STR): Likewise.
	(EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Likewise.
	* genpreds.c (print_type_tree): New function.
	(write_tm_preds_h): Remove REG_CLASS_FROM_CONSTRAINT,
	REG_CLASS_FOR_CONSTRAINT, EXTRA_MEMORY_CONSTRAINT,
	EXTRA_ADDRESS_CONSTRAINT and EXTRA_CONSTRAINT_STR.
	Write out enum constraint_type and get_constraint_type.
	* lra-constraints.c (satisfies_memory_constraint_p): Take a
	constraint_num rather than a constraint string.
	(satisfies_address_constraint_p): Likewise.
	(reg_class_from_constraints): Avoid old constraint macros.
	(process_alt_operands, process_address_1): Likewise.
	(curr_insn_transform): Likewise.
	* ira-costs.c (record_reg_classes): Likewise.
	(record_operand_costs): Likewise.
	* ira-lives.c (single_reg_class): Likewise.
	(ira_implicitly_set_insn_hard_regs): Likewise.
	* ira.c (ira_setup_alts, ira_get_dup_out_num): Likewise.
	* postreload.c (reload_cse_simplify_operands): Likewise.
	* recog.c (asm_operand_ok, preprocess_constraints): Likewise.
	(constrain_operands, peep2_find_free_register): Likewise.
	* reload.c (push_secondary_reload, scratch_reload_class): Likewise.
	(find_reloads, alternative_allows_const_pool_ref): Likewise.
	* reload1.c (maybe_fix_stack_asms): Likewise.
	* stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
	* targhooks.c (default_secondary_reload): Likewise.
	* config/m32c/m32c.c (m32c_matches_constraint_p): Avoid reference
	to EXTRA_CONSTRAINT_STR.
	* config/sparc/constraints.md (U): Likewise REG_CLASS_FROM_CONSTRAINT.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211471 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* recog.h (operand_alternative): Remove offmem_ok, nonffmem_ok,
	decmem_ok and incmem_ok.  Reformat other bitfields for consistency.
	* recog.c (preprocess_constraints): Update accordingly.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211472 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* genpreds.c (const_int_start, const_int_end): New variables.
	(choose_enum_order): Output CONST_INT constraints before memory
	constraints.
	(write_tm_preds_h): Always define insn_const_int_ok_for_constraint.
	Add CT_CONST_INT.
	* ira-costs.c (record_reg_classes): Handle CT_CONST_INT.
	* ira.c (ira_setup_alts): Likewise.
	* lra-constraints.c (process_alt_operands): Likewise.
	* recog.c (asm_operand_ok, preprocess_constraints): Likewise.
	* reload.c (find_reloads): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211473 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* system.h (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Poison.
	* genpreds.c (have_const_dbl_constraints): Delete.
	(add_constraint): Don't set it.
	(write_tm_preds_h): Don't call CONST_DOUBLE_OK_FOR_CONSTRAINT_P.
	* ira-costs.c (record_reg_classes): Handle CONST_INT and CONST_DOUBLE
	constraints using the lookup_constraint logic.
	* ira-lives.c (single_reg_class): Likewise.
	* ira.c (ira_setup_alts): Likewise.
	* lra-constraints.c (process_alt_operands): Likewise.
	* recog.c (asm_operand_ok, constrain_operands): Likewise.
	* reload.c (find_reloads): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211474 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* common.md: New file.
	* doc/md.texi: Update description of generic, machine-independent
	constraints.
	* config/s390/constraints.md (e): Delete.
	* Makefile.in (md_file): Include common.md.
	* config/m32c/t-m32c (md_file): Likewise.
	* genpreds.c (general_mem): New array.
	(generic_constraint_letters): Remove constraints now defined by
	common.md.
	(add_constraint): Map TARGET_MEM_CONSTRAINT to general_mem.
	Allow the first character to be '<' or '>' as well.
	* genoutput.c (general_mem): New array.
	(indep_constraints): Remove constraints now defined by common.md.
	(note_constraint): Map TARGET_MEM_CONSTRAINT to general_mem.
	Remove special handling of 'm'.
	* ira-costs.c (record_reg_classes): Remove special handling of
	constraints now defined by common.md.
	* ira.c (ira_setup_alts, ira_get_dup_out_num): Likewise.
	* ira-lives.c (single_reg_class): Likewise.
	(ira_implicitly_set_insn_hard_regs): Likewise.
	* lra-constraints.c (reg_class_from_constraints): Likewise.
	(process_alt_operands, process_address, curr_insn_transform): Likewise.
	* postreload.c (reload_cse_simplify_operands): Likewise.
	* reload.c (push_secondary_reload, scratch_reload_class)
	(find_reloads, alternative_allows_const_pool_ref): Likewise.
	* reload1.c (maybe_fix_stack_asms): Likewise.
	* targhooks.c (default_secondary_reload): Likewise.
	* stmt.c (parse_output_constraint): Likewise.
	* recog.c (preprocess_constraints): Likewise.
	(constrain_operands, peep2_find_free_register): Likewise.
	(asm_operand_ok): Likewise, but add a comment saying why 'o'
	must be handled specially.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211475 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/mmix/mmix-protos.h (mmix_asm_output_source_line): Remove
	prototype.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211478 138bc75d-0d04-0410-961f-82ee72b054a4
/cp
2014-06-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60265
	* parser.c (cp_parser_using_declaration): Handle unscoped enums.
	* name-lookup.c (validate_nonmember_using_decl): Adjust error
	message.

/testsuite
2014-06-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60265
	* g++.dg/cpp0x/using-enum-1.C: New.
	* g++.dg/cpp0x/using-enum-2.C: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211479 138bc75d-0d04-0410-961f-82ee72b054a4