Commit Graph

104160 Commits

Author SHA1 Message Date
Paul Koning
a01c666cc6 pdp11-protos.h (pdp11_cannot_change_mode_class, [...]): Declare.
* config/pdp11/pdp11-protos.h (pdp11_cannot_change_mode_class,
pdp11_secondary_memory_needed): Declare.
* config/pdp11/predicates.md (float_operand): New predicate.
* config/pdp11/pdp11.md (RETVAL_REGNUM): New constant.
(cbranchdf4, movdf): Change predicate.
(movsf): Handle FPU register case.
(truncdfsf2, extendsfdf2): Add FPU register case.
* config/pdp11/pdp11.c (TARGET_SECONDARY_RELOAD,
TARGET_REGISTER_MOVE_COST, TARGET_PREFERRED_RELOAD_CLASS,
TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
(pdp11_register_move_cost): Update cost matrix.
(pdp11_cannot_change_mode_class, pdp11_preferred_reload_class,
pdp11_preferred_output_reload_class, pdp11_secondary_reload,
pdp11_secondary_memory_needed): New function.
(pdp11_return_in_memory): Add other float types.
* config/pdp11/pdp11.h (HARD_REGNO_MODE_OK): Add other float
types. 
(SECONDARY_MEMORY_NEEDED, CANNOT_CHANGE_MODE_CLASS): Define.
(PREFERRED_RELOAD_CLASS, SECONDARY_RELOAD_CLASS,
REGISTER_MOVE_COST): Delete.
(BASE_RETURN_VALUE_REG): Add other float types.

From-SVN: r166060
2010-10-29 10:32:59 -04:00
Arnaud Charlet
1e4bf85b80 c-ada-spec.c (separate_class_package): New function.
* c-ada-spec.c (separate_class_package): New function.
	(pp_ada_tree_identifier): Prefix references to C++ classes with the
	name of their enclosing package.
	(print_ada_declaration): Use separate_class_package.

Co-Authored-By: Matthew Gingell <gingell@adacore.com>

From-SVN: r166059
2010-10-29 12:03:43 +02:00
Nick Clifton
f3f637378c invoke.texi: Document -mam34 and -mtune options.
* doc/invoke.texi: Document -mam34 and -mtune options.
        * config/mn10300/mn10300.c (mn10300_tune_string): New variable.
        (mn10300_tune_cpu): New variable.
        (mn10300_handle_option): Handle -mam34 and -mtune options.
        (mn10300_option_override): Convert tune string into tune cpu
        variable.
        (mn10300_legitimate_constant_p): Delete unused local variable.
        (is_load_insn): New function.
        (is_store_insn): New function.
        (mn10300_adjust_schedule_cost): New function.
        (TARGET_SCHED_ADJUST_COST): Define.
        * config/mn10300/mn10300.opt (mam34): New option.
        (mtune): New option.
        * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add AM34
        support.
        (enum processor_type): Add AM34.
        (TARGET_AM34): Define.
        * config/mn10300/mn10300.md (attr cpu): Add am34.
        Add pipeline description.
        (movqi, movhi, movsi, movsf, movdf, movdi): Fix predicates. Remove unneeded
        alternatives.  Add timing attribute.
        (pop_pic_reg, am33_addsi3, mn10300_addsi3, am33_subsi3,
        mn10300_subsi3, mulsidi3, umulsidi3, am33_mulsi3,
        mn10300_mulsi3, udivmodsi4_am33, divmodsi4, am33_andsi3,
        mn10300_andsi3, am33_iorsi3, mn10300_iorsi3, am33_xorsi3,
        mn10300_xorsi3, byte_clear, byte_set, bit_clear1, bit_clear2,
        bit_set, am33_iorqi3, mn10300_iorqi3, test_byte_bitfield,
        bit_test, subreg_bit_test, cmpsi, am33_cmpsf, am33_subsi3,
        float_conditional_branch, jump, indirect_jump, tablejump,
        call_internal, call_value_internal, zero_extendqisi2_am33,
        zero_extendqisi2_mn10300, zero_extendhisi2_am33,
        zero_extendhisi2_mn10300, extendqisi2_am33, extendqisi2_mn10300,
        extendhisi2_am33, extendhisi2_mn10300, am33_ashlsi3,
        mn10300_ashlsi3, am33_lshrsi3, mn10300_lshrsi3, am33_ashrisi3,
        mn10300_ashrsi3, abssf2_am33_2, negsf2_am33_2, rsqrtsf2,
        addsf3_internal, subsf3_internal, mulsf3_internal, divsf3,
        fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4, return_internal,
        return_internal_regs, store_movm, return, call_next_insn):
        Add timing attribute.
        (am33_subsi3): Add missing clobber of CC_REG.
        (am33_andsi3, mn10300_andsi3): Fix compile time warnings.
        (udivmodsi4, udivmodsi4_insn, divmodsi4, test_byte_bitfield,
        subreg_bit_test, zero_extendqisi2, zero_extendhisi2,
        extendqisi2): Fix predicates.
        (call_internal, call_internal_value): Separate alternatives.
        * config/mn10300/t-mn10300: Add AM34 multilib.

From-SVN: r166058
2010-10-29 08:53:47 +00:00
Paolo Bonzini
8a575d5a19 sh.c (sh_promote_function_mode): Use default_promote_function_mode if !sh_promote_prototypes.
2010-10-29  Paolo Bonzini  <bonzini@gnu.org>

	* config/sh/sh.c (sh_promote_function_mode): Use
	default_promote_function_mode if !sh_promote_prototypes.

From-SVN: r166057
2010-10-29 06:48:39 +00:00
Kaz Kojima
94e71ec0ea 20101011-1.c: Skip on SH.
* gcc.c-torture/execute/20101011-1.c: Skip on SH.

From-SVN: r166056
2010-10-29 04:11:19 +00:00
GCC Administrator
72942575c2 Daily bump.
From-SVN: r166055
2010-10-29 00:19:07 +00:00
Paolo Bonzini
5eae2844f7 configure: Regenerate.
2010-10-29  Paolo Bonzini  <bonzini@gnu.org>

	* configure: Regenerate.

From-SVN: r166050
2010-10-28 22:37:36 +00:00
Pat Haugen
f87f47fc7e 20101011-1.c: Fix #ifdef.
* gcc.c-torture/execute/20101011-1.c: Fix #ifdef.

From-SVN: r166049
2010-10-28 21:32:49 +00:00
Paolo Bonzini
74a28b08bf recog.c (split_all_insns): Remove dead code.
2010-10-28  Paolo Bonzini  <bonzini@gnu.org>

	* recog.c (split_all_insns): Remove dead code.

From-SVN: r166048
2010-10-28 21:20:01 +00:00
Uros Bizjak
2fe4dc01ed Partially revert:
2010-10-28  Uros Bizjak  <ubizjak@gmail.com>

	PR target/46153
	* config/i386/sse.md (*avx_movhlps): Use ix86_binary_operator_ok
	in insn predicate.
	(sse_movhlps): Ditto.
	(*avx_movlhps): Ditto.
	(sse_movlhps): Ditto.
	(*avx_loadhps): Ditto.
	(sse_loadhps): Ditto.
	(*avx_loadhpd): Ditto.
	(sse_loadhpd): Ditto.
	(*avx_storelps): Prevent both operands in memory.
	(sse_storelps): Ditto.

From-SVN: r166047
2010-10-28 22:49:46 +02:00
Nathan Froyd
05fda84809 * score.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
From-SVN: r166046
2010-10-28 20:27:30 +00:00
Nathan Froyd
73f3f8411f cris.h (FUNCTION_ARG, [...]): Delete.
* config/cris/cris.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Delete.
	(FUNCTION_ARG_ADVANCE): Delete.
	* config/cris/cris.c (cris_function_arg_1, cris_function_arg): New
	functions.
	(cris_function_incoming_arg, cris_function_arg_advance): New
	functions.
	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
	(TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r166045
2010-10-28 20:19:57 +00:00
Nathan Froyd
3acf034c5a lm32-protos.h (lm32_function_arg): Delete.
* config/lm32/lm32-protos.h (lm32_function_arg): Delete.
	* config/lm32/lm32.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
	* config/mcore/mcore.c (mcore_function_arg): Declare.  Make static.
	Take a const_tree and a bool.
	(mcore_function_arg_advance): New function.
	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r166044
2010-10-28 20:13:18 +00:00
Nathan Froyd
4665ac1730 mcore-protos.h (mcore_function_arg): Delete.
* config/mcore/mcore-protos.h (mcore_function_arg): Delete.
	* config/mcore/mcore.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
	* config/mcore/mcore.c (mcore_function_arg): Declare.  Make static.
	Take a const_tree and a bool.
	(mcore_function_arg_advance): New function.
	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r166043
2010-10-28 20:07:06 +00:00
Nathan Froyd
56f9413b94 h8300-protos.h (function_arg): Delete.
* config/h8300/h8300-protos.h (function_arg): Delete.
	* config/h8300/h8300.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
	* config/h8300/h8300.c (function_arg): Rename to...
	(h8300_function_arg): ...this.  Make static.  Take a const_tree and
	a bool.
	(h8300_function_arg_advance): New function.
	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r166042
2010-10-28 20:06:25 +00:00
Nathan Froyd
66d5ee1440 arc.h (FUNCTION_ARG, [...]): Move code to...
* config/arc/arc.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Move code
	to...
	* config/arc/arc.c (arc_function_arg): ...here and...
	(arc_function_arg_advance): ...here.  New functions.
	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r166041
2010-10-28 20:04:05 +00:00
Nathan Froyd
a6a54b6fd1 crx-protos.h (crx_function_arg): Delete.
* config/crx/crx-protos.h (crx_function_arg): Delete.
	(crx_function_arg_advance): Delete.
	* config/crx/crx.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
	* config/crx/crx.c (crx_function_arg): Make static.  Take a
	const_tree and a bool.
	(crx_function_arg_advance): Make static.  Take a const_tree and
	a bool.
	(enough_regs_for_param): Take a const_tree.
	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r166040
2010-10-28 20:02:25 +00:00
Nathan Froyd
da15f931e5 m68hc11-protos.h (m68hc11_function_arg): Delete.
* config/m68hc11/m68hc11-protos.h (m68hc11_function_arg): Delete.
	(m68hc11_function_arg_advance): Delete.
	* config/m68hc11/m68hc11.h (FUNCTION_ARG): Delete.
	(FUNCTION_ARG_ADVANCE): Delete.
	* config/m68hc11/m68hc11.c (m68hc11_function_arg): Make static.
	Take a const_tree and a bool.
	(m68hc11_function_arg_advance): Likewise.
	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r166039
2010-10-28 20:01:11 +00:00
Nathan Froyd
bf425ddd46 stormy16-protos.h (xstormy16_function_arg): Delete.
* config/stormy16/stormy16-protos.h (xstormy16_function_arg): Delete.
	(xstormy16_function_arg_advance): Delete.
	* config/stormy16/stormy16.h (FUNCTION_ARG): Delete.
	(FUNCTION_ARG_ADVANCE): Delete.
	* config/stormy16/stormy16.c (xstormy16_function_arg): Make static.
	Take a const_tree and a bool.
	(xstormy16_function_arg_advance): Likewise.  Return void, updating
	the CUM parameter instead.
	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r166038
2010-10-28 19:59:07 +00:00
Nathan Froyd
4c05cbb2a7 moxie-protos.h (moxie_function_arg): Delete.
* config/moxie/moxie-protos.h (moxie_function_arg): Delete.
	* config/moxie/moxie.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
	(MOXIE_FUNCTION_ARG_SIZE): Move to...
	* config/moxie/moxie.c (MOXIE_FUNCTION_ARG_SIZE): ...here.
	(moxie_function_arg): Make static.  Take a const_tree and a bool.
	(moxie_function_arg_advance): New function.
	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r166037
2010-10-28 19:57:17 +00:00
Nathan Froyd
ce236858e3 mn10300-protos.h (function_arg): Delete.
* config/mn10300/mn10300-protos.h (function_arg): Delete.
	* config/mn10300/mn10300.h (FUNCTION_ARG): Delete.
	(FUNCTION_ARG_ADVANCE): Delete.
	* config/mn10300/mn10300.c (function_arg): Rename to...
	(mn10300_function_arg): ...this.  Make static.  Take a const_tree
	and a bool.
	(mn10300_function_arg_advance): New function.
	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r166036
2010-10-28 19:55:43 +00:00
Nathan Froyd
24ef86d7ad iq2000-protos.h (function_arg): Delete.
* config/iq2000/iq2000-protos.h (function_arg): Delete.
	(function_arg_advance): Delete.
	* config/iq2000/iq2000.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
	* config/iq2000/iq2000.c (function_arg): Rename to...
	(iq2000_function_arg): ...this.  Make static.  Take a const_tree and
	a bool.
	(function_arg_advance): Rename to...
	(iq2000_function_arg_advance): ...this.  Make static.  Take a
	const_tree and a bool.
	(iq2000_expand_prologue): Call iq2000_function_arg_advance and
	iq2000_function_arg.
	(iq2000_pass_by_reference): Call iq2000_function_arg).
	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r166035
2010-10-28 19:52:48 +00:00
Nathan Froyd
b60613c38a fr30-protos.h (fr30_num_arg_regs): Delete.
* config/fr30/fr30-protos.h (fr30_num_arg_regs): Delete.
	* config/fr30/fr30.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
	* config/fr30/fr30.c (fr30_num_arg_regs): Make static.  Take a
	const_tree.
	(fr30_function_arg): New function.
	(fr30_function_arg_advance): New function.
	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r166034
2010-10-28 19:51:34 +00:00
Nathan Froyd
88a1f47fae frv-protos.h (frv_function_arg): Delete.
* config/frv/frv-protos.h (frv_function_arg): Delete.
	(frv_function_arg_advance): Delete.
	* config/frv/frv.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
	* config/frv/frv.c (frv_function_arg): Rename to...
	(frv_function_arg_1): Make static.  Take const_tree and bool
	arguments.
	(frv_function_arg, frv_function_incoming_arg): New functions.
	(frv_function_arg_advance): Make static.  Take a const_tree and
	a bool.
	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
	(TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r166033
2010-10-28 19:45:32 +00:00
Chung-Lin Tang
46e0720d66 Add ARM VFP ABI support to libffi.
From-SVN: r166032
2010-10-28 18:11:11 +00:00
Uros Bizjak
f17aa4adf8 re PR target/46153 (ICE: in extract_insn, at recog.c:2110 (unrecognizable insn) with -ffloat-store and __builtin_ia32_movlhps)
PR target/46153
	* config/i386/sse.md (sse_movhlps_exp): Use destination
	returned from ix86_fixup_binary_operands to expand insn.
	(sse_movlhps_exp): Ditto.
	(sse_loadhps_exp): Ditto.
	(sse_loadlps_exp): Ditto.
	(sse2_loadhpd_exp): Ditto.
	(sse2_loadlpd_exp): Ditto.
	(*avx_movhlps): Use ix86_binary_operator_ok in insn predicate.
	(sse_movhlps): Ditto.
	(*avx_movlhps): Ditto.
	(sse_movlhps): Ditto.
	(*avx_loadhps): Ditto.
	(sse_loadhps): Ditto.
	(*avx_loadhpd): Ditto.
	(sse_loadhpd): Ditto.
	(*avx_storelps): Prevent both operands in memory.
	(sse_storelps): Ditto.

testsuite/ChangeLog:

	PR target/46153
	* gcc.target/i386/pr46153.c: New test.

From-SVN: r166031
2010-10-28 19:45:52 +02:00
Paolo Carlini
fb7342fd6f PR libstdc++/44436 (partial)
2010-10-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/44436 (partial)
	* include/bits/hashtable.h (_Hashtable<>::insert(value_type&&),
	insert(_Pair&&), insert(const_iterator, value_type&&),
	insert(const_iterator, _Pair&&)): Add.
	(_M_allocate_node, _M_insert, _M_insert_bucket): Templatize.
	* include/bits/hashtable_policy.h (__detail::_Select1st): Add; use
	it throughout.
	(_Map_base<>::operator[](_Key&&)): Add.
	* include/bits/unordered_map.h: Use __detail::_Select1st throughout.
	* include/debug/unordered_map: Update.
	* include/debug/unordered_set: Likewise.
	* include/profile/unordered_map: Likewise.
	* include/profile/unordered_set: Likewise.
	* testsuite/util/testsuite_rvalref.h (struct hash<rvalstruct>): Add;
	minor tweaks throughout, use deleted special members.
	* testsuite/23_containers/unordered_map/insert/map_single_move-1.cc:
	New.
	* testsuite/23_containers/unordered_map/insert/map_single_move-2.cc:
	Likewise.
	* testsuite/23_containers/unordered_map/insert/array_syntax_move.cc:
	Likewise.
	* testsuite/23_containers/unordered_multimap/insert/
	multimap_single_move-1.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/insert/
	multimap_single_move-2.cc: Likewise.
	* testsuite/23_containers/unordered_set/insert/set_single_move.cc:
	Likewise.
	* testsuite/23_containers/unordered_multiset/insert/
	multiset_single_move.cc: Likewise.

	* testsuite/23_containers/unordered_map/insert/array_syntax.cc:
	Minor cosmetic changes.

From-SVN: r166030
2010-10-28 16:01:05 +00:00
Andrew Stubbs
d724c8f0a9 arm.c (const_ok_for_arm): Support 0xXY00XY00 pattern constants in thumb2.
2010-10-28  Andrew Stubbs  <ams@codesourcery.com>

	gcc/
	* config/arm/arm.c (const_ok_for_arm): Support 0xXY00XY00 pattern
	constants in thumb2.

From-SVN: r166029
2010-10-28 12:36:14 +00:00
Paolo Bonzini
2a6fa9aeed configure.ac: Rewrite DGUX check to use GC_CFLAGS, and -O0 check to remove the need for MY_CFLAGS.
2010-10-28  Paolo Bonzini  <bonzini@gnu.org>

	* configure.ac: Rewrite DGUX check to use GC_CFLAGS, and -O0 check
	to remove the need for MY_CFLAGS.
	* Makefile.am: Do not use @...@ substitutions.  Use AM_CXXFLAGS,
	AM_CFLAGS and AM_LDFLAGS instead of redefining LTCOMPILE and LINK.
	Use "override" to disable -O2 when required.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.

From-SVN: r166028
2010-10-28 10:58:48 +00:00
Eric Botcazou
c575a65f66 combine.c (set_nonzero_bits_and_sign_copies): Use unsigned arithmetics in masking operations.
* combine.c (set_nonzero_bits_and_sign_copies): Use unsigned
	arithmetics in masking operations.
	(contains_muldiv): Likewise.
	(try_combine): Likewise.
	(find_split_point): Likewise.
	(combine_simplify_rtx): Likewise.
	(simplify_if_then_else): Likewise.
	(simplify_set): Likewise.
	(expand_compound_operation): Likewise.
	(expand_field_assignment): Likewise.
	(make_extraction): Likewise.
	(extract_left_shift): Likewise.
	(make_compound_operation): Likewise.
	(force_to_mode): Likewise.
	(make_field_assignment): Likewise.
	(reg_nonzero_bits_for_combine): Likewise.
	(simplify_shift_const_1): Likewise.
	(simplify_comparison): Likewise.

From-SVN: r166027
2010-10-28 10:32:03 +00:00
GCC Administrator
f228e2ae59 Daily bump.
From-SVN: r166026
2010-10-28 00:18:38 +00:00
Steve Ellcey
eb93b893ff checking in Nathan's patch because I accidently checked in part of it with my earlier patch.
checking in Nathan's patch because I accidently checked in part of it
with my earlier patch.  Also adding ChangeLog entry I forgot.

2010-10-27  Nathan Froyd  <froydnj@codesourcery.com>

        * config/ia64/ia64-protos.h (ia64_function_arg): Delete.
        (ia64_function_arg_advance): Delete.
        * config/ia64/ia64.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Delete.
        (FUNCTION_ARG_ADVANCE): Delete.
        * config/ia64/ia64.c (ia64_function_arg): Rename to...
        (ia64_function_arg_1): ...this.  Make static.  Take const_tree and
        bool arguments.
        (ia64_function_arg, ia64_function_incoming_arg): New functions.
        (ia64_function_arg_advance): Make static.  Take a const_tree and
        a bool.
        (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
        (TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r166022
2010-10-27 22:51:18 +00:00
Steve Ellcey
ffa88471b5 tm.texi.in (TARGET_GET_RAW_RESULT_MODE): New.
2010-10-27  Steve Ellcey  <sje@cup.hp.com>

	* doc/tm.texi.in (TARGET_GET_RAW_RESULT_MODE): New.
	(TARGET_GET_RAW_ARG_MODE): New.
	* doc/tm.texi: Regenerate.
	* target.def (get_raw_result_mode): New.
	(get_raw_arg_mode): New.
	* targhooks.c (default_get_reg_raw_mode): New.
	* targhooks.h (default_get_reg_raw_mode): New.
	* builtins.c (apply_args_size): Use targetm.calls.get_raw_arg_mode.
	(apply_result_size): Ditto.
	* config/ia64/ia64.c (ia64_get_reg_raw_mode): New.
	(TARGET_GET_RAW_RESULT_MODE): Define.
	(TARGET_GET_RAW_ARG_MODE): Ditto.

From-SVN: r166021
2010-10-27 22:44:31 +00:00
Jason Merrill
2b08f2c561 c-common.c (c_common_reswords): Add __is_literal_type.
gcc/c-family/
	* c-common.c (c_common_reswords): Add __is_literal_type.
	* c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
gcc/cp/
	* cp-tree.h (cp_trait_kind): Add CPTK_IS_LITERAL_TYPE.
	* cxx-pretty-print.c (pp_cxx_trait_expression): Handle it.
	* semantics.c (trait_expr_value, finish_trait_expr): Likewise.
	* parser.c (cp_parser_primary_expression): Handle RID_IS_LITERAL_TYPE.
	(cp_parser_trait_expr): Likewise.
libstdc++-v3/
	* include/std/type_traits (is_literal_type): New.

From-SVN: r166020
2010-10-27 17:43:33 -04:00
Jason Merrill
81f0bab25e c-common.c (check_case_value): Remove special C++ code.
c-family/
	* c-common.c (check_case_value): Remove special C++ code.
cp/
	* decl.c (finish_case_label): Use decl_constant_value.

From-SVN: r166019
2010-10-27 17:42:36 -04:00
Janus Weil
5ac13b8e0c re PR fortran/46161 ([OOP] Invalid: Passing non-polymorphic to allocatable polymorphic dummy)
2010-10-27  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/46161
	* interface.c (compare_allocatable): Handle polymorphic allocatables.
	(compare_parameter): Add two error messages for polymorphic dummies.

2010-10-27  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/46161
	* gfortran.dg/class_dummy_3.f03: New.

From-SVN: r166018
2010-10-27 23:41:52 +02:00
Eric Botcazou
cfc839a4b2 trans.c (gigi): Fix formatting issues.
* gcc-interface/trans.c (gigi): Fix formatting issues.
	(build_raise_check): Likewise.
	(gnat_to_gnu): Likewise.
	* gcc-interface/utils2.c (build_call_raise_range): Likewise.
	(build_call_raise_column): Likewise.

From-SVN: r166017
2010-10-27 21:15:06 +00:00
Eric Botcazou
4a8f6a635a sol2-unwind.h (sparc64_fallback_frame_state): Adjust for newer Solaris 10 release.
* config/sparc/sol2-unwind.h (sparc64_fallback_frame_state): Adjust
	for newer Solaris 10 release.
	(sparc_fallback_frame_state): Likewise.

From-SVN: r166015
2010-10-27 20:34:36 +00:00
Gabriel Dos Reis
225a658415 method.c (synthesized_method_walk): Track constexprness too.
* method.c (synthesized_method_walk): Track constexprness too.
	(process_subob_fn, walk_field_subobs): Likewise.
	(implicitly_declare_fn): Set DECL_DECLARED_CONSTEXPR_P.
	(defaulted_late_check): Handle DECL_DECLARED_CONSTEXPR_P.
	* class.c (add_implicitly_declared_members): Handle
	constexpr default ctor.

Co-Authored-By: Jason Merrill <jason@redhat.com>

From-SVN: r166014
2010-10-27 16:11:29 -04:00
Gabriel Dos Reis
91ea6df357 parser.c (cp_parser_ctor_initializer_opt_and_function_body): Make sure a constexpr ctor has an empty body.
* parser.c (cp_parser_ctor_initializer_opt_and_function_body):
	Make sure a constexpr ctor has an empty body.
	* class.c (type_has_constexpr_default_constructor): New.
	* cp-tree.h: Declare it.
	* init.c (perform_member_init): Complain about uninitialized
	member in constexpr ctor.
	(emit_mem_initializers): And uninitialized base.
	* decl.c (check_tag_decl): Fix typo.

	* semantics.c (valid_type_in_constexpr_fundecl_p): New fn.
	(is_valid_constexpr_fn): New fn.
	(validate_constexpr_fundecl): Use it.
	* decl.c (validate_constexpr_redeclaration): New.
	(duplicate_decls): Use it.
	(cp_finish_decl): Call validate_constexpr_fundecl and
	ensure_literal_type_for_constexpr_object here.
	(start_decl): Not here.  Don't ICE on constexpr reference.
	(check_for_uninitialized_const_var): Don't handle constexpr specially.
	(grokfndecl): Set DECL_DECLARED_CONSTEXPR_P.
	(check_static_variable_definition): Give friendly message about
	missing constexpr.
	(grokdeclarator): Complain about typedef and volatile with constexpr.
	Reorganize.  Give sorry about non-static data members in C++0x mode.
	(start_preparsed_function): Check validate_constexpr_fundecl here.
	(check_function_type): Not here.
	* decl2.c (finish_static_data_member_decl): Don't complain about
	in-class init.
	* parser.c (CP_PARSER_FLAGS_ONLY_TYPE_OR_CONSTEXPR): New.
	(cp_parser_condition): Pass it to cp_parser_decl_specifier_seq.
	(cp_parser_decl_specifier_seq): Handle it.
	(cp_parser_explicit_instantiation): Diagnose inline and constexpr.

Co-Authored-By: Jason Merrill <jason@redhat.com>

From-SVN: r166013
2010-10-27 15:31:33 -04:00
Gabriel Dos Reis
3b49d762b5 class.c (check_bases): Propagate non-literality.
* class.c (check_bases): Propagate non-literality.
	(check_field_decls): Likewise.
	(finalize_literal_type_property): New.
	(check_bases_and_members): Call it.
	* cp-tree.h (TYPE_HAS_CONSTEXPR_CTOR): New.
	(lang_type_class): Add has_constexpr_ctor field.
	(DECL_DECLARED_CONSTEXPR_P): Strip template.
	* decl.c (grok_special_member_properties): Set
	TYPE_HAS_CONSTEXPR_CTOR.

Co-Authored-By: Jason Merrill <jason@redhat.com>

From-SVN: r166012
2010-10-27 15:04:06 -04:00
Jason Merrill
61f8d16512 call.c (build_integral_nontype_arg_conv): New.
* call.c (build_integral_nontype_arg_conv): New.
	* cp-tree.h: Declare it.
	* pt.c (convert_nontype_argument): Use it.

From-SVN: r166011
2010-10-27 11:59:54 -04:00
Jason Merrill
2842beb62d * error.c (dump_simple_decl): Print constexpr.
From-SVN: r166010
2010-10-27 11:54:45 -04:00
Jason Merrill
efd7ad5c5e * cvt.c (build_up_reference): Use target_type for the temporary var.
From-SVN: r166009
2010-10-27 11:54:35 -04:00
Jason Merrill
73808ca6a4 * except.c (build_throw): Set EXPR_LOCATION.
From-SVN: r166008
2010-10-27 11:48:26 -04:00
Jason Merrill
236fd18cba * tree.c (build_cplus_new): Handle CONSTRUCTOR.
From-SVN: r166007
2010-10-27 11:48:16 -04:00
Jason Merrill
e02927a11a semantics.c (finish_compound_stmt): Avoid creating an unnecessary BIND_EXPR.
* semantics.c (finish_compound_stmt): Avoid creating an
	unnecessary BIND_EXPR.

From-SVN: r166006
2010-10-27 11:48:09 -04:00
Jason Merrill
bc8a0bd9fc call.c (convert_like_real): Don't check narrowing if the element is also an initializer-list.
* call.c (convert_like_real): Don't check narrowing if the element
	is also an initializer-list.

From-SVN: r166005
2010-10-27 11:48:01 -04:00
Jason Merrill
221925596f gimplify.c (gimplify_decl_expr): Handle anonymous artificial variables sooner.
* gimplify.c (gimplify_decl_expr): Handle anonymous artificial
	variables sooner.

From-SVN: r166004
2010-10-27 11:47:52 -04:00
Jie Zhang
84fabdde09 haifa-sched.c (ISSUE_POINTS): Remove.
* haifa-sched.c (ISSUE_POINTS): Remove.
	(max_issue): Don't issue more than issue_rate instructions.

Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com>

From-SVN: r166002
2010-10-27 14:30:17 +00:00