Commit Graph

89714 Commits

Author SHA1 Message Date
Arnaud Charlet
e5c73177bf Makefile.in: Switch VxWorks to s-interr-hwint.adb.
* gcc-interface/Makefile.in: Switch VxWorks to s-interr-hwint.adb.

	* s-interr-vxworks.adb: Renamed to s-interr-hwint.adb

	* s-interr-hwint.adb: New file.

	* s-osinte-vxworks.ads, s-osinte-vxworks.adb: Add new functions
	needed by s-interr-hwint.adb.

	* s-osinte-vxworks-kernel.adb: New file.

From-SVN: r140147
2008-09-09 15:01:51 +02:00
Bernd Schmidt
22fb24d53a bfin.c (n_regs_to_save): New static variable.
* config/bfin/bfin.c (n_regs_to_save): New static variable.
	(push_multiple_operation, pop_multiple_operation): Set it.
	(workaround_rts_anomaly): New function.
	(workaround_speculation): New function, broken out of bfin_reorg.
	(bfin_reorg): Call the new functions.

From-SVN: r140146
2008-09-09 12:09:37 +00:00
Richard Guenther
8b17cc05d3 re PR tree-optimization/37354 (ICE: in find_func_aliases, at tree-ssa-structalias.c:3906)
2008-09-09  Richard Guenther  <rguenther@suse.de>

	PR middle-end/37354
	PR middle-end/30165
	* gimplify.c (gimplify_conversion): Change conversions of
	non-register type to VIEW_CONVERT_EXPRs.
	(gimplify_addr_expr): If we need to make the operand
	addressable make sure to use a properly initialized
	temporary for that so it gets a valid gimple store.

	* g++.dg/torture/pr37354.C: New testcase.

From-SVN: r140145
2008-09-09 11:26:45 +00:00
Aldy Hernandez
1751ecd619 function.h (struct function): Add function_start_locus.
* function.h (struct function): Add function_start_locus.
        * cfgexpand.c (gimple_expand_cfg): Use it.
        * c-parser.c (c_parser_declaration_or_fndef): Set it.
testsuite/
        * gcc.dg/always_inline.c: Place error message on function
        name line.
        * gcc.dg/winline-6.c: Same.
        * gcc.dg/noreturn-1.c: Same.
        * gcc.dg/noreturn-7.c: Same.
        * gcc.dg/inline-14.c: Same.
        * gcc.dg/always_inline3.c: Same.
        * gcc.dg/winline-3.c: Same.
        * gcc.dg/wtr-func-def-1.c: Same.
        * gcc.dg/winline-5.c: Same.
        * gcc.dg/winline-7.c: Same.
        * gcc.dg/winline-9.c: Same.
        * gcc.dg/noreturn-4.c: Same.
        * gcc.dg/20041213-1.c: Use column numbers.

From-SVN: r140144
2008-09-09 10:56:23 +00:00
Richard Guenther
a135b1c41c re PR tree-optimization/37433 (tree check: expected function_decl, have string_cst in ccp_fold, at tree-ssa-ccp.c:1050)
2008-09-09  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/37433
	* tree-ssa-ccp.c (ccp_fold): Properly guard folding of
	function calls.

	* gcc.c-torture/compile/pr37433.c: New testcase.

From-SVN: r140143
2008-09-09 10:06:54 +00:00
Richard Guenther
6e548df501 re PR tree-optimization/37387 (ICE in extract_range_from_binary_expr, at tree-vrp.c:2145)
2008-09-09  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/37387
	* tree-ssa-ifcombine.c (ifcombine_iforif): Convert the name
	and bits to a common type.

	* gcc.c-torture/compile/pr37387.c: New testcase.

From-SVN: r140142
2008-09-09 10:05:49 +00:00
Daniel Kraft
18b0679f09 re PR fortran/37411 (ICE (segfault) in trans-array.c)
2008-09-09  Daniel Kraft  <d@domob.eu>

	PR fortran/37411
	* trans-array.c (gfc_conv_array_parameter): Added assertion that the
	symbol has an array spec.

2008-09-09  Daniel Kraft  <d@domob.eu>

	PR fortran/37411
	* gfortran.dg/array_function_4.f90: New test.

From-SVN: r140141
2008-09-09 11:46:51 +02:00
Nick Clifton
108faf872d * config/v850/v850.md (return): Restore frame size restriction.
From-SVN: r140139
2008-09-09 09:16:07 +00:00
Paolo Bonzini
0c03f46fcb c-common.c (c_expand_decl): Remove.
2008-09-09  Paolo Bonzini  <bonzini@gnu.org>

	* c-common.c (c_expand_decl): Remove.
	* c-common.h (anon_aggr_type_p): Remove prototype.
	(DECL_ANON_UNION_ELEMS): Remove.
	* c-objc-common.h (LANG_HOOKS_EXPAND_DECL): Remove.
	* c-decl.c (anon_aggr_type_p): Remove.
	* langhooks-def.h (LANG_HOOKS_EXPAND_DECL): Remove.
	(LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_EXPAND_DECL.
	* langhooks.h (struct lang_hooks): Remove expand_decl.
	* langhooks.c (lhd_expand_decl): Remove.
	* stmt.c (expand_anon_union_decl): Remove.
	* tree.h (expand_anon_union_decl): Remove prototype.

cp:
2008-09-09  Paolo Bonzini  <bonzini@gnu.org>

	* cp-objcp-common.h (LANG_HOOKS_EXPAND_DECL): Remove.
	* cp-tree.h: Don't mention DECL_ANON_UNION_ELEMS.
	* semantics.c (anon_aggr_type_p): Remove.

From-SVN: r140138
2008-09-09 08:56:58 +00:00
Daniel Jacobowitz
6efbd94a33 filter2_x.C: Declare abort.
* g++.dg/compat/eh/filter2_x.C: Declare abort.
	* g++.dg/compat/eh/new1_x.C, g++.dg/compat/eh/new1_y.C: Include
	cstddef and use std::size_t.

	* gcc.dg/compat/compat-common.h: Define SKIP_COMPLEX_INT if
	SKIP_COMPLEX.  Honor SKIP_COMPLEX.
	* gcc.dg/compat/scalar-by-value-3_x.c,
	gcc.dg/compat/scalar-by-value-3_y.c,
	gcc.dg/compat/scalar-by-value-4_x.c,
	gcc.dg/compat/scalar-by-value-4_y.c,
	gcc.dg/compat/scalar-by-value-5.c,
	gcc.dg/compat/scalar-by-value-5_main.c,
	gcc.dg/compat/scalar-by-value-6.c,
	gcc.dg/compat/scalar-by-value-6_main.c,
	gcc.dg/compat/scalar-by-value-6_x.c,
	gcc.dg/compat/scalar-by-value-6_y.c,
	gcc.dg/compat/struct-by-value-16_x.c,
	gcc.dg/compat/struct-by-value-16_y.c,
	gcc.dg/compat/struct-by-value-16a_x.c,
	gcc.dg/compat/struct-by-value-16a_y.c,
	gcc.dg/compat/struct-by-value-17_x.c,
	gcc.dg/compat/struct-by-value-17_y.c,
	gcc.dg/compat/struct-by-value-17a_x.c,
	gcc.dg/compat/struct-by-value-17a_y.c,
	gcc.dg/compat/struct-by-value-18_x.c,
	gcc.dg/compat/struct-by-value-18_y.c,
	gcc.dg/compat/struct-by-value-18a_x.c,
	gcc.dg/compat/struct-by-value-18a_y.c,
	gcc.dg/compat/struct-layout-1.h,
	gcc.dg/compat/scalar-return-3_x.c,
	gcc.dg/compat/scalar-return-3_y.c,
	gcc.dg/compat/scalar-return-4_x.c,
	gcc.dg/compat/scalar-return-4_y.c: Honor SKIP_COMPLEX.

	* gcc.dg/compat/scalar-by-value-y.h: Use stdarg.h for non-GCC
	compilers.

	* gcc.dg/compat/struct-by-value-22_y.c,
	gcc.dg/compat/struct-by-value-22_main.c,
	gcc.dg/compat/struct-by-value-22_x.c: Honor SKIP_VLA_IN_STRUCT.

	* lib/c-compat.exp (compat_setup_dfp): Check the compiler under test
	first.
	* lib/compat.exp: Document COMPLEX and VLA_IN_STRUCT skips.

Co-Authored-By: Mark Mitchell <mark@codesourcery.com>

From-SVN: r140137
2008-09-09 03:17:22 +00:00
GCC Administrator
fa3f957a2e Daily bump.
From-SVN: r140134
2008-09-09 00:16:31 +00:00
Andy Hutchinson
564475d71f wo_prof_escape_substr_value.c: Limit allocation based on STACK_SIZE.
* gcc.dg/struct/wo_prof_escape_substr_value.c: Limit allocation based on STACK_SIZE.
* gcc.dg/struct/wo_prof_array_through_pointer.c: Ditto.
* gcc.dg/struct/wo_prof_escape_substr_pointer.c: Ditto.
* gcc.dg/struct/wo_prof_escape_arg_to_local.c: Limit allocation based on STACK_SIZE. Check malloc return for NULL.
* gcc.dg/struct/w_prof_local_var.c: Ditto.
* gcc.dg/struct/wo_prof_mult_field_peeling.c: Ditto.
* gcc.dg/struct/w_prof_local_array.c: Limit allocation based on STACK_SIZE. XFAIL AVR target.
* gcc.dg/struct/wo_prof_local_array.c: Ditto.
* gcc.dg/struct/w_prof_two_strs.c: Limit allocation based on STACK_SIZE. Limit random size to N.
* gcc.dg/struct/wo_prof_two_strs.c: Limit allocation based on STACK_SIZE. XFAIL AVR target. Limit random size to N.
* gcc.dg/struct/w_prof_single_str_global.c: XFAIL AVR target.
* gcc.dg/struct/wo_prof_array_field.c: Ditto.
* gcc.dg/struct/wo_prof_double_malloc.c: Ditto.
* gcc.dg/struct/wo_prof_global_array.c: Ditto.
* gcc.dg/struct/wo_prof_single_str_global.c: Ditto.
* gcc.dg/struct/wo_prof_single_str_local.c: Ditto.
* gcc.dg/struct/w_prof_global_var.c: Limit allocation based on STACK_SIZE. Check malloc return for NULL. XFAIL AVR target.
* gcc.dg/struct/wo_prof_global_var.c: Ditto.
* gcc.dg/struct/wo_prof_local_var.c: Ditto.
* gcc.dg/struct/wo_prof_malloc_size_var.c: Access only allocated space. Limit allocation based on STACK_SIZE. XFAIL AVR target.

From-SVN: r140126
2008-09-08 22:41:27 +00:00
John David Anglin
d70ddd9078 cdce3.C: Require c99 runtime.
* g++.dg/cdce3.C: Require c99 runtime.

From-SVN: r140125
2008-09-08 22:26:44 +00:00
Andy Hutchinson
3d7094661b re PR target/36609 (AVR wrong code using incorrect RTL for test reversal pattern)
PR target/36609
* config/avr/avr.c (avr_reorg): Create RTL for reversed compare with zero.
* config/avr/avr.md  (QISI) : Define mode iterator.
(negated_tst<mode>) : Redefine as split using mode macro.
(reversed_tstqi): Define insn as reversed compare with zero.
(reversed_tsthi): Ditto.
(reversed_tstsi): Ditto.

From-SVN: r140124
2008-09-08 22:25:42 +00:00
Jakub Jelinek
9cfa22be65 re PR middle-end/37393 (error: EH edge 10->12 is missing)
PR middle-end/37393
	* tree-inline.c (copy_bb): When replacing a gimple_call_va_arg_pack_p
	call stmt by new_call, clear gimple_bb on stmt after gsi_replace.

	* g++.dg/tree-ssa/pr37393.C: New test.

From-SVN: r140123
2008-09-08 23:31:36 +02:00
Jakub Jelinek
7f4b6d207c re PR middle-end/37414 (ICE with -ffast-math)
PR middle-end/37414
	* predict.c (optimize_function_for_size_p): Don't segfault if
	FUN is NULL.
	* fold-const.c (LOGICAL_OP_NON_SHORT_CIRCUIT, fold_truthop,
	tree_swap_operands_p): Don't test cfun != NULL before calling
	optimize_function_for_s*_p.

	* g++.dg/opt/init2.C: New test.

From-SVN: r140122
2008-09-08 23:30:23 +02:00
Eric Botcazou
99b96649c1 ira-color.c (ira_reuse_stack_slot): Set slot_num on success at the end of the search.
* ira-color.c (ira_reuse_stack_slot): Set slot_num on success at the
	end of the search.

From-SVN: r140121
2008-09-08 21:21:10 +00:00
Jason Merrill
b344d949d2 re PR c++/37302 (function parameters are declared too late)
PR c++/37302
        * parser.c (cp_parser_parameter_declaration_list): Process the
        PARM_DECLs as we go and push them.  Return a TREE_LIST.
        (cp_parser_parameter_declaration_clause): Return a TREE_LIST.
        (cp_parser_direct_declarator): Create a binding level and
        suppress deprecated warnings in the parameter list.
        (make_call_declarator): PARMS is now a tree.
        * cp-tree.h (struct cp_declarator): Function parms are now a tree.
        * decl.h (enum deprecated_states, deprecated_state): Move here.
        * decl.c: From here.
        (type_is_deprecated): New fn.
        (grokparms): PARMLIST is a tree now.  Warn about parms that
        use deprecated types.
        * mangle.c (write_expression): Handle PARM_DECL, CALL_EXPR and
        0-operand cast.
        * pt.c (tsubst) [DECLTYPE_TYPE]: Set skip_evaluation.
        (tsubst_copy) [PARM_DECL]: Handle a PARM_DECL used outside of a
        function.
        * name-lookup.c (pushtag): Look through function parameter scopes.
        (pushdecl_maybe_friend): Don't set DECL_CONTEXT on a PARM_DECL
        when we're parsing a function declarator.

From-SVN: r140120
2008-09-08 16:52:44 -04:00
M R Swami Reddy
37022b7c72 crx.h (IRA_COVER_CLASSES): Define.
2008-09-02  M R Swami Reddy <MR.Swami.Reddy@nsc.com>

        * config/crx/crx.h (IRA_COVER_CLASSES): Define.

From-SVN: r140118
2008-09-08 13:55:05 -06:00
Jakub Jelinek
c5cac099b7 re PR middle-end/37337 (ICE: verify_flow_info failed)
PR middle-end/37337
	* tree-ssa-dom.c (optimize_stmt): Call maybe_clean_or_replace_eh_stmt
	even when a stmt has been gimple_modified_p, but after fold_stmt is
	not any longer.  Remove unneeded may_have_exposed_new_symbols
	initializations.

	* g++.dg/tree-ssa/pr37337.C: New test.

From-SVN: r140117
2008-09-08 21:31:18 +02:00
Richard Guenther
7220ca2b38 re PR tree-optimization/37421 (ICE in vn_reference_insert_pieces at tree-ssa-sccvn.c:1131)
2008-09-08  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/37421
	* tree-ssa-sccvn.c (visit_copy): Make sure to fully
	valueize the RHS.

	* g++.dg/torture/pr37421.C: New testcase.

From-SVN: r140111
2008-09-08 16:31:43 +00:00
Daniel Kraft
94c8a0cca5 re PR fortran/36167 (ICE in gfc_conv_descriptor_dimension, at fortran/trans-array.c:242)
2008-09-08  Daniel Kraft  <d@domob.eu>

        PR fortran/36167
        * gfortran.dg/array_function_3.f90: New test.
        * gfortran.dg/save_3.f90: Added cleanup-modules directive.
        * gfortran.dg/string_compare_1.f90: Ditto.

From-SVN: r140107
2008-09-08 15:51:26 +02:00
Jakub Jelinek
37aaba15f3 re PR middle-end/37415 (ICE with -ftree-store-ccp)
PR middle-end/37415
	* opts.c (common_handle_option): Handle OPT_ftree_store_ccp.

From-SVN: r140105
2008-09-08 14:39:28 +02:00
Andreas Schwab
bcb455baa4 Typo.
From-SVN: r140103
2008-09-08 09:23:49 +00:00
Daniel Kraft
0a991dec38 re PR fortran/37199 (array assignment from function writes out of bounds)
2008-09-08  Daniel Kraft  <d@domob.eu>

	PR fortran/37199
	* trans-expr.c (gfc_add_interface_mapping): Set new_sym->as.
	(gfc_map_intrinsic_function): Added checks against NULL bounds in
	array specs.

2008-09-08  Daniel Kraft  <d@domob.eu>

	PR fortran/37199
	* gfortran.dg/array_function_2.f90: New test.

From-SVN: r140102
2008-09-08 11:17:27 +02:00
Tobias Burnus
10c17e8fd0 re PR fortran/37400 (implicit character(len=*,kind=kind('A')) (Q) ... no longer gives the right answer.)
2008-09-07  Tobias Burnus  <burnus@net.b.de>

        PR fortran/37400
        * symbol.c (gfc_set_default_type): Copy char len.

2008-09-07  Tobias Burnus  <burnus@net.b.de>

        PR fortran/37400
        * gfortran.dg/implicit_12.f90: New test.

From-SVN: r140100
2008-09-08 09:19:46 +02:00
John David Anglin
d9de9cad96 re PR driver/37409 (-fwhole-program option breaks collect2-generated global constructors)
PR driver/37409
	* pa-hpux.h (LINK_SPEC): Strip -fwhole-program.
	* pa-hpux10.h (LINK_SPEC): Likewise.
	* pa-hpux11.h (LINK_SPEC): Likewise.
`

From-SVN: r140099
2008-09-08 04:26:15 +00:00
GCC Administrator
b87c8930ac Daily bump.
From-SVN: r140096
2008-09-08 00:16:44 +00:00
John David Anglin
be2f06ed3d pa32-regs.h (IRA_COVER_CLASSES): Define.
* pa32-regs.h (IRA_COVER_CLASSES): Define.
	* pa64-regs.h (IRA_COVER_CLASSES): Define.

From-SVN: r140093
2008-09-07 19:54:30 +00:00
Helge Deller
d6ab7b032f linux-atomic.c: New file.
* pa/linux-atomic.c: New file.
	* pa/t-linux (LIB2FUNCS_STATIC_EXTRA): Define.
	* pa/t-linux64 (LIB2FUNCS_STATIC_EXTRA): Define.

From-SVN: r140091
2008-09-07 16:53:31 +00:00
Paolo Carlini
a834e097ea acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Check wcstoimax and wcstoumax, define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1.
2008-09-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Check wcstoimax and
	wcstoumax, define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1.
	* include/tr1_impl/cinttypes: Use the latter.
	* testsuite/tr1/8_c_compatibility/cinttypes/functions.cc: Likewise.
	* configure: Regenerate.
	* config.h.in: Likewise.

From-SVN: r140089
2008-09-07 16:41:06 +00:00
Thomas Koenig
fd7f975423 re PR fortran/37203 (Check ORDER= of RESHAPE)
2008-09-07  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/37203
	* intrinsics/reshape_generic.c:  Add checking on
	out-of-bounds and duplicate values of order argument.
	* m4/reshape.m4:  Likewise.
	* generated/reshape_c10.c: Regenerated.
	* generated/reshape_c16.c: Regenerated.
	* generated/reshape_c4.c: Regenerated.
	* generated/reshape_c8.c: Regenerated.
	* generated/reshape_i16.c: Regenerated.
	* generated/reshape_i4.c: Regenerated.
	* generated/reshape_i8.c: Regenerated.
	* generated/reshape_r10.c: Regenerated.
	* generated/reshape_r16.c: Regenerated.
	* generated/reshape_r4.c: Regenerated.
	* generated/reshape_r8.c: Regenerated.

2008-09-07  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/37203
	* gfortran.d/reshape_order_1.f90:  New test case.
	* gfortran.d/reshape_order_2.f90:  New test case.
	* gfortran.d/reshape_order_3.f90:  New test case.
	* gfortran.d/reshape_order_4.f90:  New test case.

From-SVN: r140086
2008-09-07 13:33:18 +00:00
Richard Guenther
73356a7d3b re PR tree-optimization/36630 (ICE in vect_update_ivs_after_vectorizer)
PR tree-optimization/36630
	* tree-vect-transform.c (vect_update_ivs_after_vectorizer):
	Call STRIP_NOPS before calling evolution_part_in_loop_num.


Co-Authored-By: Ira Rosen <irar@il.ibm.com>

From-SVN: r140085
2008-09-07 10:05:37 +00:00
Daniel Kraft
fe2c39c8c2 stfunc_6.f90: Extended testcase to include more tests related to PURE and statement functions.
2008-09-07  Daniel Kraft  <d@domob.eu>

	* gfortran.dg/stfunc_6.f90: Extended testcase to include more tests
	related to PURE and statement functions.

From-SVN: r140084
2008-09-07 11:11:53 +02:00
Dorit Nuzman
cc54af2085 re PR tree-optimization/35642 (short * short multiplication not vectorized on Power)
PR tree-optimization/35642
	* config/rs6000/altivec.md (mulv8hi3): Implement.


Co-Authored-By: Ira Rosen <irar@il.ibm.com>

From-SVN: r140083
2008-09-07 08:54:00 +00:00
Victor Kaplansky
c0cf64a287 re PR testsuite/37334 (gcc.dg/fastmath-2.c doesn't work)
2008-09-07  Victor Kaplansky  <victork@il.ibm.com>

        PR testsuite/37334
        * gcc/testsuite/gcc.dg/fastmath-2.c: Add volatile to
        definition of b, change -ffast-math to -ffinite-math-only
        and rename test to ...
        * gcc/testsuite/gcc.dg/div-double-1.c: ... this.

From-SVN: r140082
2008-09-07 07:34:30 +00:00
GCC Administrator
5f195f0c72 Daily bump.
From-SVN: r140079
2008-09-07 00:16:49 +00:00
H.J. Lu
6a4bde9629 configure.ac: Fix a typo.
2008-09-06  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.ac: Fix a typo.
	* configured: Regenerate.

From-SVN: r140076
2008-09-06 16:00:24 -07:00
Bruce Korb
dc5a9b1dfb add: m4_sinclude(../libtool.m4)
From-SVN: r140075
2008-09-06 21:50:14 +00:00
Jeff Law
f8505a3616 h8300.h (IRA_COVER_CLASSES): Define.
* h8300.h (IRA_COVER_CLASSES): Define.

From-SVN: r140074
2008-09-06 15:00:02 -06:00
Jeff Law
6ad9475ec8 memcpy-bi.c: Include <string.h>
* gcc.c-torture/execute/memcpy-bi.c: Include <string.h>

From-SVN: r140073
2008-09-06 14:55:41 -06:00
Bruce Korb
6aa1f8c190 fix glibc_mutex_init fix
From-SVN: r140071
2008-09-06 19:57:26 +00:00
Tobias Burnus
1b1f56cf4d re PR fortran/37399 (gfortran.dg/size_kind.f90 doesn't work)
2008-09-06  Tobias Burnus  <burnus@net-b.de>

       PR fortran/37399
       * gfortran.dg/size_kind.f90: Remove allocate statement
       as it overflows at compile time on 32bit systems.

From-SVN: r140070
2008-09-06 20:27:17 +02:00
Jan Hubicka
b91bc3493e re PR tree-optimization/14703 (Inadequate optimization of inline templated functions, infinite loop in ipa-reference and memory hog)
PR tree-optimization/14703
	* tree-ssa-live.c (remove_unused_scope_block_p): Remove ignored declarations.
	* passes.c (init_optimization_passes): Recompute inline parameters.
	* g++.dg/tree-ssa-pr14703.C: New testcase.

From-SVN: r140068
2008-09-06 17:10:00 +00:00
Tobias Burnus
7a687b2265 [multiple changes]
2008-09-06  Steven G. Kargl  <kargls@comcast.net>

       PR fortran/36153
       * fortran/resolve.c (resolve_function): Shortcircuit for SIZE and
       UBOUND if 2nd argument is KIND.

2008-09-06  Tobias Burnus  <burnus@net-b.de>

       PR fortran/36153
       * gfortran.dg/size_kind.f90: New test.

From-SVN: r140063
2008-09-06 17:27:50 +02:00
Steven G. Kargl
2c68bc89b7 re PR fortran/33229 (ICE with "intrinsic" plus calling a subroutine as function)
2008-09-06  Steven G. Kargl  <kargls@comcast.net>

        PR fortran/33229
        * resolve.c (resolve_function): An intrinsic subroutine should
        * not be
        called as a function.

2008-09-06  Steven G. Kargl  <kargls@comcast.net>

        PR fortran/33229
        * gfortran.dg/intrinsic_subroutine.f90: New test.

From-SVN: r140061
2008-09-06 17:11:29 +02:00
Tobias Burnus
9731c4a348 libgfortran.h (likely,unlikely): New makros.
2008-09-06  Tobias Burnus  <burnus@net-b.de>

	* libgfortran.h (likely,unlikely): New makros.
	(runtime_warning_at,__mingw_snprintf): Add __attribute__(format()).
	* m4/spread.m4 (spread_'rtype_code`): Use unlikely for bounds_check.
	* m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Ditto.
	* m4/matmull.m4 (matmul_'rtype_code`): Ditto.
	* m4/ifunction_logical.m4 (name`'rtype_qual`_'atype_code): Ditto.
	* m4/ifunction.m4 (name`'rtype_qual`_'atype_code): Ditto.
	* m4/matmul.m4 (matmul_'rtype_code`): Ditto.

	* generated/minval_r8.c: Regenerated.
	* generated/spread_r10.c: Regenerated.
	* generated/minloc1_16_r16.c: Regenerated.
	* generated/maxloc1_4_r8.c: Regenerated.
	* generated/sum_i8.c: Regenerated.
	* generated/any_l16.c: Regenerated.
	* generated/spread_i8.c: Regenerated.
	* generated/maxval_i2.c: Regenerated.
	* generated/any_l2.c: Regenerated.
	* generated/product_r4.c: Regenerated.
	* generated/maxloc1_8_i4.c: Regenerated.
	* generated/maxloc0_4_r4.c: Regenerated.
	* generated/all_l1.c: Regenerated.
	* generated/matmul_r8.c: Regenerated.
	* generated/product_i2.c: Regenerated.
	* generated/minloc0_4_r16.c: Regenerated.
	* generated/minloc0_4_i1.c: Regenerated.
	* generated/maxloc0_4_r16.c: Regenerated.
	* generated/maxloc0_4_i2.c: Regenerated.
	* generated/minloc1_8_r16.c: Regenerated.
	* generated/maxloc1_8_r16.c: Regenerated.
	* generated/maxloc0_8_i8.c: Regenerated.
	* generated/sum_r16.c: Regenerated.
	* generated/sum_i1.c: Regenerated.
	* generated/minloc1_4_r8.c: Regenerated.
	* generated/maxloc1_16_r16.c: Regenerated.
	* generated/minloc1_16_i4.c: Regenerated.
	* generated/maxloc1_16_i4.c: Regenerated.
	* generated/minloc0_16_i8.c: Regenerated.
	* generated/spread_i1.c: Regenerated.
	* generated/maxloc0_16_i8.c: Regenerated.
	* generated/maxval_r16.c: Regenerated.
	* generated/product_c10.c: Regenerated.
	* generated/minloc1_8_i4.c: Regenerated.
	* generated/minloc0_16_i16.c: Regenerated.
	* generated/matmul_r16.c: Regenerated.
	* generated/minloc0_4_r4.c: Regenerated.
	* generated/all_l2.c: Regenerated.
	* generated/product_c4.c: Regenerated.
	* generated/sum_r4.c: Regenerated.
	* generated/minloc0_4_i2.c: Regenerated.
	* generated/spread_c10.c: Regenerated.
	* generated/maxloc0_8_i1.c: Regenerated.
	* generated/spread_r4.c: Regenerated.
	* generated/minloc0_8_i8.c: Regenerated.
	* generated/matmul_c8.c: Regenerated.
	* generated/all_l16.c: Regenerated.
	* generated/minloc1_16_r10.c: Regenerated.
	* generated/sum_i2.c: Regenerated.
	* generated/minloc0_16_i1.c: Regenerated.
	* generated/maxloc0_16_i1.c: Regenerated.
	* generated/maxloc1_8_r8.c: Regenerated.
	* generated/minval_i16.c: Regenerated.
	* generated/spread_i2.c: Regenerated.
	* generated/maxval_i4.c: Regenerated.
	* generated/minval_i8.c: Regenerated.
	* generated/any_l4.c: Regenerated.
	* generated/maxloc1_4_i8.c: Regenerated.
	* generated/maxloc0_16_i16.c: Regenerated.
	* generated/maxloc0_8_r4.c: Regenerated.
	* generated/minloc1_4_i16.c: Regenerated.
	* generated/maxloc1_4_i16.c: Regenerated.
	* generated/minloc0_4_r10.c: Regenerated.
	* generated/minloc0_8_i16.c: Regenerated.
	* generated/maxloc0_4_r10.c: Regenerated.
	* generated/maxloc0_8_i16.c: Regenerated.
	* generated/minloc1_8_r10.c: Regenerated.
	* generated/product_i4.c: Regenerated.
	* generated/minloc0_16_r4.c: Regenerated.
	* generated/sum_c16.c: Regenerated.
	* generated/maxloc1_8_r10.c: Regenerated.
	* generated/maxloc0_16_r4.c: Regenerated.
	* generated/minloc1_16_r8.c: Regenerated.
	* generated/minloc0_8_i1.c: Regenerated.
	* generated/maxloc0_4_i4.c: Regenerated.
	* generated/maxloc1_16_r8.c: Regenerated.
	* generated/maxloc0_8_i2.c: Regenerated.
	* generated/sum_r10.c: Regenerated.
	* generated/count_4_l.c: Regenerated.
	* generated/sum_c4.c: Regenerated.
	* generated/count_8_l.c: Regenerated.
	* generated/maxloc1_16_r10.c: Regenerated.
	* generated/matmul_i8.c: Regenerated.
	* generated/minloc0_16_i2.c: Regenerated.
	* generated/minloc1_8_r8.c: Regenerated.
	* generated/maxloc0_16_i2.c: Regenerated.
	* generated/spread_c4.c: Regenerated.
	* generated/matmul_c16.c: Regenerated.
	* generated/maxval_r10.c: Regenerated.
	* generated/minval_i1.c: Regenerated.
	* generated/maxloc1_4_i1.c: Regenerated.
	* generated/matmul_r10.c: Regenerated.
	* generated/minloc1_4_i8.c: Regenerated.
	* generated/minloc0_8_r4.c: Regenerated.
	* generated/matmul_l4.c: Regenerated.
	* generated/product_i16.c: Regenerated.
	* generated/minloc0_16_r16.c: Regenerated.
	* generated/all_l4.c: Regenerated.
	* generated/minloc0_4_i4.c: Regenerated.
	* generated/minloc0_8_i2.c: Regenerated.
	* generated/matmul_i1.c: Regenerated.
	* generated/minval_r4.c: Regenerated.
	* generated/maxloc1_4_r4.c: Regenerated.
	* generated/spread_i16.c: Regenerated.
	* generated/sum_i4.c: Regenerated.
	* generated/maxval_r8.c: Regenerated.
	* generated/spread_i4.c: Regenerated.
	* generated/minloc1_4_i1.c: Regenerated.
	* generated/minval_r16.c: Regenerated.
	* generated/minval_i2.c: Regenerated.
	* generated/maxloc1_4_i2.c: Regenerated.
	* generated/product_r8.c: Regenerated.
	* generated/maxloc1_8_i8.c: Regenerated.
	* generated/maxloc0_4_r8.c: Regenerated.
	* generated/maxloc0_16_r16.c: Regenerated.
	* generated/matmul_r4.c: Regenerated.
	* generated/sum_c10.c: Regenerated.
	* generated/minloc1_4_r16.c: Regenerated.
	* generated/maxloc1_4_r16.c: Regenerated.
	* generated/minloc0_8_r16.c: Regenerated.
	* generated/maxloc0_8_r16.c: Regenerated.
	* generated/count_1_l.c: Regenerated.
	* generated/maxloc0_8_i4.c: Regenerated.
	* generated/matmul_i2.c: Regenerated.
	* generated/minloc1_4_r4.c: Regenerated.
	* generated/matmul_c10.c: Regenerated.
	* generated/minloc0_16_i4.c: Regenerated.
	* generated/maxloc0_16_i4.c: Regenerated.
	* generated/minloc1_16_i8.c: Regenerated.
	* generated/maxloc1_16_i8.c: Regenerated.
	* generated/minloc1_4_i2.c: Regenerated.
	* generated/matmul_l16.c: Regenerated.
	* generated/maxloc1_8_i1.c: Regenerated.
	* generated/minloc0_16_r10.c: Regenerated.
	* generated/minloc1_8_i8.c: Regenerated.
	* generated/minloc0_4_r8.c: Regenerated.
	* generated/product_r16.c: Regenerated.
	* generated/product_c8.c: Regenerated.
	* generated/sum_r8.c: Regenerated.
	* generated/minloc0_8_i4.c: Regenerated.
	* generated/matmul_c4.c: Regenerated.
	* generated/minloc1_16_i16.c: Regenerated.
	* generated/spread_r8.c: Regenerated.
	* generated/maxloc1_8_r4.c: Regenerated.
	* generated/minloc1_16_i1.c: Regenerated.
	* generated/maxloc1_16_i1.c: Regenerated.
	* generated/spread_r16.c: Regenerated.
	* generated/minval_r10.c: Regenerated.
	* generated/count_16_l.c: Regenerated.
	* generated/minval_i4.c: Regenerated.
	* generated/minloc1_8_i1.c: Regenerated.
	* generated/maxloc1_4_i4.c: Regenerated.
	* generated/maxloc1_8_i2.c: Regenerated.
	* generated/maxval_i8.c: Regenerated.
	* generated/any_l8.c: Regenerated.
	* generated/maxloc0_16_r10.c: Regenerated.
	* generated/minloc0_4_i16.c: Regenerated.
	* generated/maxloc0_8_r8.c: Regenerated.
	* generated/maxloc0_4_i16.c: Regenerated.
	* generated/minloc1_4_r10.c: Regenerated.
	* generated/minloc1_8_i16.c: Regenerated.
	* generated/maxloc1_4_r10.c: Regenerated.
	* generated/maxloc1_8_i16.c: Regenerated.
	* generated/minloc0_8_r10.c: Regenerated.
	* generated/maxloc0_8_r10.c: Regenerated.
	* generated/minloc1_16_r4.c: Regenerated.
	* generated/maxloc1_16_r4.c: Regenerated.
	* generated/minloc0_16_r8.c: Regenerated.
	* generated/product_i8.c: Regenerated.
	* generated/maxloc0_16_r8.c: Regenerated.
	* generated/sum_i16.c: Regenerated.
	* generated/count_2_l.c: Regenerated.
	* generated/maxloc0_4_i8.c: Regenerated.
	* generated/maxloc1_16_i16.c: Regenerated.
	* generated/matmul_i4.c: Regenerated.
	* generated/minloc1_8_r4.c: Regenerated.
	* generated/sum_c8.c: Regenerated.
	* generated/minloc1_16_i2.c: Regenerated.
	* generated/maxloc1_16_i2.c: Regenerated.
	* generated/maxval_i16.c: Regenerated.
	* generated/spread_c8.c: Regenerated.
	* generated/matmul_i16.c: Regenerated.
	* generated/minloc1_4_i4.c: Regenerated.
	* generated/maxval_i1.c: Regenerated.
	* generated/minloc1_8_i2.c: Regenerated.
	* generated/any_l1.c: Regenerated.
	* generated/product_c16.c: Regenerated.
	* generated/minloc0_8_r8.c: Regenerated.
	* generated/matmul_l8.c: Regenerated.
	* generated/product_r10.c: Regenerated.
	* generated/product_i1.c: Regenerated.
	* generated/all_l8.c: Regenerated.
	* generated/maxloc0_4_i1.c: Regenerated.
	* generated/minloc0_4_i8.c: Regenerated.
	* generated/spread_c16.c: Regenerated.
	* generated/maxval_r4.c: Regenerated.

From-SVN: r140060
2008-09-06 16:53:26 +02:00
Richard Sandiford
cf90009713 mips.c (mips_function_ok_for_sibcall): Check for DECL being null.
gcc/
	* config/mips/mips.c (mips_function_ok_for_sibcall): Check for
	DECL being null.

From-SVN: r140056
2008-09-06 09:21:39 +00:00
Richard Sandiford
4d210b073f 2008-xx-xx Richard Sandiford <rdsandiford@goolemail.com> Peter Fuerst <post@pfrst.de>
gcc/
2008-xx-xx  Richard Sandiford  <rdsandiford@goolemail.com>
	    Peter Fuerst  <post@pfrst.de>

	* doc/invoke.texi: Document -mr10k-cache-barrier=.
	* doc/extend.texi: Document __builtin_mips_cache.
	* config/mips/mips-ftypes.def: Add a (VOID, SI, CVPOINTER) entry.
	* config/mips/mips.opt (mr10k-cache-barrier=): New option.
	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define
	__GCC_HAVE_BUILTIN_MIPS_CACHE.
	(TARGET_CACHE_BUILTIN, ISA_HAS_CACHE): New macros.
	* config/mips/mips.c (mips_r10k_cache_barrier_setting): New enum.
	(set_push_mips_isas): New variable.
	(mips_r10k_cache_barrier): New variable.
	(cache): New availability predicate.
	(mips_builtins): Add an entry for __builtin_mips_cache.
	(mips_build_cvpointer_type): New function.
	(MIPS_ATYPE_CVPOINTER): New macro.
	(mips_prepare_builtin_arg): Only use the insn's mode if the rtx's
	mode is VOIDmode.
	(r10k_simplified_address_p, r10k_simplify_address)
	(r10k_uncached_address_p, r10k_safe_address_p)
	(r10k_needs_protection_p_1, r10k_needs_protection_p_store)
	(r10k_needs_protection_p_call, r10k_needs_protection_p)
	(r10k_insert_cache_barriers): New functions.
	(mips_reorg_process_insns): Delete cache barriers after a
	branch-likely instruction.
	(mips_reorg): Call r10k_insert_cache_barriers.
	(mips_handle_option): Handle OPT_mr10k_cache_barrier_.
	* config/mips/mips.md (UNSPEC_MIPS_CACHE): New constant.
	(UNSPEC_R10K_CACHE_BARRIER): Likewise.
	(mips_cache, r10k_cache_barrier): New define_insns.

gcc/testsuite/
	* gcc.target/mips/mips.exp (dg-mips-options): Make
	-mr10k-cache-barrier=* imply -mips3 or above.
	* gcc.target/mips/cache-1.c: New test.
	* gcc.target/mips/r10k-cache-barrier-1.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-2.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-3.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-4.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-5.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-6.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-7.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-8.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-9.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-10.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-11.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-12.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-13.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-14.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-15.c: Likewise.

From-SVN: r140055
2008-09-06 08:13:09 +00:00
Richard Sandiford
4f341ea068 ira-int.h (ira_zero_hard_reg_set, [...]): Delete.
gcc/
	* ira-int.h (ira_zero_hard_reg_set, ira_one_hard_reg_set): Delete.
	* ira-color.c (setup_allocno_left_conflicts_num): Use
	hard_reg_set_equal_p instead of a comparison with
	ira_zero_hard_reg_set.
	* ira.c (setup_reg_subclasses): Likewise.
	(setup_cover_and_important_classes): Likewise.
	(setup_class_translate): Likewise.
	(setup_reg_class_intersect_union): Likewise.
	(ira_zero_hard_reg_set, ira_one_hard_reg_set): Delete.
	(ira_init_once): Don't initialize them.

From-SVN: r140054
2008-09-06 08:08:49 +00:00