Commit Graph

86061 Commits

Author SHA1 Message Date
Stan Shebs 54acd3074a MAINTAINERS (Write After Approval): Add myself back.
2008-03-03  Stan Shebs  <stanshebs@earthlink.net>

	* MAINTAINERS (Write After Approval): Add myself back.
	(darwin port): Add myself as a maintainer.
	(objective-c/c++): Add myself as a maintainer.

From-SVN: r132839
2008-03-03 16:25:55 +00:00
Jan Hubicka 44682fabde re PR c++/35262 (FAIL: abi_check)
PR c++/35262
	* ipa-inline.c (cgraph_decide_inlining_of_small_function): Be more
	aggressive on inlining cold calls.

From-SVN: r132838
2008-03-03 16:20:31 +00:00
Paul Brook bf98ec6c84 config.gcc: Add arm/t-arm-softfp and soft-fp/t-softfp to arm configs.
2008-03-03  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config.gcc: Add arm/t-arm-softfp and soft-fp/t-softfp to arm
	configs.  Add new --with-arch options.
	* config/arm/t-arm-softfp: New file.
	* config/arm/elf.h: Disable soft-fp routines on everything except
	ARMv6-M.
	* config/arm/ieee754-df.S: Rename L_* to L_arm_*.
	* config/arm/ieee754-sf.S: Ditto.
	* config/arm/t-arm-elf: Ditto.
	* config/arm/arm.c (FL_FOR_ARCH6M): Define.
	(all_architectures): Add armv6-m.
	(arm_output_mi_thunk): Add TARGET_THUMB1_ONLY thunks.
	* config/arm/lib1funcs.asm: Add __ARM_ARCH_6M__ conditionals.
	Include bpabi-v6m.S.
	* config/arm/arm.h (TARGET_THUMB1_ONLY): Define.
	(ARM_DECLARE_FUNCTION_NAME): Handle Thumb-1 only thunks.
	* config/arm/sfp-machine.h: New file.
	* config/arm/bpabi-v6m.S: New file.
	* config/arm/arm-cores.def: Add cortex-m1.
	* config/arm/arm-tune.md: Regenerate.
	* config/arm/libunwind.S: Add ARMv6-M implementation.
	* config/arm/bpabi.h: Add renames for soft-float routines.
	* doc/invoke.texi: Document -mcpu=cortex-m1 and -march=armv6-m.

From-SVN: r132837
2008-03-03 14:30:48 +00:00
Richard Guenther 9a32776605 tree-ssa-sccvn.c (visit_reference_op_store): Do not insert struct copies into the expression table.
2008-03-03  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-sccvn.c (visit_reference_op_store): Do not insert
	struct copies into the expression table.
	(simplify_unary_expression): Handle VIEW_CONVERT_EXPR.
	(try_to_simplify): Likewise.
	* fold-const.c (fold_unary): Fold VIEW_CONVERT_EXPR of
	integral and pointer arguments which do not change the
	precision to NOP_EXPRs.
	* tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Adjust
	VIEW_CONVERT_EXPR case.

From-SVN: r132836
2008-03-03 11:57:15 +00:00
Sebastian Pop 6a732743bd tree-scalar-evolution.c (instantiate_parameters_1): An SSA_NAME defined in a loop at depth 0 is invariant.
* tree-scalar-evolution.c (instantiate_parameters_1): An SSA_NAME
	defined in a loop at depth 0 is invariant.
	* tree-chrec.c (evolution_function_is_invariant_rec_p): Ditto.
	* tree-ssa-loop-ivopts.c (expr_invariant_in_loop_p): Should never
	be called at loop depth 0.

From-SVN: r132835
2008-03-03 11:51:36 +00:00
Uros Bizjak 9310e5e318 builtin-apply-mmx.c: Do not XFAIL on Darwin.
* gcc.target/i386/builtin-apply-mmx.c: Do not XFAIL on Darwin.

From-SVN: r132832
2008-03-03 08:27:55 +01:00
Volker Reichelt 4b52b516e1 MAINTAINERS (Write After Approval): Update my email address.
* MAINTAINERS (Write After Approval): Update my email address.

From-SVN: r132831
2008-03-03 07:14:35 +00:00
GCC Administrator 0cf54ac6e2 Daily bump.
From-SVN: r132828
2008-03-03 00:17:54 +00:00
Jakub Jelinek 0e5997c0ff re PR driver/35420 (--version copyright date vs. 2008)
PR driver/35420
	* gcc.c (process_command): Update copyright notice dates.
	* gcov.c (print_version): Likewise.
	* gcov-dump.c (print_version): Likewise.
	* mips-tfile.c (main): Likewise.
	* mips-tdump.c (main): Likewise.

	* jcf-dump.c (version): Update copyright notice dates.

	* gfortranspec.c (lang_specific_driver): Update copyright notice
	dates.

	* mf-runtime.c (__mf_usage): Update copyright notice dates.

	* gnu/gcj/convert/Convert.java (version): Update copyright notice
	dates.
	* gnu/gcj/tools/gcj_dbtool/Main.java (main): Likewise.

	* gnu/java/rmi/registry/RegistryImpl.java (version): Update
	copyright notice dates.
	* tools/gnu/classpath/tools/orbd/Main.java (run): Likewise.

From-SVN: r132823
2008-03-02 23:50:02 +01:00
Ralf Wildenhues ad6b5b0057 gnatfind.adb, [...]: Fix argument parsing typos.
gcc/ada

	* gnatfind.adb, gnatxref.adb: Fix argument parsing typos.
	* s-auxdec-empty.adb, s-auxdec.adb: Fix typos in copyright
	statement.
	* a-ngcoar.adb, a-ngrear.adb, g-awk.adb, g-debpoo.adb,
	gprep.adb, make.adb, makegpr.adb, par-ch6.adb, prj-nmsc.adb,
	sem_attr.adb, sem_ch4.adb, sem_ch8.adb: Fix typos in ada source
	code output strings.
	* sem_type.adb, system-vms-ia64.ads, system-vms.ads,
	system-vms_64.ads: Fix typos in ada source code comments.
	* sinfo-cn.adb: Remove incomplete sentence.

From-SVN: r132822
2008-03-02 22:39:38 +00:00
Ralf Wildenhues 4d0e46128b re PR ada/15479 (Ada manual problems)
gcc/ada

	PR documentation/15479
	* gnat_rm.texi, gnat_ugn.texi: Avoid standalone `non' word.

From-SVN: r132821
2008-03-02 22:36:35 +00:00
Jakub Jelinek cf8e67feb2 re PR target/35401 (libstdc++ linked to system /usr/lib/libgcc_s.1.dylib not new gcc4.3 libgcc_s.1.dylib)
PR target/35401
	* config/t-slibgcc-darwin: Make install-leaf dependent on
	install-darwin-libgcc-stubs instead of install.

From-SVN: r132819
2008-03-02 23:06:32 +01:00
Manuel López-Ibáñez 393eda6a41 re PR c++/24924 (front end and preprocessor pedantic_errors settings should agree)
2008-03-02  Manuel Lopez-Ibanez  <manu@gcc.gnu.org> 

	PR 24924
	* c-common.c (flag_permissive): Delete.
	(constant_expression_warnings): Check flags first.
	(constant_expression_error): New.
	* c-common.h (flag_permissive): Delete.
	(constant_expression_error): Declare.
	* flags.h (flag_permissive): Declare. Update description.
	* diagnostic.c (pedwarn): Update.
	(permerror): New.
	* diagnostic.h: (pedantic_error_kind): Rename as pedantic_warning_kind.
	(permissive_error_kind): New.
	* toplev.c (flag_permissive): Define. Update description.
	* toplev.h (permissive_error_kind): Declare.
	* c-errors.c (pedwarn_c99): Use pedantic_warning_kind.
	(pedwarn_c90): Use pedantic_warning_kind.
	* c-opts.c (c_common_post_options): flag_permissive does not affect
	flag_pedantic_errors.
cp/
	* class.c (finish_struct_anon): Use permerror instead of pedwarn.
	(check_field_decls): Likewise.
	(note_name_declared_in_class): Likewise.
	* call.c (build_new_op): Likewise.
	(convert_like_real): Likewise.
	(build_over_call): Likewise.
	* lex.c (unqualified_fn_lookup_error): Likewise.
	* parser.c (cp_parser_template_id): Likewise.
	* cvt.c (warn_ref_binding): Likewise.
	(convert_to_reference): Likewise.
	(ocp_convert): Likewise.
	(convert_to_void): Use error instead of pedwarn.
	* error.c (cp_cpp_error): Use pedantic_warning_kind.
	* decl.c (compute_array_index_type): Use constant_expression_error.
testsuite/
	* g++.dg/cpp/string-2.C: This is a warning now.
	* g++.dg/cpp/pedantic-errors.C: -pedantic-errors is not enabled by
	default, so add it.

From-SVN: r132817
2008-03-02 15:45:29 +00:00
Hans-Peter Nilsson 92331508a6 shared_ptr_neg.cc, [...]: Mark changed error message prelude...
* testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc,
	testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr_neg.cc:
	Mark changed error message prelude, adding "in file included from",
	using dg-excess-errors.

From-SVN: r132816
2008-03-02 13:59:10 +00:00
Joseph Myers 9677aa89d0 libgcc2.c (__addvSI3, [...]): Use unsigned arithmetic.
* libgcc2.c (__addvSI3, __addvsi3, __addvDI3, __subvSI3,
	__subvsi3, __subvDI3, __negvSI2, __negvsi2, __negvDI2, __absvSI2,
	__absvsi2, __absvDI2): Use unsigned arithmetic.

From-SVN: r132815
2008-03-02 13:11:19 +00:00
Andi Kleen f3130d75de struct-equiv.c: Remove file.
2008-03-02  Andi Kleen  <ak@suse.de>
	Richard Guenther  <rguenther@suse.de>

	* struct-equiv.c: Remove file.
	* cfg_cleanup.c (condjump_equiv_p): Remove.
	* Makefile.in (OBJS-common): Remove struct-equiv.o.
	(struct-equiv.o): Remove rule.
	* basic-block.h (struct_equiv_checkpoint, STRUCT_EQUIV_*,
	insns_match_p, struct_equiv_block_eq, struct_equiv_init, 
	rtx_equiv_p, condjump_equiv_p): Remove prototypes.

Co-Authored-By: Richard Guenther <rguenther@suse.de>

From-SVN: r132814
2008-03-02 12:09:08 +00:00
GCC Administrator 363d536b17 Daily bump.
From-SVN: r132812
2008-03-02 00:17:41 +00:00
Francois-Xavier Coudert 9bd97567c9 re PR libfortran/35355 (CPU_TIME gives wrong values on mingw)
2008-03-01  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR libfortran/35355
	* intrinsics/time_1.h (__time_1): Fix calculation of user_usec
	for mingw.

From-SVN: r132808
2008-03-01 22:15:31 +00:00
Douglas Gregor 4dbc8575fb parser.c (cp_lexer_next_token_is_decl_specifier_keyword): Note that auto is either a storage class or a simple type specifier...
2008-03-01  Douglas Gregor  <doug.gregor@gmail.com>

	* parser.c (cp_lexer_next_token_is_decl_specifier_keyword): Note
	that auto is either a storage class or a simple type specifier,
	depending on the dialect.
	(cp_parser_decl_specifier_seq): Complain about `auto' as a storage
	specifier in C++98 mode, error in C++0x mode (since we don't
	support auto as a type specifier, yet).
	(cp_parser_storage_class_specifier_opt): Don't treat `auto' as a
	storage specifier in C++0x mode.
	(cp_parser_simple_type_specifier): Parse `auto' as a
	simple-type-specifier, but error because we don't support it yet.

2008-03-01  Douglas Gregor  <doug.gregor@gmail.com>

	* g++.dg/cpp0x/auto1.C: New.

From-SVN: r132806
2008-03-01 21:39:38 +00:00
Jakub Jelinek fafcb222d8 baseline_symbols.txt: Update.
* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
	Likewise.
	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.

From-SVN: r132805
2008-03-01 20:17:28 +01:00
Jakub Jelinek 7371aff837 gnu.ver: Remove _ZNKSt3tr14hashIgEclEg@@GLIBCXX_3.4.10 and...
* config/abi/pre/gnu.ver: Remove
	_ZNKSt3tr14hashIgEclEg@@GLIBCXX_3.4.10 and
	_ZNKSt4hashIgEclEg@@GLIBCXX_3.4.10 export.
	* config/os/gnu-linux/ldbl-extra.ver: Export
	_ZNKSt3tr14hashIgEclEg@@GLIBCXX_LDBL_3.4.10
	and _ZNKSt4hashIgEclEg@@GLIBCXX_LDBL_3.4.10.
	* src/hash.cc: Only define long double hash specialization if
	_GLIBCXX_LONG_DOUBLE_COMPAT_IMPL is defined.
	* src/compatibility-ldbl.cc: Include "hash.cc".
	(_GLIBCXX_LONG_DOUBLE_COMPAT_IMPL): Define.
	(_ZNKSt4hashIeEclEe): New alias.
	* testsuite/util/testsuite_abi.cc (check_version): Support
	GLIBCXX_LDBL_3.4.10.

From-SVN: r132804
2008-03-01 20:15:17 +01:00
Alexandre Oliva 89c3cbc686 ifcvt.c (noce_process_if_block): Try to handle only the then block if the else block exists but isn't suitable.
* ifcvt.c (noce_process_if_block): Try to handle only the then
block if the else block exists but isn't suitable.

From-SVN: r132803
2008-03-01 18:22:52 +00:00
Janne Blomqvist 5eb4a9af17 re PR libfortran/35063 (Clean up use of destroy_unit_mutex())
2008-03-01  Janne Blomqvist  <jb@gcc.gnu.org>

	PR gcc/35063
	* gthr-posix.h (__gthread_mutex_destroy): Remove extra declarations.
	* gthr-posix95.h (__gthread_mutex_destroy): Likewise. Note this fixes
	regression from previous patch.

From-SVN: r132802
2008-03-01 17:12:52 +00:00
Francois-Xavier Coudert ac27abdc1d re PR fortran/34770 (Incorrect array indexing through pointer when array does not start at 1)
PR fortran/34770
	* gfortran.dg/pointer_1.f90: New test.

From-SVN: r132801
2008-03-01 12:19:04 +00:00
Janne Blomqvist 4dabf73695 re PR libfortran/35063 (Clean up use of destroy_unit_mutex())
gcc:

2008-03-01  Janne Blomqvist  <jb@gcc.gnu.org>

	PR gcc/35063
	* gthr.h: Add __gthread_mutex_destroy as a function that must be
	implemented.
	* gthr-vxworks.h (__gthread_mutex_destroy): Null implementation.
	* gthr-single.h (__gthread_mutex_destroy): Likewise.
	* gthr-rtems.h (__gthread_mutex_destroy): Likewise.
	* gthr-mipssde.h (__gthread_mutex_destroy): Likewise.
	* gthr-nks.h (__gthread_mutex_destroy): Likewise.
	* gthr-solaris.h (__gthread_mutex_destroy): Call mutex_destroy.
	* gthr-win32.h (__GTHREAD_MUTEX_DESTROY_FUNCTION): Remove.
	(__gthread_mutex_destroy_function): Rename to
	__gthread_mutex_destroy.
	* gthr-dce.h (__gthread_mutex_destroy): Call
	pthread_mutex_destroy.
	* gthr-tpf.h (__gthread_mutex_destroy): Likewise.
	* gthr-posix.h (__gthread_mutex_destroy): Likewise.
	* gthr-posix95.h (__gthread_mutex_destroy): Likewise.


libgfortran:

2008-03-01  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libfortran/35063
	* io/unit.c (destroy_unit_mutex): Call __gthread_mutex_destroy
	instead of macro kludge.

From-SVN: r132800
2008-03-01 12:46:31 +02:00
Alexandre Oliva 63642d5a8d df-scan.c (df_ref_chain_change_bb): Simplify.
* df-scan.c (df_ref_chain_change_bb): Simplify.
(df_insn_change_bb): Add new_bb argument.  Simplify.  Call
set_block_for_insn if there's any change.
* df.h ((df_insn_change_bb): Fix prototype.
* cfgrtl.c (update_bb_for_insn_chain): Pass bb to
df_insn_change_bb, don't call set_block_for_insn.
* emit-rtl.c (reorder_insns): Likewise.
* haifa-sched.c (move_insn): Likewise.

From-SVN: r132795
2008-03-01 03:36:43 +00:00
Alexandre Oliva e065105898 * rtlanal.c (loc_mentioned_in_p): Test XVECEXPs correctly.
From-SVN: r132794
2008-03-01 03:35:50 +00:00
Alexandre Oliva d2b6be726e tree-flow-inline.h (next_readonly_imm_use): Return NULL_USE_OPERAND_P after the end.
* tree-flow-inline.h (next_readonly_imm_use): Return
NULL_USE_OPERAND_P after the end.

From-SVN: r132793
2008-03-01 03:34:33 +00:00
Richard Guenther 2fb5f2af00 re PR middle-end/35411 (internal compiler error: in set_ssa_val_to, at tree-ssa-sccvn.c:1075)
2008-03-01  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/35411
	* tree-sra.c (sra_build_assignment): Split conversion to
	final type to a separate statement if we are not assigning
	to a register.

From-SVN: r132791
2008-03-01 00:27:26 +00:00
GCC Administrator 87504f4df6 Daily bump.
From-SVN: r132789
2008-03-01 00:18:22 +00:00
Jerry DeLisle 44000dbbe0 re PR fortran/35059 (Seg fault when max constructor limit reached)
2008-02-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/35059
	* expr.c (find_array_element): Modify traversing the constructor to
	avoid trying to access NULL memory pointed to by next for the
	last element. (find_array_section): Exit while loop if cons->next is
	NULL.
	* trans-expr.c (gfc_conv_scalar_char_value): Initialize gfc_typespec.
	(gfc_conv_function_call): Same.
	* decl.c (gfc_match_implicit): Same.
	* trans-intrinsic.c (gfc_conv_intrinsic_sr_kind): Same.

From-SVN: r132782
2008-02-29 22:50:25 +00:00
Francois-Xavier Coudert c17ee676e5 fold-const.c (fold_convertible_p): Correct the logic to follow that in fold_convert().
* fold-const.c (fold_convertible_p): Correct the logic to follow
	that in fold_convert().

From-SVN: r132780
2008-02-29 22:01:22 +00:00
Douglas Gregor f31c9f09a1 re PR c++/35315 (ICE with attribute transparent_union)
2008-02-29  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/35315
	* tree-inline.c (build_duplicate_type): When we make a
	duplicate type, make it unique in the canonical types system.

2008-02-29  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/35315
	* g++.dg/ext/attrib32.C: Add another test case.

From-SVN: r132779
2008-02-29 21:41:38 +00:00
Manuel López-Ibáñez 359be76ebb parser.c (cp_parser_nonclass_name): New.
2008-02-29  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

cp/
	* parser.c (cp_parser_nonclass_name): New.
	(cp_parser_pseudo_destructor_name): Use it instead of
	cp_parser_type_name.
	(cp_parser_type_name): Move code to cp_parser_nonclass_name.

From-SVN: r132778
2008-02-29 21:38:00 +00:00
Tom Tromey 966e8f4d3f toplev.c (input_file_stack, [...]): Remove.
gcc
	* toplev.c (input_file_stack, input_file_stack_tick, fs_p,
	input_file_stack_history, input_file_stack_restored): Remove.
	(push_srcloc, pop_srcloc, restore_input_file_stack): Likewise.
	* input.h (struct file_stack): Remove.
	(push_srcloc, pop_srcloc, restore_input_file_stack): Likewise.
	(input_file_stack, input_file_stack_tick, INPUT_FILE_STACK_BITS):
	Likewise.
	* diagnostic.h (struct diagnostic_context) <last_module>: Change
	type.
	(diagnostic_last_module_changed): Add 'map' argument.
	(diagnostic_set_last_function): Likewise.
	* diagnostic.c (undiagnostic_report_current_module): Iterate using
	line map, not input_file_stack.
	* c-lex.c (fe_file_change): Don't use push_srcloc or pop_srcloc.
gcc/cp
	* parser.c (struct cp_token) <input_file_stack_index>: Remove.
	(cp_lexer_get_preprocessor_token): Update.
	(cp_lexer_set_source_position_from_token): Don't call
	restore_input_file_stack.
	* lex.c (cxx_init): Don't use push_srcloc or pop_srcloc.
gcc/testsuite
	* g++.dg/warn/pragma-system_header2.C: Ignore "included from"
	line.

From-SVN: r132775
2008-02-29 20:09:05 +00:00
Paul Brook 3cbe0ba6aa arm.md (arm_addsi3): Add r/k/n alternative.
2008-02-29  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/arm.md (arm_addsi3): Add r/k/n alternative.

From-SVN: r132774
2008-02-29 18:57:29 +00:00
Paul Brook d96ae4d435 ieee754-df.S (muldf3): Use RET macros.
2008-02-29  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/ieee754-df.S (muldf3): Use RET macros.

From-SVN: r132772
2008-02-29 18:20:29 +00:00
Richard Guenther 5be891a43c tree-ssa-pre.c (get_sccvn_value): Create missing VNs via vn_lookup_or_add.
2008-02-29  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-pre.c (get_sccvn_value): Create missing VNs via
	vn_lookup_or_add.
	* tree-ssa-sccnv.c (visit_reference_op_store): Use the rhs
	value for comparing for a store match.
	(simplify_unary_expression): Do nothing for SSA_NAMEs.
	(try_to_simplify): Do not do a full-blown reference lookup.

From-SVN: r132768
2008-02-29 14:01:09 +00:00
Tom Tromey 0a5fe1104e expr.c (expand_byte_code): Set DECL_FUNCTION_LAST_LINE on method.
* expr.c (expand_byte_code): Set DECL_FUNCTION_LAST_LINE on
	method.
	* java-tree.h (struct lang_decl_func): Remove obsolete comment.

From-SVN: r132767
2008-02-29 12:55:06 +00:00
Kaz Kojima b0fbea136e sh.c (sh_scalar_mode_supported_p): New function.
* config/sh/sh.c (sh_scalar_mode_supported_p): New function.
	(TARGET_SCALAR_MODE_SUPPORTED_P): Define.

	* config/sh/sh.h (OVERRIDE_OPTIONS): Don't warn for profiling.

From-SVN: r132766
2008-02-29 12:46:19 +00:00
Sebastian Pop 0c96231b2f tree-loop-linear.c (try_interchange_loops): Compare memory access strides against cache sizes.
* tree-loop-linear.c (try_interchange_loops): Compare memory access
	strides against cache sizes.

	* testsuite/gcc.dg/tree-ssa/ltrans-8.c: Increase the size of strides
	to make the interchange profitable.

From-SVN: r132765
2008-02-29 12:41:14 +00:00
Kaz Kojima d973ac5a9f sh.c (sh_secondary_reload): Handle loading a float constant to fpul.
* config/sh/sh.c (sh_secondary_reload): Handle loading a float
	constant to fpul.

From-SVN: r132764
2008-02-29 12:37:34 +00:00
GCC Administrator a9cbbfed45 Daily bump.
From-SVN: r132761
2008-02-29 00:17:35 +00:00
Daniel Franke 766d0c8c44 re PR fortran/31463 ([patch] inconsistent warnings if function return value is not set)
gcc/fortran:
2008-02-28  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/31463
        PR fortran/33950
        PR fortran/34296
        * lang.opt: Added -Wreturn-type.
        * options.c (gfc_handle_option): Recognize -Wreturn-type.
        * trans-decl.c (gfc_trans_deferred_vars): Emit warnings for funtions
        where the result value is not set.
        (gfc_generate_function_code): Likewise.
        (generate_local_decl): Emit warnings for funtions whose RESULT
        variable is not set.

gcc/testsuite:
2008-02-28  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/31463
        PR fortran/33950
        PR fortran/34296
        * gfortran.dg/arrayio_11.f90: Fixed test.
        * gfortran.dg/arrayio_12.f90: Likewise.
        * gfortran.dg/module_read_1.f90: Added warning-directives.
        * gfortran.dg/pr32242.f90: Likewise.
        * gfortran.dg/result_in_spec_3.f90: Likewise.
        * gfortran.dg/use_12.f90: Likewise.
        * gfortran.dg/warn_function_without_result.f90 : New test.

From-SVN: r132756
2008-02-28 15:22:55 -05:00
Richard Sandiford 4613543f82 simplify-rtx.c (simplify_unary_operation_1): Extend the handling of SUBREG_PROMOTED_VAR_P to cope with cases where the...
gcc/
	* simplify-rtx.c (simplify_unary_operation_1): Extend the handling
	of SUBREG_PROMOTED_VAR_P to cope with cases where the extended value
	is smaller than the original promoted value.
	(simplify_subreg): If OP is a SUBREG, try to preserve its
	SUBREG_PROMOTED_VAR_P information.

From-SVN: r132755
2008-02-28 20:02:09 +00:00
Francois-Xavier Coudert 43e7fd21ac re PR fortran/34868 (ICE with -ff2c for function returning a complex number)
PR fortran/34868

	* trans-expr.c (gfc_conv_variable): Don't build indirect
	references when explicit interface is mandated.
	* resolve.c (resolve_formal_arglist): Set attr.always_explicit
	on the result symbol as well as the procedure symbol.

	* gfortran.dg/f2c_9.f90: New test.

From-SVN: r132751
2008-02-28 15:42:21 +00:00
Steven Bosscher cbfb21c1c1 tree-ssa-sccvn (vn_ssa_aux_obstack): New obstack.
2008-02-28  Steven Bosscher  <stevenb.gcc@gmail.com>

	* tree-ssa-sccvn (vn_ssa_aux_obstack): New obstack.
	(VN_INFO_GET): Allocate new objects on the obstack.
	(init_scc_vn): Initialize the obstack.  Use XDELETE instead of free
	for rpo_numbers_temp, for consistency.
	(free_scc_vn): Free the obstack.

From-SVN: r132750
2008-02-28 15:39:33 +00:00
Sebastian Pop dea61d9282 invoke.texi: Document -ftree-loop-distribution.
* doc/invoke.texi: Document -ftree-loop-distribution.
	* tree-loop-distribution.c: New.
	* tree-pass.h (pass_loop_distribution): New.
	* graphds.h (struct graph): Add htab_t indices.
	* timevar.def (TV_TREE_LOOP_DISTRIBUTION): New.
	* tree-vectorizer.c (rename_variables_in_loop): Extern.
	(slpeel_tree_duplicate_loop_to_edge_cfg): Init PENDING_STMT to NULL.
	* tree-vectorizer.h (tree_duplicate_loop_on_edge): Declared.
	* tree-data-ref.c (debug_data_dependence_relations): New.
	(dump_data_dependence_relation): Also print data references.
	(free_data_ref): Extern.
	(same_access_functions): Moved...
	(find_vertex_for_stmt): Renamed rdg_vertex_for_stmt.
	(dump_rdg_vertex, debug_rdg_vertex, dump_rdg_component,
	debug_rdg_component, dump_rdg, debug_rdg, dot_rdg_1, dot_rdg,
	struct rdg_vertex_info, rdg_vertex_for_stmt): New.
	(create_rdg_edge_for_ddr, create_rdg_vertices): Cleaned up.
	(stmts_from_loop): Skip LABEL_EXPR.
	(hash_stmt_vertex_info, eq_stmt_vertex_info, hash_stmt_vertex_del): New.
	(build_rdg): Initialize rdg->indices htab.
	(free_rdg, stores_from_loop, ref_base_address,
	rdg_defs_used_in_other_loops_p, have_similar_memory_accesses,
	have_similar_memory_accesses_1, ref_base_address_1,
	remove_similar_memory_refs): New.
	* tree-data-ref.h: Depend on tree-chrec.h.
	(debug_data_dependence_relations, free_data_ref): Declared.
	(same_access_functions): ... here.
	(ddr_is_anti_dependent, ddrs_have_anti_deps, ddr_dependence_level): New.
	(struct rdg_vertex): Add has_mem_write and has_mem_reads.
	(RDGV_HAS_MEM_WRITE, RDGV_HAS_MEM_READS, RDG_STMT,
	RDG_MEM_WRITE_STMT, RDG_MEM_READS_STMT): New.
	(dump_rdg_vertex, debug_rdg_vertex, dump_rdg_component,
	debug_rdg_component, dump_rdg, debug_rdg, dot_rdg,
	rdg_vertex_for_stmt): Declared.
	(struct rdg_edge): Add level.
	(RDGE_LEVEL): New.
	(free_rdg, stores_from_loop, remove_similar_memory_refs,
	rdg_defs_used_in_other_loops_p, have_similar_memory_accesses): Declared.
	(rdg_has_similar_memory_accesses): New.
	* tree-vect-analyze.c: Remove unused static decls.
	* lambda.h (dependence_level): New.
	* common.opt (ftree-loop-distribution): New.
	* tree-flow.h (mark_virtual_ops_in_bb, 
	slpeel_tree_duplicate_loop_to_edge_cfg,
	rename_variables_in_loop): Declared.
	* Makefile.in (TREE_DATA_REF_H): Depend on tree-chrec.h.
	(OBJS-common): Add tree-loop-distribution.o.
	(tree-loop-distribution.o): New rule.
	* tree-cfg.c (mark_virtual_ops_in_bb): New.
	(mark_virtual_ops_in_region): Use mark_virtual_ops_in_bb.
	* passes.c (init_optimization_passes): Schedule pass_loop_distribution.

	* testsuite/gcc.dg/tree-ssa/ldist-{1..12}.c: New.

From-SVN: r132745
2008-02-28 12:37:24 +00:00
Joseph Myers dde75838e9 re PR target/33963 (Dllimport attribute wrongly accepted on typedefs)
PR target/33963
	* tree.c (handle_dll_attribute): Disallow TYPE_DECLs for types
	other than structures and unions.

From-SVN: r132744
2008-02-28 12:34:51 +00:00
Richard Guenther 3b3024215f revert: tree-flow.h (uid_decl_map_hash, [...]): Move ...
2008-02-28  Richard Guenther  <rguenther@suse.de>

        Revert:
        2008-02-26  Richard Guenther  <rguenther@suse.de>

	* tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
	* tree.h (uid_decl_map_hash, uid_decl_map_eq): ... here.
	(lookup_decl_from_uid): Declare.
	(remove_decl_from_map): Likewise.
	* tree-ssa.c (uid_decl_map_eq, uid_decl_map_hash): Move ...
	* tree.c (uid_decl_map_eq, uid_decl_map_hash): ... here.
	(decl_for_uid_map): New global hashtable mapping DECL_UID
	to the decl tree.
	(init_ttree): Allocate it.
	(insert_decl_to_uid_decl_map): New helper function.
	(make_node_stat): Insert new decls into the map.
	(copy_node_stat): Likewise.
	(lookup_decl_from_uid): New function.
	(remove_decl_from_map): Likewise.
	(print_decl_for_uid_map_statistics): New helper.
	(dump_tree_statistics): Call it.

	cp/
	* decl.c (duplicate_decls): Remove decl from global mapping
	before ggc_freeing it.

	* tree-flow.h (struct gimple_df): Make referenced_vars a bitmap.
	(referenced_var_iterator): Adjust.
	(FOR_EACH_REFERENCED_VAR): Adjust.
	(FOR_EACH_REFERENCED_VAR_IN_BITMAP): New iterator.
	(num_referenced_vars): Adjust.
	* tree-flow-inline.h (gimple_referenced_vars): Adjust.
	(first_referenced_var): Remove.
	(end_referenced_vars_p): Likewise.
	(next_referenced_var): Likewise.
	(referenced_var_iterator_set): New helper function.
	* tree-dfa.c (referenced_var_lookup): Adjust.
	(referenced_var_check_and_insert): Likewise.
	(remove_referenced_var): Likewise.
	* tree-ssa.c (verify_flow_insensitive_alias_info): Use
	FOR_EACH_REFERENCED_VAR_IN_BITMAP.
	(verify_call_clobbering): Likewise.
	(verify_memory_partitions): Likewise.
	(init_tree_ssa): Allocate bitmap instead of hashtable for
	referenced_vars.
	(delete_tree_ssa): Adjust.
	* tree-ssa-alias.c (mark_aliases_call_clobbered): Use
	FOR_EACH_REFERENCED_VAR_IN_BITMAP.
	(compute_tag_properties): Likewise.
	(set_initial_properties): Likewise.
	(find_partition_for): Likewise.
	(update_reference_counts): Likewise.
	(dump_may_aliases_for): Likewise.
	* tree-ssa-operands.c (add_virtual_operand): Likewise.
	(add_call_clobber_ops): Likewise.
	(add_call_read_ops): Likewise.
	(get_asm_expr_operands): Likewise.
	* tree-into-ssa.c (dump_decl_set): Likewise.
	(update_ssa): Likewise.
	* tree-sra.c (scan_function): Likewise.
	(decide_instantiations): Likewise.
	(scalarize_parms): Likewise.
	* tree-ssa-alias-warnings.c (build_reference_table): Likewise.
	(dsa_named_for): Likewise.
	* tree-ssa-structalias.c (update_alias_info): Likewise.
	(merge_smts_into): Likewise.

From-SVN: r132740
2008-02-28 09:56:54 +00:00