Commit Graph

96505 Commits

Author SHA1 Message Date
Richard Henderson
288f5b2e84 tree-eh.c (lower_try_finally_copy): Do lower_eh_constructs_1 before emit_post_landing_pad.
* tree-eh.c (lower_try_finally_copy): Do lower_eh_constructs_1
        before emit_post_landing_pad.

From-SVN: r153044
2009-10-20 15:54:28 -07:00
Adam Nemet
53d6697702 mips.c (mips_binary_cost): Add new argument speed.
* config/mips/mips.c (mips_binary_cost): Add new argument speed.
	Use when calling rtx_costs.
	(mips_rtx_costs): Fix formatting.  Use argument speed rather than the
	global optimize_size.  Pass speed to mips_binary_cost.

From-SVN: r153041
2009-10-20 22:12:56 +00:00
Paolo Carlini
927dc7c69e re PR libstdc++/41773 (Many libstdc++ failures)
2009-10-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/41773
	Revert:
	2009-10-20  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/basic_string.h (_S_construct(const _CharT*, size_type,
	const _Alloc&)): New, declare.
	(_S_construct(_CharT*, _CharT*, const _Alloc&),
	_S_construct(const _CharT*, const _CharT*, const _Alloc&),
	_S_construct(iterator, iterator, const _Alloc&),
	_S_construct(const_iterator, const_iterator, const _Alloc&)): New,
	forward to the latter.
	* include/bits/basic_string.tcc (_S_construct(const _CharT*,
	size_type, const _Alloc&)): Define.
	(basic_string(const basic_string&, size_type, size_type),
	basic_string(const basic_string&, size_type, size_type,
	const _Alloc&), basic_string(const _CharT*, size_type,
	const _Alloc&), basic_string(const _CharT*, const _Alloc&),
	basic_string(initializer_list<>, const _Alloc&)): Call the latter.
	* config/abi/pre/gnu.ver: Remove recently added exports.
	* src/string-inst.cc: Remove instantiations.

From-SVN: r153040
2009-10-20 21:54:22 +00:00
Paolo Carlini
b6a182f28e re PR libstdc++/41763 (valarray_array.h seems to overuse __restrict__)
2009-10-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/41763
	* include/bits/valarray_array.h (__valarray_default_construct,
	__valarray_fill_construct, __valarray_copy_construct, __valarray_sum
	__valarray_destroy_elements, __valarray_product): Do not qualify with
	__restrict__ pointers accessing data also accessed by other pointers.

From-SVN: r153039
2009-10-20 21:21:11 +00:00
Jakub Jelinek
ddd0c78101 rs6000.c (def_builtin): Set TREE_READONLY instead of TREE_CONSTANT.
* config/rs6000/rs6000.c (def_builtin): Set TREE_READONLY instead
	of TREE_CONSTANT.

From-SVN: r153038
2009-10-20 23:01:35 +02:00
Richard Sandiford
3af4ba41cc rtl.h (simplify_replace_fn_rtx): Declare.
gcc/
	* rtl.h (simplify_replace_fn_rtx): Declare.
	(wrap_constant, unwrap_constant): Delete.
	* cfgexpand.c (unwrap_constant, wrap_constant): Delete.
	(expand_debug_expr): Don't call wrap_constant.
	* combine.c (rtx_subst_pair): Only define for AUTO_INC_DEC.
	(auto_adjust_pair): Fold into...
	(propagate_for_debug_subst): ...here.  Only define for AUTO_INC_DEC.
	Just return a new value.
	(propagate_for_debug): Use simplify_replace_fn_rtx for AUTO_INC_DEC,
	otherwise use simplify_replace_rtx.
	* cselib.c (wrap_constant): Reinstate old definition.
	(cselib_expand_value_rtx_1): Don't wrap constants.
	* gcse.c (try_replace_reg): Don't use copy_rtx in the call to
	simplify_replace_rtx.
	(bypass_block): Fix formatting in calls to simplify_replace_rtx.
	* reload1.c (reload): Skip all uses for an insn before adjusting it.
	Use simplify_replace_rtx.
	* simplify-rtx.c (simplify_replace_fn_rtx): New function,
	adapted from...
	(simplify_replace_rtx): ...here.  Turn into a wrapper for
	simplify_replace_fn_rtx.
	(simplify_unary_operation): Don't unwrap CONSTs.
	* var-tracking.c (check_wrap_constant): Delete.
	(vt_expand_loc_callback): Don't call it.
	(vt_expand_loc): Likewise.

From-SVN: r153037
2009-10-20 19:50:38 +00:00
Kai Tietz
6a1868c766 Fix identation issue I missed to correct.
From-SVN: r153036
2009-10-20 21:46:00 +02:00
Pascal Obry
5c9ffc8688 cygming.h (DWARF_FRAME_REGNUM): Add enclosing parens.
2009-10-20  Pascal Obry  <obry@adacore.com>
            Eric Botcazou  <ebotcazou@adacore.com>

        * config/i386/cygming.h (DWARF_FRAME_REGNUM): Add enclosing parens.


Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>

From-SVN: r153033
2009-10-20 20:50:58 +02:00
Paolo Carlini
50e9ed7c6c basic_string.h (_S_construct(const _CharT*, size_type, const _Alloc&)): New, declare.
2009-10-20  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/basic_string.h (_S_construct(const _CharT*, size_type,
	const _Alloc&)): New, declare.
	(_S_construct(_CharT*, _CharT*, const _Alloc&),
	_S_construct(const _CharT*, const _CharT*, const _Alloc&),
	_S_construct(iterator, iterator, const _Alloc&),
	_S_construct(const_iterator, const_iterator, const _Alloc&)): New,
	forward to the latter.
	* include/bits/basic_string.tcc (_S_construct(const _CharT*,
	size_type, const _Alloc&)): Define.
	(basic_string(const basic_string&, size_type, size_type),
	basic_string(const basic_string&, size_type, size_type,
	const _Alloc&), basic_string(const _CharT*, size_type,
	const _Alloc&), basic_string(const _CharT*, const _Alloc&),
	basic_string(initializer_list<>, const _Alloc&)): Call the latter.
	* config/abi/pre/gnu.ver: Remove recently added exports.
	* src/string-inst.cc: Remove instantiations.

From-SVN: r153023
2009-10-20 16:24:18 +00:00
Michael Matz
1578e91079 * loop-invariant.c (create_new_invariant): Use different magic number.
From-SVN: r153022
2009-10-20 16:07:21 +00:00
Joel Dice
5a3a8eb12e re PR java/28474 (mangle_name.c mangles names unecessarily)
2009-10-20  Joel Dice <dicej@mailsnare.net>

        PR java/28474
        * mangle_name.c (append_unicode_mangled_name): Fix mangling
        of names with multiple underscores and "U".
        (unicode_mangling_length): Likewise.

From-SVN: r153021
2009-10-20 16:01:21 +00:00
Richard Guenther
a30f893635 20091020-3_0.c: New testcase.
2009-10-20  Richard Guenther  <rguenther@suse.de>

	* gcc.dg/lto/20091020-3_0.c: New testcase.

From-SVN: r153019
2009-10-20 15:26:49 +00:00
Richard Earnshaw
70041f8a33 re PR target/39247 (FAIL: gcc.dg/tree-prof/bb-reorg.c compilation, -fprofile-use -D_PROFILE_USE)
PR target/39247
	* arm.c (arm_override_options): Forcibly disable hot/cold block
	partitioning.

From-SVN: r153018
2009-10-20 15:17:30 +00:00
Alexandre Oliva
8ee2bec99e re PR debug/41739 (Failed to bootstrap on Linux/ia64)
PR debug/41739
	* haifa-sched.c (try_ready): Skip debug deps updating speculation
	status.

From-SVN: r153017
2009-10-20 17:09:43 +02:00
Richard Guenther
b78cd8859a ggc-page.c: Include cfgloop.h.
2009-10-20  Richard Guenther  <rguenther@suse.de>

	* ggc-page.c: Include cfgloop.h.
	(struct max_alignment): Drop long double, add void *.
	(extra_order_size_table): Add low non-power-of-two multiples
	of MAX_ALIGNMENT.  Drop small type-based entries, add
	tree_type, cgraph_node and loop.
	* alloc-pool.c (struct allocation_object_def): Drop long double
	aligning element.

From-SVN: r153014
2009-10-20 14:15:52 +00:00
Phil Muldoon
8345c8e427 printers.py (StdTuplePrinter): New printer.
2009-10-20  Phil Muldoon <pmuldoon@redhat.com>

	* python/libstdcxx/v6/printers.py (StdTuplePrinter): New printer.
	(build_libstdcxx_dictionary): Add StdTuplePrinter registration.

From-SVN: r153013
2009-10-20 13:52:34 +00:00
Richard Guenther
20d36f0ea6 re PR lto/41761 (lto1: error: type mismatch in component reference (const with non-const))
2009-10-20  Richard Guenther  <rguenther@suse.de>

        PR lto/41761
	* gimple.c (gimple_register_type): Make sure we register
	the types main variant first.

	* gcc.dg/lto/20091020-1_0.c: New testcase.
	* gcc.dg/lto/20091020-1_1.c: Likewise.
	* gcc.dg/lto/20091020-2_0.c: Likewise.
	* gcc.dg/lto/20091020-2_1.c: Likewise.

From-SVN: r153012
2009-10-20 13:33:03 +00:00
Jakub Jelinek
dd8c071d66 re PR debug/41340 (GCC produces different code with and without -g option)
PR debug/41340
	* loop-invariant.c (calculate_loop_reg_pressure): Don't count regs
	referenced just in DEBUG_INSNs.

	* gcc.dg/pr41340.c: New test.

From-SVN: r153011
2009-10-20 15:29:08 +02:00
Richard Guenther
b0cc341fd9 gimple.c (gimple_types_compatible_p): Simplify.
2009-10-20  Richard Guenther  <rguenther@suse.de>

	* gimple.c (gimple_types_compatible_p): Simplify.  Move
	cheap checks before hashtable queries.  Add checks for
	TYPE_NONALIASED_COMPONENT and DECL_NONADDRESSABLE_P.

From-SVN: r153010
2009-10-20 11:08:30 +00:00
Eric Botcazou
a1aa17011f tree-sra.c (build_ref_for_offset_1): Skip fields without size or with size that can't be represented as a host integer.
* tree-sra.c (build_ref_for_offset_1) <RECORD_TYPE>: Skip fields
	without size or with size that can't be represented as a host integer.

From-SVN: r153008
2009-10-20 09:19:17 +00:00
Alexandre Oliva
717f4048cd tree-ssa-dce.c (eliminate_unnecessary_stmts): Don't regard the removal of a debug stmt as a significant change.
* tree-ssa-dce.c (eliminate_unnecessary_stmts): Don't regard
	the removal of a debug stmt as a significant change.

From-SVN: r153007
2009-10-20 10:37:26 +02:00
Wolfgang Gellerich
421b1e6b16 s390.md: Added agen condition to operand forwarding bypasses.
2009-10-20  Wolfgang Gellerich  <gellerich@de.ibm.com>

	* config/s390/s390.md: Added agen condition to operand
	forwarding bypasses. 
	Added bypass for early address generation use of int results.
	Updated comments.

From-SVN: r153006
2009-10-20 08:16:23 +00:00
Stefan Dösinger
bd62d832fb i386.c: Remove signal.h #include.
* config/i386/i386.c: Remove signal.h #include.

From-SVN: r153005
2009-10-20 09:23:35 +02:00
Paul Thomas
f116b2fce3 re PR fortran/41706 ([OOP] Calling one TBP as an actual argument of another TBP)
2009-10-20  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/41706
	* resolve.c (resolve_arg_exprs): New function.
	(resolve_class_compcall): Call the above.
	(resolve_class_typebound_call): The same.

2009-10-20  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/41706
	* gfortran.dg/class_9 : New test.

From-SVN: r153004
2009-10-20 04:16:02 +00:00
Jie Zhang
91c29f68ef simplify-rtx.c (simplify_const_unary_operation): Handle SS_ABS.
* simplify-rtx.c (simplify_const_unary_operation): Handle
	SS_ABS.
	* doc/rtl.texi: Document ss_abs.

From-SVN: r153003
2009-10-20 03:33:57 +00:00
GCC Administrator
8c44c845be Daily bump.
From-SVN: r153002
2009-10-20 00:17:13 +00:00
Jakub Jelinek
2c6e3f5540 charset.c (cpp_init_iconv): Initialize utf8_cset_desc.
* charset.c (cpp_init_iconv): Initialize utf8_cset_desc.
	(_cpp_destroy_iconv): Destroy utf8_cset_desc, char16_cset_desc
	and char32_cset_desc.
	(converter_for_type): Handle CPP_UTF8STRING.
	(cpp_interpret_string): Handle CPP_UTF8STRING and raw-strings.
	* directives.c (get__Pragma_string): Handle CPP_UTF8STRING.
	(parse_include): Reject raw strings.
	* include/cpplib.h (CPP_UTF8STRING): New token type.
	* internal.h (struct cpp_reader): Add utf8_cset_desc field.
	* lex.c (lex_raw_string): New function.
	(lex_string): Handle u8 string literals, call lex_raw_string
	for raw string literals.
	(_cpp_lex_direct): Call lex_string even for u8" and {,u,U,L,u8}R"
	sequences.
	* macro.c (stringify_arg): Handle CPP_UTF8STRING.

	* c-common.c (c_parse_error): Handle CPP_UTF8STRING.
	* c-lex.c (c_lex_with_flags): Likewise.  Test C_LEX_STRING_NO_JOIN
	instead of C_LEX_RAW_STRINGS.
	(lex_string): Handle CPP_UTF8STRING.
	* c-parser.c (c_parser_postfix_expression): Likewise.
	* c-pragma.h (C_LEX_RAW_STRINGS): Rename to ...
	(C_LEX_STRING_NO_JOIN): ... this.

	* parser.c (cp_lexer_print_token, cp_parser_is_string_literal,
	cp_parser_string_literal, cp_parser_primary_expression): Likewise.
	(cp_lexer_get_preprocessor_token): Use C_LEX_STRING_JOIN instead
	of C_LEX_RAW_STRINGS.

	* gcc.dg/raw-string-1.c: New test.
	* gcc.dg/raw-string-2.c: New test.
	* gcc.dg/raw-string-3.c: New test.
	* gcc.dg/raw-string-4.c: New test.
	* gcc.dg/raw-string-5.c: New test.
	* gcc.dg/raw-string-6.c: New test.
	* gcc.dg/raw-string-7.c: New test.
	* gcc.dg/utf8-1.c: New test.
	* gcc.dg/utf8-2.c: New test.
	* gcc.dg/utf-badconcat2.c: New test.
	* gcc.dg/utf-dflt2.c: New test.
	* gcc.dg/cpp/include6.c: New test.
	* g++.dg/ext/raw-string-1.C: New test.
	* g++.dg/ext/raw-string-2.C: New test.
	* g++.dg/ext/raw-string-3.C: New test.
	* g++.dg/ext/raw-string-4.C: New test.
	* g++.dg/ext/raw-string-5.C: New test.
	* g++.dg/ext/raw-string-6.C: New test.
	* g++.dg/ext/raw-string-7.C: New test.
	* g++.dg/ext/utf8-1.C: New test.
	* g++.dg/ext/utf8-2.C: New test.
	* g++.dg/ext/utf-badconcat2.C: New test.
	* g++.dg/ext/utf-dflt2.C: New test.

From-SVN: r152995
2009-10-19 23:41:15 +02:00
Anatoly Sokolov
4d696ad011 cris.c (cris_function_value, [...]): New functions.
* config/cris/cris.c (cris_function_value, cris_libcall_value,
	cris_function_value_regno_p): New functions.
	(cris_promote_function_mode): Update comment.
	(TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Declare.
	* config/cris/cris.h: (FUNCTION_VALUE, LIBCALL_VALUE): Remove.
	(FUNCTION_VALUE_REGNO_P): Redefine, use cris_function_value_regno_p.
	* config/cris/cris-protos.h (cris_function_value_regno_p): Declare.

From-SVN: r152992
2009-10-20 00:54:07 +04:00
Jakub Jelinek
270213ca82 Fix dates.
From-SVN: r152991
2009-10-19 21:57:26 +02:00
Jakub Jelinek
4793ad6b2d unwind-dw2.c (execute_stack_op): Fix operand order for DW_OP_le, DW_OP_ge, DW_OP_lt and DW_OP_gt.
* unwind-dw2.c (execute_stack_op): Fix operand order for
	DW_OP_le, DW_OP_ge, DW_OP_lt and DW_OP_gt.

	* gcc.dg/cleanup-13.c: New test.

From-SVN: r152989
2009-10-19 21:54:11 +02:00
Janus Weil
1517fd57b6 re PR fortran/41586 ([OOP] Allocatable _scalars_ are never auto-deallocated)
2009-10-19  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/41586
	* parse.c (parse_derived): Correctly set 'alloc_comp' and 'pointer_comp'
	for CLASS variables.
	* trans-array.c (structure_alloc_comps): Handle deallocation and
	nullification of allocatable scalar components.
	* trans-decl.c (gfc_get_symbol_decl): Remember allocatable scalars for
	automatic deallocation.
	(gfc_trans_deferred_vars): Automatically deallocate allocatable scalars.


2009-10-19  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/41586
	* gfortran.dg/auto_dealloc_1.f90: New test case.

From-SVN: r152988
2009-10-19 21:21:18 +02:00
Jakub Jelinek
55165bf6b4 Port from redhat/gcc-4_4-branch:
2009-10-08  Jakub Jelinek  <jakub@redhat.com>
	* gcc.dg/debug/vta-2.c: New test.

	2009-09-30  Alexandre Oliva  <aoliva@redhat.com>
	* gcc.dg/debug/vta-1.c: New.

From-SVN: r152986
2009-10-19 21:10:20 +02:00
Eric Botcazou
a141816c42 gimple-low.c (struct lower_data): Add cannot_fallthru field.
* gimple-low.c (struct lower_data): Add cannot_fallthru field.
	(lower_stmt) <GIMPLE_BIND>: Add comment.
	<GIMPLE_COND, GIMPLE_GOTO, GIMPLE_SWITCH>: Set cannot_fallthru to true
	and return.
	<GIMPLE_RETURN>: Remove the statement if cannot_fallthru is set.
	Otherwise lower it and set cannot_fallthru to true.
	<GIMPLE_TRY>: Update cannot_fallthru for GIMPLE_TRY_FINALLY and return.
	<GIMPLE_CATCH, GIMPLE_EH_FILTER>; Set cannot_fallthru to false.
	<GIMPLE_CALL>: Set cannot_fallthru to false for BUILT_IN_SETJMP and
	to true for a noreturn call.  Do not remove statements.
	<GIMPLE_OMP_PARALLEL, GIMPLE_OMP_TASK>: Set cannot_fallthru to false.
	Set cannot_fallthru to false on function exit.
	(gimple_stmt_may_fallthru) <GIMPLE_SWITCH>: Really return false.
	<GIMPLE_ASSIGN>: Remove.

From-SVN: r152984
2009-10-19 18:15:49 +00:00
Tobias Burnus
585ba38fd5 re PR fortran/41755 (Segfault on invalid code)
2009-10-19  Tobias Burnus  <burnus@net-b.de>
            Steven G. Kargl  <kargl@gcc.gnu.org>

        PR fortran/41755
        * symbol.c (gfc_undo_symbols): Add NULL check.
        * match.c (gfc_match_equivalence): Add check for
        missing comma.

2009-10-19  Tobias Burnus  <burnus@net-b.de>

        PR fortran/41755
        * gfortran.dg/equiv_8.f90: New test.
        * gfortran.dg/class_allocate_1.f03: Remove obsolete FIXME.


Co-Authored-By: Steven G. Kargl <kargl@gcc.gnu.org>

From-SVN: r152983
2009-10-19 20:03:02 +02:00
Rafael Espindola
941e566ae7 missing changelog
From-SVN: r152982
2009-10-19 16:23:38 +00:00
Andreas Krebbel
2dfdbf2bb7 s390.c (s390_z10_optimize_cmp): Don't touch FP compares.
2009-10-19  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.c (s390_z10_optimize_cmp): Don't touch FP compares.

From-SVN: r152979
2009-10-19 15:43:27 +00:00
Andreas Krebbel
33ab2bd440 s390.c (s390_z10_optimize_cmp): Use next/prev_active_insn to skip DEBUG_INSNs as well.
2009-10-19  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.c (s390_z10_optimize_cmp): Use
	next/prev_active_insn to skip DEBUG_INSNs as well.

From-SVN: r152978
2009-10-19 15:41:52 +00:00
Joseph Myers
5728868b82 arm.c (output_move_neon): Use DImode in call to adjust_address.
* config/arm/arm.c (output_move_neon): Use DImode in call to
	adjust_address.

testsuite:
	* gcc.target/arm/neon-thumb2-move.c: New test.

From-SVN: r152977
2009-10-19 16:22:15 +01:00
Rafael Espindola
21750c78c4 re PR lto/40790 (plugin-api.h unconditionally includes stdint.h)
include/
2009-10-09  Rafael Avila de Espindola  <espindola@google.com>

	PR40790
	* plugin-api.h: Don't include stdint.h unconditionally.

lto-plugin/
2009-10-09  Rafael Avila de Espindola  <espindola@google.com>

	PR40790
	* configure: Regenerate.
	* configure.ac: Add AC_TYPE_UINT64_T.

From-SVN: r152976
2009-10-19 15:11:35 +00:00
Matthias Klose
d23a77342c re PR target/40134 (symbols not resolved when building shared libraries (link with -lgcc_s -lgcc?))
2009-10-19  Matthias Klose  <doko@ubuntu.com>

        PR target/40134
        * config.gcc (arm*-*-linux-*eabi): Use config/t-slibgcc-libgcc.

From-SVN: r152975
2009-10-19 14:26:28 +00:00
Richard Guenther
94990acabe re PR fortran/41494 (temp and memcpy used when zeroing array)
2009-10-18  Richard Guenther  <rguenther@suse.de>

	PR fortran/41494
	* trans-expr.c (gfc_trans_scalar_assign): Do not call
	gfc_evaluate_now.

From-SVN: r152973
2009-10-19 08:45:43 +00:00
Jakub Jelinek
2d3fc6aafc cfgexpand.c (expand_debug_expr): Fail if bitpos < 0 for non-MEM op0.
* cfgexpand.c (expand_debug_expr): Fail if bitpos < 0 for non-MEM
	op0.

	* gcc.dg/debug/vta-3.c: New test.

From-SVN: r152972
2009-10-19 09:39:43 +02:00
GCC Administrator
69925f6ce8 Daily bump.
From-SVN: r152970
2009-10-19 00:16:47 +00:00
GCC Administrator
d901dd8d7e Daily bump.
From-SVN: r152964
2009-10-18 00:16:47 +00:00
Andy Hutchinson
db826daef1 re PR middle-end/41738 (optabs expands rotate using wrong mode)
2009-10-17  Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
PR middle-end/41738
* optabs.c (expand_binop): Make mode of shift count expression mode of shift count not target.
Remove indent nit.

From-SVN: r152961
2009-10-17 22:42:17 +00:00
Eric Botcazou
d79c2936cb tree-nested.c (convert_nonlocal_reference_stmt): New case.
* tree-nested.c (convert_nonlocal_reference_stmt) <GIMPLE_COND>: New
	case.  Force using values to replace references within the statement.
	(convert_local_reference_stmt): Likewise.

From-SVN: r152960
2009-10-17 22:21:24 +00:00
Eric Botcazou
79ddec0279 gimple-low.c (lower_stmt): If the call is noreturn, remove a subsequent GOTO or RETURN statement.
* gimple-low.c (lower_stmt) <GIMPLE_CALL>: If the call is noreturn,
	remove a subsequent GOTO or RETURN statement.

From-SVN: r152959
2009-10-17 22:17:26 +00:00
Andy Hutchinson
7e90b362e1 avr.md (*movqi): Add zero as equally preferable constraint as general register.
2009-10-17  Andy Hutchinson  <hutchinsonandy@aim.com>
* config/avr.md (*movqi): Add zero as equally preferable constraint as general register.
(*movhi): Ditto.

From-SVN: r152958
2009-10-17 22:15:45 +00:00
Janus Weil
2e23972ecb re PR fortran/41608 ([OOP] ICE with CLASS and invalid code)
2009-10-17  Janus Weil  <janus@gcc.gnu.org>
	    Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/41608
	* decl.c (gfc_match_data_decl): Add BT_CLASS for undefined type
	and empty type errors.
	* parse.c (gfc_build_block_ns): Only set recursive if parent ns
	has a proc_name.

	PR fortran/41629
	PR fortran/41618
	PR fortran/41587
	* gfortran.h : Add class_ok bitfield to symbol_attr.
	* decl.c (build_sym): Set attr.class_ok if dummy, pointer or
	allocatable.
	(build_struct): Use gfc_try 't' to carry errors past the call
	to encapsulate_class_symbol.
	(attr_decl1): For a CLASS object, apply the new attribute to
	the data component.
	* match.c (gfc_match_select_type): Set attr.class_ok for an
	assigned selector.
	* resolve.c (resolve_fl_variable_derived): Check a CLASS object
	is dummy, pointer or allocatable by testing the class_ok and
	the use_assoc attribute.

2009-10-17  Janus Weil  <janus@gcc.gnu.org>
	    Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/41629
	* gfortran.dg/class_6.f90: New test.

	PR fortran/41608
	PR fortran/41587
	* gfortran.dg/class_7.f90: New test.

	PR fortran/41618
	* gfortran.dg/class_8.f90: New test.


Co-Authored-By: Paul Thomas <pault@gcc.gnu.org>

From-SVN: r152955
2009-10-17 18:09:25 +00:00
Eric Botcazou
1ee41d433d * print-tree.c (print_node): Fix string for DECL_STRUCT_FUNCTION.
From-SVN: r152954
2009-10-17 16:03:49 +00:00