Commit Graph

80943 Commits

Author SHA1 Message Date
Paolo Carlini
32c8d4b145 c_locale.h: Do not include <cstdarg>, use builtins.
2007-05-21  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/gnu/c_locale.h: Do not include <cstdarg>, use builtins.
	* config/locale/generic/c_locale.h: Likewise.

From-SVN: r124907
2007-05-21 19:22:35 +00:00
James Lemke
9777397727 Update my e-mail address for new employer.
From-SVN: r124906
2007-05-21 19:02:09 +00:00
Uros Bizjak
32fe15ec71 tmmintrin.h (_mm_alignr_epi8): Provide macro implementation if __OPTIMIZE__ is not defined.
* config/i386/tmmintrin.h (_mm_alignr_epi8): Provide macro
	implementation if __OPTIMIZE__ is not defined.
	(_mm_alignr_pi8): Ditto.
	* config/i386/ammintrin.h (_mm_extracti_si64): Ditto.
	(_mm_inserti_si64): Ditto.
	* config/i386/emmintrin.h (_mm_shuffle_pd): Ditto.
	(_mm_slli_epi16): Ditto.
        (_mm_slli_epi32): Ditto.
        (_mm_slli_epi64): Ditto.
	(_mm_srai_epi16): Ditto.
	(_mm_srai_epi32): Ditto.
	(_mm_srli_si128): Ditto.
	(_mm_slli_si128): Ditto.
	(_mm_srli_epi16): Ditto.
        (_mm_srli_epi32): Ditto.
        (_mm_srli_epi64): Ditto.
	(_mm_extract_epi16): Ditto.
	(_mm_insert_epi16): Ditto.
	(_mm_shufflehi_epi16): Ditto.
	(_mm_shufflelo_epi16): Ditto.
	(_mm_shuffle_epi32): Ditto.
        * config/i386/xmmintrin.h (_mm_extract_pi16): Ditto.
        (_m_pextrw): Ditto.
        (_mm_insert_pi16): Ditto.
        (_m_pinsrw): Ditto.
        (_mm_shuffle_pi16): Ditto.
        (_m_pshufw): Ditto.
        (_mm_shufle_ps): Ditto.
        (_mm_prefetch): Ditto.

testsuite/ChangeLog:

	* gcc.target/i386/sse-14.c: Remove all intrinsic redefines.
	* gcc.target/i386/sse-12: Add -O to compile options.
	* g++.dg/other/i386-2.C: Use "-march=k8 -m3dnow -mssse3
	-msse4a" instead of "-msse3".  Include only ammintrin.h, tmmintrin.h
	and mm3dnow.h.  Add -O to compile options.

From-SVN: r124904
2007-05-21 17:40:01 +02:00
Paul Thomas
c4ba884897 re PR fortran/31867 ([4.2 only] function result with character LEN computed at run time)
2007-05-21  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/31867
	PR fortran/31994
	* trans-array.c (gfc_conv_expr_descriptor): Obtain the stored
	offset for non-descriptor, source arrays and correct for stride
	not equal to one before writing to field of output descriptor.

2007-05-21  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/31867
	* gfortran.dg/char_length_5.f90: New test.

	PR fortran/31994
	* gfortran.dg/array_reference_1.f90: New test.

From-SVN: r124903
2007-05-21 13:16:06 +00:00
Andreas Krebbel
4d8a8a0a22 defaults.h (IBM_FLOAT_FORMAT): Macro definition removed.
2007-05-21  Andreas Krebbel  <krebbel1@de.ibm.com>

	* defaults.h (IBM_FLOAT_FORMAT): Macro definition removed.
	* doc/tm.texi (IBM_FLOAT_FORMAT): Documentation entry removed.
	* real.c (encode_i370_single, decode_i370_single,
	encode_i370_double, decode_i370_double): Functions removed.
	(i370_single_format, i370_double_format): Initializations removed.
	(real_maxval, round_for_format, exact_real_truncate, significand_size):
	Consider the log2_b field to always be one.
	(ieee_single_format, mips_single_format, coldfire_single_format,
	ieee_double_format, mips_double_format,	coldfire_double_format,
	ieee_extended_motorola_format, ieee_extended_intel_96_format,
	ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format,
	ibm_extended_format, mips_extended_format, ieee_quad_format,
	mips_quad_format, vax_f_format, vax_d_format, vax_g_format,
	decimal_single_format, decimal_double_format, decimal_quad_format,
	c4x_single_format, c4x_extended_format, real_internal_format): Remove
	initialization of log2_b.
	* real.h (i370_single_format, i370_double_format): Declarations removed.
	* c-cppbuiltin.c (builtin_define_float_constants): Consider the log2_b
	field to always be one.

From-SVN: r124901
2007-05-21 12:53:08 +00:00
Andreas Schwab
740aeb384d ia64.c (emit_predicate_relation_info): Fix use of NOTE_INSN_BASIC_BLOCK_P.
* config/ia64/ia64.c (emit_predicate_relation_info): Fix use of
	NOTE_INSN_BASIC_BLOCK_P.
	(process_for_unwind_directive): Likewise.

From-SVN: r124899
2007-05-21 11:29:35 +00:00
Nathan Sidwell
ecaebb9e0b builtins.c (expand_builtin_setjmp_setup): Update comment.
* builtins.c (expand_builtin_setjmp_setup): Update comment.
	* function.h (struct function): Move va_list_gpr_size,
	va_list_fpr_size, function_frequency to front of bitfields.  Add
	calls_unwind_init.
	(current_function_calls_unwind_init): New.
	* except.c (expand_builtin_unwind_init): Set
	current_function_calls_unwind_init not
	current_function_has_nonlocal_label.
	* reload1.c (has_nonexceptional_receiver): New.
	(reload): Use it and current_function_calls_unwind_init to
	determine whether call-saved regs must be saved.

From-SVN: r124898
2007-05-21 10:58:29 +00:00
Paolo Carlini
2a0ab51c79 re PR libstdc++/31621 (libstdc++ uses -xc++ which can cause exceptions to show up which causes __gxx_personality_v0 to be referenced)
2007-05-21  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/31621
	* acinclude.m4 ([GLIBCXX_CHECK_LINKER_FEATURES]): Use the C compiler.
	* configure: Regenerate.

From-SVN: r124896
2007-05-21 10:25:52 +00:00
Jan Hubicka
a38e7aa544 gengtype.c (adjust_field_rtx_def): Use NOTE_KIND instead of NOTE_LINE_NUMBER...
* gengtype.c (adjust_field_rtx_def): Use NOTE_KIND instead of
	NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible.
	* ddg.c (create_ddg): LIkewise.
	* final.c (final): Remove hunk moving line numbernotes around since
	they are no longer present at this stage.
	(final_scan_insn): Use NOTE_KIND instead of
	NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible.
	(output_asm_label): Likewise.
	* reorg.c (dbr_schedule): Likewise.
	* haifa-sched.c (unlink_other_notes): Likewise.
	* mode-switching.c (optimize_mode_switching): Likewise.
	* graph.c (start_bb): Likewise.
	* rtl.def (NOTE): Update description.
	* jump.c (squeeze_notes): Delete.
	(mark_jump_label): Use NOTE_KIND instead of NOTE_LINE_NUMBER; use
	NOTE_INSN_BASIC_BLOCK_P when possible.
	* ifcvt.c (dead_or_predicable): Remove call of squeeze_notes.
	* dwarf2out.c (gen_label_die): Use NOTE_KIND instead of
        NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible.
	(dwarf2out_var_location): Likewise.
	* cfgbuild.c (make_edges): Likewise.
	(find_basic_blocks_1): Likewise.
	* function.c (reorder_blocks_1): Likewise.
	(epilogue_done): Likewise.
	(reposition_prologue_and_epilogue_notes): Likewise.
	* print-rtl.c (print_rtx): Likewise; drop code for printing line number
	notes.
	(print_rtl): Likewise.
	(print_rtl_single): Likewise.
	* gcse.c (insert_insn_start_bb): Likewise.
	* alias.c (init_alias_analysis): Likewise.
	* calls.c (fixup_tail_calls): Likewise.
	* except.c (sjlj_emit_function_enter): Likewise.
	* emit-rtl.c (add_insn_after): Likeiwse.
	(emit_label_before): Likewise.
	(emit_label_after): Likewise.
	(emit_note_before, emit_note_after, emit_note): Update
	parameter to be enum insn_note; do not deal with source
	files.
	* cfgcleanup.c (merge_blocks_move_predecessor_nojumps):
	Use NOTE_KIND instead of NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P
	when possible.
	(merge_blocks_move_successor_nojumps): Simplify now when
	we don't have BLOCK notes.
	(try_optimize_cfg): Likewise.
	* cfglayout.c (skip_insns_after_block): Likewise.
	(record_effective_endpoints): Likewise.
	(duplicate_insn_chain): Likewise.
	* varasm.c (output_constant_pool_1): Likewise.
	* sched-deps.c (sched_analyze): Likewise.
	* rtl.c (NOTE_INSN_MAX_isnt_negative_adjust_NOTE_INSN_BIAS):
	Exterminate.
	(note_insn_name): Simplify now when NOTE_INSN_BIAS is gone.
	* rtl.h (NOTE_SOURCE_LOCATION, NOTE_EXPANDED_LOCATION): Exterminate.
	(SET_INSN_DELETED): Simplify.
	(NOTE_LINE_NUMBER): Exterminate.
	(NOTE_LINE_KIND): New.
	(NOTE_INSN_BASIC_BLOCK_P): Update.
	(enum insn_note): Simplify.
	(GET_NOTE_INSN_NAME) Simplify.
	(emit_note_before, emit_note_after, emit_note): Update prototype.
	(squeeze_notes): Remove.
	* sched-int.h (NOTE_NOT_BB_P): Update.
	* resource.c (mark_target_live_regs): Update.
	* sched-rgn.c (debug_dependencies): Update.
	* sched-vis.c (print_insn): Update.
	* config/alpha/alpha.c (alpha_handle_trap_shadows): Update.
	* config/i386/i386.c (ix86_output_function_epilogue): Update.
	* config/sh/sh.c (sh_adjust_unroll_max): Function dead since gcc 4.0.0.
	(TARGET_ADJUST_UNROLL_MAX): Likewise.
	(split_branches): Update.
	(sh_optimize_target_register_callee_saved): Remove hunk dead since gcc
	4.0.0.
	(sh_adjust_unroll_max): Exterminate.
	* config/c4x/c4x.c (c4x_reorg): Use SET_INSN_DELETED.
	* config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Likewise.
	(m68hc11_reorg): Likewise.
	* config/ia64/ia64.c (emit_insn_group_barriers): Update.
	(emit_predicate_relation_info): Update.
	(process_for_unwind_directive): Update.
	* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Update.
	(output_call): Update.
	* config/pa/pa.c (output_lbranch): Update.
	(output_millicode_call): Update.
	(output_call): Update.
	(pa_combine_instructions): Update.
	* config/mips/mips.c (mips16_gp_pseudo_reg): Update.
	* config/bfin/bfin.c (gen_one_bundle): Update.
	* cfgrtl.c (can_delete_note_p): Update.
	(delete_insn): Update.
	(rtl_merge_blocks): Update.
	(commit_one_edge_insertion): Update.
	(rtl_verify_flow_info): Update.
	* stmt.c (expand_case): Do not call squeeze_notes.

From-SVN: r124895
2007-05-21 06:19:50 +00:00
GCC Administrator
631abdb20f Daily bump.
From-SVN: r124890
2007-05-21 00:18:43 +00:00
Manuel López-Ibáñez
aac8bf8060 Changelog: Fix wrong year.
* gcc/Changelog: Fix wrong year.
        * gcc/testsuite/Changelog: Likewise.

From-SVN: r124877
2007-05-20 20:56:52 +00:00
Manuel López-Ibáñez
f6aa72dd49 re PR middle-end/7651 (Define -Wextra strictly in terms of other warning flags)
2007-05-20  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
	
	PR middle-end/7651
	PR c++/11856
	PR c/12963
	PR c/23587
	PR other/29694
	* c.opt (Wtype-limits): New.
	* doc/invoke.texi (Wtype-limits): Document it.
	(Wextra): Enabled by -Wextra.
	* c-opts.c (c_common_post_options): Enabled by -Wextra.
	* c-common.c (shorten_compare): Warn with Wtype-limits.

testsuite/
	* gcc.dg/compare6.c: Replace Wall with Wtype-limits.
	* gcc.dg/Wtype-limits.c: New.
	* gcc.dg/Wtype-limits-Wextra.c: New.
	* gcc.dg/Wtype-limits-no.c: New.
	* g++.dg/warn/Wtype-limits.C: New.
	* g++.dg/warn/Wtype-limits-Wextra.C: New.
	* g++.dg/warn/Wtype-limits-no.C: New.

From-SVN: r124875
2007-05-20 20:29:55 +00:00
Paolo Carlini
da5a2efd39 stl_algo.h: Shuffle the functions to better match the order in the standard.
2007-05-20  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algo.h: Shuffle the functions to better match the
	order in the standard.

From-SVN: r124874
2007-05-20 17:48:36 +00:00
Uros Bizjak
46fb8f6ba3 tmmintrin.h (_mm_alignr_epi32): Implement as always inlined function, not as a macro.
* config/i386/tmmintrin.h (_mm_alignr_epi32): Implement as always
        inlined function, not as a macro.
        (_mm_alignr_pi8): Ditto.
        * config/i386/ammintrin.h (_mm_extracti_si64): Ditto.
        (_mm_inserti_si64): Ditto.
        * config/i386/emmintrin.h (_mm_shuffle_pd): Ditto.
        (_mm_extract_epi16): Ditto.
        (_mm_insert_epi16): Ditto.
        (_mm_shufflehi_epi16): Ditto.
        (_mm_shufflelo_epi16): Ditto.
        (_mm_shuffle_epi32): Ditto.
        * config/i386/xmmintrin.h (_mm_set_ss): Use 0.0f for float constant.
        * config/386/mm3dnow.h: Add __attribute__((__always_inline__)) to
        all functions.
        (_m_from_float): Add __extension__ to conversion.  Use 0.0f for
        float constant.
        (_m_to_float): Use C89 compatible assignment.

testsuite/ChangeLog:

        * gcc.target/i386/sse-vect-types.c: Revert 'Use "-msse"
        instead of "-msse2".'
        * gcc.target/i386/sse-12.c: Use "-march=k8 -m3dnow -mssse3 -msse4a"
        instead of "-msse3".  Include only ammintrin.h, tmmintrin.h
        and mm3dnow.h.
        * gcc.target/i386/sse-13.c (__builtin_ia32_extrqi): Redefine
        to test with immediate operand.
        (__builtin_ia32_insertqi): Ditto.
        (__builtin_ia32_palignr128): Ditto.
        (__builtin_ia32_palignr): Ditto.
        (__builtin_ia32_pshufhw): Ditto.
        (__builtin_ia32_pshuflw): Ditto.
        (__builtin_ia32_pshufd): Ditto.
        (__builtin_ia32_vec_set_v8hi): Ditto.
        (__builtin_ia32_vec_ext_v8hi): Ditto.
        (__builtin_ia32_shufpd): Ditto.
        * gcc.target/i386/sse-14.c: Same changes as sse-13.c.

From-SVN: r124873
2007-05-20 15:41:13 +02:00
Martin Michlmayr
dde27bba7d re PR target/32007 (bootstrap broken on ARM v3)
2007-04-20  Martin Michlmayr  <tbm@cyrius.com>

	PR target/32007
	* config/arm/lib1funcs.asm: Define __ARM_ARCH__ on v2/v3 machines.

From-SVN: r124871
2007-05-20 11:18:27 +00:00
Andreas Tobler
536307155b configure.ac: Introduce extra_ldflags_libgc.
2007-05-20  Andreas Tobler  <a.tobler@schweiz.org>

	* configure.ac: Introduce extra_ldflags_libgc. Use it for Darwin.
	* configure: Regenerate.
	* Makefile.am (libgc_la_LDFLAGS): Use extra_ldflags_libgc.
	* Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* include/private/gcconfig.h: Enable MPROTECT_VDB for all Darwin
	targets. Remove comments. Prepare ppc64 support for Darwin.

From-SVN: r124870
2007-05-20 12:34:05 +02:00
Daniel Franke
6495bc0b8d re PR fortran/32001 (MAX intrinsic with large number of arguments)
gcc/fortran:
2007-05-20  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/32001
        * check.c (check_rest): Improved argument conformance check and
        fixed error message generation.


gcc/testsuite:
2007-05-20  Daniel Franke  <franke.daniel@gmail.org>

	PR fortran/32001
	* gfortran.dg/min_max_conformance.f90: Added more testcases.

From-SVN: r124869
2007-05-20 06:22:15 -04:00
Uros Bizjak
643827b29b re PR target/31585 (gcc.target/i386/sse-vect-types.c FAILs (also sse-13.c and sse-14.c))
PR target/31585
        * gcc.target/i386/sse-vect-types.c: Do not redefine "static"
        and "__inline".  Use "-msse" instead of "-msse2".

From-SVN: r124868
2007-05-20 11:54:23 +02:00
Manuel López-Ibáñez
ffd5f27613 re PR middle-end/7651 (Define -Wextra strictly in terms of other warning flags)
2006-05-20  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR middle-end/7651
	* doc/invoke.texi (Wreturn-type): Complete description.
	(Wextra): Delete item about return-type warning.
	* c-decl.c: Delete redundant Wextra warning.

testsuite/
	* gcc.dg/20030906-1.c: Replace Wextra with Wreturn-type.
	* gcc.dg/20030906-2.c: Likewise.
	* objc.dg/method-17.m: Add -Wreturn-type.
	* obj-c++.dg/method-21.mm: Likewise.

From-SVN: r124866
2007-05-20 00:45:58 +00:00
GCC Administrator
05ce201275 Daily bump.
From-SVN: r124864
2007-05-20 00:18:55 +00:00
Uros Bizjak
376a4c0534 re PR target/31585 (gcc.target/i386/sse-vect-types.c FAILs (also sse-13.c and sse-14.c))
PR target/31585
        * config/i386/pmmintrin.h: Do not include xmmintrin.h
        * config/i386/xmmintrin.h (_mm_extract_pi16): Implement as always
        inlined function, not as a macro.
        (_mm_prefetch): Ditto.
        (_m_pextrw): Ditto.
        (_mm_insert_pi16): Ditto.
        (_m_pinsrw): Ditto.
        (_mm_shuffle_pi16): Ditto.  Add const to __N argument.
        (_m_pshufw): Ditto. Add const to __N argument.
        (_mm_shufle_ps): Ditto.  Add const to __mask argument.
        * config/i386/emmintrin.h (_mm_slli_epi16): Add const to __B argument.
        (_mm_slli_epi32): Ditto.
        (_mm_srli_si128): Implement as always inlined function, not as a macro.
        Add __inline to function declaration.
        (_mm_slli_si128): Ditto.

testsuite/ChangeLog:

        PR target/31585
        * gcc.target/i386/sse-13.c: Use -mssse3 and -msse4a compile options.
        (__builtin_ia32_psllwi128): Redefine to test with immediate operand.
        (__builtin_ia32_psrlqi128): Ditto.
        (__builtin_ia32_psrlwi128): Ditto.
        (__builtin_ia32_psrldi128): Ditto.
        (__builtin_ia32_psrldqi128): Ditto.
        (__builtin_ia32_pslldqi128): Ditto.
        (__builtin_ia32_psrawi128): Ditto.
        (__builtin_ia32_psradi128): Ditto.
        (__builtin_ia32_psllqi128): Ditto.
        (__builtin_ia32_pslldi128): Ditto.
        (__builtin_prefetch): Ditto.
        (__builtin_ia32_pshufw): Ditto.
        (__builtin_ia32_vec_set_v4hi): Ditto.
        (__builtin_ia32_vec_ext_v4hi): Ditto.
        (__builtin_ia32_shufps): Ditto.
        * gcc.target/i386/sse-14.c: Same changes as sse-13.c.

From-SVN: r124861
2007-05-20 01:27:48 +02:00
Andreas Tobler
dbca09c29d re PR libgcj/31659 (config-int.h:327:1: error: "INT8_MIN" redefined)
2007-05-19  Andreas Tobler  <a.tobler@schweiz.org>

	PR libgcj/31659
	* m4/ax_create_stdint_h.m4: Apply patch from PR31659.
	* configure: Regenerate.

From-SVN: r124860
2007-05-19 22:44:43 +02:00
Francois-Xavier Coudert
4e7cb428e9 re PR fortran/30820 (-Wno-error not necessary in Make-lang.in any more?)
PR fortran/30820
	* Make-lang.in: Remove use of -Wno-error for expr.o, resolve.o,
	simplify.o and trans-common.o.

From-SVN: r124859
2007-05-19 20:33:45 +00:00
Francois-Xavier Coudert
61f70bf208 re PR fortran/31974 ([4.2]: array allocation multiplication of mismatched types)
PR fortran/31974

	* trans-array.c (gfc_trans_auto_array_allocation): Avoid
	multiplication of mismatched types.

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

From-SVN: r124858
2007-05-19 19:51:21 +00:00
Uros Bizjak
e9d416168f sfp-machine.h (FP_EX_INVALID, [...]): New constants.
* config/i386/sfp-machine.h (FP_EX_INVALID, FP_EX_DENORM,
        FP_EXP_DIVZERO, FP_EX_OVERFLOW, FP_EX_UNDERFLOW, FP_EX_INEXACT):
        New constants.
        (struct fenv): New structure.
        (FP_HANDLE_EXCEPTIONS): New define.
        (FP_RND_NEAREST, FP_RND_ZERO, FP_RND_PINF, FP_RND_MINF): New constants.
        (_FP_DECL_EXP): New define.
        (FP_INIT_ROUNDMODE): New define.
        (FP_ROUNDMODE): New define.

From-SVN: r124857
2007-05-19 21:19:08 +02:00
Manuel López-Ibáñez
7060db96db invoke.texi (Warning Options): Add -Wconversion-sign.
2007-05-19  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	* doc/invoke.texi (Warning Options): Add -Wconversion-sign.
	(Wconversion): Update description.
	(Wconversion-sign): New.
	* c.opt (Wconversion-sign): New.
	* c-opts.c (c_common_post_options): Uninitialized Wconversion-sign
	means disabled for C++. Otherwise, take the status of Wconversion.
	* c-common.c (conversion_warning): Warn with either Wconversion or
	Wconversion-sign.
	(warnings_for_convert_and_check): Conditions are already checked by
	conversion_warning.
	(convert_and_check): Don't check warnings if the conversion failed.

cp/
	* cvt.c (cp_convert_and_check): Don't check warnings if the
	conversion failed.

testsuite/
	* gcc.dg/Wconversion-integer.c: Group testcases and add more.
	* gcc.dg/Wconversion-sign.c: New.
	* gcc.dg/Wconversion-integer-no-sign.c: New.
	* g++.dg/warn/Wconversion-integer.C: Move some warnings to
	Wconversion-sign.C
	* g++.dg/warn/Wconversion-sign.C: New.
	* g++.old-deja/g++.other/warn4.C: Update.
	* g++.dg/warn/Wconversion1.C: Likewise.

From-SVN: r124856
2007-05-19 13:32:03 +00:00
Andy Hutchinson
4fc2b4ff18 avr-protos.h (expand_prologue, [...]): Add declaration.
* config/avr/avr-protos.h (expand_prologue, expand_epilogue, 
	avr_epilogue_uses) : Add declaration.
	* config/avr/predicates.md (avr_sp_immediate_operand): New predicate.
	* config/avr/constraints.md (R): New constraint.
	config/avr/avr.md (SREG_ADDR,  UNSPEC_SEI, UNSPEC_CLI, 
	UNSPECV_PROLOGUE_SAVES, UNSPECV_EPILOGUE_RESTORES): New constants.
	(*pop1, *pop2, *pop3, *pop4, *pop5): Combine into ...
	(*addhi3_sp_R_pc2, *addhi3_sp_R_pc3): ... these patterns.
	(*movhi_sp, popqi, pophi, enable_interrupt, disable_interrupt, 
	call_prologue_saves, epilogue_restores, return_from_epilogue,
	return_from_main_epilogue, return_from_interrupt_epilogue, 
	return_from_naked_epilogue, prologue, epilogue): New patterns.
	(jump): Handle symbol reference.
	* config/avr/avr.c (out_adj_frame_ptr, out_set_stack_ptr, 
	avr_output_function_prologue, avr_output_function_epilogue): Remove 
	functions.
	(avr_init_machine_status, expand_prologue, expand_epilogue, 
	avr_asm_function_end_prologue, avr_epilogue_uses, 
	avr_asm_function_begin_epilogue): New functions.
	(prologue_size, epilogue_size, jump_tables_size): Remove global 
	variables.
	(TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
	(TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
	(TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): Define.
	(avr_override_options): Initialise init_machine_status.
	(output_movhi): Handle all stack pointer loads.
	(out_movqi_r_mr, out_movqi_mr_r): Handle SREG_ADDR address.
	(avr_output_addr_vec_elt): Do not use variable jump_tables_size.
	* config/avr/avr.h (AVR_2_BYTE_PC, AVR_3_BYTE_PC): New.
	(EPILOGUE_USES) Redefine.
	(machine_function) Declare.

Co-Authored-By: Anatoly Sokolov <aesok@dol.ru>

From-SVN: r124854
2007-05-19 14:59:17 +04:00
Richard Sandiford
6de3644168 mips.c (mips_offset_within_alignment_p): Tweak comment.
gcc/
	* config/mips/mips.c (mips_offset_within_alignment_p): Tweak comment.
	Use a single return statement.

From-SVN: r124853
2007-05-19 07:21:41 +00:00
Kaveh R. Ghazi
752b7d38db re PR middle-end/30250 (Evaluate lgamma/gamma at compile-time)
PR middle-end/30250
	* builtins.c (do_mpfr_lgamma_r): New.
	(fold_builtin_2): Handle builtin gamma_r/lgamma_r.
	* tree.h (CASE_FLT_FN_REENT): New.

testsuite:
	* gcc.dg/torture/builtin-math-2.c: Add gamma_r/lgamma_r tests.
	* gcc.dg/torture/builtin-math-4.c: Likewise.

From-SVN: r124849
2007-05-19 04:18:05 +00:00
Jerry DeLisle
0470f5730b re PR fortran/31964 ([4.2, 4.1 only]ishftc fails with certain thrid argument)
2007-05-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/31964
	* gfortran.fortran-torture/execute/intrinsic_bitops.f90: Update.

From-SVN: r124847
2007-05-19 01:07:41 +00:00
Jerry DeLisle
c152efbb10 re PR fortran/31964 ([4.2, 4.1 only]ishftc fails with certain thrid argument)
2007-05-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/31964
	* intrinsics/ishftc.c (ishftc4, ishftc8, ishftc16): Fix mask to handle
	shift of bit-size number of bits.

From-SVN: r124846
2007-05-19 01:04:03 +00:00
GCC Administrator
cc25a1c458 Daily bump.
From-SVN: r124843
2007-05-19 00:18:02 +00:00
Andrew Pinski
2d26b7183c forwprop-1.c: New testcase.
2007-05-18  Andrew Pinski  <andrew_pinski@playstation.sony.com>

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

From-SVN: r124840
2007-05-18 16:37:06 -07:00
Geoffrey Keating
8d5b1b6786 Index: gcc/java/ChangeLog
2007-05-18  Geoffrey Keating  <geoffk@apple.com>

	* jcf-dump.c (HANDLE_MAGIC): Use 'unsigned long' for %lx.
	(print_constant): Likewise.

Index: gcc/ChangeLog
2007-05-18  Geoffrey Keating  <geoffk@apple.com>

	* dwarf2out.c (print_die): Use '%ld' not '%lu' to print a 'long'.
	(output_die): Use 'unsigned long' with %x.
	* sched-vis.c (print_value): Use 'unsigned HOST_WIDE_INT' and
	HOST_WIDE_INT_PRINT_HEX to print HOST_WIDE_INT.
	* tree-dump.c (dump_pointer): Use 'unsigned long' for %lx.

Index: gcc/cp/ChangeLog
2007-05-18  Geoffrey Keating  <geoffk@apple.com>

	* mangle.c (write_real_cst): Use 'unsigned long' for %lx.

From-SVN: r124839
2007-05-18 23:05:50 +00:00
Geoffrey Keating
ca0d5e024b * unwind-dw2.c (uw_identify_context): Use the CFA, not the IP.
From-SVN: r124837
2007-05-18 22:50:18 +00:00
H.J. Lu
f8024378a1 re PR target/31989 (Gcc miscompiles C/C++ on Linux/x86-64)
2007-05-18  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/31989
	PR target/31681
	PR target/31666
	* config/i386/i386.c (init_cumulative_args): Set maybe_vaarg to
	true if function has no argument.

From-SVN: r124835
2007-05-18 14:35:12 -07:00
DJ Delorie
8b5fb3a36f mips.c (mips_offset_within_alignment_p): New.
* config/mips/mips.c (mips_offset_within_alignment_p): New.
(mips_symbolic_constant_p): Call it for TPREL and DTPREL symbols.

From-SVN: r124833
2007-05-18 17:15:50 -04:00
Uros Bizjak
e7e0aaeca8 longlong.h (__x86_64__): Add definitions for add_ssaaaa...
* longlong.h (__x86_64__): Add definitions for add_ssaaaa,
        sub_ddmmss, umul_ppmm, udiv_qrnnd, count_leading_zeros and
        count_trailing_zeros.
        (__i386__): Implement count_leading_zeros using __builtin_clz().
        Implement count_trailing_zeros usign __builtin_ctz().

From-SVN: r124832
2007-05-18 22:14:31 +02:00
H.J. Lu
b86448d7ea re PR target/31628 (stdcall function is miscompiled)
2007-05-18  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/31628
	* gcc.target/i386/pr31628.c: New.

From-SVN: r124831
2007-05-18 12:29:45 -07:00
Daniel Franke
661051aaa9 re PR fortran/24633 (MODULE attribute conflicts with PROCEDURE attribute)
2007-05-18  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/24633
        * symbol.c (gfc_add_flavor): Add the NAME to error message if
        available.

From-SVN: r124828
2007-05-18 09:25:07 -04:00
Richard Sandiford
10d7f5f36e vxworks.h (ASM_PREFERRED_EH_DATA_FORMAT): Undefine.
gcc/
	* config/i386/vxworks.h (ASM_PREFERRED_EH_DATA_FORMAT): Undefine.

From-SVN: r124827
2007-05-18 09:31:33 +00:00
Uros Bizjak
8ecaacaf28 * PR rtl-optimization/31344 is actually middle-end bug.
From-SVN: r124826
2007-05-18 10:46:30 +02:00
Uros Bizjak
4bcc9de5fd re PR middle-end/31344 (bootstrap broken on i[345]86-linux)
PR rtl-optimization/31344
	* expr.c (emit_move_change_mode): Change mode of push operands here.

testsuite/ChangeLog:

	PR rtl-optimization/31344
	* gcc.dg/pr31344.c: New test.

From-SVN: r124825
2007-05-18 10:37:03 +02:00
Ian Lance Taylor
b60b471172 re PR tree-optimization/31953 (ICE in set_value_range, at tree-vrp.c:305)
./:	PR tree-optimization/31953
	* tree-vrp.c (set_value_range_to_value): Add equiv parameter.
	Change all callers.
	(set_value_range_to_null): Call set_value_range_to_value.
	(extract_range_from_comparison): Likewise.
testsuite/:
	PR tree-optimization/31953
	* gcc.c-torture/compile/pr31953.c: New test.

From-SVN: r124823
2007-05-18 05:37:27 +00:00
Kaveh R. Ghazi
0968bb3d1d toplev.c (print_version): Output GMP/MPFR version info.
* toplev.c (print_version): Output GMP/MPFR version info.

From-SVN: r124822
2007-05-18 02:04:02 +00:00
Kaveh R. Ghazi
bf460eec6f builtins.c (CASE_MATHFN_REENT): New macro.
* builtins.c (CASE_MATHFN_REENT): New macro.
	(mathfn_built_in): Use it.
	* builtins.def (BUILT_IN_GAMMA_R, BUILT_IN_GAMMAF_R,
	BUILT_IN_GAMMAL_R, BUILT_IN_LGAMMA_R, BUILT_IN_LGAMMAF_R,
	BUILT_IN_LGAMMAL_R): New.
	* doc/extend.texi: Document new builtins.

testsuite:
	* gcc.dg/builtins-1.c: Test reentrant gamma functions.

From-SVN: r124821
2007-05-18 01:42:15 +00:00
Kaveh R. Ghazi
ea91f95764 re PR middle-end/31796 (Evaluate remquo/remainder/drem at compile-time)
PR middle-end/31796
	* builtins.c (do_mpfr_remquo): New.
	(fold_builtin_2): Handle BUILT_IN_DREM/BUILT_IN_REMAINDER.
	(fold_builtin_3): Handle BUILT_IN_REMQUO.

testsuite:
	* gcc.dg/torture/builtin-math-2.c: Add tests for remquo, remainder
	and drem.
	* gcc.dg/torture/builtin-math-4.c: Likewise.

From-SVN: r124820
2007-05-18 01:31:20 +00:00
Kaveh R. Ghazi
fd2ef596b5 re PR middle-end/30251 (Evaluate bessel functions at compile-time)
PR middle-end/30251
	* builtins.c (fold_builtin_1): Handle y0, y1.
	(fold_builtin_2): Handle yn.

testsuite:
	* gcc.dg/torture/builtin-math-2.c: Test y0, y1, yn.
	* gcc.dg/torture/builtin-math-4.c: Likewise.

From-SVN: r124819
2007-05-18 01:15:28 +00:00
Kaveh R. Ghazi
550b318767 re PR middle-end/30251 (Evaluate bessel functions at compile-time)
PR middle-end/30251
	* builtins.c (do_mpfr_bessel_n): New.
	(fold_builtin_1): Handle BUILT_IN_J0 and BUILT_IN_J1.
	(fold_builtin_2): Handle BUILT_IN_JN.

testsuite:
	* gcc.dg/torture/builtin-math-4.c: New test.

From-SVN: r124818
2007-05-18 01:04:12 +00:00
GCC Administrator
f012476607 Daily bump.
From-SVN: r124816
2007-05-18 00:18:34 +00:00