Andrew Pinski [Sun, 27 Nov 2005 01:14:39 +0000 (01:14 +0000)]
gnu-runtime-3.m: Simplify.
2005-11-26 Andrew Pinski <pinskia@physics.uc.edu>
* objc.dg/gnu-runtime-3.m: Simplify.
From-SVN: r107556
GCC Administrator [Sun, 27 Nov 2005 00:17:30 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r107553
Richard Henderson [Sat, 26 Nov 2005 22:54:14 +0000 (14:54 -0800)]
list_read.c (nml_parse_qualifier): Use ssize_t instead of int in dtp->u.p.value.
* io/list_read.c (nml_parse_qualifier): Use ssize_t instead of int
in dtp->u.p.value.
From-SVN: r107545
Richard Henderson [Sat, 26 Nov 2005 22:31:12 +0000 (14:31 -0800)]
c-lex.c (pragma_lex): Rename from c_lex.
* c-lex.c (pragma_lex): Rename from c_lex.
* c-pch.c: Update for pragma_lex rename.
* c-pragma.c, c-pragma.h, config/ia64/ia64-c.c: Likewise.
* config/m32c/m32c-pragma.c, config/darwin-c.c: Likewise.
* config/rs6000/rs6000-c.c, config/c4x/c4x-c.c: Likewise.
* config/sol2-c.c, config/v850/v850-c.c: Likewise.
* doc/tm.texi: Likewise.
cp/
* lex.c: Update for pragma_lex rename.
* parser.c: Likewise.
From-SVN: r107544
Andrew Pinski [Sat, 26 Nov 2005 22:18:04 +0000 (22:18 +0000)]
re PR middle-end/23669 (fold does convert (-a)/10 into a/-10 with -fno-wrapv)
2005-11-26 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/23669
* fold-const.c (fold_binary): Convert -A/-B to A/B for signed types
when overflow is undefined.
2005-11-26 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/23669
* gcc.dg/tree-ssa/divide-1.c: New test.
* gcc.dg/tree-ssa/divide-2.c: New test.
From-SVN: r107543
Hans-Peter Nilsson [Sat, 26 Nov 2005 12:04:45 +0000 (12:04 +0000)]
md.texi (Insn Canonicalizations): Refer to the function commutative_operand_precedence for further rules.
* doc/md.texi (Insn Canonicalizations): Refer to the
function commutative_operand_precedence for further rules.
From-SVN: r107541
Janne Blomqvist [Sat, 26 Nov 2005 09:32:21 +0000 (11:32 +0200)]
testsuite ChangeLog:
2005-11-26 Janne Blomqvist <jb@gcc.gnu.org>
PR libgfortran/24945
* gfortran.dg/open_status_2.f90: Fix wrong PR number in comment.
From-SVN: r107540
Janne Blomqvist [Sat, 26 Nov 2005 09:12:36 +0000 (11:12 +0200)]
libgfortran ChangeLog:
2005-11-26 Janne Blomqvist <jb@gcc.gnu.org>
PR libgfortran/24945
* io/open.c (edit_modes): Check for STATUS_UNKNOWN flag.
testsuite ChangeLog
2005-11-26 Janne Blomqvist <jb@gcc.gnu.org>
PR libgfortran/24945
* gfortran.dg/open_status_2.f90: New test.
From-SVN: r107538
Roger Sayle [Sat, 26 Nov 2005 04:06:57 +0000 (04:06 +0000)]
re PR middle-end/21309 (internal compiler error: in expand_mult_const, at expmed.c:2884)
PR middle-end/21309
* expmed.c (choose_mult_variant): Return immediately when mult_cost
is less than zero. Limit mult_cost to a reasonable upper bound for
the synthetic multiplication sequence.
From-SVN: r107537
Kaveh R. Ghazi [Sat, 26 Nov 2005 01:25:20 +0000 (01:25 +0000)]
re PR middle-end/25022 (failure to transform the unlocked stdio calls)
PR middle-end/25022
* builtins.c (expand_builtin_printf, expand_builtin_fprintf,
fold_builtin_fputs, fold_builtin_printf, fold_builtin_fprintf):
Lookup the explicit replacement functions for any unlocked
stdio builtin transformations.
testsuite:
* gcc.c-torture/execute/builtins/fprintf.c,
gcc.c-torture/execute/builtins/fputs-lib.c,
gcc.c-torture/execute/builtins/fputs.c,
gcc.c-torture/execute/builtins/lib/fprintf.c,
gcc.c-torture/execute/builtins/lib/printf.c,
gcc.c-torture/execute/builtins/printf.c: Test the unlocked style.
From-SVN: r107535
GCC Administrator [Sat, 26 Nov 2005 00:17:29 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r107531
Mark Wielaard [Fri, 25 Nov 2005 22:30:53 +0000 (22:30 +0000)]
standard.omit.in: Remove javax/rmi, org/omg, gnu/CORBA and gnu/javax/rmi.
* standard.omit.in: Remove javax/rmi, org/omg, gnu/CORBA and
gnu/javax/rmi.
* scripts/makemake.tcl: Set javax/rmi, org/omg, gnu/CORBA and
gnu/javax/rmi to bc.
* gnu/CORBA/ObjectCreator.java: New override file for missing
VMStackWalker issue.
* gnu/CORBA/DynAn/gnuDynValue.java: New override file for bug #24938
* gnu/CORBA/DynAn/RecordAny.java: Likewise
* sources.am: Regenerated.
* Makefile.in: Regenerated
From-SVN: r107522
Richard Henderson [Fri, 25 Nov 2005 22:15:20 +0000 (14:15 -0800)]
list_read.c (nml_parse_qualifier): Use memcpy to extract values from dtp->u.p.value.
* io/list_read.c (nml_parse_qualifier): Use memcpy to extract
values from dtp->u.p.value.
* io/io.h (struct st_parameter_dt): Change reversion_flag, first_item,
seen_dollar, sf_seen_eor, eor_condition, no_leading_blank, char_flag,
input_complete, at_eol, comma_flag, namelist_mode, nml_read_error to
single-bit fields. Move value to where it'll be at least pointer
aligned.
From-SVN: r107520
Hans-Peter Nilsson [Fri, 25 Nov 2005 20:15:27 +0000 (20:15 +0000)]
cris.md ("reload_out<mode>"): Mark operand 2 as earlyclobber.
* config/cris/cris.md ("reload_out<mode>"): Mark operand 2 as
earlyclobber.
* targhooks.c (default_secondary_reload): Don't require operand 2
for an input reload to be earlyclobber.
From-SVN: r107517
Joern Rennecke [Fri, 25 Nov 2005 20:09:21 +0000 (20:09 +0000)]
* gcc.dg/
20050922-2.c: New test.
From-SVN: r107516
Joern Rennecke [Fri, 25 Nov 2005 20:08:45 +0000 (20:08 +0000)]
* gcc.dg/
20050922-2.c: New test.
From-SVN: r107515
Paul Thomas [Fri, 25 Nov 2005 18:42:50 +0000 (18:42 +0000)]
2005-11-25 Paul Thomas <pault@gcc.gnu.org>
gfortran.dg/substring_equivalence.f90
gfortran.dg/auto_internal_assumed.f90: Remove execute permissions.
From-SVN: r107513
Andrew Pinski [Fri, 25 Nov 2005 17:40:00 +0000 (17:40 +0000)]
gnu-runtime-3.m: New test.
2005-11-25 Andrew Pinski <pinskia@physics.uc.edu>
* objc.dg/gnu-runtime-3.m: New test.
From-SVN: r107512
Andrew Haley [Fri, 25 Nov 2005 16:18:17 +0000 (16:18 +0000)]
re PR libgcj/25016 (Integer overflow in _Jv_CondWait)
2005-11-25 Andrew Haley <aph@redhat.com>
PR libgcj/25016
* posix-threads.cc (_Jv_CondWait): Rewrite calculation of the
struct timespec we pass to pthread_cond_timedwait.
From-SVN: r107509
Volker Reichelt [Fri, 25 Nov 2005 14:59:09 +0000 (14:59 +0000)]
re PR c++/9278 (Illegal use of typedef to "void")
PR c++/9278
* decl.c (grokparms): Do not allow typedef-names in a '(void)'
parmlist.
* g++.dg/other/void1.C: New test.
From-SVN: r107508
Volker Reichelt [Fri, 25 Nov 2005 14:50:20 +0000 (14:50 +0000)]
fold-const.c (negate_mathfn_p): Fix comment and add support for BUILT_IN_CBRT...
* fold-const.c (negate_mathfn_p): Fix comment and add support
for BUILT_IN_CBRT, BUILT_IN_SINH, BUILT_IN_TANH, BUILT_IN_ASINH,
BUILT_IN_ATANH.
From-SVN: r107507
Ranjit Mathew [Fri, 25 Nov 2005 14:14:32 +0000 (14:14 +0000)]
jacks.xfail: Remove non-jls-argument-expansion-13 and add non-jls-argument-expansion-error-1...
* testsuite/libjava.jacks/jacks.xfail: Remove
non-jls-argument-expansion-13 and add
non-jls-argument-expansion-error-1 in response to the @file support
patch in the main GCC driver.
From-SVN: r107506
Joseph Myers [Fri, 25 Nov 2005 12:57:02 +0000 (12:57 +0000)]
re PR target/24998 (Build failure: undefined symbol __floatunsitf)
PR middle-end/24998
* config/sparc/sparc.c (sparc_init_libfuncs): Use _Q_utoq and
_Q_ulltoq for unsigned conversions from SImode and DImode to
TFmode.
testsuite:
* gcc.dg/torture/fp-int-convert-float.c,
gcc.dg/torture/fp-int-convert-double.c,
gcc.dg/torture/fp-int-convert-long-double.c,
gcc.dg/torture/fp-int-convert-timode.c,
gcc.dg/torture/fp-int-convert-float80.c,
gcc.dg/torture/fp-int-convert-float80-timode.c,
gcc.dg/torture/fp-int-convert-float128.c,
gcc.dg/torture/fp-int-convert-float128-timode.c,
gcc.dg/torture/fp-int-convert.h: New files.
From-SVN: r107502
Volker Reichelt [Fri, 25 Nov 2005 12:52:12 +0000 (12:52 +0000)]
typeck2.c (process_init_constructor_union): Remove check for unnamed union members.
* typeck2.c (process_init_constructor_union): Remove check for
unnamed union members.
From-SVN: r107501
Volker Reichelt [Fri, 25 Nov 2005 12:49:19 +0000 (12:49 +0000)]
name-lookup.c (lookup_name_real): Merge two if's.
* name-lookup.c (lookup_name_real): Merge two if's.
From-SVN: r107500
Volker Reichelt [Fri, 25 Nov 2005 12:46:40 +0000 (12:46 +0000)]
pt.c (instantiate_class_template): Clean-up.
* pt.c (instantiate_class_template): Clean-up.
From-SVN: r107499
Volker Reichelt [Fri, 25 Nov 2005 12:43:38 +0000 (12:43 +0000)]
pt.c (template_class_depth_real): Remove.
* pt.c (template_class_depth_real): Remove. Move functionality to ...
(template_class_depth): ... here, replacing count_specializations
with 0. Adjust comment.
From-SVN: r107498
Alan Modra [Fri, 25 Nov 2005 06:41:48 +0000 (06:41 +0000)]
ppc64-fp.c (__floatunditf): New function.
* config/rs6000/ppc64-fp.c (__floatunditf): New function.
(__floatundidf, __floatundisf): Likewise.
From-SVN: r107494
Bruce Korb [Fri, 25 Nov 2005 05:57:10 +0000 (05:57 +0000)]
Check the last byte for '\n'
From-SVN: r107492
Bruce Korb [Fri, 25 Nov 2005 05:47:47 +0000 (05:47 +0000)]
Regenerate fixincl.x from current template
From-SVN: r107491
David Edelsohn [Fri, 25 Nov 2005 05:13:41 +0000 (05:13 +0000)]
rs6000.c (rs6000_sr_alias_set): Delete.
* config/rs6000/rs6000.c (rs6000_sr_alias_set): Delete.
(rs6000_override_options): Remove initialization of
rs6000_sr_alias_set.
(rs6000_emit_eh_reg_restore): Use gen_frame_mem.
(rs6000_emit_stack_tie): Same.
(emit_frame_save): Same.
(gen_frame_mem_offset): Same.
(rs6000_emit_prologue): Same.
(rs6000_emit_epilogue): Same.
From-SVN: r107489
Andrew Pinski [Fri, 25 Nov 2005 05:05:26 +0000 (05:05 +0000)]
[multiple changes]
2005-11-25 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/24989
* fold-const.c (fold_build): Convert bool_var != 1 and
bool_var == 0 to !bool_var.
2005-11-24 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/24989
* gcc.dg/tree-ssa/bool-10.c: New test.
* gcc.dg/tree-ssa/bool-11.c: New test.
* gcc.dg/tree-ssa/bool-7.c: Un-xfail.
From-SVN: r107488
Andrew Pinski [Fri, 25 Nov 2005 04:54:59 +0000 (04:54 +0000)]
[multiple changes]
2005-11-25 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/24990
* fold-const.c (fold_binary): Fold (~a) == C to a == ~C
for C being INTEGER_CST. Likewise for !=.
2005-11-24 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/24990
* tree-ssa/pr24990-1.c: New test.
From-SVN: r107487
Bryce McKinlay [Fri, 25 Nov 2005 04:15:15 +0000 (04:15 +0000)]
ia64-frame.h: Removed.
2005-11-24 Bryce McKinlay <mckinlay@redhat.com>
* sysdep/ia64-frame.h: Removed.
* sysdep/ia64.c: Removed.
* sysdep/dwarf2-backtrace.cc: Removed.
* configure.ac: Remove references to HAVE_BACKTRACE and
SUPPLY_BACKTRACE.
* Makefile.am: Remove SUPPLY_BACKTRACE support.
* configure: Rebuilt.
* Makefile.in: Rebuilt.
From-SVN: r107486
Joseph Myers [Fri, 25 Nov 2005 03:57:22 +0000 (03:57 +0000)]
re PR target/24998 (Build failure: undefined symbol __floatunsitf)
PR middle-end/24998
* config/rs6000/rs6000.c (rs6000_init_libfuncs): Use _q_utoq for
unsigned conversions from SImode to TFmode.
From-SVN: r107483
Bryce McKinlay [Fri, 25 Nov 2005 03:36:13 +0000 (03:36 +0000)]
gij.cc (nonstandard_opts_help): Add entry for -Xss.
2005-11-24 Bryce McKinlay <mckinlay@redhat.com>
* gij.cc (nonstandard_opts_help): Add entry for -Xss.
2005-11-24 Bryce McKinlay <mckinlay@redhat.com>
* gcj.texi (gij options): Add -Xss documentation.
From-SVN: r107480
GCC Administrator [Fri, 25 Nov 2005 00:17:22 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r107477
Bernd Schmidt [Thu, 24 Nov 2005 22:06:17 +0000 (22:06 +0000)]
expr.c (expand_expr_real_1): Fix error in last change.
* expr.c (expand_expr_real_1): Fix error in last change.
From-SVN: r107471
J"orn Rennecke [Thu, 24 Nov 2005 19:08:20 +0000 (19:08 +0000)]
caller-save.c: (this_insn_sets): Move into: (save_call_clobbered_regs).
2005-11-24 J"orn Rennecke <joern.rennecke@st.com>
* caller-save.c: (this_insn_sets): Move into:
(save_call_clobbered_regs).
(mark_set_regs): Get this_insn_sets from data.
(save_call_clobbered_regs): Take sets of the return value by
sibcalls into account.
From-SVN: r107469
J"orn Rennecke [Thu, 24 Nov 2005 18:55:53 +0000 (18:55 +0000)]
re PR target/21623 (ICE in reload_cse_simplify_operands, at postreload.c:391)
PR target/21623:
* regclass.c (FORBIDDEN_INC_DEC_CLASSES): Remove
SECONDARY_INPUT_RELOAD_CLASS and SECONDARY_OUTPUT_RELOAD_CLASS tests.
(init_fake_stack_mems): Remove HAVE_SECONDARY_RELOADS test.
(memory_move_secondary_cost, init_reg_autoinc): Remove
SECONDARY_INPUT_RELOAD_CLASS / SECONDARY_OUTPUT_RELOAD_CLASS tests.
Replace SECONDARY_{IN,OUT}PUT_RELOAD_CLASS use with
secondary_reload_class call.
(copy_cost): Likewise. Add new parameter prev_sri. Changed all
callers.
* reload.c (entire file): Remove HAVE_SECONDARY_RELOADS checks.
(push_secondary_reload): Use secondary_reload target hook.
(secondary_reload_class, scratch_reload_class): New functions.
(push_reload): Remove SECONDARY_INPUT_RELOAD_CLASS and
SECONDARY_OUTPUT_RELOAD_CLASS tests. Replace
SECONDARY_{IN,OUT}PUT_RELOAD_CLASS use with secondary_reload_class call.
* reload.h (HAVE_SECONDARY_RELOADS): Don't define nor test.
(secondary_reload_class, scratch_reload_class): Declare.
* reload1.c: Include target.h.
(reload_adjust_reg_for_temp): New function.
(reload_adjust_reg_for_icode): Likewise.
(choose_reload_regs): Remove SECONDARY_INPUT_RELOAD_CLASS test.
Replace SECONDARY_INPUT_RELOAD_CLASS use with secondary_reload_class
call.
(emit_input_reload_insns): Likewise. Rewrite secondary reload checks
for inheritance. Support case when both secondary & tertiary reloads
are for intermediate registers.
(emit_output_reload_insns): Replace SECONDARY_OUTPUT_RELOAD_CLASS use
with secondary_reload_class call. Support case when both secondary
& tertiary reloads are for intermediate registers.
* target-def.h (TARGET_SECONDARY_RELOAD): Provide default definition.
(TARGET_INITIALIZER) Add TARGET_SECONDARY_RELOAD.
* target.h (secondary_reload_info): New struct / typedef.
(struct gcc_target): New member secondary_reload.
* targhooks.c Include reload.h, optabs.h and recog.h.
(default_secondary_reload): New function.
* targhooks.h (default_secondary_reload): Declare.
* doc/tm.texi: Document secondary_reload target hook. Update
description of SECONDARY_*RELOAD_CLASS and reload_{in,out}<mode>.
* doc/md.texi: Likewise.
* sh-protos.h (sh_secondary_reload): Declare.
* sh.c (TARGET_SECONDARY_RELOAD): Override.
(sh_secondary_reload): New function.
* sh.h (SECONDARY_INOUT_RELOAD_CLASS): Don't define.
(SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
(SECONDARY_INPUT_RELOAD_CLASS): Likewise.
(HAVE_SECONDARY_RELOADS): Define.
* sh.md (reload_indf): Rename to:
(reload_indf__frn).
(reload_outdf): Rename to:
(reload_outdf__RnFRm).
(reload_insf): Rename to:
(reload_insf__frn).
(reload_insi): Rename to:
(reload_insi__i_fpul).
From-SVN: r107468
Uros Bizjak [Thu, 24 Nov 2005 14:08:21 +0000 (15:08 +0100)]
configure.ac: Require at least texinfo 4.4.
* configure.ac: Require at least texinfo 4.4.
* configure: Regenerate.
* doc/install.texi (Tools/packages necessary for building GCC):
Update required version of texinfo to at least 4.4.
(Installing GCC: Building): Update required version of texinfo
to at least 4.4.
(Installing GCC: Final installation): Update required version
of texi2dvi to at least 4.4.
(Host/target specific installation notes for GCC): Update required
version of texinfo to at least 4.4.
From-SVN: r107465
Richard Guenther [Thu, 24 Nov 2005 10:48:15 +0000 (10:48 +0000)]
re PR c++/14024 (g++ isn't reporting aliasing warnings)
2005-11-24 Richard Guenther <rguenther@suse.de>
Dirk Mueller <dmueller@suse.de>
PR c++/14024
* c-common.h (strict_aliasing_warning): Declare.
* c-common.c (strict_aliasing_warning): New function,
split out from ...
* c-typeck.c (build_c_cast): ... here.
* typeck.c (build_reinterpret_cast_1): Use it.
* g++.dg/warn/Wstrict-aliasing-1.C: New testcase.
* g++.dg/warn/Wstrict-aliasing-2.C: Likewise.
* g++.dg/warn/Wstrict-aliasing-3.C: Likewise.
* g++.dg/warn/Wstrict-aliasing-4.C: Likewise.
* g++.dg/warn/Wstrict-aliasing-5.C: Likewise.
* g++.dg/warn/Wstrict-aliasing-6.C: Likewise.
Co-Authored-By: Dirk Mueller <dmueller@suse.de>
From-SVN: r107459
Gabriel Dos Reis [Thu, 24 Nov 2005 10:32:48 +0000 (10:32 +0000)]
Get the logs in.
From-SVN: r107458
Paolo Bonzini [Thu, 24 Nov 2005 09:48:43 +0000 (09:48 +0000)]
optabs.c (expand_binop): Use swap_commutative_operands_with_target to order operands.
2005-11-24 Paolo Bonzini <bonzini@gnu.org>
* optabs.c (expand_binop): Use swap_commutative_operands_with_target
to order operands.
(swap_commutative_operands_with_target): New.
From-SVN: r107457
Paolo Bonzini [Thu, 24 Nov 2005 09:47:36 +0000 (09:47 +0000)]
gcse.c (hash_scan_set): Look through REG_EQUAL or REG_EQUIV notes also when doing PRE...
2005-11-24 Paolo Bonzini <bonzini@gnu.org>
* gcse.c (hash_scan_set): Look through REG_EQUAL or REG_EQUIV notes
also when doing PRE, rather than only for global CPROP.
From-SVN: r107456
Gabriel Dos Reis [Thu, 24 Nov 2005 03:11:33 +0000 (03:11 +0000)]
re PR target/24236 (gcc.dg/i386-sse-10.c fails on the mainline on x86_64-linux-gnu)
PR c++/24235
* pt.c (check_instantiated_args): Reword diagnostic message about
template argument involving local types.
From-SVN: r107451
Ben Elliston [Thu, 24 Nov 2005 02:50:02 +0000 (02:50 +0000)]
machmode.h (CLASS_HAS_WIDER_MODES_P): New macro.
* machmode.h (CLASS_HAS_WIDER_MODES_P): New macro.
* optabs.c (expand_binop): Use CLASS_HAS_WIDER_MODES_P, improve
formatting.
(expand_twoval_unop): Likewise.
(widen_clz): Likewise.
(expand_parity): Likewise.
(expand_unop): Likewise.
(emit_cmp_and_jmp_insn_1): Likewise.
(prepare_float_lib_cmp): Likewise.
From-SVN: r107450
Ben Elliston [Thu, 24 Nov 2005 02:31:38 +0000 (02:31 +0000)]
optabs.c (prepare_cmp_insn): Use SCALAR_FLOAT_MODE_P.
* optabs.c (prepare_cmp_insn): Use SCALAR_FLOAT_MODE_P.
Remove unused `class' variable.
From-SVN: r107449
Gabriel Dos Reis [Thu, 24 Nov 2005 02:02:26 +0000 (02:02 +0000)]
re PR c++/21667 (misleading warning about array subscription)
2005-11-23 Gabriel Dos Reis <gdr@integrable-solutions.net>
PR c++/21667
* c-typeck.c (build_array_ref): Avoid code duplicate. Use
common
C/C++ diagnostic function warn_array_subscript_with_type_char.
* c-common.h (warn_array_subscript_with_type_char): Declare.
* c-common.c (warn_array_subscript_with_type_char): Define.
cp/
2005-11-23 Gabriel Dos Reis <gdr@integrable-solutions.net>
PR c++/21667
* typeck.c (build_array_ref): Avoid code duplicate. Use
common
C/C++ diagnostic function warn_array_subscript_with_type_char.
testsuite/
2005-11-23 Gabriel Dos Reis <gdr@integrable-solutions.net>
PR c++/21667
* gcc.dg/Wchar-subscripts.c: New.
* g++.dg/warn/Wchar-subscripts.C: Likewise.
From-SVN: r107448
Paolo Carlini [Thu, 24 Nov 2005 01:29:51 +0000 (01:29 +0000)]
PR libstdc++/24975 (basic_string)
2005-11-23 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24975 (basic_string)
* include/bits/basic_string.h (_Rep::_S_empty_rep): Avoid
strict-aliasing warnings.
From-SVN: r107447
GCC Administrator [Thu, 24 Nov 2005 00:17:11 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r107444
Ian Lance Taylor [Wed, 23 Nov 2005 23:08:54 +0000 (23:08 +0000)]
These files were stored incorrectly in the old CVS repository: they were in the Attic but were not marked as dead.
These files were stored incorrectly in the old CVS repository: they
were in the Attic but were not marked as dead. This had the effect of
making them appear to not exist in CVS checkouts, but they were
accidentally resurrected by cvs2svn. I am now deleting them again.
From-SVN: r107435
Geoffrey Keating [Wed, 23 Nov 2005 20:29:09 +0000 (20:29 +0000)]
GCC Regression Tester.wdgt/widget.html: New file.
* GCC Regression Tester.wdgt/widget.html: New file.
* GCC Regression Tester.wdgt/Info.plist: New file.
* GCC Regression Tester.wdgt/Icon.png: New file.
* GCC Regression Tester.wdgt/Default.png: New file.
* README: Describe new files.
From-SVN: r107430
Mark Mitchell [Wed, 23 Nov 2005 18:46:40 +0000 (18:46 +0000)]
* update_web_docs_svn: Set @srcdir in gcc-vers.texi.
From-SVN: r107427
Mark Mitchell [Wed, 23 Nov 2005 18:08:59 +0000 (18:08 +0000)]
invoke.texi: For man pages, include gcc-vers.texi.
* doc/invoke.texi: For man pages, include gcc-vers.texi.
List @file in the option summary. Include the libiberty
documentation for @file.
* gcc.c (main): Call expandargv.
* Makefile.in (gcc-vers.texi): Define srcdir.
From-SVN: r107426
Diego Novillo [Wed, 23 Nov 2005 18:05:38 +0000 (18:05 +0000)]
passes.c (init_optimization_passes): Document sequencing of passes.
* passes.c (init_optimization_passes): Document
sequencing of passes.
From-SVN: r107425
Kazu Hirata [Wed, 23 Nov 2005 13:40:32 +0000 (13:40 +0000)]
predicates.md (pcrel_address, [...]): Remove redundant conditionals.
* config/m68k/predicates.md (pcrel_address, extend_operator,
post_inc_operand, pre_dec_operand): Remove redundant
conditionals.
(const_uint32_operand, const_sint32_operand): Use gcc_assert
instead of abort.
(valid_dbcc_comparison_p): Rewrite in the lisp style.
From-SVN: r107419
Laurent GUERBY [Wed, 23 Nov 2005 11:31:25 +0000 (11:31 +0000)]
mlib-prj.adb (Build_Library): Initialize Delete.
2005-11-23 Laurent GUERBY <laurent@guerby.net>
* mlib-prj.adb (Build_Library): Initialize Delete.
From-SVN: r107416
Alan Modra [Wed, 23 Nov 2005 10:18:11 +0000 (10:18 +0000)]
open.c (new_unit): Use the right unit number when checking for stdin, stdout, stderr.
* io/open.c (new_unit): Use the right unit number when checking
for stdin, stdout, stderr.
From-SVN: r107413
Uros Bizjak [Wed, 23 Nov 2005 08:45:09 +0000 (09:45 +0100)]
i386-1.C: Pass if CPU has no SSE2 support.
* g++.dg/other/i386-1.C: Pass if CPU has no SSE2 support.
From-SVN: r107403
Gabriel Dos Reis [Wed, 23 Nov 2005 07:07:33 +0000 (07:07 +0000)]
re PR c/21668 (gratuitous warning about "extern const" with initializer)
PR c/21668
* c-decl.c (grokdeclarator): Don't warn for 'extern const' when
compiling at the intersection of C and C++.
testsuite/
PR c/21668
* gcc.dg/Wc++-compat.c: New.
* gcc.dg/Wno-c++-compat.c: New.
From-SVN: r107401
Alan Modra [Wed, 23 Nov 2005 02:29:39 +0000 (02:29 +0000)]
altivec-consts.c (vspltisb): Use int val.
* gcc.target/powerpc/altivec-consts.c (vspltisb): Use int val.
(vspltish, vspltisw): Likewise.
From-SVN: r107398
Jerry DeLisle [Wed, 23 Nov 2005 02:14:26 +0000 (02:14 +0000)]
re PR libfortran/24794 (problem with namelist input of character array)
2005-11-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/24794
* gfortran.dg/namelist_12.f: Fix quotes.
* gfortran.dg/namelist_13.f90: Fix quotes.
* gfortran.dg/namelist_14.f90: Fix quotes.
* gfortran.dg/namelist_15.f90: Fix quotes.
* gfortran.dg/namelist_use.f90: Fix quotes.
* gfortran.dg/namelist_use_only.f90: Fix quotes.
* gfortran.dg/namelist_21.f90: New test.
* gfortran.dg/namelist_22.f90: New test.
From-SVN: r107396
Jerry DeLisle [Wed, 23 Nov 2005 02:02:31 +0000 (02:02 +0000)]
re PR libfortran/24794 (problem with namelist input of character array)
2005-11-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/24794
* io/list_read.c (read_character): Add auto completion on short
namelist reads.
From-SVN: r107394
GCC Administrator [Wed, 23 Nov 2005 00:17:35 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r107390
Ben Elliston [Wed, 23 Nov 2005 00:07:23 +0000 (00:07 +0000)]
* dwarf2.h (enum dwarf_type): Add DW_ATE_decimal_float.
From-SVN: r107384
J"orn Rennecke [Tue, 22 Nov 2005 22:57:35 +0000 (22:57 +0000)]
Preparatory work for PR target/21623:
* alpha.c (secondary_reload_class): Rename to:
(alpha_secondary_reload_class).
* alpha.h, alpha-protos.h: Likewise.
* mn10300.c (secondary_reload_class): Rename to:
(mn10300_secondary_reload_class).
* mn10300.h, mn10300-protos.h: Likewise.
* pa.c (secondary_reload_class): Rename to:
(pa_secondary_reload_class).
* pa.h, pa-protos.h: Likewise.
* rs6000.c (secondary_reload_class): Rename to:
rs6000_secondary_reload_class.
* rs6000.h, rs6000-protos.h: Likewise.
From-SVN: r107381
David Edelsohn [Tue, 22 Nov 2005 22:45:10 +0000 (22:45 +0000)]
io.h (_LARGE_FILES): Undefine for AIX.
* io/io.h (_LARGE_FILES): Undefine for AIX.
(_LARGE_FILE_API): Define for AIX.
From-SVN: r107380
Eric Botcazou [Tue, 22 Nov 2005 22:38:13 +0000 (22:38 +0000)]
Fix bogus date.
From-SVN: r107379
Eric Botcazou [Tue, 22 Nov 2005 22:35:55 +0000 (22:35 +0000)]
re PR middle-end/22561 (ACATS
ca11c01 wrong code)
PR middle-end/22561
* tree-ssa-structalias.c (get_constraint_for): Handle ARRAY_RANGE_REF.
From-SVN: r107377
Ian Lance Taylor [Tue, 22 Nov 2005 21:25:52 +0000 (21:25 +0000)]
optabs.c (expand_unop): Call SCALAR_FLOAT_MODE_P on a mode, not a mode_class.
* optabs.c (expand_unop): Call SCALAR_FLOAT_MODE_P on a mode, not
a mode_class.
(prepare_cmp_insn): Likewise.
From-SVN: r107375
Kazu Hirata [Tue, 22 Nov 2005 20:42:54 +0000 (20:42 +0000)]
re PR target/23435 (Unrecognizable insn (in extract_insn, at recog.c))
gcc/
PR target/23435
* m68k.md (zero_extendsidi2): Force operands[1] to a register
if both operands[0] and operands[1] are memory.
gcc/testsuite/
PR target/23435
* gcc.c-torture/compile/pr23435.c: New.
From-SVN: r107373
Kean Johnston [Tue, 22 Nov 2005 20:41:02 +0000 (20:41 +0000)]
Sync config.{sub,guess} from upstream sources
From-SVN: r107372
Janis Johnson [Tue, 22 Nov 2005 20:35:51 +0000 (20:35 +0000)]
libmudflap.exp (libmudflap-init): Remove -static from MUDFLAP_FLAGS if static library not supported.
* testsuite/lib/libmudflap.exp (libmudflap-init): Remove -static from
MUDFLAP_FLAGS if static library not supported.
* testsuite/libmudflap.c/cfrags.exp (MUDFLAP_FLAGS): new.
* testsuite/libmudflap.c/externs.exp: Ditto.
* testsuite/libmudflap.c++/ctors.exp: Ditto.
* testsuite/libmudflap.c++/c++frags.exp: Ditto.
* testsuite/libmudflap.cth/cthfrags.exp: Ditto.
From-SVN: r107371
Andrew Pinski [Tue, 22 Nov 2005 19:22:21 +0000 (19:22 +0000)]
re PR middle-end/23606 (fold does not fold (type)(a == b) into a == b (with type as the type))
2005-11-22 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/23606
* fold-const.c (fold_unary) <case NOP_EXPR, CONVERT_EXPR>: For
COMPARISON_CLASS_P and an integral types create create a new
expression with the new type and fold that.
From-SVN: r107370
Andrew Pinski [Tue, 22 Nov 2005 19:05:51 +0000 (19:05 +0000)]
objcp-decl.c (objcp_lookup_name): Remove.
2005-11-22 Andrew Pinski <pinskia@physics.uc.edu>
* objcp-decl.c (objcp_lookup_name): Remove.
* objcp-decl.h (objcp_lookup_name): Delete.
(lookup_name): Kill define.
From-SVN: r107369
Andrew Pinski [Tue, 22 Nov 2005 18:58:05 +0000 (18:58 +0000)]
re PR target/24988 (gfortran build fails with - Undefined symbols)
2005-11-22 Andrew Pinski <pinskia@physics.uc.edu>
PR target/24988
* config/rs6000/darwin.h (TARGET_OS_CPP_BUILTINS): Remove call
to SUBTARGET_OS_CPP_BUILTINS.
From-SVN: r107368
Gabriel Dos Reis [Tue, 22 Nov 2005 17:04:12 +0000 (17:04 +0000)]
re PR c++/22238 (Awful error messages with virtual functions)
PR c++/22238
* error.c (resolve_virtual_fun_from_obj_type_ref): New.
(dump_expr): Use it in <case CALL_EXPR>.
From-SVN: r107366
Paolo Carlini [Tue, 22 Nov 2005 14:53:03 +0000 (14:53 +0000)]
re PR libstdc++/24975 (Aliasing problems inside libstdc++)
2005-11-22 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24975
* include/bits/stl_set.h (insert(iterator, const value_type&),
erase(iterator), erase(iterator, iterator)): Don't break aliasing
rules casting to _Rep_iterator&, forward to _Rb_tree facilities.
* include/bits/stl_multiset.h (insert(iterator, const value_type&),
erase(iterator), erase(iterator, iterator)): Likewise.
* include/bits/stl_tree.h (_Rb_tree<>::_M_insert(_Const_Base_ptr,
_Const_Base_ptr, const value_type&), insert_unique(const_iterator,
const value_type&), insert_equal(const_iterator, const value_type&),
erase(const_iterator), erase(const_iterator, const_iterator)): New,
_Rb_tree<>::const_iterator counterparts of existing facilities.
From-SVN: r107362
Richard Earnshaw [Tue, 22 Nov 2005 14:30:10 +0000 (14:30 +0000)]
arm.c (emit_set_insn): New function.
* arm.c (emit_set_insn): New function.
(arm_split_constant): Call it.
(arm_gen_compare_reg, arm_reload_in_hi, arm_reload_out_hi): Likewise.
(arm_legitimize_address): Likewise. Use plus_constant.
(arm_expand_prologue): Likewise. Use VOIDmode in SET.
(thumb_expand_prologue): Likewise.
(arm_gen_load_multiple): Use VOIDmode in SET.
(arm_gen_store_multiple): Likewise.
(vfp_emit_fstmx): Likewise. Use plus_constant.
(emit_multi_reg_push): Likewise.
(emit_sfm): Use plus_constant.
From-SVN: r107361
Alan Modra [Tue, 22 Nov 2005 14:23:01 +0000 (14:23 +0000)]
re PR target/24954 (ICE: could not split insn)
PR target/24954
* config/rs6000/predicates.md (easy_vector_constant_add_self): Fix
typo last change.
From-SVN: r107359
Alan Modra [Tue, 22 Nov 2005 13:16:29 +0000 (13:16 +0000)]
re PR middle-end/24950 (ICE in operand_subword_force)
PR middle-end/24950
* expmed.c (store_bit_field): Don't attempt to insv a field
larger than the reg.
From-SVN: r107354
Alan Modra [Tue, 22 Nov 2005 13:00:06 +0000 (13:00 +0000)]
re PR target/24954 (ICE: could not split insn)
PR target/24954
* config/rs6000/predicated.md (easy_vector_constant_add_self): Use
explicit sign extension, not a (char) cast.
From-SVN: r107352
Benjamin Kosnik [Tue, 22 Nov 2005 06:54:08 +0000 (06:54 +0000)]
re PR libstdc++/23591 (exceptions in plugins in threads cause segmentation violation by leaving bad exit handler for the pthread)
2005-11-21 Benjamin Kosnik <bkoz@redhat.com>
Ulrich Drepper <drepper@redhat.com>
PR libstdc++/23591
* scripts/create_testsuite_files: Support for "C" test files.
* testsuite/lib/libstdc++.exp: Same.
* testsuite/libstdc++-dg/normal.exp: Same.
* testsuite/ext/mt_allocator/22309_thread.cc: Update names.
* testsuite/19_diagnostics/23591_thread-1.c: New.
* testsuite/testsuite_shared.cc: Add tests, rename existing functions.
* libsupc++/eh_globals.cc: Make global thread local if possible.
* configure.ac: Use GCC_CHECK_TLS.
* acinclude.m4: Include tls.m4.
* configure: Regenerate.
* config.h.in: Same.
Co-Authored-By: Ulrich Drepper <drepper@redhat.com>
From-SVN: r107350
Ben Elliston [Tue, 22 Nov 2005 05:19:29 +0000 (05:19 +0000)]
optabs.c: Use SCALAR_FLOAT_MODE_P instead of explicitly testing GET_MODE_CLASS (x) ==...
* optabs.c: Use SCALAR_FLOAT_MODE_P instead of explicitly testing
GET_MODE_CLASS (x) == MODE_FLOAT.
* config/i386/i386.c: Likewise.
* config/rs6000/xcoff.h: Likewise.
* config/rs6000/linux64.h: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/rs6000/rs6000.h: Likewise.
* config/rs6000/predicates.md: Likewise.
* config/rs6000/sysv4.h: Likewise.
From-SVN: r107348
Kaveh R. Ghazi [Tue, 22 Nov 2005 03:09:59 +0000 (03:09 +0000)]
c-cppbuiltin.c (c_cpp_builtins): Define __pic__ and __PIC__ when flag_pic is set.
* c-cppbuiltin.c (c_cpp_builtins): Define __pic__ and __PIC__ when
flag_pic is set.
* config/alpha/freebsd.h, config/alpha/linux.h,
config/arm/linux-elf.h, config/bfin/bfin.h,
config/cris/linux.h, config/darwin.h, config/freebsd-spec.h,
config/i386/beos-elf.h, config/i386/gnu.h,
config/i386/linux.h, config/i386/linux64.h, config/i386/nto.h,
config/i386/sco5.h, config/m32r/m32r.h, config/m68k/linux.h,
config/m68k/m68k.h, config/mips/linux.h, config/pa/pa-linux.h,
config/rs6000/linux64.h, config/rs6000/sysv4.h,
config/rs6000/vxworks.h, config/s390/linux.h, config/s390/tpf.h,
config/sh/linux.h, config/sh/sh.h, config/sol2.h,
config/sparc/linux.h, config/sparc/linux64.h,
config/xtensa/xtensa.h: Don't define __pic__ or __PIC__.
* doc/invoke.texi: Document that the macros __pic__ and __PIC__
are both defined when either flag -fpic or -fPIC are used.
From-SVN: r107347
Joseph Myers [Tue, 22 Nov 2005 00:38:30 +0000 (00:38 +0000)]
fp-bit.c (clzusi): New function.
* config/fp-bit.c (clzusi): New function.
(si_to_float, usi_to_float): Use it to compute proper shift.
(usi_to_float): Preserve guard bits when shifting right.
* libgcc-std.ver (GCC_4.2.0): New version.
* libgcc2.c (__floatundixf, __floatunditf, __floatundidf,
__floatundisf): New functions.
* libgcc2.h (__floatundixf, __floatunditf, __floatundidf,
__floatundisf): Declare.
* mklibgcc.in (lib2funcs): Add _floatundidf, _floatundisf,
_floatundixf, and _floatunditf.
* optabs.c (expand_float): If target does not define a pattern for
signed or unsigned conversion, use an unsigned libcall instead of
a signed one.
(init_optabs): Initialize ufloat_optab.
testsuite:
* gcc.c-torture/execute/floatunsisf-1.c: New test.
From-SVN: r107345
Joseph Myers [Tue, 22 Nov 2005 00:35:48 +0000 (00:35 +0000)]
rs6000.opt (mmulhw): New option.
* config/rs6000/rs6000.opt (mmulhw): New option.
* doc/invoke.texi (-mmulhw): Document.
* config/rs6000/rs6000.c (rs6000_override_options): Enable -mmulhw
for 405 and 440.
* config/rs6000/rs6000.md: Add half-word multiply and
multiply-accumulate instructions for 405 and 440.
testsuite:
* gcc.target/powerpc/405-macchw-1.c,
gcc.target/powerpc/405-macchw-2.c,
gcc.target/powerpc/405-macchwu-1.c,
gcc.target/powerpc/405-macchwu-2.c,
gcc.target/powerpc/405-machhw-1.c,
gcc.target/powerpc/405-machhw-2.c,
gcc.target/powerpc/405-machhwu-1.c,
gcc.target/powerpc/405-machhwu-2.c,
gcc.target/powerpc/405-maclhw-1.c,
gcc.target/powerpc/405-maclhw-2.c,
gcc.target/powerpc/405-maclhwu-1.c,
gcc.target/powerpc/405-maclhwu-2.c,
gcc.target/powerpc/405-mulchw-1.c,
gcc.target/powerpc/405-mulchw-2.c,
gcc.target/powerpc/405-mulchwu-1.c,
gcc.target/powerpc/405-mulchwu-2.c,
gcc.target/powerpc/405-mulhhw-1.c,
gcc.target/powerpc/405-mulhhw-2.c,
gcc.target/powerpc/405-mulhhwu-1.c,
gcc.target/powerpc/405-mulhhwu-2.c,
gcc.target/powerpc/405-mullhw-1.c,
gcc.target/powerpc/405-mullhw-2.c,
gcc.target/powerpc/405-mullhwu-1.c,
gcc.target/powerpc/405-mullhwu-2.c,
gcc.target/powerpc/405-nmacchw-1.c,
gcc.target/powerpc/405-nmacchw-2.c,
gcc.target/powerpc/405-nmachhw-1.c,
gcc.target/powerpc/405-nmachhw-2.c,
gcc.target/powerpc/405-nmaclhw-1.c,
gcc.target/powerpc/405-nmaclhw-2.c,
gcc.target/powerpc/440-macchw-1.c,
gcc.target/powerpc/440-macchw-2.c,
gcc.target/powerpc/440-macchwu-1.c,
gcc.target/powerpc/440-macchwu-2.c,
gcc.target/powerpc/440-machhw-1.c,
gcc.target/powerpc/440-machhw-2.c,
gcc.target/powerpc/440-machhwu-1.c,
gcc.target/powerpc/440-machhwu-2.c,
gcc.target/powerpc/440-maclhw-1.c,
gcc.target/powerpc/440-maclhw-2.c,
gcc.target/powerpc/440-maclhwu-1.c,
gcc.target/powerpc/440-maclhwu-2.c,
gcc.target/powerpc/440-mulchw-1.c,
gcc.target/powerpc/440-mulchw-2.c,
gcc.target/powerpc/440-mulchwu-1.c,
gcc.target/powerpc/440-mulchwu-2.c,
gcc.target/powerpc/440-mulhhw-1.c,
gcc.target/powerpc/440-mulhhw-2.c,
gcc.target/powerpc/440-mulhhwu-1.c,
gcc.target/powerpc/440-mulhhwu-2.c,
gcc.target/powerpc/440-mullhw-1.c,
gcc.target/powerpc/440-mullhw-2.c,
gcc.target/powerpc/440-mullhwu-1.c,
gcc.target/powerpc/440-mullhwu-2.c,
gcc.target/powerpc/440-nmacchw-1.c,
gcc.target/powerpc/440-nmacchw-2.c,
gcc.target/powerpc/440-nmachhw-1.c,
gcc.target/powerpc/440-nmachhw-2.c,
gcc.target/powerpc/440-nmaclhw-1.c,
gcc.target/powerpc/440-nmaclhw-2.c: New tests.
From-SVN: r107344
Benjamin Kosnik [Tue, 22 Nov 2005 00:19:07 +0000 (00:19 +0000)]
del_op.cc: Include c++config.h first.
2005-11-21 Benjamin Kosnik <bkoz@redhat.com>
* libsupc++/del_op.cc: Include c++config.h first.
* libsupc++/eh_alloc.cc: Same.
* libsupc++/new_opv.cc: Same.
* libsupc++/eh_throw.cc: Same.
* libsupc++/new_op.cc: Same.
* libsupc++/del_opv.cc: Same.
* libsupc++/eh_catch.cc: Same.
* libsupc++/guard.cc: Same.
* libsupc++/del_opnt.cc: Same.
* libsupc++/eh_exception.cc: Same.
* libsupc++/new_opvnt.cc: Same.
* libsupc++/eh_term_handler.cc: Same.
* libsupc++/eh_personality.cc: Same.
* libsupc++/eh_call.cc: Same.
* libsupc++/new_opnt.cc: Same.
* libsupc++/del_opvnt.cc: Same.
2005-11-21 Benjamin Kosnik <bkoz@redhat.com>
* src/Makefile.am (LTCXXCOMPILE): CXXFLAGS last.
* libsupc++/Makefile.am: Same.
* src/Makefile.in: Regenerate.
* libsupc++/Makefile.in: Same.
From-SVN: r107343
GCC Administrator [Tue, 22 Nov 2005 00:17:35 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r107340
Joel Sherrill [Mon, 21 Nov 2005 23:31:50 +0000 (23:31 +0000)]
socket.c: Add extern int h_errno for rtems since networking header files are not...
2005-11-21 Joel Sherrill <joel.sherrill@oarcorp.com>
* socket.c: Add extern int h_errno for rtems since networking header
files are not available at this point in a tool bootstrap. Newlib
only has basic C library header files.
From-SVN: r107331
Joel Sherrill [Mon, 21 Nov 2005 22:56:34 +0000 (22:56 +0000)]
rtems-elf.h: Added definition of LINK_GCC_C_SEQUENCE_SPEC which matches behavior of gcc 4.0...
2005-11-21 Joel Sherrill <joel.sherrill@oarcorp.com>
* config/arm/rtems-elf.h: Added definition of LINK_GCC_C_SEQUENCE_SPEC
which matches behavior of gcc 4.0 and older for RTEMS targets. The
default now includes a linker group which makes the RTEMS one nest.
From-SVN: r107329
Jakub Jelinek [Mon, 21 Nov 2005 22:03:56 +0000 (23:03 +0100)]
re PR fortran/14943 (read/write code generation is not thread safe)
gcc/fortran/
PR fortran/14943
PR fortran/21647
* Make-lang.in (fortran/trans-io.o): Depend on fortran/ioparm.def.
* dump-parse-tree.c (gfc_show_code_node): Dump c->block for
EXEC_{READ,WRITE,IOLENGTH} nodes.
* io.c (terminate_io, match_io, gfc_match_inquire): Put data
transfer commands into EXEC_{READ,WRITE,IOLENGTH}'s code->block.
* resolve.c (resolve_blocks): Handle EXEC_{READ,WRITE,IOLENGTH}.
* trans-io.c (ioparm_unit, ioparm_err, ioparm_end, ioparm_eor,
ioparm_list_format, ioparm_library_return, ioparm_iostat,
ioparm_exist, ioparm_opened, ioparm_number, ioparm_named,
ioparm_rec, ioparm_nextrec, ioparm_size, ioparm_recl_in,
ioparm_recl_out, ioparm_iolength, ioparm_file, ioparm_file_len,
ioparm_status, ioparm_status_len, ioparm_access, ioparm_access_len,
ioparm_form, ioparm_form_len, ioparm_blank, ioparm_blank_len,
ioparm_position, ioparm_position_len, ioparm_action,
ioparm_action_len, ioparm_delim, ioparm_delim_len, ioparm_pad,
ioparm_pad_len, ioparm_format, ioparm_format_len, ioparm_advance,
ioparm_advance_len, ioparm_name, ioparm_name_len,
ioparm_internal_unit, ioparm_internal_unit_len,
ioparm_internal_unit_desc, ioparm_sequential, ioparm_sequential_len,
ioparm_direct, ioparm_direct_len, ioparm_formatted,
ioparm_formatted_len, ioparm_unformatted, ioparm_unformatted_len,
ioparm_read, ioparm_read_len, ioparm_write, ioparm_write_len,
ioparm_readwrite, ioparm_readwrite_len, ioparm_namelist_name,
ioparm_namelist_name_len, ioparm_namelist_read_mode, ioparm_iomsg,
ioparm_iomsg_len, ioparm_var): Remove.
(enum ioparam_type, enum iofield_type, enum iofield,
enum iocall): New enums.
(gfc_st_parameter_field, gfc_st_parameter): New typedefs.
(st_parameter, st_parameter_field, iocall): New variables.
(ADD_FIELD, ADD_STRING): Remove.
(dt_parm, dt_post_end_block): New variables.
(gfc_build_st_parameter): New function.
(gfc_build_io_library_fndecls): Use it. Initialize iocall
array rather than ioparm_*, add extra first arguments to
the function types.
(set_parameter_const): New function.
(set_parameter_value): Add type argument, return a bitmask.
Changed to set a field in automatic structure variable rather
than set a field in a global _gfortran_ioparm variable.
(set_parameter_ref): Likewise. If requested var has different
size than what field should point to, call with a temporary and
then copy into the user variable. Add postblock argument.
(set_string): Remove var_len argument, add type argument, return
a bitmask. Changed to set fields in automatic structure variable
rather than set a field in a global _gfortran_ioparm variable.
(set_internal_unit): Remove iunit, iunit_len, iunit_desc arguments,
add var argument. Return a bitmask. Changed to set fields in
automatic structure variable rather than set a field in a global
_gfortran_ioparm variable.
(set_flag): Removed.
(io_result): Add var argument. Changed to read common.flags field
from automatic structure variable and bitwise AND it with 3.
(set_error_locus): Add var argument. Changed to set fields in
automatic structure variable rather than set a field in a global
_gfortran_{filename,line} variables.
(gfc_trans_open): Use gfc_start_block rather than gfc_init_block.
Create a temporary st_parameter_* structure. Adjust callers of
all above mentioned functions. Pass address of the temporary
variable as first argument to the generated function call.
Use iocall array rather than ioparm_* separate variables.
(gfc_trans_close, build_filepos, gfc_trans_inquire): Likewise.
(build_dt): Likewise. Change first argument to tree from tree *.
Don't dereference code->ext.dt if last_dt == INQUIRE. Emit
IOLENGTH argument setup here. Set dt_parm/dt_post_end_block
variables and gfc_trans_code the nested data transfer commands
in code->block.
(gfc_trans_iolength): Just set last_dt and call build_dt immediately.
(transfer_namelist_element): Pass address of dt_parm variable
to generated functions. Use iocall array rather than ioparm_*
separate variables.
(gfc_trans_backspace, gfc_trans_endfile, gfc_trans_rewind,
gfc_trans_flush, gfc_trans_read, gfc_trans_write): Use iocall array
rather than ioparm_* separate variables.
(gfc_trans_dt_end): Likewise. Pass address of dt_parm variable
as first argument to generated function. Adjust io_result caller.
Prepend dt_post_end_block before io_result code.
(transfer_expr): Use iocall array rather than ioparm_* separate
variables. Pass address of dt_parm variables as first argument
to generated functions.
* ioparm.def: New file.
gcc/testsuite/
PR fortran/24774
* gfortran.dg/inquire_9.f90: New test.
PR fortran/21647
* gfortran.fortran-torture/execute/inquire_5.f90: New test.
libgfortran/
PR fortran/24774
PR fortran/14943
PR fortran/21647
* Makefile.am (AM_CPPFLAGS): Add gcc directories as -I paths,
add -D_GNU_SOURCE.
* Makefile.in: Regenerated.
* acinclude.m4 (LIBGFOR_CHECK_SYNC_FETCH_AND_ADD,
LIBGFOR_CHECK_GTHR_DEFAULT, LIBGFOR_CHECK_PRAGMA_WEAK): New macros.
* configure.ac: Add them.
* configure: Rebuilt.
* config.h.in: Rebuilt.
* libtool-version: Bump libgfortran.so SONAME to libgfortran.so.1.
* libgfortran.h (library_start, show_locus, internal_error,
generate_error, find_option): Add st_parameter_common * argument.
(library_end): Change into a dummy macro.
* io/io.h: Include gthr.h.
(SUPPORTS_WEAK): Define if HAVE_PRAGMA_WEAK.
(CHARACTER): Remove define.
(st_parameter, global_t): Remove typedef.
(ioparm, g, ionml, current_unit): Remove variables.
(init_error_stream): Remove prototype.
(CHARACTER1, CHARACTER2): Define.
(st_parameter_common, st_parameter_open, st_parameter_close,
st_parameter_filepos, st_parameter_inquire, st_parameter_dt): New
typedefs.
(IOPARM_LIBRETURN_MASK, IOPARM_LIBRETURN_OK, IOPARM_LIBRETURN_ERROR,
IOPARM_LIBRETURN_END, IOPARM_LIBRETURN_EOR, IOPARM_ERR, IOPARM_END,
IOPARM_EOR, IOPARM_HAS_IOSTAT, IOPARM_HAS_IOMSG, IOPARM_COMMON_MASK,
IOPARM_OPEN_HAS_RECL_IN, IOPARM_OPEN_HAS_FILE, IOPARM_OPEN_HAS_STATUS,
IOPARM_OPEN_HAS_ACCESS, IOPARM_OPEN_HAS_FORM, IOPARM_OPEN_HAS_BLANK,
IOPARM_OPEN_HAS_POSITION, IOPARM_OPEN_HAS_ACTION,
IOPARM_OPEN_HAS_DELIM, IOPARM_OPEN_HAS_PAD, IOPARM_CLOSE_HAS_STATUS,
IOPARM_INQUIRE_HAS_EXIST, IOPARM_INQUIRE_HAS_OPENED,
IOPARM_INQUIRE_HAS_NUMBER, IOPARM_INQUIRE_HAS_NAMED,
IOPARM_INQUIRE_HAS_NEXTREC, IOPARM_INQUIRE_HAS_RECL_OUT,
IOPARM_INQUIRE_HAS_FILE, IOPARM_INQUIRE_HAS_ACCESS,
IOPARM_INQUIRE_HAS_FORM, IOPARM_INQUIRE_HAS_BLANK,
IOPARM_INQUIRE_HAS_POSITION, IOPARM_INQUIRE_HAS_ACTION,
IOPARM_INQUIRE_HAS_DELIM, IOPARM_INQUIRE_HAS_PAD,
IOPARM_INQUIRE_HAS_NAME, IOPARM_INQUIRE_HAS_SEQUENTIAL,
IOPARM_INQUIRE_HAS_DIRECT, IOPARM_INQUIRE_HAS_FORMATTED,
IOPARM_INQUIRE_HAS_UNFORMATTED, IOPARM_INQUIRE_HAS_READ,
IOPARM_INQUIRE_HAS_WRITE, IOPARM_INQUIRE_HAS_READWRITE,
IOPARM_DT_LIST_FORMAT, IOPARM_DT_NAMELIST_READ_MODE,
IOPARM_DT_HAS_REC, IOPARM_DT_HAS_SIZE, IOPARM_DT_HAS_IOLENGTH,
IOPARM_DT_HAS_FORMAT, IOPARM_DT_HAS_ADVANCE,
IOPARM_DT_HAS_INTERNAL_UNIT, IOPARM_DT_HAS_NAMELIST_NAME,
IOPARM_DT_IONML_SET): Define.
(gfc_unit): Add lock, waiting and close fields. Change file
from flexible array member into pointer to char.
(open_external): Add st_parameter_open * argument.
(find_file, file_exists): Add file and file_len arguments.
(flush_all_units): New prototype.
(max_offset, unit_root, unit_lock): New variable.
(is_internal_unit, is_array_io, next_array_record,
parse_format, next_format, unget_format, format_error,
read_block, write_block, next_record, convert_real,
read_a, read_f, read_l, read_x, read_radix, read_decimal,
list_formatted_read, finish_list_read, namelist_read,
namelist_write, write_a, write_b, write_d, write_e, write_en,
write_es, write_f, write_i, write_l, write_o, write_x, write_z,
list_formatted_write, get_unit): Add st_parameter_dt * argument.
(insert_unit): Remove prototype.
(find_or_create_unit, unlock_unit): New prototype.
(new_unit): Return gfc_unit *. Add st_parameter_open *
and gfc_unit * arguments.
(free_fnodes): Remove prototype.
(free_format_data): New prototype.
(scratch): Remove.
(init_at_eol): Remove prototype.
(free_ionml): New prototype.
(inc_waiting_locked, predec_waiting_locked, dec_waiting_unlocked):
New inline functions.
* io/unit.c (max_offset, unit_root, unit_lock): New variables.
(insert): Adjust os_error caller.
(insert_unit): Made static. Allocate memory here, initialize
lock and after inserting it return it, locked.
(delete_unit): Adjust for deletion of g.
(find_unit_1): New function.
(find_unit): Use it.
(find_or_create_unit): New function.
(get_unit): Add dtp argument, change meaning of the int argument
as creation request flag. Adjust for different st_* calling
conventions, lock internal unit's lock before returning it
and removal of g. Call find_unit_1 instead of find_unit.
(is_internal_unit, is_array_io): Add dtp argument, adjust for
removal of most of global variables.
(init_units): Initialize unit_lock. Adjust insert_unit callers
and adjust for g removal.
(close_unit_1): New function.
(close_unit): Use it.
(unlock_unit): New function.
(close_units): Lock unit_lock, use close_unit_1 rather than
close_unit.
* io/close.c (st_close): Add clp argument. Adjust for new
st_* calling conventions and internal function API changes.
* io/file_pos.c (st_backspace, st_endfile, st_rewind, st_flush):
Add fpp argument. Adjust for new st_* calling conventions and
internal function API changes.
(formatted_backspace, unformatted_backspace): Likewise. Add
u argument.
* io/open.c (edit_modes, st_open): Add opp argument. Adjust for
new st_* calling conventions and internal function API changes.
(already_open): Likewise. If not HAVE_UNLINK_OPEN_FILE, unlink
scratch file. Instead of calling close_unit just call sclose,
free u->file if any and clear a few u fields before calling
new_unit.
(new_unit): Return gfc_unit *. Add opp and u arguments.
Adjust for new st_* calling conventions and internal function
API changes. Don't allocate unit here, rather than work with
already created unit u already locked on entry. In case
of failure, close_unit it.
* io/unix.c: Include unix.h.
(BUFFER_SIZE, unix_stream): Moved to unix.h.
(unit_to_fd): Add unlock_unit call.
(tempfile): Add opp argument, use its fields rather than ioparm.
(regular_file): Likewise.
(open_external): Likewise. Only unlink file if fd >= 0.
(init_error_stream): Add error argument, set structure it points
to rather than filling static variable and returning its address.
(FIND_FILE0_DECL, FIND_FILE0_ARGS): Define.
(find_file0): Use them. Don't crash if u->s == NULL.
(find_file): Add file and file_len arguments, use them instead
of ioparm. Add locking. Pass either an array of 2 struct stat
or file and file_len pair to find_file0.
(flush_all_units_1, flush_all_units): New functions.
(file_exists): Add file and file_len arguments, use them instead
of ioparm.
* io/unix.h: New file.
* io/lock.c (ioparm, g, ionml): Remove variables.
(library_start): Add cmp argument, adjust for new st_* calling
conventions.
(library_end): Remove.
(free_ionml): New function.
* io/inquire.c (inquire_via_unit, inquire_via_filename,
st_inquire): Add iqp argument, adjust for new st_* calling
conventions and internal function API changes.
* io/format.c (FARRAY_SIZE): Decrease to 64.
(fnode_array, format_data): New typedefs.
(avail, array, format_string, string, error, saved_token, value,
format_string_len, reversion_ok, saved_format): Remove variables.
(colon_node): Add const.
(free_fnode, free_fnodes): Remove.
(free_format_data): New function.
(next_char, unget_char, get_fnode, format_lex, parse_format_list,
format_error, parse_format, revert, unget_format, next_test): Add
fmt or dtp arguments, pass it all around, adjust for internal
function API changes and adjust for removal of global variables.
(next_format): Likewise. Constify return type.
(next_format0): Constify return type.
* io/transfer.c (current_unit, sf_seen_eor, eor_condition, max_pos,
skips, pending_spaces, scratch, line_buffer, advance_status,
transfer): Remove variables.
(transfer_integer, transfer_real, transfer_logical,
transfer_character, transfer_complex, transfer_array, current_mode,
read_sf, read_block, read_block_direct, write_block,
write_block_direct, unformatted_read, unformatted_write,
type_name, write_constant_string, require_type,
formatted_transfer_scalar, us_read, us_write, pre_position,
data_transfer_init, next_record_r, next_record_w, next_record,
finalize_transfer, iolength_transfer, iolength_transfer_init,
st_iolength, st_iolength_done, st_read, st_read_done, st_write,
st_write_done, st_set_nml_var, st_set_nml_var_dim,
next_array_record): Add dtp argument, pass it all around, adjust for
internal function API changes and removal of global variables.
* io/list_read.c (repeat_count, saved_length, saved_used,
input_complete, at_eol, comma_flag, last_char, saved_string,
saved_type, namelist_mode, nml_read_error, value, parse_err_msg,
nml_err_msg, prev_nl): Remove variables.
(push_char, free_saved, next_char, unget_char, eat_spaces,
eat_separator, finish_separator, nml_bad_return, convert_integer,
parse_repeat, read_logical, read_integer, read_character,
parse_real, read_complex, read_real, check_type,
list_formatted_read_scalar, list_formatted_read, finish_list_read,
find_nml_node, nml_untouch_nodes, nml_match_name, nml_query,
namelist_read): Add dtp argument, pass it all around, adjust for
internal function API changes and removal of global variables.
(nml_parse_qualifier): Likewise. Add parse_err_msg argument.
(nml_read_obj): Likewise. Add pprev_nl, nml_err_msg, clow and
chigh arguments.
(nml_get_obj_data): Likewise. Add pprev_nl and nml_err_msg
arguments.
(init_at_eol): Removed.
* io/read.c (convert_real, read_l, read_a, next_char, read_decimal,
read_radix, read_f, read_x): Add dtp argument, pass it all around,
adjust for internal function API changes and removal of global
variables.
(set_integer): Adjust internal_error caller.
* io/write.c (no_leading_blank, nml_delim): Remove variables.
(write_a, calculate_sign, calculate_G_format, output_float,
write_l, write_float, write_int, write_decimal, write_i, write_b,
write_o, write_z, write_d, write_e, write_f, write_en, write_es,
write_x, write_char, write_logical, write_integer, write_character,
write_real, write_complex, write_separator,
list_formatted_write_scalar, list_formatted_write, nml_write_obj,
namelist_write): Add dtp argument, pass it all around, adjust for
internal function API changes and removal of global variables.
(extract_int, extract_uint, extract_real): Adjust internal_error
callers.
* runtime/fpu.c (_GNU_SOURCE): Don't define here.
* runtime/error.c: Include ../io/unix.h.
(filename, line): Remove variables.
(st_printf): Pass address of a local variable to init_error_stream.
(show_locus): Add cmp argument. Use fields it points to rather than
filename and line variables.
(os_error, runtime_error): Remove show_locus calls.
(internal_error): Add cmp argument. Pass it down to show_locus.
(generate_error): Likewise. Use flags bitmask instead of non-NULL
check for iostat and iomsg parameter presence, adjust for st_*
calling convention changes.
* runtime/stop.c (stop_numeric, stop_string): Remove show_locus
calls.
* runtime/pause.c (pause_numeric, pause_string): Likewise.
* runtime/string.c: Include ../io/io.h.
(find_option): Add cmp argument. Pass it down to generate_error.
* intrinsics/flush.c (recursive_flush): Remove.
(flush_i4, flush_i8): Use flush_all_units. Add unlock_unit
call.
* intrinsics/rand.c: Include ../io/io.h.
(rand_seed_lock): New variable.
(srand, irand): Add locking.
(init): New constructor function.
* intrinsics/random.c: Include ../io/io.h.
(random_lock): New variable.
(random_r4, random_r8, arandom_r4, arandom_r8): Add locking.
(random_seed): Likewise. open failed if fd < 0. Set i correctly.
(init): New constructor function.
* intrinsics/system_clock.c (tp0, t0): Remove.
(system_clock_4, system_clock_8): Don't subtract tp0/t0 from current
time, use just integer arithmetics.
* intrinsics/tty.c (isatty_l4, isatty_l8, ttynam_sub): Add
unlock_unit calls.
From-SVN: r107328
Ben Elliston [Mon, 21 Nov 2005 21:29:23 +0000 (21:29 +0000)]
cse.c (fold_rtx): Typo fix.
* cse.c (fold_rtx): Typo fix.
(find_comparison_args): Pass the mode of arg1, not arg1 itself.
From-SVN: r107326
Richard Henderson [Mon, 21 Nov 2005 21:27:29 +0000 (13:27 -0800)]
c-common.c, [...]: Revert 2005-11-18 lookup_name patch.
gcc/
* c-common.c, config/darwin-c.c, c-decl.c, c-tree.h, c-objc-common.h,
langhooks-def.h, langhooks.h: Revert 2005-11-18 lookup_name patch.
* c-tree.h (lookup_name): Move declaration ...
* c-common.h (lookup_name): ... here.
* config/darwin-c.c: Include c-common.h.
* config/t-darwin: Update dependencies.
gcc/cp/
* cp-objcp-common.h, name-lookup.c, name-lookup.h: Revert 11-18 patch.
* name-lookup.c (lookup_name): Remove prefer_type argument.
(lookup_name_prefer_type): New.
* decl.c (lookup_and_check_tag): Use them.
* pt.c (tsubst_friend_class): Likewise.
(lookup_template_class): Likewise.
(tsubst_copy_and_build): Likewise.
* name-lookup.h (lookup_name_prefer_type): New.
(lookup_name): Remove declaration.
From-SVN: r107325
Ben Elliston [Mon, 21 Nov 2005 20:53:27 +0000 (20:53 +0000)]
optabs.c (expand_abs_nojump): Use SCALAR_FLOAT_MODE_P instead of explicitly testing GET_MODE_CLASS (x) ==...
* optabs.c (expand_abs_nojump): Use SCALAR_FLOAT_MODE_P instead of
explicitly testing GET_MODE_CLASS (x) == MODE_FLOAT.
* genopinit.c (gen_insn): Likewise.
* reload.c (find_equiv_reg): Likewise.
* loop.c (load_mems): Likewise.
* rtlanal.c (may_trap_p_1, canonicalize_condition): Likewise.
* cse.c (find_comparison_args, fold_rtx): Likewise.
* dwarf2out.c (add_const_value_attribute): Likewise.
* expr.c (convert_move): Likewise.
* recog.c (general_operand, register_operand): Likewise.
* reg-stack.c (replace_reg): Likewise.
* tree-vect-generic.c (type_for_widest_vector_mode): Likewise.
* c-common.c (handle_vector_size_attribute): Likewise.
* simplify-rtx.c (simplify_const_unary_operation): Likewise.
(simplify_binary_operation_1): Likewise.
(simplify_const_binary_operation): Likewise.
(simplify_relational_operation): Likewise.
(simplify_const_relational_operation): Likewise.
(simplify_immed_subreg): Likewise.
* emit-rtl.c (gen_lowpart_common): Likewise.
* expmed.c (expand_mult): Likewise.
* stor-layout.c (layout_type): Likewise.
From-SVN: r107322
Eric Botcazou [Mon, 21 Nov 2005 20:52:25 +0000 (21:52 +0100)]
re PR libfortran/24432 (Missing symbols)
PR libfortran/24432
* lib/target-supports.exp (check_effective_target_fortran_large_real):
Check that 'cos' is supported.
From-SVN: r107321
Paolo Carlini [Mon, 21 Nov 2005 18:38:05 +0000 (18:38 +0000)]
sso_string_base.h: Minor formatting and stylistic fixes.
2005-11-21 Paolo Carlini <pcarlini@suse.de>
* include/ext/sso_string_base.h: Minor formatting and stylistic fixes.
(__sso_string_base<>::_M_get_allocator): Return by const ref.
* include/ext/rc_string_base.h: Likewise.
(__rc_string_base<>::_M_get_allocator): Return by const ref.
(__rc_string_base<>::_M_dispose): Take void, use _M_get_allocator.
(__rc_string_base<>::_M_grab): Take one alloc, use _M_get_allocator.
(__rc_string_base<>::~__rc_string_base,
__rc_string_base(const __rc_string_base&), _M_assign, _M_reserve,
_M_mutate): Adjust.
* include/ext/vstring_util.h: Minor stylistic fixes.
From-SVN: r107317
Paolo Bonzini [Mon, 21 Nov 2005 16:38:13 +0000 (16:38 +0000)]
re PR target/24951 (ICE: RTL check: expected code 'const_int', have 'const_double' in output_vec_const_move, at config/rs6000/rs6000.c)
2005-11-21 Paolo Bonzini <bonzini@gnu.org>
PR target/24951
* config/rs6000/rs6000.c (output_vec_const_move): Load cst and
cst2 only for SPE vectors.
From-SVN: r107312
David Edelsohn [Mon, 21 Nov 2005 16:12:32 +0000 (16:12 +0000)]
re PR target/24953 (RTL check: access of elt 1 of vector with last elt 0 in vrsave_operation_1, at config/rs6000/predicates.md:1041)
PR target/24953
* config/rs6000/predicates.md (vrsave_operation): Check
UNSPEC_VOLATILE value.
From-SVN: r107311