Bernd Schmidt [Tue, 21 Feb 2006 15:32:21 +0000 (15:32 +0000)]
predicates.md (cc_operand): Delete predicate.
* config/bfin/predicates.md (cc_operand): Delete predicate. All uses
replaced with register_operand.
* config/bfin/bfin.c (bfin_register_move_cost): Moving CC to any
non-DREG is expensive.
* config/bfin/bfin.h (FIXED_REGISTERS): CC isn't fixed.
* config/bfin/bfin.md (movbi): Fix constraints and template for moves
involving memory.
From-SVN: r111336
Rafael Espindola [Tue, 21 Feb 2006 13:57:53 +0000 (13:57 +0000)]
Makefile.tpl (BUILD_CONFIGDIRS): Remove
* Makefile.tpl (BUILD_CONFIGDIRS): Remove
(TARGET_CONFIGDIRS): Remove
* configure.in: Remove AC_SUBST(target_configdirs)
* Makefile.in, configure: Regenerated
From-SVN: r111334
Joseph Myers [Tue, 21 Feb 2006 12:06:31 +0000 (12:06 +0000)]
* doc/install.texi2html: Use set -e.
From-SVN: r111332
Robert Schuster [Tue, 21 Feb 2006 10:32:31 +0000 (10:32 +0000)]
link.cc: Added variant of create_error_method that will not complain about unused...
2006-02-21 Robert Schuster <robertschuster@fsfe.org>
* link.cc: Added variant of create_error_method that
will not complain about unused parameter if compiled with
USE_LIBFFI not being defined.
(_Jv_Linker::find_field_helper): Fixed indentation.
(_Jv_Linker::create_error_method): Fixed indentation.
(_Jv_Linker::link_symbol_table): Fixed indentation.
From-SVN: r111331
Richard Sandiford [Tue, 21 Feb 2006 08:51:26 +0000 (08:51 +0000)]
* doc/tm.texi (ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_BSS)
(ASM_OUTPUT_SHARED_LOCAL): Delete.
* doc/invoke.texi (-fshared-data): Delete.
* common.opt (fshared-data): Delete.
* varasm.c (asm_emit_uninitialised): Remove flag_shared_data handling.
(assemble_static_space): Remove #if 0 code.
* system.h (ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_BSS)
(ASM_OUTPUT_SHARED_LOCAL): Poison.
* config/cris/cris.h: Remove FIXME.
From-SVN: r111330
Paolo Bonzini [Tue, 21 Feb 2006 08:45:09 +0000 (08:45 +0000)]
sourcebuild.texi (Front End Directory): No more double-colon hooks.
2006-02-21 Paolo Bonzini <bonzini@gnu.org>
* doc/sourcebuild.texi (Front End Directory): No more double-colon
hooks.
From-SVN: r111329
Jakub Jelinek [Tue, 21 Feb 2006 08:09:08 +0000 (09:09 +0100)]
re PR middle-end/26379 (ICE on vector shift RTL simplification)
PR middle-end/26379
* combine.c (simplify_shift_const_1): Disable nested shifts
optimization for vector shifts.
* gcc.target/i386/mmx-7.c: New test.
From-SVN: r111328
Roger Sayle [Tue, 21 Feb 2006 02:28:03 +0000 (02:28 +0000)]
re PR tree-optimization/26361 (bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c)
PR tree-optimization/26361
* tree-vrp.c (extract_range_from_unary_expr): Handle NEGATE_EXPR
of unsigned integer types.
* gcc.dg/tree-ssa/vrp27.c: New test case.
From-SVN: r111327
Ben Elliston [Tue, 21 Feb 2006 02:21:44 +0000 (02:21 +0000)]
* pexecute.c (pwait): Syntax fix for previous change.
From-SVN: r111326
Uttam Pawar [Tue, 21 Feb 2006 01:21:49 +0000 (01:21 +0000)]
pexecute.c (pwait): Free vector pointer.
* pexecute.c (pwait): Free vector pointer.
* partition.c (partition_print): Free class_elements pointer.
From-SVN: r111325
GCC Administrator [Tue, 21 Feb 2006 00:18:04 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r111323
Steven G. Kargl [Mon, 20 Feb 2006 21:46:36 +0000 (21:46 +0000)]
MAINTAINERS (Write After Approval): Remove myself.
2006-02-20 Steven G. Kargl <kargls@comcast.net>
* MAINTAINERS (Write After Approval): Remove myself.
(Language Front End Maintainers): Add myself as fortran 95 maintainer.
From-SVN: r111315
Andreas Tobler [Mon, 20 Feb 2006 21:10:14 +0000 (22:10 +0100)]
libffi: testsuite fix for ix86.
2006-02-20 Andreas Tobler <a.tobler@schweiz.ch>
* testsuite/libffi.call/return_fl2.c (return_fl): Remove static
declaration to avoid a false negative on ix86. See PR323.
From-SVN: r111314
Sebastian Pop [Mon, 20 Feb 2006 20:25:54 +0000 (21:25 +0100)]
tree-chrec.c (eq_evolutions_p): New.
* tree-chrec.c (eq_evolutions_p): New.
* tree-chrec.h (eq_evolutions_p): Declared.
* tree-data-ref.c: Fix formatting.
(datadep_stats, dependence_stats): New.
(gcd): Moved...
(print_direction_vector): New.
(dump_data_dependence_relation): Use print_direction_vector.
(object_analysis, create_data_ref): Handle COMPONENT_REF.
(compute_subscript_distance): Static.
(initialize_data_dependence_relation): Static. Get the number
of loops surrounding the references from the callers, and initialize
DDR_SIZE_VECT to nb_loops. Use both base_addr_differ_p and
base_object_differ_p analyzers.
(analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
compute_overlap_steps_for_affine_1_2,
analyze_subscript_affine_affine): Count the classified dependences.
Print a message when a test failed.
(can_use_analyze_subscript_affine_affine): New.
(analyze_siv_subscript): Compute the data dependences on symbolic
scevs that verify can_use_analyze_subscript_affine_affine.
(chrec_steps_divide_constant_p): Returns true, false, or unknown.
(analyze_miv_subscript): Update use of chrec_steps_divide_constant_p.
Handle symbolic scevs.
(analyze_overlapping_iterations): Let symbolic affine scevs to be
analyzed.
(subscript_dependence_tester): Moved...
(build_classic_dist_vector, build_classic_dir_vector): Don't use
lambda_vector_clear on newly allocated vectors. Get nb_loops from
DDR_SIZE_VECT instead of getting it in parameter.
(subscript_dependence_tester): ... here. Take as a parameter
loop_nest_depth. Call build_classic_dist_vector and
build_classic_dir_vector.
(compute_affine_dependence): Update subscript_dependence_tester
parameters. Update datadep_stats counters. Call
compute_subscript_distance.
(compute_self_dependence): Save the dist and dir vectors. Call
compute_subscript_distance.
(ddr_p, DEF_VEC_P(ddr_p), DEF_VEC_ALLOC_P(ddr_p,heap)): Moved...
(compute_all_dependences): Reorder parameters as they were before
conversion to VEC. Pass nb_loops and loop_nest_depth. Don't call
compute_subscript_distance. Update the use of
compute_affine_dependence and initialize_data_dependence_relation.
(find_data_references_in_loop): Handle COMPONENT_REF.
(compute_data_dependences_for_loop): Initialize dependence_stats.
Don't call build_classic_dist_vector and build_classic_dir_vector.
Update the parameters of initialize_data_dependence_relation and
compute_all_dependences. Print the statistics from datadep_stats.
(analyze_all_data_dependences): Static. Not used until the pass for
checking the data dependences is contributed.
* tree-data-ref.h (ddr_p, DEF_VEC_P(ddr_p),
DEF_VEC_ALLOC_P(ddr_p,heap)): ... here.
(initialize_data_dependence_relation, compute_affine_dependence,
analyze_all_data_dependences, compute_subscript_distance): Removed.
(print_direction_vector): New.
* lambda.h (gcd): ... here.
(lambda_vector_gcd): Moved here from gcd_vector.
* lambda-code.c (gcd, gcd_vector): Removed.
(lambda_compute_target_space): Use lambda_vector_gcd. Fix formatting.
* Makefile.in (tree-vect-patterns.o): Depends on TREE_DATA_REF_H.
From-SVN: r111312
Diego Novillo [Mon, 20 Feb 2006 19:52:56 +0000 (19:52 +0000)]
ipa-type-escape.c: Tidy some comments and white space.
* ipa-type-escape.c: Tidy some comments and white space.
* tree-ssa-operands.c: Likewise.
From-SVN: r111310
Andrew Pinski [Mon, 20 Feb 2006 18:01:59 +0000 (18:01 +0000)]
complex-3.c: Split out first part into ...
2006-02-20 Andrew Pinski <pinskia@physics.uc.edu>
* gcc.dg/tree-ssa/complex-3.c: Split out first part into ...
* gcc.dg/tree-ssa/complex-4.c: Here.
From-SVN: r111309
Andrew Pinski [Mon, 20 Feb 2006 17:47:34 +0000 (09:47 -0800)]
re PR tree-optimization/25879 (TDF_CHAIN makes -fdump-tree-all-all useless)
2006-02-20 Andrew Pinski <pinskia@physics.uc.edu>
PR tree-opt/25879
* tree-pretty-print.c (debug_tree_chain): Walk the chains.
(dump_decl_name): Do not walk the decl tree chains.
* tree-pass.h (TDF_CHAIN): Remove.
From-SVN: r111308
Rafael Espindola [Mon, 20 Feb 2006 17:17:04 +0000 (17:17 +0000)]
Make-lang.in (OBJC): Remove
* gcc/objc/Make-lang.in (OBJC): Remove
(OBJECTIVE-C): Remove
(objective-c): Remove
(.PHONY): Remove objective-c and ObjC
* gcc/objcp/Make-lang.in (OBJ-C++): Remove
(.PHONY): Remove Obj-c++ and obj-C++. Add obj-c++
* gcc/cp/Make-lang.in (C++): Remove
(.PHONY): Remove C++
* gcc/ada/Make-lang.in (Ada): Remove
(.PHONY): Remove Ada
* gcc/fortran/Make-lang.in (FORTRAN): Remove
(.PHONY): Remove F95 and f95. Add fortran
* gcc/treelang/Make-lang.in (.phony): Remove TREELANG
(TREELANG): Remove
* gcc/Makefile.in (C): Remove
(PROTO): Remove
(.PHONY): Remove C and PROTO
From-SVN: r111307
Andrew Haley [Mon, 20 Feb 2006 16:16:34 +0000 (16:16 +0000)]
class.c (GEN_TABLE): Don't pushdecl *_SYMS_DECL here.
2006-02-15 Andrew Haley <aph@redhat.com>
* class.c (GEN_TABLE): Don't pushdecl *_SYMS_DECL here.
(make_class_data): pushdecl_top_level TYPE_OTABLE_SYMS_DECL,
TYPE_ATABLE_SYMS_DECL, TYPE_ITABLE_SYMS_DECL here.
From-SVN: r111306
Roger Sayle [Mon, 20 Feb 2006 15:05:15 +0000 (15:05 +0000)]
re PR middle-end/26236 (CHAR_TYPE is still referenced in c-tree.texi)
PR middle-end/26236
* doc/c-tree.texi (INTEGER_TYPE): Remove reference to the now
deprecated CHAR_TYPE tree code.
From-SVN: r111305
Paolo Bonzini [Mon, 20 Feb 2006 14:50:08 +0000 (14:50 +0000)]
configure.ac (target_list): Add install-info, dvi, html.
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
* configure.ac (target_list): Add install-info, dvi, html.
* configure: Regenerate.
* ada/Make-lang.in, cp/Make-lang.in, fortran/Make-lang.in,
java/Make-lang.in, objc/Make-lang.in, objcp/Make-lang.in,
treelang/Make-lang.in: Do not use double-colon rules.
From-SVN: r111304
Roger Sayle [Mon, 20 Feb 2006 14:22:33 +0000 (14:22 +0000)]
trans-stmt.c (gfc_trans_where_2): Avoid updating unused current execution mask for empty WHERE/ELSEWHERE clauses.
* trans-stmt.c (gfc_trans_where_2): Avoid updating unused current
execution mask for empty WHERE/ELSEWHERE clauses. Don't allocate
temporary mask arrays if they won't be used.
From-SVN: r111303
Paolo Carlini [Mon, 20 Feb 2006 14:20:51 +0000 (14:20 +0000)]
Revert recent commit for libstdc++/26211, now suspended waiting for DR 342 (reopened) to reach a new resolution.
2006-02-20 Paolo Carlini <pcarlini@suse.de>
Revert recent commit for libstdc++/26211, now suspended waiting for
DR 342 (reopened) to reach a new resolution.
* include/bits/istream.tcc (basic_istream<>::tellg, seekg(pos_type),
seekg(off_type, ios_base::seekdir)): Remove sentry.
* testsuite/27_io/basic_istream/seekg/char/26211.cc: Remove.
* testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/char/26211.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Revert changes.
* testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
From-SVN: r111302
Roger Sayle [Mon, 20 Feb 2006 14:15:35 +0000 (14:15 +0000)]
trans-stmt.c (gfc_trans_where_assign): Remove code to handle traversing a linked list of MASKs.
* trans-stmt.c (gfc_trans_where_assign): Remove code to handle
traversing a linked list of MASKs. The MASK is now always a
single element requiring no ANDing during the assignment.
From-SVN: r111301
Daniel Berlin [Mon, 20 Feb 2006 13:38:01 +0000 (13:38 +0000)]
tree.h (struct tree_memory_tag): Add is_used_alone member.
2006-02-20 Daniel Berlin <dberlin@dberlin.org>
* tree.h (struct tree_memory_tag): Add is_used_alone member.
(TMT_USED_ALONE): New macro.
* tree-pass.h (PROP_tmt_usage): New property.
(TODO_update_tmt_usage): New todo.
* tree-ssa-alias.c (updating_used_alone): New variable.
(recalculate_used_alone): New function.
(compute_may_aliases): Set updating_used_alone, call
recalculate_used_alone.
* tree-sra.c (pass_sra): Note that this pass destroys
PROP_tmt_usage, and add TODO_update_tmt_usage.
* tree-ssa-forwprop.c (pass_forwprop): Ditto.
* tree-flow.h (updating_used_alone): Prototype.
(recalculate_used_alone): Ditto.
* passes.c (execute_todo): Add code to set updating_used_alone,
and call recalculate.
* tree-ssa-operands.c (add_virtual_operand): Only append bare def
for clobber if used alone, and add assert to verify used_alone
status.
From-SVN: r111300
Angel Nunez Mencias [Mon, 20 Feb 2006 08:42:27 +0000 (08:42 +0000)]
s390.c (legitimize_pic_address): Assertions checking for non tls symbols added.
2006-02-20 Angel Nunez Mencias <anunez@de.ibm.com>
* config/s390/s390.c (legitimize_pic_address): Assertions checking
for non tls symbols added.
(legitimize_address): Do nothing for PLUS expressions if one of the
addends is a tls symbol reference.
From-SVN: r111296
Paolo Bonzini [Mon, 20 Feb 2006 08:29:17 +0000 (08:29 +0000)]
re PR bootstrap/25670 (build fail with 'make all-gcc')
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25670
* Makefile.tpl ([+compare-target+]): Print explanation messages.
* Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass.
* Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass.
(EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES,
BUILD_PREFIX, BUILD_PREFIX_1.
* configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute.
* Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too.
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too.
* Makefile.tpl (configure-stage[+id+]-[+prefix+][+module+],
all-stage[+id+]-[+prefix+][+module+], : Use $(current_stage) instead
of `cat stage_current`. Always provide the `r' and `s' variables.
(clean-stage[+id+]-[+prefix+][+module+]): Likewise, and make it into
a single shell execution.
(configure-[+prefix+][+module+], all-[+prefix+][+module+]): For
bootstrapped modules, make the stage1 module if the build was not
started yet, else build the current stage.
(all-host, all-target): Omit bootstrapped modules (if bootstrapping).
(all-build, all-host, all-target, [+make_target+]-host,
[+make_target+]-target): Do not use \-continued lines.
(target modules): Depend on stage_last, not all-gcc, if bootstrapping.
(current_stage, restrap, stage_last): New.
* Makefile.in: Regenerate.
* configure: Regenerate.
gcc:
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25476
* Makefile.in (LDFLAGS): Define from autoconf substitution.
* Makefile.in (BOOTSTRAPPING): New.
(quickstrap): New definition if BOOTSTRAPPING=yes.
* Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
* configure.ac: Substitute all_selected_languages with the languages
that were configured. For all the other variables except
lang_specs_files, include all the languages in the tree.
* configure: Regenerate.
* Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
if there is one. Run the commands to run fixincludes in the same
subshell.
* doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
* doc/install.texi: Document exact conventions for searching target tools.
Document --with-build-time-tools. Document toplevel bootstrap. Document
something more about building an Ada cross-compiler. Don't list GNU Make
requirements which affect all platforms.
From-SVN: r111295
Roger Sayle [Mon, 20 Feb 2006 00:34:12 +0000 (00:34 +0000)]
re PR middle-end/19543 ([4.1 only] fortran LOGICAL*8 not consistently distinguished from 32 bit integers)
PR middle-end/19543
* varasm.c (compare_constant) <INTEGER_CST>: Integer constants are
only equivalent if the have both the same mode and precision.
* gfortran.dg/logical_1.f90: New test case.
From-SVN: r111294
GCC Administrator [Mon, 20 Feb 2006 00:17:42 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r111292
Ben Elliston [Sun, 19 Feb 2006 23:09:26 +0000 (23:09 +0000)]
* doc/tree-ssa.texi (Interfaces): Describe low vs. high GIMPLE.
From-SVN: r111286
Roger Sayle [Sun, 19 Feb 2006 22:01:17 +0000 (22:01 +0000)]
gcse.c (want_to_gcse_p): On STACK_REGS targets...
* gcse.c (want_to_gcse_p): On STACK_REGS targets, look through
constant pool references to identify stack mode constants.
* rtlanal.c (constant_pool_constant_p): New predicate to check
whether operand is a floating point constant in the pool.
* rtl.h (constant_pool_constant_p): Prototype here.
* loop.c (scan_loop): Avoid hoisting constants from the constant
pool on STACK_REGS targets.
(load_mems): Likewise.
* loop-invariant.c (get_inv_cost): Make hoisting constant pool
loads into x87 registers expensive in terms of register pressure.
Co-Authored-By: Steven Bosscher <stevenb.gcc@gmail.com>
From-SVN: r111283
Roger Sayle [Sun, 19 Feb 2006 21:49:58 +0000 (21:49 +0000)]
gthr-posix.h: On Tru64...
* gthr-posix.h: On Tru64, map __gthr_foo as a weak reference to
__foo and not foo when _PTHREAD_USE_MANGLED_NAMES_ is defined.
From-SVN: r111282
François-Xavier Coudert [Sun, 19 Feb 2006 21:31:02 +0000 (21:31 +0000)]
re PR libfortran/21303 (L edit descriptor without a width)
PR libfortran/21303
* gfortran.h (notification): New enumeration.
(gfc_notification_std): Prototype for the new function.
* error.c (gfc_notification_std): New function.
* io.c (check_format): Handle the case of a L format descriptor
without a width.
* runtime/error.c (notification_std): New function.
* libgfortran.h (notification): New enumeration.
* io/io.h (notification_std): Prototype for the new function.
* io/format.c (parse_format_list): Handle the case of a L format
descriptor without a width.
* gcc/testsuite/gfortran.dg/fmt_l.f90: New test.
From-SVN: r111281
Thomas Koenig [Sun, 19 Feb 2006 20:28:02 +0000 (20:28 +0000)]
gfortran.texi: Document environment variables which influence runtime behavior.
2006-02-19 Thomas Koenig <Thomas.Koenig@online.de>
* gfortran.texi: Document environment variables which
influence runtime behavior.
From-SVN: r111280
Jakub Jelinek [Sun, 19 Feb 2006 20:01:26 +0000 (21:01 +0100)]
re PR middle-end/26334 (ICE in lhd_set_decl_assembler_name)
PR middle-end/26334
* gcc.dg/
20060218-1.c: Moved to...
* gcc.target/i386/
20060218-1.c: ... here. New test.
From-SVN: r111279
David Edelsohn [Sun, 19 Feb 2006 18:46:12 +0000 (13:46 -0500)]
xcoff.h (TARGET_ASM_OUTPUT_ANCHOR): Define.
* config/rs6000/xcoff.h (TARGET_ASM_OUTPUT_ANCHOR): Define.
* config/rs6000/rs6000.c (rs6000_xcoff_asm_output_anchor): Define.
From-SVN: r111275
Paolo Carlini [Sun, 19 Feb 2006 18:27:06 +0000 (18:27 +0000)]
std_sstream.h (basic_stringbuf<>::setbuf): Simply clear the internal _M_string, adjust _M_sync call.
2006-02-19 Paolo Carlini <pcarlini@suse.de>
* include/std/std_sstream.h (basic_stringbuf<>::setbuf): Simply
clear the internal _M_string, adjust _M_sync call.
* include/bits/sstream.tcc (basic_stringbuf<>::_M_sync): Adjust
consistently for calls from setbuf.
From-SVN: r111274
Daniel Berlin [Sun, 19 Feb 2006 18:26:00 +0000 (18:26 +0000)]
invoke.texi: Document -fipa-pta.
2006-02-19 Daniel Berlin <dberlin@dberlin.org>
* doc/invoke.texi: Document -fipa-pta.
* common.opt: Add ipa-pta option.
* tree-ssa-structalias.c (DONT_PROPAGATE_WITH_ANYTHING): Removed.
(do_sd_constraint): Enable DONT_PROPAGATE_WITH_ANYTHING code.
(do_ds_constraint): Ditto.
(get_constraint_for): Only add to referenced_vars if
referenced_vars exists.
(insert_into_field_list): Rewrite to do this unsorted.
(insert_into_field_list_sorted): Rename old insert_into_field_list
to this.
(create_function_info_for): Use insert_into_field_list_sorted.
(create_variable_info_for): Rewrite so it uses unsorted version,
since the field list is sorted.
(intra_create_variable_infos): Only add to referenced_vars if
referenced_vars exists.
(ipa_pta_execute): Init heapvars, and delete when done.
* passes.c (init_optimization_passes): Add call to pass_ipa_pta.
From-SVN: r111273
John David Anglin [Sun, 19 Feb 2006 18:15:58 +0000 (18:15 +0000)]
install.texi: Add missing `@samp'.
* doc/install.texi: Add missing `@samp'.
From-SVN: r111272
H.J. Lu [Sun, 19 Feb 2006 18:03:52 +0000 (18:03 +0000)]
resolve.c (resolve_contained_functions): Call resolve_entries first.
2006-02-19 H.J. Lu <hongjiu.lu@intel.com>
* resolve.c (resolve_contained_functions): Call resolve_entries
first.
(resolve_types): Remove calls to resolve_entries and
resolve_contained_functions.
(gfc_resolve): Call resolve_contained_functions.
From-SVN: r111271
Erik Edelmann [Sun, 19 Feb 2006 17:23:07 +0000 (17:23 +0000)]
re PR fortran/26201 (__convert_i4_i8 written to a module.)
fortran/
2006-02-19 Erik Edelmann <eedelman@gcc.gnu.org>
PR fortran/26201
* intrinsic.c (gfc_convert_type_warn): Call
gfc_intrinsic_symbol() on the newly created symbol.
testsuite/
2006-02-19 Erik Edelmann <eedelman@gcc.gnu.org>
PR fortran/26201
* gfortran.dg/convert_1.f90: New.
From-SVN: r111270
Bud Davis [Sun, 19 Feb 2006 16:23:20 +0000 (16:23 +0000)]
MAINTAINERS (Write After Approval): Remove myself.
2006-02-19 Bud Davis <jmdavis@link.com>
* MAINTAINERS (Write After Approval): Remove myself.
(Language Front End Maintainers): Add myself as fortran 95
maintainer and update e-mail address.
From-SVN: r111269
Paul Thomas [Sun, 19 Feb 2006 15:24:26 +0000 (15:24 +0000)]
re PR fortran/25054 (nonconstant bounds array cannot appear in a namelist)
2005-02-19 Paul Thomas <pault@gcc.gnu.org>
PR fortran/25054
* resolve.c (is_non_constant_shape_array): New function.
(resolve_fl_variable): Remove code for the new function and call it.
(resolve_fl_namelist): New function. Add test for namelist array
with non-constant shape, using is_non_constant_shape_array.
(resolve_symbol): Remove code for resolve_fl_namelist and call it.
PR fortran/25089
* match.c (match_namelist): Increment the refs field of an accepted
namelist object symbol.
* resolve.c (resolve_fl_namelist): Test namelist objects for a conflict
with contained or module procedures.
2005-02-19 Paul Thomas <pault@gcc.gnu.org>
PR fortran/25054
* gfortran.dg/namelist_5.f90: New test.
PR fortran/25089
* gfortran.dg/namelist_4.f90: New test.
From-SVN: r111268
Francois-Xavier Coudert [Sun, 19 Feb 2006 10:23:28 +0000 (11:23 +0100)]
* io/open.c (edit_modes): Correct abusive copy-pasting.
From-SVN: r111266
Andrew Pinski [Sun, 19 Feb 2006 05:59:55 +0000 (05:59 +0000)]
darwin.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Use the arguments.
2006-02-18 Andrew Pinski <pinskia@physics.uc.edu>
* config/rs6000/darwin.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P):
Use the arguments.
From-SVN: r111265
GCC Administrator [Sun, 19 Feb 2006 00:17:30 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r111263
Mark Wielaard [Sun, 19 Feb 2006 00:02:20 +0000 (00:02 +0000)]
contrib.texi (Contributors): Add classpath/libgcj hackers who added new 4.1 features...
* doc/contrib.texi (Contributors): Add classpath/libgcj hackers
who added new 4.1 features, bug fixes and integration support.
From-SVN: r111256
David Edelsohn [Sat, 18 Feb 2006 23:19:02 +0000 (23:19 +0000)]
re PR target/26350 (ICE in extract_insn, at recog.c:2084, -fPIC -mlong-double-128)
PR target/26350
* config/rs6000/rs6000.md (extenddftf2): Force 0.0 to validized
MEM for ABI_V4 pic.
From-SVN: r111255
Richard Sandiford [Sat, 18 Feb 2006 22:06:53 +0000 (22:06 +0000)]
re PR target/9703 ([arm] Accessing data through constant pool more times could be solved in less instructions)
* cselib.c (cselib_init): Change RTX_SIZE to RTX_CODE_SIZE.
* emit-rtl.c (copy_rtx_if_shared_1): Use shallow_copy_rtx.
(copy_insn_1): Likewise. Don't copy each field individually.
Reindent.
* read-rtl.c (apply_macro_to_rtx): Use RTX_CODE_SIZE instead
of RTX_SIZE.
* reload1.c (eliminate_regs): Use shallow_copy_rtx.
* rtl.c (rtx_size): Rename variable to...
(rtx_code_size): ...this.
(rtx_size): New function.
(rtx_alloc_stat): Use RTX_CODE_SIZE instead of RTX_SIZE.
(copy_rtx): Use shallow_copy_rtx. Don't copy each field individually.
Reindent.
(shallow_copy_rtx_stat): Use rtx_size instead of RTX_SIZE.
* rtl.h (rtx_code_size): New variable.
(rtx_size): Change from a variable to a function.
(RTX_SIZE): Rename to...
(RTX_CODE_SIZE): ...this.
PR target/9703
PR tree-optimization/17106
* doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Document.
(Anchored Addresses): New section.
* doc/invoke.texi (-fsection-anchors): Document.
* doc/rtl.texi (SYMBOL_REF_IN_BLOCK_P, SYMBOL_FLAG_IN_BLOCK): Likewise.
(SYMBOL_REF_ANCHOR_P, SYMBOL_FLAG_ANCHOR): Likewise.
(SYMBOL_REF_BLOCK, SYMBOL_REF_BLOCK_OFFSET): Likewise.
* hooks.c (hook_bool_mode_rtx_false): New function.
* hooks.h (hook_bool_mode_rtx_false): Declare.
* gengtype.c (create_optional_field): New function.
(adjust_field_rtx_def): Add the "block_sym" field for SYMBOL_REFs when
SYMBOL_REF_IN_BLOCK_P is true.
* target.h (output_anchor, use_blocks_for_constant_p): New hooks.
(min_anchor_offset, max_anchor_offset): Likewise.
(use_anchors_for_symbol_p): New hook.
* toplev.c (compile_file): Call output_object_blocks.
(target_supports_section_anchors_p): New function.
(process_options): Check that -fsection-anchors is only used on
targets that support it and when -funit-at-a-time is in effect.
* tree-ssa-loop-ivopts.c (prepare_decl_rtl): Only create DECL_RTL
if the decl doesn't have one.
* dwarf2out.c: Remove instantiations of VEC(rtx,gc).
* expr.c (emit_move_multi_word, emit_move_insn): Pass the result
of force_const_mem through use_anchored_address.
(expand_expr_constant): New function.
(expand_expr_addr_expr_1): Call it. Use the same modifier when
calling expand_expr for INDIRECT_REF.
(expand_expr_real_1): Pass DECL_RTL through use_anchored_address
for all modifiers except EXPAND_INITIALIZER. Use expand_expr_constant.
* expr.h (use_anchored_address): Declare.
* loop-unroll.c: Don't declare rtx vectors here.
* explow.c: Include output.h.
(validize_mem): Call use_anchored_address.
(use_anchored_address): New function.
* common.opt (-fsection-anchors): New switch.
* varasm.c (object_block_htab, anchor_labelno): New variables.
(hash_section, object_block_entry_eq, object_block_entry_hash)
(use_object_blocks_p, get_block_for_section, create_block_symbol)
(use_blocks_for_decl_p, change_symbol_section): New functions.
(get_variable_section): New function, split out from assemble_variable.
(make_decl_rtl): Create a block symbol if use_object_blocks_p and
use_blocks_for_decl_p say so. Use change_symbol_section if the
symbol has already been created.
(assemble_variable_contents): New function, split out from...
(assemble_variable): ...here. Don't output any code for
block symbols; just pass them to place_block_symbol.
Use get_variable_section and assemble_variable_contents.
(get_constant_alignment, get_constant_section, get_constant_size): New
functions, split from output_constant_def_contents.
(build_constant_desc): Create a block symbol if use_object_blocks_p
says so. Or into SYMBOL_REF_FLAGS.
(assemble_constant_contents): New function, split from...
(output_constant_def_contents): ...here. Don't output any code
for block symbols; just pass them to place_section_symbol.
Use get_constant_section and get_constant_alignment.
(force_const_mem): Create a block symbol if use_object_blocks_p and
use_blocks_for_constant_p say so. Or into SYMBOL_REF_FLAGS.
(output_constant_pool_1): Add an explicit alignment argument.
Don't switch sections here.
(output_constant_pool): Adjust call to output_constant_pool_1.
Switch sections here instead. Don't output anything for block symbols;
just pass them to place_block_symbol.
(init_varasm_once): Initialize object_block_htab.
(default_encode_section_info): Keep the old SYMBOL_FLAG_IN_BLOCK.
(default_asm_output_anchor, default_use_aenchors_for_symbol_p)
(place_block_symbol, get_section_anchor, output_object_block)
(output_object_block_htab, output_object_blocks): New functions.
* target-def.h (TARGET_ASM_OUTPUT_ANCHOR): New macro.
(TARGET_ASM_OUT): Include it.
(TARGET_USE_BLOCKS_FOR_CONSTANT_P): New macro.
(TARGET_MIN_ANCHOR_OFFSET, TARGET_MAX_ANCHOR_OFFSET): New macros.
(TARGET_USE_ANCHORS_FOR_SYMBOL_P): New macro.
(TARGET_INITIALIZER): Include them.
* rtl.c (rtl_check_failed_block_symbol): New function.
* rtl.h: Include vec.h. Declare heap and gc rtx vectors.
(block_symbol, object_block): New structures.
(rtx_def): Add a block_symbol field to the union.
(BLOCK_SYMBOL_CHECK): New macro.
(rtl_check_failed_block_symbol): Declare.
(SYMBOL_FLAG_IN_BLOCK, SYMBOL_FLAG_ANCHOR): New SYMBOL_REF flags.
(SYMBOL_REF_IN_BLOCK_P, SYMBOL_REF_ANCHOR_P): New predicates.
(SYMBOL_FLAG_MACH_DEP_SHIFT): Bump by 2.
(SYMBOL_REF_BLOCK, SYMBOL_REF_BLOCK_OFFSET): New accessors.
* output.h (output_section_symbols): Declare.
(object_block): Name structure.
(place_section_symbol, get_section_anchor, default_asm_output_anchor)
(default_use_anchors_for_symbol_p): Declare.
* Makefile.in (RTL_BASE_H): Add vec.h.
(explow.o): Depend on output.h.
* config/rs6000/rs6000.c (TARGET_MIN_ANCHOR_OFFSET): Override default.
(TARGET_MAX_ANCHOR_OFFSET): Likewise.
(TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise.
(rs6000_use_blocks_for_constant_p): New function.
From-SVN: r111254
John David Anglin [Sat, 18 Feb 2006 21:32:06 +0000 (21:32 +0000)]
install.texi (hppa*-hp-hpux*): Update for 4.1.0.
* doc/install.texi (hppa*-hp-hpux*): Update for 4.1.0.
From-SVN: r111253
Andrew Pinski [Sat, 18 Feb 2006 21:09:35 +0000 (21:09 +0000)]
re PR tree-optimization/25680 (Store CCP does not understand REALPART_EXPR < COMPLEX_CST >)
2006-02-18 Andrew Pinski <pinskia@physics.uc.edu>
PR tree-opt/25680
* tree-ssa-ccp.c (ccp_fold): Handle store CCP of REALPART_EXPR and
IMAGPART_EXPR.
2006-02-18 Andrew Pinski <pinskia@physics.uc.edu>
PR tree-opt/25680
* testsuite/gcc.dg/tree-ssa/complex-3.c: New test.
From-SVN: r111251
Andrew Pinski [Sat, 18 Feb 2006 21:04:57 +0000 (21:04 +0000)]
20031106-1.c: Fix the final scan of the variable to take into account the variable name in...
2006-02-18 Andrew Pinski <pinskia@physics.uc.edu>
* gcc.dg/tree-ssa/
20031106-1.c: Fix the final scan of the
variable to take into account the variable name in the
function header.
* gcc.dg/tree-ssa/
20031106-2.c: Likewise.
From-SVN: r111250
Diego Novillo [Sat, 18 Feb 2006 20:31:28 +0000 (20:31 +0000)]
tree-flow.h (struct var_ann_d): Rename field is_alias_tag to is_aliased.
* tree-flow.h (struct var_ann_d): Rename field is_alias_tag to
is_aliased.
Update all users.
From-SVN: r111249
Jakub Jelinek [Sat, 18 Feb 2006 18:58:42 +0000 (19:58 +0100)]
re PR middle-end/26334 (ICE in lhd_set_decl_assembler_name)
PR middle-end/26334
* stmt.c (decl_overlaps_hard_reg_set_p): Use DECL_HARD_REGISTER
instead of DECL_REGISTER.
* gcc.c-torture/compile/
20060217-1.c: New test.
* gcc.dg/
20060218-1.c: New test.
From-SVN: r111247
Roger Sayle [Sat, 18 Feb 2006 17:26:35 +0000 (17:26 +0000)]
trans-stmt.c (struct temporary_list): Delete.
* trans-stmt.c (struct temporary_list): Delete.
(gfc_trans_where_2): Major reorganization. Remove no longer needed
TEMP argument. Allocate and deallocate the control mask and
pending control mask locally.
(gfc_trans_forall_1): Delete TEMP local variable, and update
call to gfc_trans_where_2. No need to deallocate arrays after.
(gfc_evaluate_where_mask): Major reorganization. Change return
type to void. Pass in parent execution mask, MASK, and two
already allocated mask arrays CMASK and PMASK. On return
CMASK := MASK & COND, PMASK := MASK & !COND. MASK, CMASK and
CMASK may all be NULL, or refer to the same temporary arrays.
(gfc_trans_where): Update call to gfc_trans_where_2. We no
longer need a TEMP variable or to deallocate temporary arrays
allocated by gfc_trans_where_2.
From-SVN: r111245
Olivier Hainque [Sat, 18 Feb 2006 16:15:07 +0000 (16:15 +0000)]
re PR ada/13408 (acats numeric tests cxg* fail on pa/hpux)
PR ada/13408
* pa.h (WIDEST_HARDWARE_FP_SIZE): Define.
From-SVN: r111241
Danny Smith [Sat, 18 Feb 2006 16:10:59 +0000 (16:10 +0000)]
gfortran.h (gfc_add_attribute): Change uint to unsigned int.
2006-02-18 Danny Smith <dannysmith@users.sourceforeg.net>
* gfortran.h (gfc_add_attribute): Change uint to unsigned int.
* symbol.c (gfc_add_attribute): Likewise for definition.
* resolve.c (resolve_global_procedure): Likewise for variable 'type'.
From-SVN: r111239
Steve Ellcey [Sat, 18 Feb 2006 15:58:06 +0000 (15:58 +0000)]
re PR target/26189 (Bug in vendor /usr/include/net/if.h needs fixincluding on HPUX)
PR target/26189
* inclhack.def (hpux_spu_info): New.
* fixincl.x: Regenerate
From-SVN: r111237
Joseph Myers [Sat, 18 Feb 2006 11:12:51 +0000 (11:12 +0000)]
re PR target/24837 (move dynamic linker names out of LINK_SPEC and into new DYNAMIC_LINKER)
PR target/24837
* config.gcc: Define UCLIBC_DEFAULT to 0 or 1.
* opth-gen.awk: Handle Var and InverseMask together.
* config/linux.opt (muclibc, mglibc): Use Var(linux_uclibc).
* config/linux.h: Use #if not #ifdef for testing UCLIBC_DEFAULT.
(TARGET_C99_FUNCTIONS): Test OPTION_GLIBC not TARGET_GLIBC.
(CHOOSE_DYNAMIC_LINKER): Give an error for -mglibc and -muclibc
used together.
(UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define.
* config/alpha/linux-elf.h (GLIBC_DYNAMIC_LINKER,
UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER,
LINUX_DYNAMIC_LINKER): Define.
(ELF_DYNAMIC_LINKER): Define to LINUX_DYNAMIC_LINKER.
* config/alpha/linux.h (TARGET_C99_FUNCTIONS): Define to
TARGET_GLIBC.
* config/cris/linux.h (GLIBC_DYNAMIC_LINKER): Define.
(CRIS_LINK_SUBTARGET_SPEC): Pass a -dynamic-linker option.
* config/frv/linux.h (GLIBC_DYNAMIC_LINKER): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
(TARGET_C99_FUNCTIONS): Don't define.
* config/i386/linux.h (DYNAMIC_LINKER): Rename to
GLIBC_DYNAMIC_LINKER.
(SUBTARGET_EXTRA_SPECS): Use LINUX_DYNAMIC_LINKER.
* config/i386/linux64.h (GLIBC_DYNAMIC_LINKER32,
GLIBC_DYNAMIC_LINKER64): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER32 and
LINUX_DYNAMIC_LINKER64.
* config/ia64/linux.h (GLIBC_DYNAMIC_LINKER): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
* config/m32r/linux.h (GLIBC_DYNAMIC_LINKE): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
* config/m68k/linux.h (GLIBC_DYNAMIC_LINKER): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
* config/mips/linux64.h (GLIBC_DYNAMIC_LINKER32,
GLIBC_DYNAMIC_LINKER64, GLIBC_DYNAMIC_LINKERN32,
UCLIBC_DYNAMIC_LINKERN32, LINUX_DYNAMIC_LINKERN32): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKERN32, LINUX_DYNAMIC_LINKER64
and LINUX_DYNAMIC_LINKER32.
* config/mn10300/linux.h (GLIBC_DYNAMIC_LINKER): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
* config/pa/pa-linux.h (GLIBC_DYNAMIC_LINKER): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
* config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define to
TARGET_GLIBC.
* config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Likewise.
(GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64,
UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
CHOOSE_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER,
LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define.
(LINK_OS_LINUX_SPEC32): Use LINUX_DYNAMIC_LINKER32.
(LINK_OS_LINUX_SPEC64): Use LINUX_DYNAMIC_LINKER64.
* config/rs6000/sysv4.h (GLIBC_DYNAMIC_LINKER,
UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER,
LINUX_DYNAMIC_LINKER): Define.
(LINK_OS_LINUX_SPEC): Use LINUX_DYNAMIC_LINKE.
* config/s390/linux.h (GLIBC_DYNAMIC_LINKER32,
GLIBC_DYNAMIC_LINKER64): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER32 and
LINUX_DYNAMIC_LINKER64.
* config/sh/linux.h (GLIBC_DYNAMIC_LINKER): Define.
(SUBTARGET_LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
* config/sparc/linux.h (GLIBC_DYNAMIC_LINKER,
UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER,
LINUX_DYNAMIC_LINKER): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
(TARGET_C99_FUNCTIONS): Define to TARGET_GLIBC.
* config/sparc/linux64.h (GLIBC_DYNAMIC_LINKER32,
GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER32,
UCLIBC_DYNAMIC_LINKER64, CHOOSE_DYNAMIC_LINKER,
LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define.
(LINK_ARCH32_SPEC): Use LINUX_DYNAMIC_LINKER32.
(LINK_ARCH64_SPEC, LINK_SPEC): Use LINUX_DYNAMIC_LINKER64.
(TARGET_C99_FUNCTIONS): Define to TARGET_GLIBC.
* config/xtensa/linux.h (GLIBC_DYNAMIC_LINKER): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
* doc/invoke.texi (-muclibc): Remove caveat about supported
targets.
testsuite:
* gcc.dg/glibc-uclibc-1.c, gcc.dg/glibc-uclibc-2.c: New tests.
From-SVN: r111235
Grigory Zagorodnev [Sat, 18 Feb 2006 09:25:31 +0000 (09:25 +0000)]
cpp.texi (__TIMESTAMP__): Document.
2006-02-17 Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com>
gcc/ChangeLog:
* doc/cpp.texi (__TIMESTAMP__): Document.
libcpp/ChangeLog:
* macro.c (_cpp_builtin_macro_text): Handle BT_TIMESTAMP.
* files.c (_cpp_get_file_stat): New function.
* include/cpplib.h (builtin_type): Add BT_TIMESTAMP.
* init.c (builtin_array): Add support for __TIMESTAMP__/BT_TIMESTAMP.
* internal.h (_cpp_get_file_stat): Prototype.
(struct cpp_buffer): Add timestamp.
gcc/testsuite/ChangeLog:
* gcc.dg/cpp/undef3.c: New test.
* gcc.dg/cpp/trad/builtins2.c: New test.
From-SVN: r111232
Mark Mitchell [Sat, 18 Feb 2006 08:37:11 +0000 (08:37 +0000)]
re PR c++/26266 (Trouble with static const data members in template classes)
PR c++/26266
* g++.dg/template/static22.C: New test.
* g++.dg/template/static23.C: New test.
* g++.dg/template/static24.C: New test.
* g++.dg/template/non-dependent13.C: New test.
* g++.dg/init/member1.C: Tweak error markers.
From-SVN: r111230
Mark Mitchell [Sat, 18 Feb 2006 08:36:11 +0000 (08:36 +0000)]
re PR c++/26266 (Trouble with static const data members in template classes)
PR c++/26266
* cp-tree.h (cp_finish_decl): Adjust declaration.
(grokbitfield): Likewise.
(finish_static_data_member_decl): Likewise.
* init.c (constant_value_1): Ensure processing_template_decl when
folding non-dependent initializers for static data members of
dependent types. Return error_mark_node for erroneous
initailizers.
* class.c (get_vtable_decl): Use finish_decl, not cp_finish_decl.
* decl.c (cp_make_fname_decl): Adjust call to cp_finish_decl.
(cp_finish_decl): Add init_const_expr_p parameter. Set
DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P here.
(finish_decl): Adjust call to cp_finish_decl.
(compute_array_index_type): Robustify.
(start_method): Use finish_decl, not cp_finish_decl.
* rtti.c (emit_tinfo_decl): Likewise.
* except.c (initialize_handler_parm): Adjust call to
cp_finish_decl.
(expand_start_catch_block): Likewise.
* cvt.c (build_up_reference): Adjust call to cp_finish_decl.
* pt.c (instantiate_class_template): Adjust call to
finish_static_data_member_decl.
(tsubst_expr): Use finish_decl, not cp_finish_decl.
(instantiate_decl): Adjust call to cp_finish_decl.
* name-lookup.c (pushdecl_top_level_1): Use finish_decl, not
cp_finish_decl.
* decl2.c (finish_static_data_member_decl): Add init_const_expr_p
parameter.
(grokfield): Likewise.
* parser.c (cp_parser_condition): Check for constant initializers.
(cp_parser_init_declarator): Adjust calls to grokfield and
cp_finish_decl. Don't set
DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P here.
(cp_parser_member_declaration): Likewise.
(cp_parser_objc_class_ivars): Likewise.
PR c++/26266
* g++.dg/template/static22.C: New test.
* g++.dg/template/static23.C: New test.
* g++.dg/template/static24.C: New test.
* g++.dg/template/non-dependent13.C: New test.
From-SVN: r111229
Roger Sayle [Sat, 18 Feb 2006 05:22:46 +0000 (05:22 +0000)]
re PR rtl-optimization/25600 (unsigned>>31?-1:0 should be optimized to int>>31)
PR middle-end/25600
* fold-const.c (fold_binary): Fold (X >> C) != 0 into X < 0 when
C is one less than the width of X (and related transformations).
* simplify_rtx.c (simplify_unary_operation_1): Transform
(neg (lt x 0)) into either (ashiftrt X C) or (lshiftrt X C)
depending on STORE_FLAG_VALUE, were C is one less then the
width of X.
From-SVN: r111226
Kaz Kojima [Sat, 18 Feb 2006 00:35:13 +0000 (00:35 +0000)]
ffi.c (ffi_closure_helper_SYSV): Remove unused variable and cast integer to void * if needed.
* src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
and cast integer to void * if needed. Update the pointer to
the FP register saved area correctly.
From-SVN: r111225
GCC Administrator [Sat, 18 Feb 2006 00:17:32 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r111223
Daniel Berlin [Sat, 18 Feb 2006 00:09:51 +0000 (00:09 +0000)]
re PR tree-optimization/26341 (930217-1.c and 931013-3.c ICE at -O2 and above in add_virtual_operand)
2006-02-17 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/26341
* tree-ssa-operands.c (add_virtual_operand): Remove assert
about NAME_MEMORY_TAG's.
From-SVN: r111217
John David Anglin [Fri, 17 Feb 2006 22:19:05 +0000 (22:19 +0000)]
re PR target/26255 (internal compiler error: in reload_cse_simplify_operands, at postreload.c:391)
PR target/26255
* pa.md: Create separate HI and QI move patterns for 32-bit and 64-bit
with hardware float support, and software float support. Add fcpy
alternative to hardware patterns. Add alternatives to copy between
general and floating-point registers to the 32-bit pattern.
* pa.c (pa_secondary_reload): Don't abort if reload tries to find a
secondary reload to load a QI or HI mode constant into a floating
point register.
* pa32-regs.h (VALID_FP_MODE_P): Allow QImode and HImode.
* pa64-regs.h (VALID_FP_MODE_P): Likewise.
From-SVN: r111214
John David Anglin [Fri, 17 Feb 2006 22:09:58 +0000 (22:09 +0000)]
re PR target/26255 (internal compiler error: in reload_cse_simplify_operands, at postreload.c:391)
PR target/26255
* gcc.c-torture/compile/pr26255.c: New test case.
From-SVN: r111213
Andreas Tobler [Fri, 17 Feb 2006 20:52:38 +0000 (21:52 +0100)]
re PR target/25630 (darwin-ppc, wrong alignment of nested structs)
2006-02-17 Andreas Tobler <a.tobler@schweiz.ch>
* testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
is fixed.
* testsuite/libffi.call/nested_struct4.c: Likewise.
From-SVN: r111208
Andrew Pinski [Fri, 17 Feb 2006 19:52:28 +0000 (19:52 +0000)]
re PR rtl-optimization/26272 (gcc.c-torture/execute/built-in-setjmp.c fails at -O2 and above on powerpc-darwin)
2006-02-17 Andrew Pinski <pinskia@physics.uc.edu>
PR target/26272
* config/rs6000/darwin.md (load_macho_picbase_si): Add
pc to the pattern.
(load_macho_picbase_di): Likewise.
From-SVN: r111206
Francois-Xavier Coudert [Fri, 17 Feb 2006 19:01:04 +0000 (20:01 +0100)]
re PR bootstrap/26161 (Configure tests for pthread.h sometimes need to use -pthread)
PR bootstrap/26161
* configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
for the other pthread check.
* configure: Regenerate.
* config.h.in: Regenerate.
From-SVN: r111205
Roger Sayle [Fri, 17 Feb 2006 18:11:30 +0000 (18:11 +0000)]
where_10.f90: New test case.
* gfortran.fortran-torture/execute/where_10.f90: New test case.
* gfortran.fortran-torture/execute/where_11.f90: Likewise.
* gfortran.fortran-torture/execute/where_12.f90: Likewise.
* gfortran.fortran-torture/execute/where_13.f90: Likewise.
* gfortran.fortran-torture/execute/where_14.f90: Likewise.
* gfortran.fortran-torture/execute/where_15.f90: Likewise.
* gfortran.fortran-torture/execute/where_16.f90: Likewise.
From-SVN: r111204
Francois-Xavier Coudert [Fri, 17 Feb 2006 18:08:57 +0000 (19:08 +0100)]
MAINTAINERS (Write After Approval): Remove myself.
* MAINTAINERS (Write After Approval): Remove myself.
(Language Front End Maintainers): Add myself as fortran 95
maintainer.
From-SVN: r111203
Arnaud Charlet [Fri, 17 Feb 2006 16:09:32 +0000 (17:09 +0100)]
Resync.
From-SVN: r111200
Ramon Fernandez [Fri, 17 Feb 2006 16:09:11 +0000 (17:09 +0100)]
expander.adb: Fix typo in comment
2006-02-17 Ramon Fernandez <fernandez@adacore.com>
Thomas Quinot <quinot@adacore.com>
Robert Dewar <dewar@adacore.com>
Javier Miranda <miranda@adacore.com>
* expander.adb: Fix typo in comment
* exp_pakd.adb: Fix typo
Minor comment reformatting.
* g-dyntab.adb: Minor reformatting
* exp_ch6.adb (Register_Interface_DT_Entry): Traverse the list of
aliased subprograms to look for the abstract interface subprogram.
From-SVN: r111199
Robert Dewar [Fri, 17 Feb 2006 16:08:58 +0000 (17:08 +0100)]
s-wchcnv.adb: Document handling of [ on output (we do not change this to ["5B"] and the new...
2006-02-17 Robert Dewar <dewar@adacore.com>
* s-wchcnv.adb: Document handling of [ on output (we do not change
this to ["5B"] and the new comments say why not.
* gnat_ugn.texi:
Add note for -gnatVo that this now includes the cases of type
conversions and qualified expressions.
Add comments on handling of brackets encoding for Text_IO
From-SVN: r111198
Matthew Heaney [Fri, 17 Feb 2006 16:08:48 +0000 (17:08 +0100)]
a-convec.ads, [...]: (operator "&"): handle potential overflow for large index types
2006-02-17 Matthew Heaney <heaney@adacore.com>
* a-convec.ads, a-convec.adb:
(operator "&"): handle potential overflow for large index types
(Insert): removed Contraint_Error when using large index types
(Insert_Space): removed Constraint_Error for large index types
(Length): moved constraint check from Length to Insert
* a-coinve.ads, a-coinve.adb: Stream attribute procedures are declared
as not null access.
Explicit raise statements now include an exception message.
(operator "&"): handle potential overflow for large index types
(Insert): removed Contraint_Error when using large index types
(Insert_Space): removed Constraint_Error for large index types
(Length): moved constraint check from Length to Insert
From-SVN: r111197
Vincent Celier [Fri, 17 Feb 2006 16:08:38 +0000 (17:08 +0100)]
snames.ads, snames.adb: New standard names for new project attributes...
2006-02-17 Vincent Celier <celier@adacore.com>
* snames.ads, snames.adb: New standard names for new project attributes:
archive_builder, archive_indexer, compiler_pic_option,
config_body_file_name, config_body_file_name_pattern,
config_file_switches, config_file_unique, config_spec_file_name,
config_spec_file_name_pattern, default_builder_switches,
default_global_compiler_switches, default_language,
dependency_file_kind, global_compiler_switches, include_path,
include_path_file, language_kind, linker_executable_option,
linker_lib_dir_option, linker_lib_name_option, mapping_file_switches,
roots, runtime_project.
From-SVN: r111196
Javier Miranda [Fri, 17 Feb 2006 16:08:28 +0000 (17:08 +0100)]
sem_res.adb (Resolve_Type_Conversion): In case of conversion to an abstract interface type...
2006-02-17 Javier Miranda <miranda@adacore.com>
* sem_res.adb (Resolve_Type_Conversion): In case of conversion to an
abstract interface type, the static analysis is not enough to know if
the interface is implemented or not by the source tagged type. Hence
we must pass the work to the expander to generate the required code to
evaluate the conversion at run-time.
(Resolve_Equality_Op): Do not apply previous
transformation if expansion is disasbled, to prevent anomalies when
locating global references in a generic unit.
From-SVN: r111195
Ed Schonberg [Fri, 17 Feb 2006 16:08:18 +0000 (17:08 +0100)]
sem_ch6.adb (Build_Body_To_Inline): Enforce the rule that in order to inline a function that returns an...
2006-02-17 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Build_Body_To_Inline): Enforce the rule that in order
to inline a function that returns an unconstrained type, the return
expression must be the first variable declared in the body of the
function.
From-SVN: r111194
Javier Miranda [Fri, 17 Feb 2006 16:08:08 +0000 (17:08 +0100)]
sem_ch3.adb (Build_Discriminated_Subtype): In case of concurrent type we cannot inherit the primitive operations...
2006-02-17 Javier Miranda <miranda@adacore.com>
Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Build_Discriminated_Subtype): In case of concurrent
type we cannot inherit the primitive operations; we inherit the
Corresponding_Record_Type (which has the list of primitive operations).
(Check_Anonymous_Access_Types): When creating anonymous access types for
access components, use Rewrite in order to preserve the tree structure,
for ASIS use.
(Analyze_Object_Declaration): For limited types with access
discriminants with defaults initialized by an aggregate, obtain
subtype from aggregate as for other mutable types.
(Derived_Type_Declaration): If the derived type is a limited interface,
set the corresponding flag (Is_Limited_Record is not sufficient).
From-SVN: r111193
Ed Schonberg [Fri, 17 Feb 2006 16:07:56 +0000 (17:07 +0100)]
sem_ch12.adb (Analyze_Package_Instantiation): Inline_Now is false if the current instance is nested within another instance...
2006-02-17 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Analyze_Package_Instantiation): Inline_Now is false if
the current instance is nested within another instance in a child unit.
From-SVN: r111192
Ed Schonberg [Fri, 17 Feb 2006 16:07:43 +0000 (17:07 +0100)]
sem_ch10.adb (Analyze_With_Clause): If the unit is a subprogram instantiation...
2006-02-17 Ed Schonberg <schonberg@adacore.com>
* sem_ch10.adb (Analyze_With_Clause): If the unit is a subprogram
instantiation, the corresponding entity is the related_instance of the
wrapper package created for the instance.
From-SVN: r111191
Vasiliy Fofanov [Fri, 17 Feb 2006 16:07:32 +0000 (17:07 +0100)]
Makefile.in: Use VMS64 specialized versions of several units in Interfaces.C hierarchy to be...
2006-02-17 Vasiliy Fofanov <fofanov@adacore.com>
* Makefile.in: Use VMS64 specialized versions of several units in
Interfaces.C hierarchy to be compatible with HP C default size choices.
Use the default version of Ada.Synchronous_Task_Control for VxWorks 653.
From-SVN: r111190
Vasiliy Fofanov [Fri, 17 Feb 2006 16:07:22 +0000 (17:07 +0100)]
init.c (facility_resignal_table): new array
2006-02-17 Vasiliy Fofanov <fofanov@adacore.com>
* init.c (facility_resignal_table): new array
(__gnat_default_resignal_p): enhance default predicate to resignal if
VMS condition has one of the predefined facility codes.
From-SVN: r111189
Robert Dewar [Fri, 17 Feb 2006 16:07:10 +0000 (17:07 +0100)]
g-os_lib.adb (Copy_File): Make sure that if From has an Invalid_FD, then we close To if it is valid.
2006-02-17 Robert Dewar <dewar@adacore.com>
* g-os_lib.adb (Copy_File): Make sure that if From has an Invalid_FD,
then we close To if it is valid.
From-SVN: r111188
Ed Schonberg [Fri, 17 Feb 2006 16:06:57 +0000 (17:06 +0100)]
freeze.adb (Statically_Discriminated_Components): Return false if the bounds of the type of the discriminant are not static...
2006-02-17 Ed Schonberg <schonberg@adacore.com>
* freeze.adb (Statically_Discriminated_Components): Return false if
the bounds of the type of the discriminant are not static expressions.
* sem_aggr.adb (Check_Static_Discriminated_Subtype): Return false if
the bounds of the discriminant type are not static.
From-SVN: r111187
Ed Schonberg [Fri, 17 Feb 2006 16:06:28 +0000 (17:06 +0100)]
exp_dbug.adb (Debug_Renaming_Declaration): Indicate that the entity must be materialized when...
2006-02-17 Ed Schonberg <schonberg@adacore.com>
* exp_dbug.adb (Debug_Renaming_Declaration): Indicate that the entity
must be materialized when the renamed expression is an explicit
dereference.
From-SVN: r111186
Javier Miranda [Fri, 17 Feb 2006 16:06:16 +0000 (17:06 +0100)]
exp_ch4.adb (Expand_N_Allocator): If the allocated object is accessed through an access to class-wide interface...
2006-02-17 Javier Miranda <miranda@adacore.com>
Robert Dewar <dewar@adacore.com>
* exp_ch4.adb (Expand_N_Allocator): If the allocated object is accessed
through an access to class-wide interface we force the displacement of
the pointer to the allocated object to reference the corresponding
secondary dispatch table.
(Expand_N_Op_Divide): Allow 64 bit divisions by small power of 2,
if Long_Shifts are supported on the target, even if 64 bit divides
are not supported (configurable run time mode).
(Expand_N_Type_Conversion): Do validity check if validity checks on
operands are enabled.
(Expand_N_Qualified_Expression): Do validity check if validity checks
on operands are enabled.
From-SVN: r111185
Jose Ruiz [Fri, 17 Feb 2006 16:06:01 +0000 (17:06 +0100)]
s-taprop-irix.adb, [...] (Set_False, [...]): Add Abort_Defer/Undefer pairs to avoid the possibility of a task being aborted...
2006-02-17 Jose Ruiz <ruiz@adacore.com>
* s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb,
s-taprop-posix.adb, s-taprop-vxworks.adb, s-taprop-lynxos.adb,
s-taprop-tru64.adb (Set_False, Set_True, Suspend_Until_True): Add
Abort_Defer/Undefer pairs to avoid the possibility of a task being
aborted while owning a lock.
From-SVN: r111184
Eric Botcazou [Fri, 17 Feb 2006 16:05:46 +0000 (17:05 +0100)]
re PR ada/26315 (ACATS failures
c43208b c85006a c85006d cd92001)
2006-02-17 Eric Botcazou <botcazou@adacore.com>
PR ada/26315
* utils2.c (find_common_type): If both input types are BLKmode and
have the same constant size, keep using the first one.
* bindgen.adb: (Gen_Versions_Ada): Revert previous workaround.
* decl.c (gnat_to_gnu_entity): Only check TREE_OVERFLOW for a constant.
* misc.c (gnat_handle_option): New case for -Woverlength-strings.
From-SVN: r111183
Ed Schonberg [Fri, 17 Feb 2006 16:05:24 +0000 (17:05 +0100)]
sem_ch4.adb (Find_Boolean_Types): If one of the operands is an aggregate...
2006-02-17 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Find_Boolean_Types): If one of the operands is an
aggregate, check the interpretations of the other operand to find one
that may be a boolean array.
(Analyze_Selected_Component): Fix flow-of-control typo in case where
the prefix is a private extension.
From-SVN: r111182
Andrew Haley [Fri, 17 Feb 2006 13:01:40 +0000 (13:01 +0000)]
stacktrace.cc (GetStackTraceElements): Call gnu::gcj::runtime::NameFinder::removeUnknown() to determine if...
2006-02-16 Andrew Haley <aph@redhat.com>
* stacktrace.cc (GetStackTraceElements): Call
gnu::gcj::runtime::NameFinder::removeUnknown() to determine if
non-Java frames should be removed from a printed stack trace.
Pass methodName to getLineNumberForFrame().
(getLineNumberForFrame): Set method_name from info.dli_sname.
* gnu/gcj/runtime/NameFinder.java (removeUnknown): New method.
(remove_unknown): New variable.
* include/java-stack.h (_Jv_StackTrace::getLineNumberForFrame):
Add methodName arg.
From-SVN: r111181
Richard Sandiford [Fri, 17 Feb 2006 11:06:17 +0000 (11:06 +0000)]
trans-common.c: Include rtl.h earlier.
gcc/fortran/
* trans-common.c: Include rtl.h earlier.
* trans-decl.c: Likewise.
From-SVN: r111178
Paolo Carlini [Fri, 17 Feb 2006 10:46:57 +0000 (10:46 +0000)]
re PR libstdc++/26250 (stringbuf::overflow() fails to set egptr() same as epptr())
2006-02-17 Paolo Carlini <pcarlini@suse.de>
Howard Hinnant <hhinnant@apple.com>
PR libstdc++/26250
* include/bits/sstream.tcc (basic_stringbuf<>::overflow): Tweak
to leave epgtr() just past the new write position, as per the
relevant bits of 27.7.1.3/8 (not changed by DR 432).
* testsuite/27_io/basic_stringbuf/overflow/char/26250.cc: New.
* testsuite/27_io/basic_stringbuf/overflow/wchar_t/26250.cc: Same.
* docs/html/ext/howto.html: Add entries for DR 169 and DR 432.
* include/std/std_sstream.h (basic_stringbuf<>::_M_sync): Move out
of line...
* include/bits/sstream.tcc: ... here.
Co-Authored-By: Howard Hinnant <hhinnant@apple.com>
From-SVN: r111177
Jeff Law [Fri, 17 Feb 2006 04:15:32 +0000 (21:15 -0700)]
tree-vrp.c (set_value_range_to_nonnegative): New function.
* tree-vrp.c (set_value_range_to_nonnegative): New function.
(vrp_expr_computes_nonnegative, ssa_name_nonnegative_p): Likewise.
(ssa_name_nonzero_p): Likewise.
(get_value_range): Return NULL if VRP is not running.
(extract_range_from_expr): Fallback to tree_expr_XXX_p if
VRP routines do not discover a range.
(vrp_finalize): Clear VR_VALUE to indicate VRP is not running.
* tree.h (ssa_name_nonzero_p, ssa_name_nonnegative_p): Prototype.
* fold-const.c (tree_expr_nonzero_p): For SSA_NAMEs, query VRP.
(tree_expr_nonnegative_p): Similarly.
* tree-ssa-dom.c (nonzero_vars, nonzero_vars_stack): Remove.
(restore_nonzero_vars_to_original_value): Remove.
(unsafe_associative_fp_binop): Remove.
(tree_ssa_dominator_optimize): Remove initialization and
finalization of nonzero_vars and nonzero_vars_stack.
(dom_opt_initialize_block): No longer push marker on
nonzero_vars_stack.
(dom_opt_finalize_block): No longer call
restore_nonzero_vars_to_original_value.
(record_equivalences_from_phis): No longer look for
nonzero PHI arguments.
(cprop_into_successor_phis): No longer propagate nonzero
property into PHI arguments. Lose unused argument. Caller
updated.
(record_equivalences_from_stmt): No longer record nonzero
values for SSA_NAMEs.
(lookup_avail_expr): No longer use nonzero_vars.
* gcc.dg/tree-ssa/vrp24.c: Update expected output.
* gcc.dg/tree-ssa/vrp26.c: New test.
From-SVN: r111175
Jeff Law [Fri, 17 Feb 2006 00:18:03 +0000 (17:18 -0700)]
stor-layout.c (set_sizetype): Set TYPE_MAX_VALUE properly for sizetype when sizetype is unsigned.
* stor-layout.c (set_sizetype): Set TYPE_MAX_VALUE properly
for sizetype when sizetype is unsigned.
From-SVN: r111170
GCC Administrator [Fri, 17 Feb 2006 00:17:29 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r111168
Denis Nagorny [Fri, 17 Feb 2006 00:03:06 +0000 (00:03 +0000)]
re PR target/25603 (Miscompiled FORTRAN program)
2006-02-16 Denis Nagorny <denis_nagorny@linux.intel.com>
PR rtl-optimization/25603
* reload.c (reg_inc_found_and_valid_p): New. Check REG_INC note.
(regno_clobbered_p): Use it. Reusing SETS argument for REG_INC case.
* reload1.c (choose_reload_regs): Added call of regno_clobbered_p
with new meaning of SETS.
From-SVN: r111162
Joseph Myers [Thu, 16 Feb 2006 23:29:10 +0000 (23:29 +0000)]
re PR target/20353 (uclibc does not provide C99 math functions)
gcc:
PR target/20353
PR target/24578
PR target/24837
* config/linux.opt: New file.
* config/linux.h (CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
LINUX_DYNAMIC_LINKER): Define.
(TARGET_C99_FUNCTIONS): Define depending on TARGET_GLIBC.
* config.gcc (*-*-linux*): Define extra_options.
(*-*-*uclibc*): Define UCLIBC_DEFAULT.
(arm*-*-linux-gnueabi): Change to arm*-*-linux-*eabi.
* config/arm/linux-eabi.h (LINUX_TARGET_INTERPRETER): Change to
GLIBC_DYNAMIC_LINKER.
* config/arm/linux-elf.h (LINUX_TARGET_INTERPRETER): Likewise.
(LINUX_TARGET_LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
* config/mips/linux.h (GLIBC_DYNAMIC_LINKER): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
* doc/invoke.texi (GNU/Linux Options): New section.
gcc/testsuite:
* gcc.dg/builtins-config.h (HAVE_C99_RUNTIME): Don't define if
__UCLIBC__ is defined.
libstdc++-v3:
PR libstdc++/14939
* config/os/uclibc/ctype_base.h, config/os/uclibc/ctype_inline.h,
config/os/uclibc/ctype_noninline.h, config/os/uclibc/os_defines.h:
New.
* acinclude.m4 (GLIBCXX_CONFIGURE): Test whether using uClibc.
* configure.host: Use os/uclibc for uClibc.
* crossconfig.m4 (*-linux*): Use link tests. Don't hardcode
presence of math functions.
* configure: Regenerate.
From-SVN: r111160