Commit Graph

92366 Commits

Author SHA1 Message Date
DJ Delorie
e893f6f38e varasm.c (default_function_rodata_section): Don't assume anything about where the first '.' in the section name is.
* varasm.c (default_function_rodata_section): Don't assume
anything about where the first '.' in the section name is.

From-SVN: r145388
2009-04-01 01:26:39 -04:00
Alan Modra
b246d10043 rs6000.c (rs6000_emit_stack_reset): Delete redundant rs6000_emit_stack_tie.
* config/rs6000/rs6000.c (rs6000_emit_stack_reset): Delete redundant
	rs6000_emit_stack_tie.

From-SVN: r145387
2009-04-01 14:39:31 +10:30
Jason Merrill
a70f5987c4 re PR c++/34691 (Default argument checking not performed after overload resolution with C linkage)
PR c++/34691
        * name-lookup.c (pushdecl_maybe_friend): Diagnose mismatched
        extern C declarations.

        * libsupc++/unwind-cxx.h: Correct __cxa_call_terminate prototype.

From-SVN: r145386
2009-03-31 23:34:30 -04:00
Ben Elliston
9daa490df6 * decContext.h: Include gstdint.h instead of <stdint.h>.
From-SVN: r145385
2009-04-01 11:51:55 +11:00
GCC Administrator
0ecca4d11f Daily bump.
From-SVN: r145384
2009-04-01 00:16:56 +00:00
Ian Lance Taylor
d3e37a9e81 tree-eh.c (tree_remove_unreachable_handlers): Compare gimple_code with GIMPLE_RESX, not RESX.
* tree-eh.c (tree_remove_unreachable_handlers): Compare
	gimple_code with GIMPLE_RESX, not RESX.

From-SVN: r145381
2009-04-01 00:03:31 +00:00
Joseph Myers
c1b61fcad3 c-common.c (c_get_ident): New.
* c-common.c (c_get_ident): New.
	(c_common_nodes_and_builtins): Call it for type names that may be
	NULL.

From-SVN: r145380
2009-04-01 00:17:05 +01:00
Ben Elliston
c2d2ad48e2 sysv4.opt (msdata): Improve option description.
* config/rs6000/sysv4.opt (msdata): Improve option description.
--this line, and those below, will be ignored--

M    ChangeLog
M    config/rs6000/sysv4.opt

From-SVN: r145379
2009-04-01 10:14:59 +11:00
H.J. Lu
36e3e6f76e pr33009.c: Removed.
2009-03-31  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.c-torture/compile/pr33009.c: Removed.

From-SVN: r145377
2009-03-31 15:31:42 -07:00
Steve Ellcey
13d1a6e78d ia64.md (divsf3_internal_lat): Remove.
* config/ia64/ia64.md (divsf3_internal_lat): Remove.
	(divdf3_internal_lat): Remove.
	(divxf3_internal_lat): Remove.
	(divxf3_internal_thr): Remove.
	(divxf): Use divxf3_internal.
	* config/ia64/div.md (divsf3_internal_lat): New.
	(divdf3_internal_lat): New.
	(divxf3_internal): New.

From-SVN: r145376
2009-03-31 21:51:34 +00:00
Jason Merrill
51fc2d02c7 C++ DR 613
C++ DR 613
        * semantics.c (finish_non_static_data_member): Allow such references
        without an associated object in sizeof/decltype/alignof.

From-SVN: r145375
2009-03-31 17:50:03 -04:00
Ramana Radhakrishnan
8245239992 common.opt (frtl-abstract-sequences): Delete.
2009-03-31  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	* common.opt (frtl-abstract-sequences): Delete.
	* doc/invoke.texi (Option Summary): Likewise.
	(Optimize Options): Likewise.
	* rtl-factoring.c: Delete file.
	* Makefile.in (OBJS-common): Remove rtl-factoring.o.
	* passes.c (init_optimization_passes): Remove rtl_abstr_seq pass.


2009-03-31  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	* gcc.c-torture/compile/pr33009.c: Delete.
	* gcc.c-torture/compile/pr11832.c: Likewise.

From-SVN: r145374
2009-03-31 21:23:29 +00:00
Joseph Myers
207bf79d7f re PR c/448 (<stdint.h>-related issues (C99 issues))
PR c/448
fixincludes:
	* inclhack.def (newlib_stdint_1, newlib_stdint_2): New fixes.
	* fixincl.x: Regenerate.
	* tests/base/stdint.h: Update.

gcc:
	* Makefile.in (USE_GCC_STDINT): Define.
	(stmp-int-hdrs): Install stdint.h if applicable.
	* c-common.c (CHAR16_TYPE): Define in terms of UINT_LEAST16_TYPE
	if known.
	(CHAR32_TYPE): Define in terms of UINT_LEAST32_TYPE if known.
	(SIG_ATOMIC_TYPE, INT8_TYPE, INT16_TYPE, INT32_TYPE, INT64_TYPE,
	UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE,
	INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
	INT_LEAST64_TYPE, UINT_LEAST8_TYPE, UINT_LEAST16_TYPE,
	UINT_LEAST32_TYPE, UINT_LEAST64_TYPE, INT_FAST8_TYPE,
	INT_FAST16_TYPE, INT_FAST32_TYPE, INT_FAST64_TYPE,
	UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
	UINT_FAST64_TYPE, INTPTR_TYPE, UINTPTR_TYPE): Define.
	(c_common_nodes_and_builtins): Initialize
	underlying_wchar_type_node.  Do not initialize
	signed_wchar_type_node or unsigned_wchar_type_node.  Initialize
	nodes for new types.
	(c_stddef_cpp_builtins): Define macros for new types.
	* c-common.h (CTI_SIGNED_WCHAR_TYPE, CTI_UNSIGNED_WCHAR_TYPE):
	Remove.
	(CTI_UNDERLYING_WCHAR_TYPE, CTI_SIG_ATOMIC_TYPE, CTI_INT8_TYPE,
	CTI_INT16_TYPE, CTI_INT32_TYPE, CTI_INT64_TYPE, CTI_UINT8_TYPE,
	CTI_UINT16_TYPE, CTI_UINT32_TYPE, CTI_UINT64_TYPE,
	CTI_INT_LEAST8_TYPE, CTI_INT_LEAST16_TYPE, CTI_INT_LEAST32_TYPE,
	CTI_INT_LEAST64_TYPE, CTI_UINT_LEAST8_TYPE, CTI_UINT_LEAST16_TYPE,
	CTI_UINT_LEAST32_TYPE, CTI_UINT_LEAST64_TYPE, CTI_INT_FAST8_TYPE,
	CTI_INT_FAST16_TYPE, CTI_INT_FAST32_TYPE, CTI_INT_FAST64_TYPE,
	CTI_UINT_FAST8_TYPE, CTI_UINT_FAST16_TYPE, CTI_UINT_FAST32_TYPE,
	CTI_UINT_FAST64_TYPE, CTI_INTPTR_TYPE, CTI_UINTPTR_TYPE): Define.
	(signed_wchar_type_node, unsigned_wchar_type_node): Remove.
	(underlying_wchar_type_node, sig_atomic_type_node, int8_type_node,
	int16_type_node, int32_type_node, int64_type_node,
	uint8_type_node, uint16_type_node, c_uint32_type_node,
	c_uint64_type_node, int_least8_type_node, int_least16_type_node,
	int_least32_type_node, int_least64_type_node,
	uint_least8_type_node, uint_least16_type_node,
	uint_least32_type_node, uint_least64_type_node,
	int_fast8_type_node, int_fast16_type_node, int_fast32_type_node,
	int_fast64_type_node, uint_fast8_type_node, uint_fast16_type_node,
	uint_fast32_type_node, uint_fast64_type_node, intptr_type_node,
	uintptr_type_node): Define.
	* c-cppbuiltin.c (builtin_define_constants,
	builtin_define_type_minmax): New.
	(builtin_define_stdint_macros): Define more macros.
	(c_cpp_builtins): Define more limit macros.
	(type_suffix): New.
	(builtin_define_type_max): Define in terms of
	builtin_define_type_minmax.  Remove is_long parameter.  All
	callers changed.
	* config.gcc (use_gcc_stdint): Define.
	(tm_file): Add glibc-stdint.h for targets using glibc or uClibc.
	Add newlib-stdint.h for generic targets.
	* config/glibc-stdint.h, config/newlib-stdint.h,
	ginclude/stdint-gcc.h, ginclude/stdint-wrap.h: New.
	* config/m32c/m32c.h (UINTPTR_TYPE): Define.
	* config/score/score.h (UINTPTR_TYPE): Define.
	* config/sol2.h (SIG_ATOMIC_TYPE, INT8_TYPE, INT16_TYPE,
	INT32_TYPE, INT64_TYPE, UINT8_TYPE, UINT16_TYPE, UINT32_TYPE,
	UINT64_TYPE, INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
	INT_LEAST64_TYPE, UINT_LEAST8_TYPE, UINT_LEAST16_TYPE,
	UINT_LEAST32_TYPE, UINT_LEAST64_TYPE, INT_FAST8_TYPE,
	INT_FAST16_TYPE, INT_FAST32_TYPE, INT_FAST64_TYPE,
	UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
	UINT_FAST64_TYPE, INTPTR_TYPE, UINTPTR_TYPE): Define.
	* config/spu/spu.h (STDINT_LONG32): Define.
	* configure.ac (use_gcc_stdint): Substitute.
	* configure: Regenerate.
	* doc/cpp.texi (__SIG_ATOMIC_TYPE__, __INT8_TYPE__,
	__INT16_TYPE__, __INT32_TYPE__, __INT64_TYPE__, __UINT8_TYPE__,
	__UINT16_TYPE__, __UINT32_TYPE__, __UINT64_TYPE__,
	__INT_LEAST8_TYPE__, __INT_LEAST16_TYPE__, __INT_LEAST32_TYPE__,
	__INT_LEAST64_TYPE__, __UINT_LEAST8_TYPE__, __UINT_LEAST16_TYPE__,
	__UINT_LEAST32_TYPE_, __UINT_LEAST64_TYPE__, __INT_FAST8_TYPE__,
	__INT_FAST16_TYPE__, __INT_FAST32_TYPE__, __INT_FAST64_TYPE__,
	__UINT_FAST8_TYPE__, __UINT_FAST16_TYPE__, __UINT_FAST32_TYPE__,
	__UINT_FAST64_TYPE__, __INTPTR_TYPE__, __UINTPTR_TYPE__,
	__WINT_MAX__, __SIZE_MAX__, __PTRDIFF_MAX__, __UINTMAX_MAX__,
	__SIG_ATOMIC_MAX__, __INT8_MAX__, __INT16_MAX__, __INT32_MAX__,
	__INT64_MAX__, __UINT8_MAX__, __UINT16_MAX__, __UINT32_MAX__,
	__UINT64_MAX__, __INT_LEAST8_MAX__, __INT_LEAST16_MAX__,
	__INT_LEAST32_MAX__, __INT_LEAST64_MAX__, __UINT_LEAST8_MAX__,
	__UINT_LEAST16_MAX__, __UINT_LEAST32_MAX__, __UINT_LEAST64_MAX__,
	__INT_FAST8_MAX__, __INT_FAST16_MAX__, __INT_FAST32_MAX__,
	__INT_FAST64_MAX__, __UINT_FAST8_MAX__, __UINT_FAST16_MAX__,
	__UINT_FAST32_MAX__, __UINT_FAST64_MAX__, __INTPTR_MAX__,
	__UINTPTR_MAX__, __WCHAR_MIN__, __WINT_MIN__, __SIG_ATOMIC_MIN__,
	__INT8_C, __INT16_C, __INT32_C, __INT64_C, __UINT8_C, __UINT16_C,
	__UINT32_C, __UINT64_C, __INTMAX_C, __UINTMAX_C): Document.
	* doc/tm.texi (SIG_ATOMIC_TYPE, INT8_TYPE, INT16_TYPE, INT32_TYPE,
	INT64_TYPE, UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE,
	INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
	INT_LEAST64_TYPE, UINT_LEAST8_TYPE, UINT_LEAST16_TYPE,
	UINT_LEAST32_TYPE, UINT_LEAST64_TYPE, INT_FAST8_TYPE,
	INT_FAST16_TYPE, INT_FAST32_TYPE, INT_FAST64_TYPE,
	UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
	UINT_FAST64_TYPE, INTPTR_TYPE, UINTPTR_TYPE): Document.

gcc/testsuite:
	* lib/target-supports.exp (check_effective_target_stdint_types):
	Update comment.
	(check_effective_target_inttypes_types): New.
	* gcc.dg/c99-stdint-1.c, gcc.dg/c99-stdint-2.c,
	gcc.dg/c99-stdint-3.c, gcc.dg/c99-stdint-4.c,
	gcc.dg/c99-stdint-5.c, gcc.dg/c99-stdint-6.c: New tests.

From-SVN: r145372
2009-03-31 21:30:31 +01:00
Paul Thomas
e49be8f7c3 re PR fortran/38917 (Can't use DATA to initialize pointer to array to NULL())
2009-03-31  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/38917
	* expr.c (gfc_check_assign): Allow pointer components when
	checking for NULL.

	PR fortran/38918
	* resolve.c (check_data_variable): Treat pointer arrays with
	scalars.

2009-03-31  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/38917
	PR fortran/38918
	* gfortran.dg/data_pointer_1.f90: New test.

From-SVN: r145371
2009-03-31 20:05:44 +00:00
Paul Thomas
bf0d171aea re PR fortran/38915 (wrong results for structure assignment of character components when left and right sides overlap)
2009-03-31  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/38915
	* trans-expr.c (gfc_trans_assignment_1): Ensure temporaries
	have a string_length.

2009-03-31  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/38915
	* gfortran.dg/char_length_15.f90: New test.

From-SVN: r145370
2009-03-31 20:03:23 +00:00
Jason Merrill
fba1b95f23 ptree.c (cxx_print_decl): Pretty-print full name of function/template.
* ptree.c (cxx_print_decl): Pretty-print full name of
        function/template.
        (cxx_print_type): Pretty-print full name of class.

From-SVN: r145368
2009-03-31 15:13:15 -04:00
Jason Merrill
2553fb66d9 decl.c (grokdeclarator): Reject pointer to qualified function type.
* decl.c (grokdeclarator): Reject pointer to qualified function
        type.

From-SVN: r145367
2009-03-31 15:06:17 -04:00
Jason Merrill
0e183333b2 re PR c++/37806 (CV-qualifiers on function typedef's are inconsistently accepted depending on typedef scope)
PR c++/37806
        * g++.dg/template/typedef17.C: New test.

From-SVN: r145366
2009-03-31 14:37:49 -04:00
Jason Merrill
0d9c089222 re PR c++/37806 (CV-qualifiers on function typedef's are inconsistently accepted depending on typedef scope)
PR c++/37806
        * typeck.c (cp_apply_type_quals_to_decl): Don't apply any quals
        to a typedef.
        * tree.c (cp_build_qualified_type_real): Don't apply restrict to a
        function type.
        * decl.h (enum decl_context): Add TEMPLATE_TYPE_ARG.
        * decl.c (groktypename): Add is_template_arg parameter.
        (grokdeclarator): Allow function cv-quals on a template type arg.
        * parser.c (cp_parser_new_type_id, cp_parser_type_id): Add
        is_template_arg argument in calls to groktypename.
        * cp-tree.h: Adjust prototype.
        * error.c (dump_type_prefix, dump_type_suffix): Fix plain
        FUNCTION_TYPE printing.

        PR libstdc++/39310
        * include/tr1_impl/type_traits (is_function): Add partial
        specializations with function cv-quals.
        (__is_function_helper): Remove.
        (is_member_pointer): Don't define in terms of is_member_*_pointer.

From-SVN: r145365
2009-03-31 14:31:17 -04:00
Jason Merrill
a3c4975267 mangle.c (write_expression): Mangle dependent name as source-name.
* mangle.c (write_expression): Mangle dependent name as
        source-name.

From-SVN: r145364
2009-03-31 12:52:21 -04:00
Eric Botcazou
d236ace7cb system-linux-alpha.ads (Functions_Return_By_DSP): Remove.
* system-linux-alpha.ads (Functions_Return_By_DSP): Remove.
	* system-linux-mips.ads (Functions_Return_By_DSP): Likewise.
	* system-linux-mipsel.ads (Functions_Return_By_DSP): Likewise.
	* system-linux-s390.ads (Functions_Return_By_DSP): Likewise.
	* system-linux-s390x.ads (Functions_Return_By_DSP): Likewise.
	* system-linux-sparc.ads (Functions_Return_By_DSP): Likewise.
	* system-linux-sparcv9.ads (Functions_Return_By_DSP): Likewise.

From-SVN: r145361
2009-03-31 16:17:03 +00:00
Jason Merrill
5094a79562 PR c++/38030, 38850, 39070
PR c++/38030, 38850, 39070
        * pt.c (type_dependent_expression_p_push): New fn.
        (tsubst_copy_and_build) [CALL_EXPR]: Only do arg-dep lookup when the
        substitution makes the call non-dependent.  Preserve koenig_p.
        * parser.c (cp_parser_postfix_expression): Only do arg-dep lookup
        for non-dependent calls.
        * semantics.c (finish_call_expr): Revert earlier changes.
        * cp-tree.h: Revert change to finish_call_expr prototype.

From-SVN: r145360
2009-03-31 11:42:58 -04:00
Bernd Schmidt
60081874a0 loop-iv.c (replace_single_def_regs, [...]): New static functions.
* loop-iv.c (replace_single_def_regs, replace_in_expr): New static
	functions.
	(simplify_using_assignment, simplify_using_initial_values): Call 
	replace_in_expr to make replacements.  Call replace_single_def_regs
	once on the initial version of the expression.

From-SVN: r145357
2009-03-31 15:24:24 +00:00
Bernd Schmidt
b30321cd32 loop-iv.c (simple_rhs_p): Allow more kinds of expressions.
* loop-iv.c (simple_rhs_p): Allow more kinds of expressions.

From-SVN: r145355
2009-03-31 15:22:13 +00:00
Bernd Schmidt
28af33b031 loop-iv.c (determine_max_iter): New arg OLD_NITER.
* loop-iv.c (determine_max_iter): New arg OLD_NITER.  All callers
	changed.  Use this when trying to improve the upper bound.
	Generate the comparison by using simplify_gen_relational.

From-SVN: r145354
2009-03-31 15:21:30 +00:00
Bernd Schmidt
1d1eb80cf6 simplify-rtx.c (simplify_relational_operation_1): Simplify (LTU (PLUS a C) C) or (LTU (PLUS a C) a) to (GEU a -C)...
* simplify-rtx.c (simplify_relational_operation_1): Simplify
	(LTU (PLUS a C) C) or (LTU (PLUS a C) a) to (GEU a -C); likewise with
	GEU/LTU reversed.

From-SVN: r145353
2009-03-31 15:19:33 +00:00
Bernd Schmidt
1569e19062 loop-iv.c (simplify_using_condition): A condition of the form (EQ REG CONST) can be used to simply make a substitution.
* loop-iv.c (simplify_using_condition): A condition of the form
	(EQ REG CONST) can be used to simply make a substitution.
	(simplify_using_initial_values): Keep track of conditions we have seen
	and keep using them to simplify new expressions, while applying the
	same substitutions to them as to the expression.

From-SVN: r145352
2009-03-31 15:16:41 +00:00
Bernd Schmidt
ed853664c5 loop-iv.c (suitable_set_for_replacement): Renamed from simplify_using_assignment...
* loop-iv.c (suitable_set_for_replacement): Renamed from
	simplify_using_assignment; changed to return bool and to accept new
	args DEST and SRC.  Return true iff we find a source/destination pair
	that can be used to make a replacement, and fill SRC and DEST if so.
	Remove arg ALTERED.  Don't deal with altered regs here.  All callers
	changed.
	(simplify_using_initial_values): Deal with altered regs here and track
	more precisely the effect they have on the validity of our expression.

From-SVN: r145351
2009-03-31 15:15:04 +00:00
Ramana Radhakrishnan
bebc6e07b1 Fix documentation for -mthumb
From-SVN: r145347
2009-03-31 14:41:32 +00:00
Richard Guenther
6b12efe971 re PR middle-end/31029 (Fold does not fold C - a == a)
2009-03-31  Richard Guenther  <rguenther@suse.de>

	PR middle-end/31029
	* fold-const.c (fold_binary): Fold X +- Y CMP X to Y CMP 0 for
	equality comparisons.  Fold C - X CMP X if C % 2 == 1.

	* gcc.dg/fold-compare-4.c: New testcase.
	* gcc.dg/fold-compare-5.c: Likewise.

From-SVN: r145345
2009-03-31 14:28:16 +00:00
Richard Guenther
108f6c2f4e tree.h (div_if_zero_remainder): Declare.
2009-03-31  Richard Guenther  <rguenther@suse.de>

	* tree.h (div_if_zero_remainder): Declare.
	* fold-const.c (div_if_zero_remainder): Export.
	* tree-ssa-forwprop.c
	(forward_propagate_addr_into_variable_array_index): Handle
	constant array index addition outside of the variable index.

	* gcc.dg/tree-ssa/forwprop-12.c: New testcase.

From-SVN: r145343
2009-03-31 13:16:36 +00:00
Joseph Myers
8f6121903f re PR target/39592 (Revision 145272 breaks -ansi -msse)
PR target/39592
	* config/i386/i386.md (*floatunssi<mode>2_1, two unnamed
	define_splits, floatunssi<mode>2): Require x87 conversions from
	DImode to be permitted.

testsuite:
	* gcc.target/i386/pr39592-1.c: New test.

From-SVN: r145342
2009-03-31 13:51:02 +01:00
Joseph Myers
47580d22b2 re PR preprocessor/15638 (gcc should have option to treat missing headers as fatal)
PR preprocessor/15638
gcc:
	* c-common.c (c_cpp_error): Handle CPP_DL_FATAL.

gcc/fortran:
	* cpp.c (cb_cpp_error): Handle CPP_DL_FATAL.

gcc/testsuite:
	* gcc.dg/cpp/missing-header-1.c: New test.
	* gcc.dg/cpp/include2.c: Only test #include <>.  Expect
	"compilation terminated" message.
	* gcc.dg/cpp/include2a.c: New test.  Copy of include2.c but only
	test #include "".
	* gcc.dg/pch/counter-2.c, gcc.dg/pch/valid-1.c,
	gcc.dg/pch/valid-2.c, gcc.dg/pch/warn-1.c: Expect "compilation
	terminated" message.

libcpp:
	* files.c (_cpp_find_file): Call open_file_failed after diagnosing
	invalid PCH.
	(open_file_failed): Make error for missing file fatal.
	* include/cpplib.h (CPP_DL_FATAL): Define.

From-SVN: r145341
2009-03-31 13:43:29 +01:00
Richard Guenther
ba4d8f9d37 re PR middle-end/23401 (Gimplifier produces too many temporaries)
2009-03-31  Richard Guenther  <rguenther@suse.de>

	PR middle-end/23401
	PR middle-end/27810
	* tree.h (DECL_GIMPLE_FORMAL_TEMP_P): Remove.
	(struct tree_decl_with_vis): Remove gimple_formal_temp member.
	* tree-eh.c (lower_eh_constructs_2): Move LHS assignment to
	a separate statement.
	* gimplify.c (pop_gimplify_context): Remove formal temp handling.
	(lookup_tmp_var): Likewise.
	(is_gimple_formal_tmp_or_call_rhs): Remove.
	(is_gimple_reg_or_call_rhs): Rename to ...
	(is_gimple_reg_rhs_or_call): ... this.
	(is_gimple_mem_or_call_rhs): Rename to ...
	(is_gimple_mem_rhs_or_call): ... this.
	(internal_get_tmp_var): Use is_gimple_reg_rhs_or_call.  Set
	DECL_GIMPLE_REG_P only if is_formal is true.
	(gimplify_compound_lval): Use is_gimple_reg.  Remove workaround
	for non-proper post-modify expression gimplification.
	(gimplify_self_mod_expr): For post-modify expressions gimplify
	the lvalue to a minimal lvalue.
	(rhs_predicate_for): Remove formal temp case.
	(gimplify_modify_expr_rhs): Likewise.
	(gimplify_addr_expr): Use is_gimple_reg.
	(gimplify_expr): Remove formal temp cases.
	(gimple_regimplify_operands): Likewise.
	* tree-ssa-pre.c (get_or_alloc_expr_for): Treat EXC_PTR_EXPR
	and FILTER_EXPR like constants.
	* gimple.c (walk_gimple_op): Fix val_only initialization, use
	is_gimple_reg.
	(is_gimple_formal_tmp_rhs): Remove.
	(is_gimple_reg_rhs): Remove special casing.
	(is_gimple_mem_rhs): Fix.
	(is_gimple_reg): Move DECL_GIMPLE_REG_P handling earlier.
	(is_gimple_formal_tmp_var): Remove.
	(is_gimple_formal_tmp_reg): Likewise.
	(is_gimple_min_lval): Allow invariant component ref parts.
	* gimple.h (is_gimple_formal_tmp_rhs, is_gimple_formal_tmp_var,
	is_gimple_formal_tmp_reg): Remove declarations.
	* tree-cfg.c (verify_expr): Verify that variables with address
	taken do not have DECL_GIMPLE_REG_P set.
	* tree-mudflap.c (mf_build_check_statement_for): Use
	force_gimple_operand instead of gimplify_expr.

	java/
	* java-gimplify.c (java_gimplify_expr): Do not manually gimplify
	the first operand of binary and comaprison expressions.

	* gcc.dg/tree-ssa/pr23401.c: New testcase.
	* gcc.dg/tree-ssa/pr27810.c: Likewise.

From-SVN: r145338
2009-03-31 10:23:44 +00:00
Ayal Zaks
8de9b877e7 SMS - Pass the actual schedulable rows to compute_split_row
From-SVN: r145333
2009-03-31 06:19:06 +00:00
Ben Elliston
b5e3caf232 re PR target/31635 (-mno-vrsave ignored on ppc64)
PR target/31635
	* config/rs6000/rs6000.c (rs6000_handle_option): Handle
	OPT_mvrsave.

From-SVN: r145332
2009-03-31 16:25:08 +11:00
Steven G. Kargl
3759634f32 alloc_alloc_expr_1.f90: Adjust for new error message.
2008-12-10  Steven G. Kargl  <kargls@comcast.net>

	* gfortran.dg/alloc_alloc_expr_1.f90: Adjust for new error message.
	* gfortran.dg/allocate_alloc_opt_1.f90: New test.
	* gfortran.dg/allocate_alloc_opt_2.f90: Ditto.
	* gfortran.dg/allocate_alloc_opt_3.f90: Ditto.
	* gfortran.dg/deallocate_alloc_opt_1.f90: Ditto.
	* gfortran.dg/deallocate_alloc_opt_2.f90: Ditto.
	* gfortran.dg/deallocate_alloc_opt_3.f90: Ditto.


2008-12-10  Steven G. Kargl  <kargls@comcast.net>

	* trans-stmt.c(gfc_trans_allocate): Add translation of ERRMSG.
	(gfc_trans_deallocate): Add translation of ERRMSG.  Remove stale
	comments.  Minor whitespace cleanup.
	* resolve.c(is_scalar_expr_ptr): Whitespace cleanup.
	(resolve_deallocate_expr (gfc_expr *e): Update error message.
	(resolve_allocate_expr):  Remove dead code.  Update error message.
	Move error checking to ...
	(resolve_allocate_deallocate): ... here.  Add additional error
	checking for STAT, ERRMSG, and allocate-objects.
	* match.c(gfc_match_allocate,gfc_match_deallocate):  Parse ERRMSG.
	Check for redundant uses of STAT and ERRMSG.  Reword error message
	and add checking for pointer, allocatable, and proc_pointer attributes.

From-SVN: r145331
2009-03-31 04:38:12 +00:00
Alan Modra
9752c4ad24 * doc/invoke.texi (RS/6000 and PowerPC Options):Document mtls-markers.
* configure.ac (HAVE_AS_TLS_MARKERS): New gas feature check.
	* configure: Regenerate.
	* config.in: Regenerate.
	* config/rs6000/rs6000.opt (mtls-markers): Add.
	* config/rs6000/rs6000.h (TARGET_TLS_MARKERS): Define.
	* config/rs6000/rs6000.md (tls_gd_aix, tls_gd_sysv): Add splitter.
	(tls_ld_aix, tls_ld_sysv): Likewise.
	(tls_gd, tls_gd_call_aix, tls_gd_call_sysv): New insns.
	(tls_ld, tls_ld_call_aix, tls_ld_call_sysv): Likewise.

From-SVN: r145330
2009-03-31 13:41:34 +10:30
Ben Elliston
89da36ae12 re PR libmudflap/38462 (test libmudflap.c/fail27-frag.c fails output pattern test for ppc64)
PR libmudflap/38462
	* testsuite/libmudflap.c/fail27-frag.c: Match `mudflap dead
	object', not `mudflap object'.

From-SVN: r145328
2009-03-31 12:56:52 +11:00
Alan Modra
b597d1b66a spu.c (spu_expand_prologue): Delete redundant code.
* config/spu/spu.c (spu_expand_prologue): Delete redundant code.

From-SVN: r145327
2009-03-31 12:11:03 +10:30
GCC Administrator
f2e2ecda15 Daily bump.
From-SVN: r145326
2009-03-31 00:17:23 +00:00
Jan Hubicka
a203a2215b tree-eh.c (make_eh_edges): Set probability 100% to first edge out of RESX.
* tree-eh.c (make_eh_edges): Set probability 100% to first edge out of RESX.
	(tree_remove_unreachable_handlers): Cleanup EH predecestor detection and label
	handling.

From-SVN: r145322
2009-03-30 22:35:22 +00:00
Ian Lance Taylor
7db6438d78 hashtable.h (clear): Return quickly if the table is empty.
* include/backward/hashtable.h (clear): Return quickly if the
	table is empty.

From-SVN: r145318
2009-03-30 21:45:51 +00:00
Sergiy Vyshnevetskiy
5a2df0fa12 re PR preprocessor/31932 (cpp -f*-charset and gcj --encoding accept no values except UTF-8)
2009-03-30  Sergiy Vyshnevetskiy  <serg@vostok.net>

	PR preprocessor/31932:
	* internal.h: Don't mention HAVE_ICONV_H.
	* configure, config.in: Rebuild.
	* configure.ac: Don't check for iconv.h.

From-SVN: r145316
2009-03-30 20:54:18 +00:00
Paul Thomas
71a7778cd9 re PR fortran/22571 (Reject derived types for dummy arguments declared in the subroutine unless they are SEQUENCE)
2009-03-30  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/22571
	PR fortran/26227
	PR fortran/24886
	* symbol.c : Add gfc_global_ns_list.
	* decl.c (add_global_entry): Set the namespace ('ns') field.
	* gfortran.h : Add the resolved field to gfc_namespace. Add the
	namespace ('ns') field to gfc_gsymbol.  Add flag_whole_file to
	gfc_option_t.  Add the prototype for gfc_free_dt_list.
	* lang.opt : Add the whole-file option.
	* invoke.texi : Document the whole-file option.
	* resolve.c (resolve_global_procedure): If the fwhole-file
	option is set, reorder gsymbols to ensure that translation is
	in the right order.  Resolve the gsymbol's namespace if that
	has not occurred and then check interfaces.
	(resolve_function): Move call to resolve_global_procedure.
	(resolve_call): The same.
	(resolve_codes): Store the current labels_obstack.
	(gfc_resolve) : Return if the namespace is already resolved.
	trans-decl.c (gfc_get_extern_function_decl): If the whole_file
	option is selected, use the backend_decl of a gsymbol, if it is
	available.
	parse.c (add_global_procedure, add_global_program): If the flag
	whole-file is set, add the namespace to the gsymbol.
	(gfc_parse_file): On -fwhole-file, put procedure namespaces on
	the global namespace list.  Rearrange to do resolution of all
	the procedures in a file, followed by their translation.
	* options.c (gfc_init_options): Add -fwhole-file.
	(gfc_handle_option): The same.

2009-03-30  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/22571
	* gfortran.dg/whole_file_1.f90: New test.
	PR fortran/26227
	* gfortran.dg/whole_file_2.f90: New test.
	* gfortran.dg/whole_file_3.f90: New test.
	PR fortran/24886
	* gfortran.dg/whole_file_4.f90: New test.

From-SVN: r145314
2009-03-30 19:35:14 +00:00
Vladimir Makarov
5b0c0b2c05 ira-int.h (ira_allocno): Rename left_conflicts_num to left_conflicts_size.
2009-03-30  Vladimir Makarov  <vmakarov@redhat.com>

	* ira-int.h (ira_allocno): Rename left_conflicts_num to
	left_conflicts_size.
	(ALLOCNO_LEFT_CONFLICTS_NUM): Rename to
	ALLOCNO_LEFT_CONFLICTS_SIZE.

	* ira-color.c (allocno_spill_priority, push_allocno_to_stack,
	remove_allocno_from_bucket_and_push,
	allocno_spill_priority_compare, push_allocnos_to_stack,
	setup_allocno_available_regs_num): Use ALLOCNO_LEFT_CONFLICTS_SIZE
	instead of ALLOCNO_LEFT_CONFLICTS_NUM.
	(setup_allocno_left_conflicts_num): Ditto.  Rename to
	setup_allocno_left_conflicts_size.
	(put_allocno_into_bucket): Use ALLOCNO_LEFT_CONFLICTS_SIZE
	instead of ALLOCNO_LEFT_CONFLICTS_NUM and
	setup_allocno_left_conflicts_size instead of
	setup_allocno_left_conflicts_num.

	* ira-build.c (ira_create_allocno): Use
	ALLOCNO_LEFT_CONFLICTS_SIZE instead of
	ALLOCNO_LEFT_CONFLICTS_NUM.

From-SVN: r145312
2009-03-30 18:51:25 +00:00
Vladimir Makarov
9a48a93f5f reload.c (push_reload, [...]): Use df_get_live_out instead of DF_LR_OUT.
2009-03-30  Vladimir Makarov  <vmakarov@redhat.com>

	* reload.c (push_reload, find_dummy_reload): Use df_get_live_out
	instead of DF_LR_OUT.

	* ira-lives.c (process_bb_node_lives): Ditto.

	* ira-color.c (ira_loop_edge_freq): Use df_get_live_{out,in}
	instead of DF_LR_{OUT,IN}.

	* ira-emit.c (generate_edge_moves, add_ranges_and_copies): Ditto.

	* ira-build.c (create_bb_allocnos, create_loop_allocnos): Ditto.

From-SVN: r145309
2009-03-30 17:59:21 +00:00
Ulrich Weigand
f6d534688d f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_HUGE_VAL family of intrinsics instead of BUILT_IN_INF family.
* f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_HUGE_VAL
	family of intrinsics instead of BUILT_IN_INF family.
	* trans-intrinsics.c (gfc_conv_intrinsic_nearest): Use
	BUILT_IN_HUGE_VAL instead of BUILT_IN_INF.

From-SVN: r145307
2009-03-30 17:37:02 +00:00
Jan Hubicka
4c936d4f4c * except.c (label_to_region_map): Fix thinko.
From-SVN: r145304
2009-03-30 16:49:52 +00:00
Steve Ellcey
f4d9f129fe re PR middle-end/38237 (multiple weak directives)
PR middle-end/38237
	* tree.h (tree_find_value): New declaration.
	* tree.c (tree_find_value): New function.
	* varasm.c (assemble_external): Avoid duplicate entries on lists.

From-SVN: r145303
2009-03-30 16:43:40 +00:00