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