Commit Graph

84852 Commits

Author SHA1 Message Date
Richard Sandiford
aa4095c911 Makefile.tpl (CFLAGS_FOR_TARGET): Add -g.
* Makefile.tpl (CFLAGS_FOR_TARGET): Add -g.
	(CXXFLAGS_FOR_TARGET): Add -O2 -g.
	* Makefile.in: Regenerate.

From-SVN: r130811
2007-12-13 09:30:49 +00:00
Torbjorn Granlund
e3dafdf4d0 i386.c (ix86_rtx_costs): Check op0 for ZERO_EXTEND when computing costs for widening multiplication.
* config/i386/i386.c (ix86_rtx_costs) [MULT]: Check op0 for
        ZERO_EXTEND when computing costs for widening multiplication.

From-SVN: r130809
2007-12-13 10:19:11 +01:00
Richard Earnshaw
fe9e534218 re PR target/30192 ([arm] Wrong sp value on exit after calling __floatdidf or __floatundidf)
2007-12-13  Richard Earnshaw  <rearnsha@arm.com>

	PR target/30192
	* config/arm/ieee754-df.S (floatundidf): Fix for wrong sp value on
	exit when using hard FPA.
	* config/arm/ieee754-df.S (floatdidf): Likewise.

From-SVN: r130800
2007-12-13 01:03:53 +00:00
GCC Administrator
dce3aa5078 Daily bump.
From-SVN: r130798
2007-12-13 00:17:30 +00:00
Jakub Jelinek
fa69208410 re PR bootstrap/30589 (C99 extern inline patch broke bootstrap on i386-pc-mingw32)
PR bootstrap/30589
	* doc/install.texi: Document that for MinGW only runtime 3.12 and
	later is supported.

From-SVN: r130794
2007-12-12 21:54:10 +01:00
Tobias Burnus
96ee3a4acd re PR fortran/34254 ("character(kind=c_char) function" fails if c_char is not host associated)
2007-12-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34254
        * decl.c (match_char_kind): Support use-associated/imported
        kind parameters.
        (gfc_match_kind_spec): Support als BT_CHARACTER, when
        re-scanning kind spec.

2007-12-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34254
        * gfortran.dg/function_kinds_3.f90: New.

From-SVN: r130793
2007-12-12 19:54:26 +01:00
David Edelsohn
1de59bbd61 * config/rs6000/rs6000.c (is_mem_ref): Ignore STACK_TIE.
From-SVN: r130791
2007-12-12 12:49:29 -05:00
Aldy Hernandez
4caa08daa3 gimplify.c (gimplify_modify_expr_rhs): Handle the case when we are assigning from a constant constructor.
* gimplify.c (gimplify_modify_expr_rhs): Handle the case when we
        are assigning from a constant constructor.
        Fix wrapping in function comment.

From-SVN: r130788
2007-12-12 11:12:39 +00:00
Andreas Krebbel
ee3f344964 s390.c (s390_O_constraint_str): Limit the range for 'On' to -4G+1..-1.
2007-12-12  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.c (s390_O_constraint_str): Limit the range
	for 'On' to -4G+1..-1.
	* config/s390/constraints.md: Adjust comment accordingly.

2007-12-12  Andreas Krebbel  <krebbel1@de.ibm.com>

	* gcc.target/s390/20071212-1.c: New testcase.

From-SVN: r130787
2007-12-12 09:15:03 +00:00
DJ Delorie
675575f57a charset.c (convert_using_iconv): Close out any shift states, returning to the initial state.
* charset.c (convert_using_iconv): Close out any shift states,
returning to the initial state.

From-SVN: r130785
2007-12-11 20:38:10 -05:00
GCC Administrator
a2b677873b Daily bump.
From-SVN: r130783
2007-12-12 00:17:43 +00:00
Benjamin Kosnik
6e49161abe re PR libstdc++/34015 (warning in backward_warning.h is illegible)
2007-12-11  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/34015
	* include/backward/backward_warning.h: Adjust warning message.

From-SVN: r130778
2007-12-11 21:48:16 +00:00
Paolo Carlini
c62df8fddb stl_bvector.h (vector<bool>::reserve): Move out of line...
2007-12-11  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_bvector.h (vector<bool>::reserve): Move out of
	line...
	* include/bits/vector.tcc: ... here.

From-SVN: r130777
2007-12-11 19:08:26 +00:00
Aldy Hernandez
fcd5a1131a * decl.c (add_global_entry): Make type unsigned.
From-SVN: r130775
2007-12-11 12:48:28 +00:00
Nathan Sidwell
30895f307b rs6000.c (rs6000_emit_prologue): Use frame_reg_rtx for SPE saves.
* config/rs6000/rs6000.c (rs6000_emit_prologue): Use frame_reg_rtx
	for SPE saves.

From-SVN: r130774
2007-12-11 12:28:55 +00:00
Kai Tietz
b3cb08bd27 config/i386/cygming.h (DWARF2_UNWIND_INFO): Handle 64-bit
target same as 32-bit.

From-SVN: r130773
2007-12-11 10:46:57 +01:00
Bernhard Fischer
7389bce6b9 decl.c (match_prefix): Make seen_type a boolean.
2007-12-11  Bernhard Fischer  <aldot@gcc.gnu.org>

	* decl.c (match_prefix): Make seen_type a boolean.
	(add_global_entry): Cache type distinction.
	* trans-decl.c: Whitespace cleanup.

From-SVN: r130772
2007-12-11 09:36:13 +01:00
Jakub Jelinek
5b767b9d0c re PR c++/34238 ("static data member used, but not defined" error on member definition)
PR c++/34238
	* decl2.c (cp_write_global_declarations): Revert 2007-11-22 change.

	* g++.dg/ext/visibility/anon7.C: Add xfail.
	* g++.dg/ext/visibility/anon9.C: New test.
	* g++.dg/ext/visibility/anon10.C: New test.

From-SVN: r130771
2007-12-11 09:22:10 +01:00
Jakub Jelinek
61a861e686 re PR c++/34364 (class& is not known as as a class-type anymore after dynamic_cast)
PR c++/34364
	* rtti.c (build_dynamic_cast): Call convert_from_reference even for
	dynamic_cast in a template.

	* g++.dg/rtti/dyncast2.C: New test.

From-SVN: r130770
2007-12-11 09:20:15 +01:00
Uros Bizjak
67689d1ad6 re PR tree-optimization/34407 (verify_stmts failed)
PR tree-optimization/34407
	* gcc.dg/vect/pr34407.c: New test.

From-SVN: r130769
2007-12-11 09:08:12 +01:00
Jerry DeLisle
424cc6dcf4 re PR fortran/34411 (hang-up during read of non-expected input)
2007-12-10  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/34411
	* gfortran.dg/error_recovery_5.f90: New.
	* gfortran.dg/optional_dim_2.f90: Fix test, not related to this PR.

From-SVN: r130768
2007-12-11 03:56:05 +00:00
Jerry DeLisle
5f026f90f0 re PR fortran/34411 (hang-up during read of non-expected input)
2007-12-10  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/34411
	* io/read.c (convert_real, read_l, read_decimal, read_radix, read_f):
	Call next_record after bad read or overflow error.

From-SVN: r130767
2007-12-11 03:49:52 +00:00
GCC Administrator
36b46907d2 Daily bump.
From-SVN: r130764
2007-12-11 00:17:54 +00:00
Eric Botcazou
e74a122eae ada-tree.h (TYPE_RETURNS_BY_TARGET_PTR_P): Move around.
* ada-tree.h (TYPE_RETURNS_BY_TARGET_PTR_P): Move around.

From-SVN: r130757
2007-12-10 23:15:17 +00:00
Jakub Jelinek
4f1f33aa82 re PR tree-optimization/34371 (verify_stmts failed (incorrect sharing of tree nodes))
PR tree-optimization/34371
	* tree-vectorizer.h (struct _loop_vec_info): Add num_iters_unchanged
	field.
	(LOOP_VINFO_NITERS_UNCHANGED): Define to num_iters_unchanged field.
	* tree-vectorizer.c (set_prologue_iterations,
	slpeel_tree_peel_loop_to_edge): Call unshare_expr on
	LOOP_VINFO_NITERS_UNCHANGED before using it.

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

From-SVN: r130755
2007-12-10 23:49:43 +01:00
Simon Martin
0197270c6e re PR c++/34059 (ICE with invalid base type for class member)
gcc/cp/

2007-12-10  Simon Martin  <simartin@users.sourceforge.net>

	PR c++/34059
	* typeck.c (build_class_member_access_expr): Compute MEMBER_SCOPE from
	MEMBER's BASELINK_ACCESS_BINFO instead of its BASELINK_BINFO.

gcc/testsuite/

2007-12-10  Simon Martin  <simartin@users.sourceforge.net>

	PR c++/34059
	* g++.dg/parse/crash40.C: New test.

From-SVN: r130754
2007-12-10 22:39:27 +00:00
Eric Botcazou
1b22c72e3b re PR target/34403 (wrong frequency of block)
PR target/34403
	* config/i386/i386.c (ix86_expand_movmem): Punt if the count is large.
	(ix86_expand_setmem): Likewise.

From-SVN: r130753
2007-12-10 22:30:02 +00:00
Tobias Burnus
da9ad92397 re PR fortran/34425 (bogus warning)
2007-12-10  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34425
        * interface.c (get_expr_storage_size): Use signed integer when
        obtaining the bounds.

2007-12-10  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34425
        * gfortran.dg/argument_checking_10.f90: New.

From-SVN: r130752
2007-12-10 22:42:56 +01:00
Kenneth Zadeck
c8305c9851 [multiple changes]
2007-12-10  Kenneth Zadeck <zadeck@naturalbridge.com>

	PR rtl-optimization/34302
	* auto-inc-dec.c (attempt_change): Change place where move is
	inserted.

2007-12-10  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/34302
	* gcc.c-torture/execute/20071210-1.c: New test.

From-SVN: r130751
2007-12-10 21:31:59 +00:00
Mark Heffernan
030e2013b1 MAINTAINERS (Write After Approval): Add myself and alphabetize two misplaced entries.
* MAINTAINERS (Write After Approval): Add myself and alphabetize two
	misplaced entries.

From-SVN: r130750
2007-12-10 21:04:19 +00:00
Jonathan Wakely
cb0b7a9e86 howto.html: Add links to referenced articles.
2007-12-10  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* docs/html/21_strings/howto.html: Add links to referenced articles.

From-SVN: r130749
2007-12-10 20:16:04 +00:00
Jonathan Wakely
158be8eb71 backwards_compatibility.html: Fix markup.
2007-12-10  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* docs/html/17_intro/backwards_compatibility.html: Fix markup.
	* docs/html/17_intro/howto.html: Likewise.
	* docs/html/18_support/howto.html: Likewise.
	* docs/html/ext/concurrence.html: Likewise.
	* docs/html/documentation.html: Likewise.

From-SVN: r130748
2007-12-10 19:58:19 +00:00
Andreas Tobler
0fe0f07384 configure.ac: Enable libjava for x86_64-*-darwin9.
2007-12-10  Andreas Tobler  <a.tobler@schweiz.org>

	* configure.ac: Enable libjava for x86_64-*-darwin9.
	* configure: Regenerate.

From-SVN: r130747
2007-12-10 19:40:05 +01:00
Paolo Carlini
04e8a79272 requirements/non_uint_neg.cc: Avoid -Wall warnings.
2007-12-10  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/tr1/5_numerical_facilities/random/linear_congruential/
	requirements/non_uint_neg.cc: Avoid -Wall warnings.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	01_assoc_laguerre/compile.cc: Likewise.
	* testsuite/util/testsuite_api.h: Likewise.

From-SVN: r130746
2007-12-10 16:55:30 +00:00
Jakub Jelinek
e7de2d6f69 re PR c++/34395 (Broken diagnostic: 'type_pack_expansion' not supported by dump_type_prefix/suffix)
PR c++/34395
	* error.c (dump_type_prefix, dump_type_suffix): Handle
	TYPE_PACK_EXPANSION.

	* g++.dg/cpp0x/error1.C: New test.

From-SVN: r130745
2007-12-10 15:38:05 +01:00
Jakub Jelinek
214452b957 re PR c++/34394 (Broken diagnostic: 'abs_expr' not supported by dump_expr)
PR c++/34394
	* error.c (dump_expr): Handle ABS_EXPR.

	* g++.dg/other/error22.C: New test.

From-SVN: r130744
2007-12-10 15:31:30 +01:00
Paolo Carlini
7919bb2fba [multiple changes]
2007-12-10  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/25_algorithms/nth_element/2.cc: Avoid -Wall warnings.
	* testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/peek/wchar_t/12296.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/wchar_t/
	28277-2.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/wchar_t/
	28277-3.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/wchar_t/
	28277-4.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/
	28277-3.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/
	28277-4.cc: Likewise.
	* testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
	* testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Likewise.
	* testsuite/18_support/headers/cstddef/macros.cc: Likewise.
	* testsuite/21_strings/basic_string/inserters_extractors/
	wchar_t/28277.cc: Likewise.
	* testsuite/21_strings/basic_string/inserters_extractors/
	char/28277.cc: Likewise.
	* testsuite/26_numerics/headers/cmath/25913.cc: Likewise.
	* testsuite/ext/pb_ds/example/priority_queue_xref.cc: Likewise.
	* testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc: Likewise.
	* testsuite/ext/vstring/inserters_extractors/char/28277.cc: Likewise.
	* testsuite/ext/enc_filebuf/char/13598.cc: Likewise.
	* testsuite/22_locale/collate/compare/char/2.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/5.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/6.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/7.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/8.cc: Likewise.
	* testsuite/22_locale/codecvt/unshift/char/1.cc: Likewise.
	* testsuite/22_locale/codecvt/length/char/1.cc: Likewise.
	* testsuite/22_locale/codecvt/length/char/2.cc: Likewise.
	* testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise.
	* testsuite/22_locale/codecvt/in/char/1.cc: Likewise.
	* testsuite/22_locale/codecvt/out/char/1.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/1.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/uniform_int/
	33128.cc: Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/thread/
	mutex_weaktoshared.cc: Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/thread/
	default_weaktoshared.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/
	range.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/assign/char/
	range.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/
	range.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/
	range.cc: Likewise.
	* testsuite/23_containers/multimap/operations/1.cc: Likewise.
	* testsuite/23_containers/set/operations/1.cc: Likewise.
	* testsuite/23_containers/vector/bool/capacity/29134.cc: Likewise.
	* testsuite/23_containers/deque/modifiers/erase/1.cc: Likewise.
	* testsuite/23_containers/deque/modifiers/erase/2.cc: Likewise.
	* testsuite/23_containers/multiset/operations/1.cc: Likewise.
	* testsuite/23_containers/map/operations/1.cc: Likewise.
	* testsuite/util/testsuite_hooks.cc: Likewise.
	* testsuite/util/testsuite_rvalref.h: Likewise.

2007-12-10  Jakub Jelinek  <jakub@redhat.com>

	* include/ext/throw_allocator.h (print_to_string): Change sprintf
	format to %lu and cast ref.second.{first,second} to long.
	* include/debug/safe_iterator.tcc (_M_can_advance): Add parens to
	avoid warnings.

From-SVN: r130743
2007-12-10 13:53:10 +00:00
Jakub Jelinek
502630f495 dwarf2out.c (gen_array_type_die, [...]): For Fortran multi-dimensional arrays use DW_AT_ordering DW_ORD_col_major.
* dwarf2out.c (gen_array_type_die, gen_descr_array_type_die): For
	Fortran multi-dimensional arrays use DW_AT_ordering
	DW_ORD_col_major.

From-SVN: r130742
2007-12-10 14:05:15 +01:00
Uros Bizjak
7dc4605144 * ChangeLog: Fix my last ChangeLog entry.
From-SVN: r130739
2007-12-10 11:39:20 +01:00
Paolo Bonzini
32070c7bf2 re PR target/32086 (10% to 20% Performance Regression Between 4.1.3 and 4.3)
2007-12-10  Paolo Bonzini  <bonzini@gnu.org>

	PR target/32086
	* config/i386/i386.c (override_options): Enable -fvect-cost-model.

2007-12-10  Paolo Bonzini  <bonzini@gnu.org>

	PR target/32086
	* gcc.dg/vect/vect.exp (DEFAULT_VECTCFLAGS): Disable cost model.
	* g++.dg/vect/vect.exp (DEFAULT_VECTCFLAGS): Disable cost model.
	* gfortran.dg/vect/vect.exp (DEFAULT_VECTCFLAGS): Disable cost model.

From-SVN: r130738
2007-12-10 08:34:37 +00:00
Uros Bizjak
ec382b8ca3 i386.c (ix86_function_regparm): Ditto.
* config/i386/i386.c (ix86_function_regparm): Ditto. Use REGPARM_MAX
	to check that no regparm hard register is taken by a fixed register
	variable. Check up to and including DI_REG when adjusting regparm
	value due to fixed regs usage.
	(rep_prefix_usable): Check fixed_regs array, not global_regs array for
	available hard registers.
	(ix86_expand_strlen): Ditto.
	* config/i386/i386.md (strmov): Ditto.
	(cmpstrnsi): Ditto.

From-SVN: r130737
2007-12-10 08:46:12 +01:00
Kaz Kojima
466e4b7a17 genopinit.c: Include tm_p.h in generated file.
* genopinit.c: Include tm_p.h in generated file.

	* config/arm/neon.md (vec_set<mode>_internal): Use INTVAL
	to extract the integer from operands[2].
	(vec_setv2di_internal): Likewise.

	* config/arm/arm.c (arm_size_return_regs): Make return type
	unsigned.
	(arm_init_neon_builtins): Move code after declarations.

From-SVN: r130736
2007-12-10 05:42:02 +00:00
Hans-Peter Nilsson
7fb446a36d reload.c (find_reloads_address_1): To properly mark as an autoincdec...
* reload.c (find_reloads_address_1): To properly mark as an
	autoincdec, pass X for non-NULL OUT in call to push_reload for
	autoincdec which can't be trivially used as an address.

From-SVN: r130734
2007-12-10 01:09:44 +00:00
Pranav Bhandarkar
ac8bc93ea6 caller-save.c (insert_one_insn): If inserting before a call_insn then the registers containing the arguments of...
* caller-save.c (insert_one_insn): If inserting before a call_insn
	then the registers containing the arguments of the call are
	live_throughout in the new insn.

Co-Authored-By: Hans-Peter Nilsson <hp@axis.com>

From-SVN: r130733
2007-12-10 01:01:03 +00:00
Benjamin Kosnik
79e790677d howto.html: Update.
2007-12-09  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/html/ext/howto.html: Update.
	* docs/html/ext/sgiexts.html: Same.
	* docs/html/ext/concurrence.html: New. Document extensions.
	* docs/html/17_intro/api.html: Move some bits...
	* docs/html/17_intro/backwards_compatibility.html: here. New. Add
	compatibility suggestions, move existing ones.
	* docs/html/17_intro/howto.html: Update info.
	* docs/html/18_support/howto.html: Tweak.
	* docs/html/faq/index.html: Update thread info.
	* docs/html/documentation.html: Add links.
	* docs/html/20_util/allocator.html: Update info.
	* include/precompiled/stdc++.h: Add C++0x includes if appropriate.
	* testsuite/17_intro/headers/c++200x/all.cc: Same.

From-SVN: r130732
2007-12-10 00:38:36 +00:00
GCC Administrator
6e2215152b Daily bump.
From-SVN: r130730
2007-12-10 00:17:30 +00:00
Jakub Jelinek
23372b3faa re PR c++/34178 (Compilation using -frepo fails)
PR c++/34178
	PR c++/34340
	* repo.c (repo_emit_p): Return 2 for DECL_INTEGRAL_CONSTANT_VAR_P
	in class scope rather than DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P.
	Return 2 also if DECL_EXPLICIT_INSTANTIATION.
	* decl2.c (import_export_decl): Don't make VAR_DECLs import_p when
	flag_use_repository and repo_emit_p returned 2.

	* g++.dg/template/repo6.C: New test.
	* g++.dg/template/repo7.C: New test.
	* g++.dg/template/repo8.C: New test.

From-SVN: r130727
2007-12-09 22:26:29 +01:00
Jonathan Wakely
799a6e3602 testsuite_allocator.h, [...]: Remove semi-colons after namespace declarations.
2007-12-09  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* testsuite/util/testsuite_allocator.h,
	testsuite/util/testsuite_hooks.cc,
	testsuite/util/testsuite_character.h,
	testsuite/util/testsuite_performance.h,
	testsuite/util/testsuite_rvalref.h, testsuite/util/testsuite_io.h,
	testsuite/util/testsuite_allocator.cc: Remove semi-colons after
	namespace declarations.

From-SVN: r130726
2007-12-09 19:43:49 +00:00
John David Anglin
6982c5d4c8 re PR target/32889 (ICE in delete_output_reload, at reload1.c:7926)
PR middle-end/32889
	PR target/34091
	* pa.md: Consolidate HImode and QImode move patterns into one pattern
	each, eliminating floating-point alternatives.
	* pa-protos.h (pa_cannot_change_mode_class, pa_modes_tieable_p):
	Declare functions.
	* pa-64.h (SECONDARY_MEMORY_NEEDED): Define here.
	* pa.c (pa_secondary_reload): Use an intermediate general register
	for copies to/from floating-point register classes.  Simplify code
	SHIFT_REGS class.  Provide additional comments.
	(pa_cannot_change_mode_class, pa_modes_tieable_p): New functions.
	* pa.h (MODES_TIEABLE_P): Use pa_modes_tieable_p.
	(SECONDARY_MEMORY_NEEDED): Delete define.
	(INT14_OK_STRICT): Define.
	(MODE_OK_FOR_SCALED_INDEXING_P): Allow SFmode and DFmode when using
	soft float.
	(MODE_OK_FOR_UNSCALED_INDEXING_P): Likewise.
	(GO_IF_LEGITIMATE_ADDRESS): Use INT14_OK_STRICT in REG+D case for
	SFmode and DFmode.
	(LEGITIMIZE_RELOAD_ADDRESS): Use INT14_OK_STRICT in mask selection.
	Align DImode offsets when generating 64-bit code.
	* pa32-regs.h (VALID_FP_MODE_P): Remove QImode and HImode.
	(CANNOT_CHANGE_MODE_CLASS): Define.
	* pa64-regs.h (VALID_FP_MODE_P): Remove QImode and HImode.
	(CANNOT_CHANGE_MODE_CLASS): Define using pa_cannot_change_mode_class.

From-SVN: r130725
2007-12-09 18:02:08 +00:00
Jakub Jelinek
fad0afd7d7 re PR fortran/22244 (dimension information is lost for multi-dimension array)
PR fortran/22244
	* langhooks-def.h (LANG_HOOKS_GET_ARRAY_DESCR_INFO): Define.
	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
	* langhooks.h (struct array_descr_info): Forward declaration.
	(struct lang_hooks_for_types): Add get_array_descr_info field.
	* dwarf2.h (DW_AT_bit_stride, DW_AT_byte_stride): New.
	(DW_AT_stride_size, DW_AT_stride): Keep around for Dwarf2
	compatibility.
	* dwarf2out.h (struct array_descr_info): New type.
	* dwarf2out.c (dwarf_attr_name): Rename DW_AT_stride to
	DW_AT_byte_stride and DW_AT_stride_size to DW_AT_bit_size.
	(descr_info_loc, add_descr_info_field, gen_descr_array_type_die):
	New functions.
	(gen_type_die_with_usage): Call lang_hooks.types.get_array_descr_info
	and gen_descr_array_type_die.

	* trans.h (struct array_descr_info): Forward declaration.
	(gfc_get_array_descr_info): New prototype.
	(enum gfc_array_kind): New type.
	(struct lang_type): Add akind field.
	(GFC_TYPE_ARRAY_AKIND): Define.
	* trans-types.c: Include dwarf2out.h.
	(gfc_build_array_type): Add akind argument.  Adjust
	gfc_get_array_type_bounds call.
	(gfc_get_nodesc_array_type): Include proper debug info even for
	assumed-size arrays.
	(gfc_get_array_type_bounds): Add akind argument, set
	GFC_TYPE_ARRAY_AKIND to it.
	(gfc_sym_type, gfc_get_derived_type): Adjust gfc_build_array_type
	callers.
	(gfc_get_array_descr_info): New function.
	* trans-array.c (gfc_trans_create_temp_array,
	gfc_conv_expr_descriptor): Adjust gfc_get_array_type_bounds
	callers.
	* trans-stmt.c (gfc_trans_pointer_assign_need_temp): Likewise.
	* trans-types.h (gfc_get_array_type_bounds): Adjust prototype.
	* Make-lang.in (fortran/trans-types.o): Depend on dwarf2out.h.
	* f95-lang.c (LANG_HOOKS_GET_ARRAY_DESCR_INFO): Define.

From-SVN: r130724
2007-12-09 18:08:06 +01:00