Commit Graph

82893 Commits

Author SHA1 Message Date
François-Xavier Coudert bae891736b re PR fortran/33105 (F2003: Support is_iostat_end & is_iostat_eor intrinsics)
PR fortran/33105

	* intrinsic.c (add_functions): Add IS_IOSTAT_END and
	IS_IOSTAT_EOR intrinsics.
	* gfortran.h (gfc_isym_id): Add GFC_ISYM_IS_IOSTAT_END and
	GFC_ISYM_IS_IOSTAT_EOR.
	* trans-intrinsic.c (gfc_conv_has_intvalue): New function.
	(gfc_conv_intrinsic_function): Call gfc_conv_has_intvalue for
	GFC_ISYM_IS_IOSTAT_END and GFC_ISYM_IS_IOSTAT_EOR.
	* intrinsic.texi: Add IS_IOSTAT_END and IS_IOSTAT_EOR.

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

From-SVN: r127903
2007-08-29 15:16:00 +00:00
Uros Bizjak 3743c639c7 simplify-rtx.c (simplify_binary_operation_1): Change CONST_VECTOR_ELT to XVECEXP in elem calculation.
* simplify-rtx.c (simplify_binary_operation_1) [VEC_SELECT]:
	Change CONST_VECTOR_ELT to XVECEXP in elem calculation.

From-SVN: r127902
2007-08-29 17:00:38 +02:00
Uros Bizjak 7b74f49597 h8300-ice2.c: Remove target selector.
* gcc.dg/h8300-ice2.c: Remove target selector.

From-SVN: r127901
2007-08-29 16:54:37 +02:00
Richard Guenther ea53115fa0 tree-pretty-print.c (dump_generic_node): Print label DECL_UID as D.%u.
2007-08-29  Richard Guenther  <rguenther@suse.de>

	* tree-pretty-print.c (dump_generic_node): Print
	label DECL_UID as D.%u.
	* tree-dfa.c (dump_variable): Print DECL_UID as D.%u.

From-SVN: r127899
2007-08-29 14:16:15 +00:00
Tobias Burnus ad4a2f64b9 re PR fortran/33215 (Bind(C): Bugs with empty "name=": Creates wrong result and accepts invalid)
2007-08-29  Christopher D. Rickett  <crickett@lanl.gov>

	PR fortran/33215
	* decl.c (build_sym): Pass number of identifiers on line to
	set_binding_label.
	(set_binding_label): Verify that only one identifier given if
	NAME= specified, even if the given binding label has zero length.
	(gfc_match_bind_c): Remove declaration for has_name_equals because
	it hides the static global one that is needed.

2007-08-29  Christopher D. Rickett  <crickett@lanl.gov>

	PR fortran/33215
	* gfortran.dg/binding_label_tests_15.f03: New test case.
	* gfortran.dg/binding_label_tests_16.f03: Ditto.

From-SVN: r127898
2007-08-29 15:08:55 +02:00
Francois-Xavier Coudert 4376b7cf2b builtin-types.def (BT_FN_PTR_PTR_SIZE): New type.
* builtin-types.def (BT_FN_PTR_PTR_SIZE): New type.
	* builtins.def (BUILT_IN_REALLOC): New builtin.

	* trans-array.c (gfc_grow_array): Use gfc_call_realloc.
	(gfc_array_allocate): Use gfc_allocate_with_status and
	gfc_allocate_array_with_status.
	(gfc_array_deallocate): Use gfc_deallocate_with_status.
	(gfc_trans_dealloc_allocated): Use gfc_deallocate_with_status.
	* trans-stmt.c (gfc_trans_allocate): Use gfc_allocate_with_status.
	(gfc_trans_deallocate): Use gfc_deallocate_with_status.
	* trans.c (gfc_allocate_with_status, gfc_allocate_array_with_status,
	gfc_deallocate_with_status, gfc_call_realloc): New functions.
	* trans.h (gfc_allocate_with_status, gfc_allocate_array_with_status,
	gfc_deallocate_with_status, gfc_call_realloc): New prototypes.
	(gfor_fndecl_internal_realloc, gfor_fndecl_allocate,
	gfor_fndecl_allocate_array, gfor_fndecl_deallocate): Remove.
	* f95-lang.c (gfc_init_builtin_functions): Create decl for
	BUILT_IN_REALLOC.
	* trans-decl.c (gfor_fndecl_internal_realloc,
	gfor_fndecl_allocate, gfor_fndecl_allocate_array,
	gfor_fndecl_deallocate): Remove function decls.
	(gfc_build_builtin_function_decls): Likewise.

	* runtime/memory.c (internal_realloc, allocate, allocate_array,
	deallocate): Remove functions.
	* gfortran.map (_gfortran_allocate, _gfortran_allocate_array,
	_gfortran_deallocate, _gfortran_internal_realloc): Remove symbols.
	* libgfortran.h (error_codes): Add comment.

	* gfortran.dg/alloc_comp_basics_1.f90: Update check.
	* gfortran.dg/alloc_comp_constructor_1.f90: Update check.

From-SVN: r127897
2007-08-29 12:44:32 +00:00
Douglas Gregor 31fa49984f re PR c++/33194 (ICE: canonical types differ for identical types void ()(const char*, ...) and void ()(const char*, ...))
2007-08-29  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/33194
	* tree.c (build_type_attribute_qual_variant): Set canonical types
	on the final, unqualified attribute variant before building the
	qualified version.

2007-08-29  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/33194
	* g++.dg/other/canon-33194.C: New.

From-SVN: r127896
2007-08-29 12:25:01 +00:00
Rask Ingemann Lambertsen d2b9afb121 simd-1.c: Use SImode vector elements.
* gcc.c-torture/execute/simd-1.c: Use SImode vector elements.
	* gcc.c-torture/execute/pr23135.c: Likewise.

From-SVN: r127894
2007-08-29 10:56:21 +00:00
Uros Bizjak a80f0e5b94 * ChangeLog from my previous commit.
From-SVN: r127893
2007-08-29 11:56:39 +02:00
Kaz Kojima b875badb9d isnan_1.f90: Add -mieee for sh.
* gfortran.dg/isnan_1.f90: Add -mieee for sh.
	* gfortran.dg/nan_1.f90: Likewise.

From-SVN: r127892
2007-08-29 09:45:18 +00:00
Jie Zhang 48ccf0127f bfin.c (bfin_expand_builtin): Fix the argument order of __builtin_bfin_cmplx_mac and __builtin_bfin_cmplx_msu.
* config/bfin/bfin.c (bfin_expand_builtin): Fix the argument
	order of __builtin_bfin_cmplx_mac and __builtin_bfin_cmplx_msu.

From-SVN: r127891
2007-08-29 09:35:52 +00:00
Jie Zhang cc728da9c5 revert: bfin.md (composev2hi): Put operands into vector with correct order.
Revert
	2007-08-29  Jie Zhang  <jie.zhang@analog.com>
	* config/bfin/bfin.md (composev2hi): Put operands into vector
	with correct order.

From-SVN: r127890
2007-08-29 09:34:15 +00:00
Uros Bizjak 935cb9ac0f pr31344.c: Move to ...
* gcc.dg/pr31344.c: Move to ...
	* gcc.dg/dfp/pr31344.c: ... here.
	* gcc.dg/sibcall-6.c: Simplify dg-skip-if directive.
	* gcc.dg/20050503-1.c: Ditto.
	* gcc.dg/20050111-1.c: Simplify i?86 and x86_64 dg-options directive.
	* gcc.dg/20061127-1.c: Compile only for fpic targets.
	* gcc.dg/20060801-1.c: Ditto.

From-SVN: r127889
2007-08-29 11:18:28 +02:00
Jie Zhang 8a84c9a771 bfin.md (composev2hi): Put operands into vector with correct order.
* config/bfin/bfin.md (composev2hi): Put operands into vector
	with correct order.

From-SVN: r127888
2007-08-29 09:17:37 +00:00
Jie Zhang 4af797b502 bfin.c (bfin_expand_call): Inline PLT with l1_text attribute when appropriate.
* config/bfin/bfin.c (bfin_expand_call): Inline PLT with l1_text
	attribute when appropriate.
	(bfin_handle_l1_text_attribute): New.
	(bfin_handle_l1_data_attribute): New.
	(bfin_attribute_table): Add attributes: l1_text, l1_data,
	l1_data_A and l1_data_B.
	* doc/extend.texi (node Function Attributes): Document l1_text
	function attribute.
	(Variable Attributes): Add Blackfin subsection. Document l1_data,
	l1_data_A and l1_data_B variable attributes.

From-SVN: r127887
2007-08-29 09:15:14 +00:00
Jie Zhang e874e49fdf bfin.opt (minline-plt): Add.
* config/bfin/bfin.opt (minline-plt): Add.
	* config/bfin/bfin.c (bfin_expand_call): Inline PLT when emit
	call to global functions.
	* doc/invoke.texi (Option Summary): Mention -minline-plt.
	(Blackfin Options): Document -minline-plt.

From-SVN: r127886
2007-08-29 09:13:16 +00:00
M R Swami Reddy 1509835994 * config.sub: Add support for cr16 target.
From-SVN: r127885
2007-08-29 08:58:00 +00:00
Arnaud Charlet e4170021a9 Add test
From-SVN: r127884
2007-08-29 10:41:04 +02:00
Jerry DeLisle 0f35a72c2a Fix ChangeLog.
From-SVN: r127883
2007-08-29 04:09:20 +00:00
Jerry DeLisle 0530632811 Fix ChangeLog
From-SVN: r127882
2007-08-29 04:08:02 +00:00
Jerry DeLisle 839c09ea65 Fix ChangeLog.
From-SVN: r127881
2007-08-29 04:05:42 +00:00
Nathan Sidwell fa157b28ca m68k.c (m68k_get_function_kind): Assert we're never given a non-function.
gcc/
	* config/m68k/m68k.c (m68k_get_function_kind): Assert we're never
	given a non-function.
	(m68k_ok_for_sibcall_p): Only sibcall functions of the same kind.

gcc/testsuite/
	* gcc.target/m68k/interrupt-1.c: New.

Co-Authored-By: Kazu Hirata <kazu@codesourcery.com>

From-SVN: r127880
2007-08-29 03:53:41 +00:00
DJ Delorie bdf57c4096 * config/sh/sh.c (sh_gimplify_va_arg_expr): Fix sh2a support.
From-SVN: r127879
2007-08-28 23:37:01 -04:00
Kaveh R. Ghazi 0b51511b2f system.h (CONST_CAST): Avoid union for gcc-4.0.x.
* system.h (CONST_CAST): Avoid union for gcc-4.0.x.

From-SVN: r127878
2007-08-29 02:34:22 +00:00
Jerry DeLisle 5d75fb81c7 re PR libfortran/33055 (Runtime error in INQUIRE unit existance with -fdefault-integer-8)
2007-08-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/33055
	Revert previous patch.

From-SVN: r127877
2007-08-29 02:26:01 +00:00
GCC Administrator d05fd13654 Daily bump.
From-SVN: r127875
2007-08-29 00:17:42 +00:00
Tom Tromey e1c2b159f7 * Make-lang.in (java.tags): Don't tag '*.y' files.
From-SVN: r127874
2007-08-29 00:17:20 +00:00
Rask Ingemann Lambertsen b69b6c681a limits-blockid.c: Reduce testcase size to 10000 for targets where "int" can't hold at least 100000.
* gcc.c-torture/compile/limits-blockid.c: Reduce testcase size to
	10000 for targets where "int" can't hold at least 100000.
	* gcc.c-torture/compile/limits-enumconst.c: Likewise.
	* gcc.dg/fold-eqandshift-1.c (INT_BITS): New.
	(test5)(test6): Use it.
	* gcc.dg/pr30744-1.c (r): Use pointer sized integer.
	* gcc.dg/tree-ssa/foldaddr-1.c (foo): Likewise.
	* gcc.dg/tree-ssa/loadpre6.c (main): Likewise.
	* gcc.dg/tls/opt-5.c (__gen_tempname): Avoid overflowing 16-bit	int.
	* gcc.dg/attr-alloc_size.c (test): Likewise.

From-SVN: r127870
2007-08-28 21:01:37 +00:00
Jason Merrill c2acde1ee1 re PR c++/29000 (ICE on invalid use of template in statement-expr)
PR c++/29000
        * pt.c (build_non_dependent_expr, type_dependent_expression_p):
        Look inside STMT_EXPR.
        * semantics.c (stmt_expr_value_expr): New fn.
        * cp-tree.h: Declare it.
        * g++.dg/ext/stmtexpr12.C: New test.

From-SVN: r127868
2007-08-28 12:58:59 -04:00
Paolo Carlini 0a8fc2475a re PR c++/33209 (Broken diagnostic: 'template_type_parm' not supported by dump_expr)
/cp
2007-08-28  Paolo Carlini  <pcarlini@suse.de>

	PR c++/33209
	* error.c (dump_expr): Deal with TEMPLATE_TYPE_PARM and
	BOUND_TEMPLATE_TEMPLATE_PARM.

/testsuite
2007-08-28  Paolo Carlini  <pcarlini@suse.de>

	PR c++/33209
	* g++.dg/template/error29.C: New.

From-SVN: r127866
2007-08-28 16:41:56 +00:00
Richard Guenther bb011bbcb8 tree.h (struct tree_function_decl): Increase size of function_code bitfield.
2007-08-28  Richard Guenther  <rguenther@suse.de>

        * tree.h (struct tree_function_decl): Increase size of
        function_code bitfield.

From-SVN: r127865
2007-08-28 16:28:31 +00:00
Jakub Jelinek 08789087fc re PR fortran/22244 (dimension information is lost for multi-dimension array)
PR fortran/22244
	* Make-lang.in (fortran/trans-types.o): Depend on $(FLAGS_H).
	* trans-types.c: Include flags.h.
	(gfc_get_nodesc_array_type): Add TYPE_DECL TYPE_NAME with
	correct bounds and dimensions for packed arrays.

From-SVN: r127864
2007-08-28 18:08:57 +02:00
Jakub Jelinek 92d0af977f re PR c++/32596 (ICE with inline template specialization in anonymous namespace)
PR c++/32596
	PR c++/32400
	* pt.c (check_explicit_specialization): Set DECL_INTERFACE_KNOWN
	and DECL_NOT_REALLY_EXTERN if tmpl_func is not public.

	* g++.dg/ext/visibility/anon5.C: New test.

From-SVN: r127863
2007-08-28 18:08:02 +02:00
Dominique d'Humieres 6a1eb6a415 gamma_4.f90: Fix large-real kind selection.
2007-07-28  Dominique d'Humieres  <dominiq@lps.ens.fr>

	* gfortran.dg/gamma_4.f90: Fix large-real kind selection.

From-SVN: r127861
2007-08-28 16:47:51 +02:00
Francois-Xavier Coudert eff3e5d6c9 gamma_1.f90: Remove large-real tests.
2007-08-28  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	* gfortran.dg/gamma_1.f90: Remove large-real tests.
	* gfortran.dg/gamma_2.f90: Remove large-real tests.
	* gfortran.dg/gamma_4.f90: New: large-real tests.

From-SVN: r127860
2007-08-28 16:32:05 +02:00
Jason Merrill c206a69701 re PR c++/28558 (Trouble with __attribute__ and non-PODs)
PR c++/28558
        * cp/decl.c (groktypename): Ignore attributes applied to class type.
        * testsuite/g++.dg/ext/attrib28.C: New test.

From-SVN: r127859
2007-08-28 09:57:09 -04:00
Nathan Sidwell 1c445f037f * gcc/config/m68k/linux.h
(M68K_HONOR_TARGET_STRICT_ALIGNMENT): Redefine as 0.
	* config/m68k/m68k.c (TARGET_RETURN_IN_MEMORY): New.
	(m68k_return_in_memory): New.
	* gcc/config/m68k/m68k.h (M68K_HONOR_TARGET_STRICT_ALIGNMENT):
	New.

Co-Authored-By: Kazu Hirata <kazu@codesourcery.com>

From-SVN: r127858
2007-08-28 13:51:20 +00:00
Uros Bizjak 7f97f938a7 re PR target/32661 (__builtin_ia32_vec_ext suboptimal for pointer/ref args)
PR target/32661
	* simplify-rtx.c (simplify_binary_operation_1) [VEC_SELECT]:
	Simplify nested VEC_SELECT (with optional VEC_CONCAT operator as
	operand) when top VEC_SELECT extracts scalar element.
	* config/i386/sse.md (*vec_extract_v4si_mem): New.
	(*vec_extract_v4sf_mem): Ditto.

testsuite/ChangeLog:

	PR target/32661
	* gcc.target/i386/pr32661.c: New test.

From-SVN: r127857
2007-08-28 11:52:06 +02:00
Jakub Jelinek 0b738568da re PR middle-end/32370 (Segfault after rejecting bogus assembler)
PR middle-end/32370
	* passes.c (init_optimization_passes): Move pass_df_finish
	after pass_postreload sublist.

	* gcc.dg/pr32370.c: New test.

From-SVN: r127856
2007-08-28 11:50:04 +02:00
Jakub Jelinek 71cca28908 re PR rtl-optimization/33148 (ICE in trunc_int_for_mode, at explow.c:56 during combine)
PR rtl-optimization/33148
	* simplify-rtx.c (simplify_unary_operation_1): Only optimize
	(neg (lt X 0)) if X has scalar int mode.

	* gcc.c-torture/compile/20070827-1.c: New test.

From-SVN: r127855
2007-08-28 11:47:32 +02:00
Jakub Jelinek a7d0852d3f re PR debug/32914 (ICE in rtl_for_decl_init with -g option)
PR debug/32914
	* dwarf2out.c (rtl_for_decl_init): If vector decl has CONSTRUCTOR
	initializer, use build_vector_from_ctor if possible to create
	VECTOR_CST out of it.  If vector initializer is not VECTOR_CST
	even after this, return NULL.

	* d++.dg/debug/const3.C: New test.
	* d++.dg/debug/const4.C: New test.
	* d++.dg/debug/dwarf2/const1.C: New test.
	* d++.dg/debug/dwarf2/const2.C: New test.
	* d++.dg/debug/dwarf2/const2b.C: New test.

From-SVN: r127854
2007-08-28 11:44:57 +02:00
Arnaud Charlet 6a76d2166c Add new tests.
From-SVN: r127853
2007-08-28 11:34:54 +02:00
Gabriel Dos Reis b29ee02b34 * c-pretty-print.c (pp_c_constant): Handle COMPLEX_CST.
From-SVN: r127852
2007-08-28 09:26:03 +00:00
Richard Guenther c536a6a77a tree.h (DECL_DISREGARD_INLINE_LIMITS): New.
2007-08-28  Richard Guenther  <rguenther@suse.de>

	* tree.h (DECL_DISREGARD_INLINE_LIMITS): New.
	(struct tree_function_decl): Make function_code a bitfield.
	Add disregard_inline_limits flag.
	* cgraphunit.c (cgraph_process_new_functions): Check
	DECL_DISREGARD_INLINE_LIMITS instead of disregard_inline_limits_p.
	(cgraph_preserve_function_body_p): Likewise.
	* ipa-inline.c (compute_inline_parameters): Likewise.
	* c-decl.c (finish_function): Set DECL_DISREGARD_INLINE_LIMITS
	for GNU C extern inline functions.
	(merge_decls): Merge DECL_DISREGARD_INLINE_LIMITS.
	* tree-inline.c (disregard_inline_limits_p): Remove.
	* tree-inline.h (disregard_inline_limits_p): Likewise.
	* c-common.c (handle_always_inline_attribute): Set
	DECL_DISREGARD_INLINE_LIMITS.
	* langhooks.c (add_builtin_function): Verify the function code
	fits in the bitfield.

	cp/
	* decl.c (duplicate_decls): Merge DECL_DISREGARD_INLINE_LIMITS.

From-SVN: r127851
2007-08-28 09:03:59 +00:00
Paolo Carlini 44d5230cc3 re PR libstdc++/33128 (std::tr1::uniform_int returns value out of range)
2007-08-28  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/33128
	* include/tr1_impl/random (uniform_int<>::_M_call): Deal with
	__urng() returning negative values.
	* testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc:
	New.

From-SVN: r127849
2007-08-28 08:48:24 +00:00
Mircea Namolaru 46dc0789fe Modulo-scheduling improvements. Patch 2 of 2
Co-Authored-By: Andrey Belevantsev <abel@ispras.ru>
Co-Authored-By: Revital Eres <eres@il.ibm.com>
Co-Authored-By: Vladimir Yanovsky <yanov@il.ibm.com>

From-SVN: r127848
2007-08-28 06:52:16 +00:00
Gabriel Dos Reis 7368348cb7 error.c (dump_expr): Handle COMPLEX_CST.
* error.c (dump_expr): Handle COMPLEX_CST.
	* cxx-pretty-print.c (pp_cxx_primary_expression): Likewise.
	(pp_cxx_expression): Likewise.

From-SVN: r127847
2007-08-28 05:55:54 +00:00
Jerry DeLisle 2861f77f87 write.c (stdbool.h): Add include.
2007-08-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* io/write.c (stdbool.h): Add include. (sign_t): Move typedef to
	new file write_float.def. Include write_float.def.
	(extract_real): Delete. (calculate_sign): Delete.
	(calculate_exp): Delete. (calculate_G_format): Delete.
	(output_float): Delete. (write_float): Delete.
	* io/write_float.def (calculate_sign): Added.
	(output_float): Refactored to be independent of kind and added to this
	file for inclusion. (write_infnan): New function to write "Infinite" or
	"NaN" depending on flags passed, independent of kind.
	(CALCULATE_EXP): New macro to build kind specific functions. Use it.
	(OUTPUT_FLOAT_FMT_G): New macro, likewise. Use it.
	(DTOA, DTOAL): Macros to implement "decimal to ascii".
	(WRITE_FLOAT): New macro for kind specific write_float functions.
	(write_float): Revised function to determine kind and use WRITE_FLOAT
	to implement kind specific output.

From-SVN: r127846
2007-08-28 00:56:05 +00:00
GCC Administrator c7682132f3 Daily bump.
From-SVN: r127844
2007-08-28 00:17:39 +00:00
Alexandre Oliva 3a47c4e4f4 extend.texi (gnu_inline funtion attribute): Document C++ behavior.
gcc/ChangeLog:
* doc/extend.texi (gnu_inline funtion attribute): Document C++
behavior.
gcc/cp/ChangeLog:
* decl.c (GNU_INLINE_P): New.
(duplicate_decls): Handle gnu_inline.  Merge attributes and
some flags in overriding definitions.
(redeclaration_error_message): Handle gnu_inline.
(start_preparsed_function): Likewise.
gcc/testsuite/ChangeLog:
* g++.dg/ext/gnu-inline-common.h: New.
* g++.dg/ext/gnu-inline-global-reject.C: New.
* g++.dg/ext/gnu-inline-global.C: New.
* g++.dg/ext/gnu-inline-namespace.C: New.
* g++.dg/ext/gnu-inline-anon-namespace.C: New.
* g++.dg/ext/gnu-inline-class.C: New.
* g++.dg/ext/gnu-inline-class-static.C: New.
* g++.dg/ext/gnu-inline-template-class.C: New.
* g++.dg/ext/gnu-inline-template-func.C: New.

From-SVN: r127839
2007-08-27 20:40:00 +00:00