Jakub Jelinek [Wed, 12 Dec 2007 20:54:10 +0000 (21:54 +0100)]
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
Tobias Burnus [Wed, 12 Dec 2007 18:54:26 +0000 (19:54 +0100)]
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
David Edelsohn [Wed, 12 Dec 2007 17:49:29 +0000 (17:49 +0000)]
* config/rs6000/rs6000.c (is_mem_ref): Ignore STACK_TIE.
From-SVN: r130791
Aldy Hernandez [Wed, 12 Dec 2007 11:12:39 +0000 (11:12 +0000)]
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
Andreas Krebbel [Wed, 12 Dec 2007 09:15:03 +0000 (09:15 +0000)]
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
DJ Delorie [Wed, 12 Dec 2007 01:38:10 +0000 (20:38 -0500)]
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
GCC Administrator [Wed, 12 Dec 2007 00:17:43 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r130783
Benjamin Kosnik [Tue, 11 Dec 2007 21:48:16 +0000 (21:48 +0000)]
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
Paolo Carlini [Tue, 11 Dec 2007 19:08:26 +0000 (19:08 +0000)]
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
Aldy Hernandez [Tue, 11 Dec 2007 12:48:28 +0000 (12:48 +0000)]
* decl.c (add_global_entry): Make type unsigned.
From-SVN: r130775
Nathan Sidwell [Tue, 11 Dec 2007 12:28:55 +0000 (12:28 +0000)]
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
Kai Tietz [Tue, 11 Dec 2007 09:46:57 +0000 (09:46 +0000)]
config/i386/cygming.h (DWARF2_UNWIND_INFO): Handle 64-bit
target same as 32-bit.
From-SVN: r130773
Bernhard Fischer [Tue, 11 Dec 2007 08:36:13 +0000 (09:36 +0100)]
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
Jakub Jelinek [Tue, 11 Dec 2007 08:22:10 +0000 (09:22 +0100)]
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
Jakub Jelinek [Tue, 11 Dec 2007 08:20:15 +0000 (09:20 +0100)]
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
Uros Bizjak [Tue, 11 Dec 2007 08:08:12 +0000 (09:08 +0100)]
re PR tree-optimization/34407 (verify_stmts failed)
PR tree-optimization/34407
* gcc.dg/vect/pr34407.c: New test.
From-SVN: r130769
Jerry DeLisle [Tue, 11 Dec 2007 03:56:05 +0000 (03:56 +0000)]
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
Jerry DeLisle [Tue, 11 Dec 2007 03:49:52 +0000 (03:49 +0000)]
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
GCC Administrator [Tue, 11 Dec 2007 00:17:54 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r130764
Eric Botcazou [Mon, 10 Dec 2007 23:15:17 +0000 (23:15 +0000)]
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
Jakub Jelinek [Mon, 10 Dec 2007 22:49:43 +0000 (23:49 +0100)]
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
Simon Martin [Mon, 10 Dec 2007 22:39:27 +0000 (22:39 +0000)]
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
Eric Botcazou [Mon, 10 Dec 2007 22:30:02 +0000 (23:30 +0100)]
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
Tobias Burnus [Mon, 10 Dec 2007 21:42:56 +0000 (22:42 +0100)]
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
Kenneth Zadeck [Mon, 10 Dec 2007 21:31:59 +0000 (21:31 +0000)]
[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
Mark Heffernan [Mon, 10 Dec 2007 21:04:19 +0000 (21:04 +0000)]
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
Jonathan Wakely [Mon, 10 Dec 2007 20:16:04 +0000 (20:16 +0000)]
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
Jonathan Wakely [Mon, 10 Dec 2007 19:58:19 +0000 (19:58 +0000)]
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
Andreas Tobler [Mon, 10 Dec 2007 18:40:05 +0000 (18:40 +0000)]
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
Paolo Carlini [Mon, 10 Dec 2007 16:55:30 +0000 (16:55 +0000)]
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
Jakub Jelinek [Mon, 10 Dec 2007 14:38:05 +0000 (15:38 +0100)]
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
Jakub Jelinek [Mon, 10 Dec 2007 14:31:30 +0000 (15:31 +0100)]
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
Paolo Carlini [Mon, 10 Dec 2007 13:53:10 +0000 (13:53 +0000)]
[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
Jakub Jelinek [Mon, 10 Dec 2007 13:05:15 +0000 (14:05 +0100)]
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
Uros Bizjak [Mon, 10 Dec 2007 10:39:20 +0000 (11:39 +0100)]
* ChangeLog: Fix my last ChangeLog entry.
From-SVN: r130739
Paolo Bonzini [Mon, 10 Dec 2007 08:34:37 +0000 (08:34 +0000)]
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
Uros Bizjak [Mon, 10 Dec 2007 07:46:12 +0000 (08:46 +0100)]
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
Kaz Kojima [Mon, 10 Dec 2007 05:42:02 +0000 (05:42 +0000)]
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
Hans-Peter Nilsson [Mon, 10 Dec 2007 01:09:44 +0000 (01:09 +0000)]
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
Pranav Bhandarkar [Mon, 10 Dec 2007 01:01:03 +0000 (01:01 +0000)]
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
Benjamin Kosnik [Mon, 10 Dec 2007 00:38:36 +0000 (00:38 +0000)]
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
GCC Administrator [Mon, 10 Dec 2007 00:17:30 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r130730
Jakub Jelinek [Sun, 9 Dec 2007 21:26:29 +0000 (22:26 +0100)]
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
Jonathan Wakely [Sun, 9 Dec 2007 19:43:49 +0000 (19:43 +0000)]
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
John David Anglin [Sun, 9 Dec 2007 18:02:08 +0000 (18:02 +0000)]
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
Jakub Jelinek [Sun, 9 Dec 2007 17:08:06 +0000 (18:08 +0100)]
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
Tobias Burnus [Sun, 9 Dec 2007 12:58:25 +0000 (13:58 +0100)]
[multiple changes]
2007-12-09 Tobias Burnus <burnus@net-b.de>
PR fortran/34404
* io/list_read.c (parse_real): Remove superfluous "goto bad;".
2007-12-09 H.J. Lu <hjl@lucon.org>
Tobias Burnus <burnus@net-b.de>
PR fortran/34404
* gfortran.dg/read_2.f90: New.
From-SVN: r130723
Ben Elliston [Sun, 9 Dec 2007 12:27:19 +0000 (23:27 +1100)]
Fix formatting of 2007-12-07 entry.
From-SVN: r130722
Richard Sandiford [Sun, 9 Dec 2007 12:07:51 +0000 (12:07 +0000)]
target-supports.exp (check_effective_target_tls_native): Fix typo.
gcc/testsuite/
* lib/target-supports.exp (check_effective_target_tls_native):
Fix typo.
From-SVN: r130721
Samuel Tardieu [Sun, 9 Dec 2007 11:07:54 +0000 (11:07 +0000)]
re PR ada/34366 (Legal program rejected, various anonymous access-to-subprogram types, Ada 2005)
gcc/ada/
PR ada/34366
* sem_ch3.adb (Designates_T): New function.
(Mentions_T): Factor reusable part of the logic into Designates_T.
Consider non-access parameters and access and non-access result.
(Check_Anonymous_Access_Components): Set ekind of anonymous access to
E_Subprogram_Type to E_Anonymous_Access_Subprogram_Type.
* einfo.ads: Update comment for E_Anonymous_Access_Subprogram_Type.
gcc/testsuite/
PR ada/34366
* gnat.dg/enclosing_record_reference.ads,
gnat.dg/enclosing_record_reference.adb: New test.
From-SVN: r130720
Paul Thomas [Sun, 9 Dec 2007 09:17:24 +0000 (09:17 +0000)]
re PR fortran/32129 (ICE: Procedure call with array-section-actual to scalar dummy)
2007-12-09 Paul Thomas <pault@gcc.gnu.org>
PR fortran/32129
* dump-parse-tree.c (gfc_show_expr_n): New function for
debugging.
* gfortran.h : Add prototype for gfc_show_expr_n.
* expr.c (simplify_constructor): Copy the constructor
expression and try to simplify that. If success, replace the
original. Otherwise discard the copy, keep going through
the structure and return success.
PR fortran/31487
* decl.c (build_struct): Pad out default initializers with
spaces to the component character length.
2007-12-09 Paul Thomas <pault@gcc.gnu.org>
PR fortran/32129
* gfortran.dg/derived_comp_array_ref_6.f90: New test.
* gfortran.dg/derived_comp_array_ref_7.f90: New test.
PR fortran/31487
* gfortran.dg/char_component_initializer_1.f90: New test.
From-SVN: r130719
GCC Administrator [Sun, 9 Dec 2007 00:17:26 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r130716
Tobias Burnus [Sat, 8 Dec 2007 21:46:56 +0000 (22:46 +0100)]
re PR fortran/34342 (BOZ extensions not diagnosed as such with -std=f95)
2007-12-08 Tobias Burnus <burnus@net-b.de>
PR fortran/34342
PR fortran/34345
PR fortran/18026
PR fortran/29471
* gfortran.texi (BOZ literal constants): Improve documentation
and adapt for BOZ changes.
* Make-lang.ini (resolve.o): Add target-memory.h dependency.
* gfortran.h (gfc_expr): Add is_boz flag.
* expr.c: Include target-memory.h.
(gfc_check_assign): Support transferring BOZ for real/cmlx.
* resolve.c: Include target-memory.h
(resolve_ordinary_assign): Support transferring BOZ for real/cmlx.
* target-memory.c (gfc_convert_boz): New function.
* target-memory.c (gfc_convert_boz): Add prototype.
* primary.c (match_boz_constant): Set is_boz, enable F95 error
also without -pedantic, and allow for Fortran 2003 BOZ.
(match_real_constant): Fix comment.
* simplify.c
* (simplify_cmplx,gfc_simplify_dble,gfc_simplify_float,
gfc_simplify_real): Support Fortran 2003 BOZ.
2007-12-08 Tobias Burnus <burnus@net-b.de>
PR fortran/34342
PR fortran/34345
PR fortran/18026
PR fortran/29471
* gfortran.dg/boz_8.f90: New.
* gfortran.dg/boz_9.f90: New.
* gfortran.dg/boz_10.f90: New.
* gfortran.dg/boz_7.f90: Update dg-warning.
* gfortran.dg/pr16433.f: Add dg-error.
* gfortan.dg/ibits.f90: Update dg-warning.
* gfortran.dg/unf_io_convert_1.f90: Update/delete dg-warning.
* gfortran.dg/unf_io_convert_2.f90: Ditto.
From-SVN: r130713
Jakub Jelinek [Sat, 8 Dec 2007 21:00:06 +0000 (22:00 +0100)]
re PR fortran/34359 (ICE in December 6 version of gfortran when compiling a file with two routines that contain INCLUDE statements)
PR fortran/34359
* gfortran.h (gfc_file): Remove sibling and down fields.
* scanner.c (file_changes, file_changes_cur, file_changes_count,
file_changes_allocated): New variables.
(add_file_change, report_file_change): New functions.
(change_file): Remove.
(gfc_start_source_files, gfc_end_source_files): Call
report_file_change instead of change_file.
(gfc_advance_line): Call report_file_change instead of change_file,
call it even if lb->file == lb->next->file.
(get_file): Revert last changes.
(preprocessor_line): Call add_file_change when entering or leaving
a file.
(load_file): Likewise. Set file_change[...].lb for all newly added
file changes.
* gfortran.dg/include_1.f90: New test.
* gfortran.dg/include_1.inc: New.
* gfortran.dg/include_2.f90: New test.
From-SVN: r130712
David Daney [Sat, 8 Dec 2007 19:57:40 +0000 (19:57 +0000)]
n32.S (ffi_call_N32): Replace dadd with ADDU...
2007-12-08 David Daney <ddaney@avtrex.com>
* src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
SUBU, add with ADDU and use smaller code sequences.
From-SVN: r130711
Paul de Weerd [Sat, 8 Dec 2007 19:26:33 +0000 (20:26 +0100)]
200x-xx-xx Paul de Weerd <weerd@weirdnet.nl>
gcc/testsuite/
200x-xx-xx Paul de Weerd <weerd@weirdnet.nl>
* gcc.c-torture/compile/
20011130-2.c: Fix typo.
From-SVN: r130710
Andreas Tobler [Sat, 8 Dec 2007 19:23:58 +0000 (19:23 +0000)]
configure.host: Add bits for i?86-*-darwin9 and x86_64-*-darwin9.
2007-12-08 Andreas Tobler <a.tobler@schweiz.org>
* configure.host: Add bits for i?86-*-darwin9 and x86_64-*-darwin9.
* configure.ac: Add darwin-signal.h to x86_64-*-darwin9 and
i?86-*darwin9.
* configure.in: Regenerate.
* darwin.cc: Add definitions for Darwin specific functions for 64-bit.
(darwin_java_register_dyld_add_image_hook): Use this specific
functions.
* Makefile.am (gij_LDFLAGS): Add extra_gij_ldflags for Darwin9.
* Makefile.in: Regenerate.
* include/Makefile.in: Likewise.
* gcj/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
* testsuite/lib/libjava.exp (libjava_arguments): Add allow_stack_execute
for *-*-darwin9*.
From-SVN: r130709
Tobias Burnus [Sat, 8 Dec 2007 15:51:52 +0000 (16:51 +0100)]
re PR fortran/34319 (I/O: Support "NaN", "Infinity" and "INF" as input)
2007-12-08 Tobias Burnus <burnus@net-b.de>
PR fortran/34319
* io/list_read.c (parse_real, read_real): Support NaN/Infinity.
2007-12-08 Tobias Burnus <burnus@net-b.de>
PR fortran/34319
* gfortran.dg/nan_3.f90: New.
From-SVN: r130708
Richard Guenther [Sat, 8 Dec 2007 14:51:59 +0000 (14:51 +0000)]
re PR tree-optimization/34391 (Vectorizer does not fix up alias information correctly)
2007-12-08 Richard Guenther <rguenther@suse.de>
PR tree-optimization/34391
* tree-vect-transform.c (vect_setup_realignment): Mark new
symbols for renaming.
From-SVN: r130707
Bill Maddox [Sat, 8 Dec 2007 03:02:10 +0000 (03:02 +0000)]
Add myself to MAINTAINERS file.
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r130704
GCC Administrator [Sat, 8 Dec 2007 00:17:11 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r130702
David Daney [Fri, 7 Dec 2007 23:21:04 +0000 (23:21 +0000)]
ffi.c (ffi_prep_cif_machdep): Handle long double return type.
2007-12-07 David Daney <ddaney@avtrex.com>
* src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
type.
From-SVN: r130699
Bob Wilson [Fri, 7 Dec 2007 23:02:46 +0000 (23:02 +0000)]
xtensa.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
* config/xtensa/xtensa.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
(ASM_OUTPUT_DWARF_PCREL): Define.
From-SVN: r130697
Samuel Tardieu [Fri, 7 Dec 2007 22:23:39 +0000 (22:23 +0000)]
Fix wrong PR number in approved submitters comment (in ada/ChangeLog):
PR ada/34261 -> PR ada/34361.
Corresponds to commit 130695.
From-SVN: r130696
Ludovic Brenta [Fri, 7 Dec 2007 22:19:22 +0000 (22:19 +0000)]
re PR target/34261 (Directed rounding doesn't work on MacOS X)
2007-12-07 Ludovic Brenta <ludovic@ludovic-brenta.org>
gcc/ada/
PR ada/34261
* mlib-tgt.adb, mlib-tgt.ads: Fix comments at the top to reflect
the new implementation of target-specific calls.
From-SVN: r130695
Jakub Jelinek [Fri, 7 Dec 2007 20:12:10 +0000 (21:12 +0100)]
* g++.old-deja/g++.mike/empty.C: Remove 2 xfails.
From-SVN: r130694
Richard Guenther [Fri, 7 Dec 2007 19:11:31 +0000 (19:11 +0000)]
re PR middle-end/34382 (-fforce-addr completely broken)
2007-12-07 Richard Guenther <rguenther@suse.de>
PR middle-end/34382
* opts.c (common_handle_option): Handle OPT_fforce_addr.
From-SVN: r130693
Samuel Tardieu [Fri, 7 Dec 2007 18:03:20 +0000 (18:03 +0000)]
re PR ada/21346 (Ada.Directories.Compose raises exception if Containing_Directory is empty string)
gcc/ada/
PR ada/21346
* a-direct.adb (Compose): Containing_Directory can be an empty string.
gcc/testsuite/
PR ada/21346
* gnat.dg/compose.adb: New test.
From-SVN: r130692
Aldy Hernandez [Fri, 7 Dec 2007 16:49:33 +0000 (16:49 +0000)]
+ * m32c.h (LEGITIMIZE_ADDRESS): Use WIN instead of win.
+ * m32c.h (LEGITIMIZE_ADDRESS): Use WIN instead of win.
+ (LEGITIMIZE_RELOAD_ADDRESS): Same.
From-SVN: r130691
Olivier Hainque [Fri, 7 Dec 2007 15:52:43 +0000 (15:52 +0000)]
decl.c (gnat_to_gnu_entity): When computing the designated full view...
2007-12-07 Olivier Hainque <hainque@adacore.com>
ada/
* decl.c (gnat_to_gnu_entity) <case E_Access_Type>: When computing
the designated full view, only follow a second level Full_View link
for Non_Limited_Views of from_limited_with references.
testsuite/
* gnat.dg/tamdt*.ad?: Support for ...
* gnat.dg/test_tamdt.adb: New test.
From-SVN: r130679
Olivier Hainque [Fri, 7 Dec 2007 15:33:48 +0000 (15:33 +0000)]
unc_memops.ads: Comment out the alloc/free/realloc exports and document how these can be exercised.
2007-12-07 Olivier Hainque <hainque@adacore.com>
testsuite/
* gnat.dg/unc_memops.ads: Comment out the alloc/free/realloc
exports and document how these can be exercised.
From-SVN: r130678
Samuel Tardieu [Fri, 7 Dec 2007 14:37:36 +0000 (14:37 +0000)]
sem_ch3.adb (Analyze_Object_Declaration): Signal an error when an access to constant is used to initialize an access value.
gcc/ada/
* sem_ch3.adb (Analyze_Object_Declaration): Signal an error
when an access to constant is used to initialize an access
value.
gcc/testsuite/
* gnat.dg/specs/access_constant_decl.ads: New test.
From-SVN: r130677
Samuel Tardieu [Fri, 7 Dec 2007 14:35:22 +0000 (14:35 +0000)]
re PR ada/15805 (Illegal program not detected, allows writing through access to constant)
gcc/ada/
PR ada/15805
* sem_ch6.adb (Process_Formals): Prevent an access type formal
to be initialized with an access to constant object.
gcc/testsuite/
PR ada/15805
* gnat.dg/specs/access_constants.ads: New test.
From-SVN: r130676
Samuel Tardieu [Fri, 7 Dec 2007 14:31:48 +0000 (14:31 +0000)]
re PR ada/29157 (gnattools fail on cross compilation - Makefile bug?)
gcc/
PR ada/29157
* doc/install.texi: Explain how to check for a clean environment when
building GNAT.
From-SVN: r130675
Olivier Hainque [Fri, 7 Dec 2007 10:50:23 +0000 (10:50 +0000)]
re PR ada/34173 (FAIL: gnat.dg/release_unc_maxalign.adb execution test)
2007-12-07 Olivier Hainque <hainque@adacore.com>
PR ada/34173
* decl.c (gnat_to_gnu_entity) <case E_Array_Type>: When setting
the alignment on the GCC XUA array type, set TYPE_USER_ALIGN if
this is from an alignment clause on the GNAT entity.
* utils.c (create_field_decl): Rewrite the computation of DECL_ALIGN
to distinguish the case where we set it from the type's alignment.
When so, propagate TYPE_USER_ALIGN into DECL_USER_ALIGN to indicate
whether this alignment was set from an explicit alignment clause.
From-SVN: r130673
Richard Guenther [Fri, 7 Dec 2007 10:39:14 +0000 (10:39 +0000)]
tree-profile.c (gcov_type_tmp_var): New global variable.
2007-12-07 Richard Guenther <rguenther@suse.de>
* tree-profile.c (gcov_type_tmp_var): New global variable.
(tree_gen_edge_profiler): Use a single shared variable decl per
function for edge counter incrementing.
(tree_profiling): Re-set the shared variable.
From-SVN: r130672
Bob Wilson [Fri, 7 Dec 2007 05:14:44 +0000 (05:14 +0000)]
* config/xtensa/xtensa.c (xtensa_va_start): Add prototype.
From-SVN: r130671
GCC Administrator [Fri, 7 Dec 2007 00:17:32 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r130668
Eric Botcazou [Thu, 6 Dec 2007 22:39:58 +0000 (22:39 +0000)]
decl.c (make_packable_type): Revert last change.
* decl.c (make_packable_type): Revert last change.
(gnat_to_gnu_field): Avoid setting size and position multiple times.
* utils.c (finish_record_type): Retrieve the real name of the type.
From-SVN: r130665
David Daney [Thu, 6 Dec 2007 22:02:22 +0000 (22:02 +0000)]
ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already defined.
2007-12-06 David Daney <ddaney@avtrex.com>
* include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
defined.
(ffi_java_raw): New typedef.
(ffi_java_raw_call, ffi_java_ptrarray_to_raw,
ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
ffi_java_raw.
(ffi_java_raw_closure) : Same.
(ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
parameter types.
* src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
FFI_SIZEOF_JAVA_RAW.
(ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
sizeof(ffi_java_raw) for alignment calculations.
(ffi_java_ptrarray_to_raw): Same.
(ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
if FFI_SIZEOF_JAVA_RAW == 4.
(ffi_java_raw_to_rvalue): Same.
(ffi_java_raw_call): Change type of raw to ffi_java_raw.
(ffi_java_translate_args): Same.
(ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
parameter types.
* src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
2007-12-06 David Daney <ddaney@avtrex.com>
* interpret.cc: Replace ffi_raw with INTERP_FFI_RAW_TYPE throughout.
(ncode_closure, ffi_closure_fun): Define versions for
non-FFI_NATIVE_RAW_API case.
* include/java-interp.h (INTERP_FFI_RAW_TYPE): Define and use to
replace ffi_raw throughout.
* jni.cc, interpret-run.cc: Replace ffi_raw with INTERP_FFI_RAW_TYPE
throughout.
From-SVN: r130660
Sebastian Pop [Thu, 6 Dec 2007 19:32:21 +0000 (19:32 +0000)]
ltrans-7.f90: New.
2007-12-06 Sebastian Pop <sebastian.pop@amd.com>
* gfortran.dg/ltrans-7.f90: New.
From-SVN: r130658
Andreas Tobler [Thu, 6 Dec 2007 19:23:05 +0000 (19:23 +0000)]
jni.exp (gcj_jni_get_cxxflags_invocation): Make the testsuite multilib aware for Darwin.
2007-12-06 Andreas Tobler <a.tobler@schweiz.org>
* testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation): Make
the testsuite multilib aware for Darwin.
From-SVN: r130657
Tom Tromey [Thu, 6 Dec 2007 18:56:26 +0000 (18:56 +0000)]
re PR c/29172 (--combine can't handle #pragma once)
gcc
PR c/29172:
* c-opts.c (c_common_parse_file): Call cpp_clear_file_cache.
libcpp
PR c/29172:
* internal.h (struct cpp_reader) <file_hash_entries>: Changed
type.
<file_hash_entries_allocated, file_hash_entries_used>: Removed.
* files.c (FILE_HASH_POOL_SIZE): New macro.
(struct file_hash_entry_pool): New.
(destroy_all_cpp_files): New function.
(allocate_file_hash_entries): Allocate a file_hash_entry_pool.
(new_file_hash_entry): Update.
(free_file_hash_entries): New function.
(_cpp_cleanup_files): Call free_file_hash_entries and
destroy_all_cpp_files.
(cpp_clear_file_cache): New function.
* include/cpplib.h (cpp_clear_file_cache): Declare.
From-SVN: r130656
David Daney [Thu, 6 Dec 2007 18:23:16 +0000 (18:23 +0000)]
n32.S (ffi_closure_N32): Use 64-bit add instruction on pointer values.
2007-12-06 David Daney <ddaney@avtrex.com>
* src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
pointer values.
From-SVN: r130655
Richard Sandiford [Thu, 6 Dec 2007 17:54:59 +0000 (17:54 +0000)]
Fix last commit.
From-SVN: r130654
Richard Sandiford [Thu, 6 Dec 2007 17:48:43 +0000 (17:48 +0000)]
mips.c (mips_function_ok_for_sibcall): Use targetm.binds_local_p instead of DECL_EXTERNAL.
gcc/
* config/mips/mips.c (mips_function_ok_for_sibcall): Use
targetm.binds_local_p instead of DECL_EXTERNAL.
From-SVN: r130653
Richard Sandiford [Thu, 6 Dec 2007 17:42:48 +0000 (17:42 +0000)]
mt-sde (CFLAGS_FOR_TARGET, [...]): Use +=, not =.
config/
* mt-sde (CFLAGS_FOR_TARGET, CXXFLAGS_FOR_TARGET): Use +=, not =.
* mt-mips-elfoabi: Likewise.
From-SVN: r130652
Harsha Jagasia [Thu, 6 Dec 2007 16:18:55 +0000 (16:18 +0000)]
tree-vectorizer.c (slpeel_add_loop_guard): Gimplify the condition.
2007-12-05 Harsha Jagasia <harsha.jagasia@amd.com>
* tree-vectorizer.c (slpeel_add_loop_guard): Gimplify the condition.
(set_prologue_iterations): New. Set the prologue iterations to total
number of scalar iterations if the cost model check indicates that
scalar code should be generated.
(slpeel_tree_peel_loop_to_edge): Add a new parameter and code for
generating the cost condition for epilog. Call
set_prologue_iterations to generate cost condition for prolog.
(new_loop_vec_info): Initialize LOOP_VINFO_NITERS_UNCHANGED.
* tree-vectorizer.h (LOOP_VINFO_NITERS_UNCHANGED): New.
(slpeel_tree_peel_loop_to_edge): Update declaration.
(set_prologue_iterations): New declaration.
* tree-vect-analyze.c (vect_analyze_loop_form): Update
LOOP_VINFO_NITERS_UNCHANGED.
* tree-vect-transform.c
(vect_estimate_min_profitable_iters): Add new parameter and
code to check if run time cost model test is needed.
Remove code that adds builtin vectorization cost to scalar
outside cost for the run time cost model test. If run time
cost model test is needed add the appropriate guard cost to
the scalar outside cost. The guard cost depends on whether
the guard is generated at versioning or at prolog generation
or at epilog generation. Change cost model equation to include
scalar outside cost.
(conservative_cost_threshold): New. Return the less conservative
profitability threshold between the cost model threshold and the
user defined vectorization threshold.
(vect_do_peeling_for_loop_bound): Call conservative_cost_threshold.
(vect_do_peeling_for_alignment): Same.
(vect_loop_versioning): Same.
(vect_create_cond_for_align_checks): ANDs the cost model condition
with the alignment condition.
(vect_transform_loop): Call loop versioning only when there is a
misalignment or an aliasing problem.
From-SVN: r130651
Jakub Jelinek [Thu, 6 Dec 2007 13:25:37 +0000 (14:25 +0100)]
re PR middle-end/20983 (varargs functions force va_list variable to stack unnecessarily)
PR middle-end/20983
* tree-ssa-ccp.c (optimize_stdarg_builtin): New function.
(execute_fold_all_builtins): Call it for BUILT_IN_VA_START,
BUILT_IN_VA_COPY and BUILT_IN_VA_END.
* target.h (struct ggc_target): Add expand_builtin_va_start
hook.
* target-def.h (TARGET_EXPAND_BUILTIN_VA_START): Define.
(TARGET_INITIALIZER): Add it.
* builtins.c (expand_builtin_va_start): Use
targetm.expand_builtin_va_start hook instead of
EXPAND_BUILTIN_VA_START macro.
* alpha/alpha.c (alpha_va_start): Made static.
(override_options): Clear targetm.expand_builtin_va_start if
TARGET_UNICOSMK.
(TARGET_EXPAND_BUILTIN_VA_START): Define.
* alpha/unicosmk.h (EXPAND_BUILTIN_VA_START): Remove.
* alpha/alpha.h (EXPAND_BUILTIN_VA_START): Remove.
* alpha/alpha-protos.h (alpha_va_start): Remove prototype.
* xtensa/xtensa.h (EXPAND_BUILTIN_VA_START): Remove.
* xtensa/xtensa.c (TARGET_EXPAND_BUILTIN_VA_START): Define.
(xtensa_va_start): Made static.
* xtensa/xtensa-protos.h (xtensa_va_start): Remove prototype.
* pa/pa-protos.h (hppa_va_start): Remove prototype.
* pa/pa.h (EXPAND_BUILTIN_VA_START): Remove.
* pa/pa.c (hppa_va_start): Made static, add prototype.
(TARGET_EXPAND_BUILTIN_VA_START): Define.
* frv/frv.c (frv_expand_builtin_va_start): Made static, add prototype.
(TARGET_EXPAND_BUILTIN_VA_START): Define.
* frv/frv-protos.h (frv_expand_builtin_va_start): Remove prototype.
* frv/frv.h (EXPAND_BUILTIN_VA_START): Remove.
* i386/i386.c (override_options): Clear
targetm.expand_builtin_va_start if -m32 or 64-bit MS ABI.
(ix86_va_start): Made static.
(TARGET_EXPAND_BUILTIN_VA_START): Define.
* i386/i386.h (EXPAND_BUILTIN_VA_START): Remove.
* i386/i386-protos.h (ix86_va_start, ix86_va_arg): Remove prototypes.
* iq2000/iq2000-protos.h (iq2000_va_start): Remove prototype.
* iq2000/iq2000.h (EXPAND_BUILTIN_VA_START): Remove.
* iq2000/iq2000.c (iq2000_va_start): Made static, add prototype.
(TARGET_EXPAND_BUILTIN_VA_START): Define.
* rs6000/rs6000-protos.h (rs6000_va_start): Remove prototype.
* rs6000/rs6000.c (rs6000_va_start): Made static, add prototype.
(TARGET_EXPAND_BUILTIN_VA_START): Define.
(rs6000_override_options): Clear targetm.expand_builtin_va_start if
DEFAULT_ABI != ABI_V4.
* rs6000/rs6000.h (EXPAND_BUILTIN_VA_START): Remove.
* spu/spu.c (spu_va_start): Made static, add prototype.
(TARGET_EXPAND_BUILTIN_VA_START): Define.
* spu/spu.h (EXPAND_BUILTIN_VA_START): Remove.
* spu/spu-protos.h spu_va_start): Remove prototype.
* stormy16/stormy16.h (EXPAND_BUILTIN_VA_START): Remove.
* stormy16/stormy16-protos.h (xstormy16_expand_builtin_va_start):
Remove prototype.
* stormy16/stormy16.c (xstormy16_expand_builtin_va_start): Made
static.
(TARGET_EXPAND_BUILTIN_VA_START): Define.
* s390/s390-protos.h (s390_va_start): Remove prototype.
* s390/s390.c (s390_va_start): Made static.
(TARGET_EXPAND_BUILTIN_VA_START): Define.
* s390/s390.h (EXPAND_BUILTIN_VA_START): Remove.
* mn10300/mn10300.h (EXPAND_BUILTIN_VA_START): Remove.
* mn10300/mn10300-protos.h (mn10300_va_start): Remove prototype.
* mn10300/mn10300.c (mn10300_va_start): Made static, add prototype.
(TARGET_EXPAND_BUILTIN_VA_START): Define.
* arc/arc.c (arc_va_start): Made static, add prototype.
(TARGET_EXPAND_BUILTIN_VA_START): Define.
* arc/arc.h (EXPAND_BUILTIN_VA_START): Remove.
* arc/arc-protos.h (arc_va_start): Remove prototype.
* mt/mt-protos.h (mt_va_start): Remove prototype.
* sparc/sparc.c (sparc_va_start): Made static, add prototype.
(TARGET_EXPAND_BUILTIN_VA_START): Define.
* sparc/sparc-protos.h (sparc_va_start): Remove prototype.
* sparc/sparc.h (EXPAND_BUILTIN_VA_START): Remove.
* sh/sh.c (sh_va_start): Made static, add prototype.
(TARGET_EXPAND_BUILTIN_VA_START): Define.
* sh/sh-protos.h (sh_va_start): Remove prototype.
* sh/sh.h (EXPAND_BUILTIN_VA_START): Remove.
* mips/mips-protos.h (mips_va_start): Remove prototype.
* mips/mips.h (EXPAND_BUILTIN_VA_START): Remove.
* mips/mips.c (mips_va_start): Made static.
(TARGET_EXPAND_BUILTIN_VA_START): Define.
From-SVN: r130650
Uros Bizjak [Thu, 6 Dec 2007 10:35:44 +0000 (11:35 +0100)]
tree-ssa-loop.c (gate_tree_parallelize_loops): Return true when "flag_tree_parallelize_loops > 1".
* tree-ssa-loop.c (gate_tree_parallelize_loops): Return true when
"flag_tree_parallelize_loops > 1".
From-SVN: r130648
Jakub Jelinek [Thu, 6 Dec 2007 10:06:38 +0000 (11:06 +0100)]
[multiple changes]
2007-12-06 Zdenek Dvorak <ook@ucw.cz>
Dorit Nuzman <dorit@il.ibm.com>
Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/34005
* tree-gimple.c (is_gimple_formal_tmp_rhs): Add a case for COND_EXPR.
* gimplify.c (gimplify_ctx): Add a new member allow_rhs_cond_expr.
(gimplify_pure_cond_expr): New function.
(generic_expr_could_trap_p): New function.
(gimplify_cond_expr): Call gimplify_pure_cond_expr.
(force_gimple_operand): Initialize new field allow_rhs_cond_expr.
2007-12-06 Martin Michlmayr <tbm@cyrius.com>
Dorit Nuzman <dorit@il.ibm.com>
PR tree-optimization/34005
* gcc.dg/vect/pr34005.c: New test.
From-SVN: r130647
Andreas Krebbel [Thu, 6 Dec 2007 09:59:06 +0000 (09:59 +0000)]
s390.c (s390_emit_stack_tie): New function.
2007-12-06 Andreas Krebbel <krebbel1@de.ibm.com>
* config/s390/s390.c (s390_emit_stack_tie): New function.
(s390_emit_prologue): Emit a stack tie when writing to the
f8-f15 stack slots.
* config/s390/s390.md ("stack_tie"): New insn definition.
From-SVN: r130646
Jakub Jelinek [Thu, 6 Dec 2007 09:33:26 +0000 (10:33 +0100)]
re PR c++/34336 (4.2.2 internal error in stabilize_expr)
PR c++/34336
* tree.c (stabilize_call, stabilize_init): Do nothing if
processing_template_decl.
* g++.dg/template/new8.C: New test.
From-SVN: r130645
Tobias Burnus [Thu, 6 Dec 2007 09:23:00 +0000 (10:23 +0100)]
re PR fortran/34333 (if(nan == nan) wrongly returns TRUE, when nan is a parameter)
2007-12-06 Tobias Burnus <burnus@net-b.de>
PR fortran/34333
* primary.c (match_boz_constant): Add gfc_notify_std
* diagnostics.
2007-12-06 Tobias Burnus <burnus@net-b.de>
PR fortran/34333
* gfortran.dg/boz_7.f90: New.
* gfortran.dg/int_1.f90: Disable -pedantic option.
* gfortran.dg/boz_1.f90: Ditto.
* gfortran.dg/boz_3.f90: Ditto.
* gfortran.dg/pr16433.f: Accomodate for new BOZ warning.
* gfortran.dg/ibits.f90: Ditto.
* gfortran.dg/unf_io_convert_1.f90: Ditto.
* gfortran.dg/unf_io_convert_2.f90: Ditto.
From-SVN: r130644
Paul Thomas [Thu, 6 Dec 2007 06:13:59 +0000 (06:13 +0000)]
re PR fortran/34335 (valid code rejected when reordering USE statements)
2007-12-06 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34335
* module.c (find_symbol): Do not return symtrees with unique
names, which shows that they are private.
2007-12-06 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34335
* gfortran.dg/used_types_19.f90: New test.
From-SVN: r130643
Paul Thomas [Thu, 6 Dec 2007 06:11:01 +0000 (06:11 +0000)]
re PR target/34435 (SSE2 intrinsics - emmintrin with optimisations off and type conversion error)
2007-12-06 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34435
* module.c (find_symbol): Do not return symtrees with unique
names, which shows that they are private.
2007-12-06 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34435
* gfortran.dg/used_types_19.f90: New test.
From-SVN: r130642
Kaz Kojima [Thu, 6 Dec 2007 05:18:29 +0000 (05:18 +0000)]
nan_2.f90: Add -mieee for sh.
* gfortran.dg/nan_2.f90: Add -mieee for sh.
* gfortran.dg/nearest_2.f90: Likewise.
* gfortran.dg/nearest_3.f90: Likewise.
From-SVN: r130641
Ben Elliston [Thu, 6 Dec 2007 03:47:35 +0000 (03:47 +0000)]
SERVICE: Remove.
* SERVICE: Remove.
* doc/sourcebuild.texi (Miscellaneous Docs): Remove SERVICE item.
From-SVN: r130640
GCC Administrator [Thu, 6 Dec 2007 00:17:27 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r130638
Jakub Jelinek [Wed, 5 Dec 2007 22:24:08 +0000 (23:24 +0100)]
re PR middle-end/34337 (Internal error while building gtkwhiteboardc.c from pidgin 2.3.0)
PR middle-end/34337
* fold-const.c (fold_binary) <case BIT_IOR_EXPR>: Don't minimize
number of bits set in C1 if a mode mask for some mode can be used
instead.
* gcc.c-torture/execute/
20071205-1.c: New test.
From-SVN: r130635