Commit Graph

96437 Commits

Author SHA1 Message Date
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
Richard Guenther
b7dae211cc lto-streamer-in.c (lto_input_location): Try to reuse previous maps.
2009-10-17  Richard Guenther  <rguenther@suse.de>

	* lto-streamer-in.c (lto_input_location): Try to reuse
	previous maps.

From-SVN: r152953
2009-10-17 15:40:53 +00:00
Richard Guenther
96d356ef3f 20091017-1_0.c: New testcase.
2009-10-17  Richard Guenther  <rguenther@suse.de>

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

From-SVN: r152952
2009-10-17 14:15:42 +00:00
Joseph Myers
39c6e61c34 * cpplib.pot: Regenerate.
From-SVN: r152951
2009-10-17 14:46:26 +01:00
Joseph Myers
066cad021a * gcc.pot: Regenerate.
From-SVN: r152950
2009-10-17 14:46:08 +01:00
Eric Botcazou
5efc527bcc * gnat.dg/unchecked_convert4.adb: Add missing rep clause.
From-SVN: r152938
2009-10-17 12:06:56 +00:00
Richard Guenther
57e4ba8488 lto-streamer-in.c (input_gimple_stmt): Fixup FIELD_DECL operands in COMPONENT_REFs.
2009-10-17  Richard Guenther  <rguenther@suse.de>

	* lto-streamer-in.c (input_gimple_stmt): Fixup FIELD_DECL
	operands in COMPONENT_REFs.

From-SVN: r152937
2009-10-17 11:47:56 +00:00
Eric Botcazou
d622b427fa Fix typo
From-SVN: r152936
2009-10-17 11:23:23 +00:00
Eric Botcazou
431cfac1ff utils.c (convert): When converting to a padded type with an inner type of self-referential size...
* gcc-interface/utils.c (convert): When converting to a padded type
	with an inner type of self-referential size, pad the expression before
	doing the unchecked conversion.

From-SVN: r152935
2009-10-17 11:17:27 +00:00
Eric Botcazou
3f273c8a53 utils2.c (build_binary_op): Make sure the element type is consistent.
* gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Make
	sure the element type is consistent.

From-SVN: r152934
2009-10-17 11:05:35 +00:00
Anatoly Sokolov
7fc6a96bed targhooks.c (default_libcall_value): Don't use LIBCALL_VALUE macro if not defined.
* targhooks.c (default_libcall_value): Don't use LIBCALL_VALUE macro
	if not defined. Change type of second argument to const_rtx.
	(default_function_value): Call gcc_unreachable if FUNCTION_VALUE
	macro not defined.
	* targhooks.h (default_libcall_value): Update prototype.
	* target.h (struct gcc_target): Change type of second argument of
	libcall_value to const_rtx.
	* config/arm/arm.c (arm_libcall_value): Change type of second argument
	to const_rtx.
	(arm_libcall_uses_aapcs_base): Change type of argument to const_rtx.
	* doc/tm.texi (TARGET_LIBCALL_VALUE):  Revise documentation.

From-SVN: r152933
2009-10-17 14:46:18 +04:00
Eric Botcazou
9f4afcd44f * gcc-interface/trans.c (addressable_p): Handle bitwise operations.
From-SVN: r152932
2009-10-17 10:39:11 +00:00
Ralf Wildenhues
0046b1a727 Fix libgomp without --enable-languages=fortran.
libgomp/:
	PR libgomp/41418
	* configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
	or a hyphen (happens with fortran language disabled).
	* configure: Regenerate.

From-SVN: r152931
2009-10-17 07:34:47 +00:00
Jakub Jelinek
3df9609a72 re PR debug/40521 (-g causes GCC to generate .eh_frame)
PR debug/40521
	* debug.h (struct gcc_debug_hooks): Add assembly_start hook.
	* cgraphunit.c (cgraph_optimize): Call it.
	* dwarf2out.c (dwarf2out_init): Move .cfi_sections printing into...
	(dwarf2out_assembly_start): ... here.  New hook.
	(dwarf2out_debug_hooks): Add dwarf2out_assembly_start.
	* debug.c (do_nothing_debug_hooks): Do nothing for assembly_start
	hook.
	* dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
	* sdbout.c (sdb_debug_hooks): Likewise.
	* vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_assembly_start.
	(vmsdbgout_assembly_start): New hook.

From-SVN: r152930
2009-10-17 09:28:13 +02:00
Alexandre Oliva
15f01e4ad6 * rtl.h (RTL_LOCATION): Fix typo.
From-SVN: r152929
2009-10-17 06:29:47 +00:00
Alexandre Oliva
da1e150327 print-rtl.c (print_rtx): Print locators in asm_operands and asm_input.
* print-rtl.c (print_rtx): Print locators in asm_operands
and asm_input.

From-SVN: r152928
2009-10-17 06:28:58 +00:00
Alexandre Oliva
f49b295a19 re PR debug/41535 (Broken var location info after scheduling)
PR debug/41535
* sched-deps.c (depl_on_debug_p): New.
(attach_dep_link): Reject debug deps before nondebug deps.
(add_to_deps_list): Insert debug deps after nondebug deps.
(sd_lists_empty_p): Stop at first nonempty list.  Disregard debug
deps.
(sd_add_dep): Do not reject debug deps.
(add_insn_mem_dependence): Don't count debug deps.
(remove_from_deps): Likewise.
(sched_analyze_2): Set up mem deps on debug insns.
(sched_analyze_insn): Record reg uses for deps on debug insns.
* haifa-sched.c (schedule_insn): Reset deferred debug insn.  Don't
try_ready nondebug insn after debug insn.
* ddg.c (create_ddg_dep_from_intra_loop_link,
create_ddg_dep_no_link): Don't reject debug deps.

From-SVN: r152927
2009-10-17 06:28:43 +00:00
Jason Merrill
af16209f32 re PR c++/38888 ([C++0x] badly readable diagnostic output with variadic templates)
PR c++/38888
	* error.c (dump_template_bindings): Wrap argument packs in {}.

From-SVN: r152925
2009-10-17 02:11:21 -04:00
Jason Merrill
6c3f4949ee re PR c++/38798 ([c++0x] Trouble with struct/class/enum keyword in late return types)
PR c++/38798
	* parser.c (CP_PARSER_FLAGS_NO_TYPE_DEFINITIONS): New.
	(cp_parser_type_specifier): Don't try to parse a class-specifier
	or enum-specifier in that case.
	(cp_parser_trailing_type_id): New.
	(cp_parser_late_return_type_opt): Call it.
	(cp_parser_type_id_1): Add is_trailing_return parm.
	(cp_parser_type_specifier_seq): Likewise.

From-SVN: r152924
2009-10-17 02:11:08 -04:00