* gfortran.h: Add flag_backslash compile-time option.
* lang.opt: Add support for -fbackslash option.
* options.c: Likewise.
* primary.c: Implement behavior for -fno-backslash.
* invoke.texi: Add doc for -fbackslash option.
* gfortran.texi: Remove mention of -fno-backslash as a
possible extension.
* gfortran.dg/backslash_1.f90: New test.
* gfortran.dg/backslash_2.f90: New test.
Jan Beulich [Mon, 20 Jun 2005 06:45:27 +0000 (06:45 +0000)]
netware-libgcc.def: Update copyright.
gcc/
2005-06-20 Jan Beulich <jbeulich@novell.com>
* config/i386/netware-libgcc.def: Update copyright.
* config/i386/netware-libgcc.exp (__divdc3, __divsc3, __divxc3,
__muldc3, __mulsc3, __mulxc3, __powidf2, __powisf2, __powixf2): Add.
* config/i386/netware.c (gen_stdcall_decoration,
gen_fastd_decoration): Merge into ...
(gen_stdcall_or_fastcall_decoration): ... this. Adjust to match
WinNT's changes.
(gen_regparm_prefix): Adjust to match i386_nlm_encode_section_info.
(i386_nlm_encode_section_info): Adjust to match WinNT's changes.
* config/i386/t-nwld (SHLIB_LINK): Also create libgcc.imp alias of
libgcc_s.imp. Use 'expr' rather than $(()) shell expressions.
* gthr-nks.h (__gthread_objc_mutex_allocate): Kill another dubious
use of NX_MUTEX_RECURSIVE.
gcc/testsuite/
2005-06-20 Jan Beulich <jbeulich@novell.com>
* g++.old-deja/g++.jason/thunk2.C: On NetWare, also account for
unsupportable relocations.
* g++.old-deja/g++.other/store-expr1.C: Likewise.
* gcc.dg/20050321-2.c: xfail for NetWare.
Andreas Jaeger [Mon, 20 Jun 2005 04:37:58 +0000 (06:37 +0200)]
sseregparm-1.c, [...]: Run only on 32-bit x86.
* gcc.target/i386/sseregparm-1.c, gcc.target/i386/sseregparm-2.c,
gcc.target/i386/fastcall-sseregparm.c,
gcc.target/i386/regparm-stdcall.c: Run only on 32-bit x86.
Roger Sayle [Mon, 20 Jun 2005 02:33:52 +0000 (02:33 +0000)]
fold-const.c (swap_tree_comparison): Add support for unordered floating point comparisons.
* fold-const.c (swap_tree_comparison): Add support for unordered
floating point comparisons.
* tree-vrp.c (opposite_comparison): Delete.
(extract_range_from_assert): Replace calls to opposite_comparison
with calls to swap_tree_comparison.
(register_edge_assert_for): Likewise.
(vrp_evaluate_conditional): Likewise.
Jan Hubicka [Sun, 19 Jun 2005 22:40:34 +0000 (00:40 +0200)]
cfgloop.h (DLTHE_RECORD_COPY_NUMBER): New flag.
* cfgloop.h (DLTHE_RECORD_COPY_NUMBER): New flag.
* cfgloopmanip.c (duplicate_loop_to_header_edge): Set aux flags only
when asked for.
* loop-unroll.c (peel_loop_completely, unroll_loop_constant_iterations,
unroll_loop_runtime_iterations, peel_loop_simple, unroll_loop_stupid):
Update call of duplicate_loop_to_header_edge.
(apply_opt_in_copies): Clear out aux pointers.
Roger Sayle [Sun, 19 Jun 2005 16:55:22 +0000 (16:55 +0000)]
c-decl.c (grokdeclarator): Only check TREE_OVERFLOW on INTEGER_CST nodes.
* c-decl.c (grokdeclarator): Only check TREE_OVERFLOW on
INTEGER_CST nodes.
* c-typeck.c (build_c_cast): Only preserve TREE_OVERFLOW on
CONSTANT_CLASS_P nodes.
Uros Bizjak [Sun, 19 Jun 2005 08:26:50 +0000 (01:26 -0700)]
i386.c (ix86_function_arg_regno_p): Add MMX_REGNO_P for TARGET_MMX.
2005-06-16 Uros Bizjak <uros@kss-loka.si>
* config/i386/i386.c (ix86_function_arg_regno_p): Add MMX_REGNO_P
for TARGET_MMX. Use MMX_REGPARM_MAX and SSE_REGPARM_MAX for MMX
and SSE registers to determine if regno is valid.
(ix86_function_value_regno_p): Depend FIRST_FLOAT_REG on
TARGET_FLOAT_RETURNS_IN_80387 also for TARGET_64BIT. Clean up.
tree-complex.c (init_dont_simulate_again): Clear DONT_SIMULATE_AGAIN for control-altering statements; set it again for returns.
* tree-complex.c (init_dont_simulate_again): Clear DONT_SIMULATE_AGAIN
for control-altering statements; set it again for returns.
(complex_visit_stmt): Return SSA_PROP_VARYING for stmts that are
not MODIFY_EXPR.
Dorit Nuzman [Sat, 18 Jun 2005 13:18:52 +0000 (13:18 +0000)]
tree.def (REDUC_MAX_EXPR, [...]): New tree-codes.
* tree.def (REDUC_MAX_EXPR, REDUC_MIN_EXPR, REDUC_PLUS_EXPR): New
tree-codes.
* optabs.h (OTI_reduc_smax, OTI_reduc_umax, OTI_reduc_smin,
OTI_reduc_umin, OTI_reduc_plus): New optabs for reduction.
(reduc_smax_optab, reduc_umax_optab, reduc_smin_optab, reduc_umin_optab,
reduc_plus_optab): New optabs for reduction.
* expr.c (expand_expr_real_1): Handle new tree-codes.
* tree-inline.c (estimate_num_insns_1): Handle new tree-codes.
* tree-pretty-print.c (dump_generic_node, op_prio, op_symbol): Handle
new tree-codes.
* optabs.c (optab_for_tree_code): Handle new tree-codes.
(init_optabs): Initialize new optabs.
* genopinit.c (optabs): Define handlers for new optabs.
* tree-vect-analyze.c (vect_analyze_operations): Fail vectorization in
case of a phi that is marked as relevant. Call vectorizable_reduction.
(vect_mark_relevant): Phis may be marked as relevant.
(vect_mark_stmts_to_be_vectorized): The use corresponding to the
reduction variable in a reduction stmt does not mark its defining phi
as relevant. Update documentation accordingly.
(vect_can_advance_ivs_p): Skip reduction phis.
* tree-vect-transform.c (vect_get_vec_def_for_operand): Takes
additional argument. Handle reduction.
(vect_create_destination_var): Update call to vect_get_new_vect_var.
Handle non-vector argument.
(get_initial_def_for_reduction): New function.
(vect_create_epilog_for_reduction): New function.
(vectorizable_reduction): New function.
(vect_get_new_vect_var): Handle new vect_var_kind.
(vectorizable_assignment, vectorizable_operation, vectorizable_store,
vectorizable_condition): Update call to vect_get_new_vect_var.
(vect_transform_stmt): Call vectorizable_reduction.
(vect_update_ivs_after_vectorizer): Skip reduction phis.
(vect_transform_loop): Skip if stmt is both not relevant and not live.
* tree-vectorizer.c (reduction_code_for_scalar_code): New function.
(vect_is_simple_reduction): Was empty - added implementation.
* tree-vectorizer.h (vect_scalar_var): New enum vect_var_kind value.
(reduc_vec_info_type): New enum vect_def_type value.
* config/rs6000/altivec.md (reduc_smax_v4si, reduc_smax_v4sf,
reduc_umax_v4si, reduc_smin_v4si, reduc_umin_v4sf, reduc_smin_v4sf,
reduc_plus_v4si, reduc_plus_v4sf): New define_expands.
Geoffrey Keating [Fri, 17 Jun 2005 22:13:33 +0000 (22:13 +0000)]
re PR c++/17413 (local classes as template argument)
2005-06-17 Geoffrey Keating <geoffk@apple.com>
PR c++/17413
* pt.c (type_unification_real): Apply template type deduction even
to procedure parameters that are not dependent on a template
parameter.
tree-vect-transform.c (vect_do_peeling_for_loop_bound): Use initialize_original_copy_tables and free_original_copy_tables.
* tree-vect-transform.c (vect_do_peeling_for_loop_bound): Use
initialize_original_copy_tables and free_original_copy_tables.
(vect_do_peeling_for_alignment): Likewise.
Keith Seitz [Fri, 17 Jun 2005 18:14:42 +0000 (18:14 +0000)]
VmDeadException.java: New file.
* gnu/classpath/jdwp/exception/VmDeadException.java: New file.
* gnu/classpath/jdwp/exception/NotImplementedException.java: New file.
* gnu/classpath/jdwp/exception/JdwpInternalErrorException.java: New
file.
* gnu/classpath/jdwp/exception/JdwpException.java: New file.
* gnu/classpath/jdwp/exception/InvalidThreadGroupException.java: New
file.
* gnu/classpath/jdwp/exception/InvalidThreadException.java: New file.
* gnu/classpath/jdwp/exception/InvalidStringException.java: New file
* gnu/classpath/jdwp/exception/InvalidObjectException.java: New file.
* gnu/classpath/jdwp/exception/InvalidEventTypeException.java: New
file.
* gnu/classpath/jdwp/exception/InvalidCountException.java: New file.
* gnu/classpath/jdwp/exception/InvalidClassException.java: New file.
* src/compatibility.cc: Include bits/c++config.h first.
(_GLIBCXX_SYMVER_COMPATIBILITY): Define if _GLIBCXX_SYMVER
and PIC are both defined.
* include/bits/char_traits.h (char_traits::eq): Rename
only if _GLIBCXX_SYMVER_COMPATIBILITY is defined.
2005-06-16 Jakub Jelinek <jakub@redhat.com>
* acinclude.m4 ((GLIBCXX_ENABLE_SYMVERS): Rename _GLIBCXX_SIZE_T_IS_INT
to _GLIBCXX_SIZE_T_IS_UINT. Define _GLIBCXX_PTRDIFF_T_IS_INT.
* configure: Regenerate.
* config.h.in: Regenerate.
* src/compatibility.cc (istream:ignore(streamsize)): Use
_GLIBCXX_PTRDIFF_T_IS_INT instead of _GLIBCXX_SIZE_T_IS_INT.
* config/abi/compatibility.h: Rename _GLIBCXX_SIZE_T_IS_INT
to _GLIBCXX_SIZE_T_IS_UINT. Use _GLIBCXX_PTRDIFF_T_IS_INT
instead for symbols with streamsize arguments.
2005-06-16 Jakub Jelinek <jakub@redhat.com>
* config/linker-map.gnu: Also export
_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreE[il][il].
re PR libfortran/19216 (list directed read with leading slash (NIST FM923))
PR libfortran/19216
* io/list_read.c (eat_separator): No need to call next_record,
even in non-namelist_mode.
* gfortran.dg/pr19216.f: Add correct space between brackets and
dg directive.
re PR libfortran/16436 (gfortran TL edit descriptor failure - test f77-edit-t-in.f)
PR libfortran/16436
* io/transfer.c (read_sf): Correct updating of bytes_left field.
(formatted_transfer): Correct updating of bytes_left field and
reformatting code (comments and whitespace).
* io/unix.c (move_pos_offset): "active" field should not be
changed here. Whitespace corrections.
* gfortran.dg/g77/f77-edit-t-in.f: Not XFAIL-ed any more.
Geoffrey Keating [Thu, 16 Jun 2005 22:04:22 +0000 (22:04 +0000)]
t-slibgcc-darwin (SHLIB_SOVERSION): Rename from SHLIB_MINOR.
* config/t-slibgcc-darwin (SHLIB_SOVERSION): Rename from
SHLIB_MINOR.
(SHLIB_REVISION): Delete.
(SHLIB_VERSTRING): Update to compensate.
(SHLIB_SONAME): Just use one '.' in the name.
* doc/extend.texi: Document sseregparm target attribute.
Clarify fastcall and regparm documentation.
* config/i386/i386.h: Adjust float_in_sse documentation.
* config/i386/i386.c: Add new target attribute sseregparm.
(ix86_handle_cdecl_attribute, ix86_handle_regparm_attribute):
Merge into ...
(ix86_handle_cconv_attribute): ... here. Also handle
sseregparm attribute.
(ix86_comp_type_attributes): Compare sseregparm attributes.
(ix86_function_sseregparm): New function, split out from ...
(init_cumulative_args): ... here. Use to decide use
of SSE registers and error in case of missing support.
(ix86_value_regno): Likewise.
(function_arg_advance): Do not bail out for DFmode if we need
to pass doubles in registers.
(function_arg): Likewise.
Paolo Bonzini [Thu, 16 Jun 2005 12:49:06 +0000 (12:49 +0000)]
Alan Modra <amodra.bigpond.net.au>
2005-06-16 Paolo Bonzini <bonzini@gnu.org>
Daniel Jacobowitz <dan@codesourcery.com>
Alan Modra <amodra.bigpond.net.au>
* configure.ac (gcc_version): Set near the beginning.
(as, ld, nm): Do not link in-tree tools. Set gcc_cv_* if tools are
found in the tree. Use gcc_AC_PROG to find the tools in the system.
(objdump): Do not look for it.
* Makefile.in (NM_FOR_TARGET): Point to ./nm.
(ORIGINAL_AS_FOR_TARGET, ORIGINAL_LD_FOR_TARGET,
ORIGINAL_NM_FOR_TARGET): Substitute from autoconf.
(as, ld, nm): New rules.
(libgcc.mk): Depend on them.
* aclocal.m4 (gcc_AC_TOOL_DIRS, gcc_AC_CHECK_TOOL,
gcc_AC_BUILD_EXEEXT): New.
(gcc_AC_CHECK_PROG_VER): Use gcc_AC_BUILD_EXEEXT.
* configure: Regenerate.
Co-Authored-By: Daniel Jacobowitz <dan@codesourcery.com>
From-SVN: r101084
Arnaud Charlet [Thu, 16 Jun 2005 09:00:13 +0000 (11:00 +0200)]
[multiple changes]
2005-06-10 Arnaud Charlet <charlet@adacore.com>
* Makefile.in: Add initialize.o when needed.
Adapt to new VMS package body Symbols and subunits
No specialized version of a-sytaco is needed for VxWorks.
* a-wichun.ads, a-wichun.adb, a-zchuni.ads, a-zchuni.adb: New files.
* a-zchara.ads, a-widcha.ads: New files.
* system-hpux-ia64.ads: New file.
* i-vxwork-x86.ads, i-vxwork.ads (intContext): Add this function which
is imported from the VxWorks kernel.
* s-finimp.adb (Parent_Tag): Delete this imported function (function
Parent_Tag is now in the visible part of Ada.Tags).
(Get_Deep_Controller): Call Ada.Tags.Parent_Tag directly instead of
using imported function.
2005-06-14 Bernard Banner <banner@adacore.com>
* vxaddr2line.adb: Add support for Windows hosted x86 vxworks. Should
also apply for handling support for VxSim 653.
2005-06-14 Eric Botcazou <ebotcazou@adacore.com>
* xsnames.adb: Add automatic generation of snames.h.
2005-06-14 Thomas Quinot <quinot@adacore.com>
* gen-soccon.c: Add IP_MULTICAST_IF constant
Minor reformatting and adjustments to prevent warnings.
2005-06-14 Pascal Obry <obry@adacore.com>
* seh_init.c: Do not include <sys/stat.h>. This is not needed.
Robert Dewar [Thu, 16 Jun 2005 08:57:18 +0000 (10:57 +0200)]
gnat_rm.texi: Add documentation for pragma Persistent_BSS Document second argument (Ada_05)...
2005-06-10 Robert Dewar <dewar@adacore.com>
Eric Botcazou <ebotcazou@adacore.com>
Ben Brosgol <brosgol@adacore.com>
Cyrille Comar <comar@adacore.com>
Sergey Rybin <rybin@adacore.com>
Pascal Obry <obry@adacore.com>
* gnat_rm.texi: Add documentation for pragma Persistent_BSS
Document second argument (Ada_05) of pragma Obsolescent
Add note that call to subprogram marked with pragma Obsolescent
is now considered to be a violation of program Restrictions
(No_Obsolescent_Features).
(Implementation Defined Pragmas) <Machine_Attribute>: Make it clear
that only machine-dependent attributes are supported.
* gnat_ugn.texi:
Commented out menu lines and empty section for gnatclean examples
Document -gnatwy/Y
Fix some over long lines
Clarify and enhance documentation of ADA_PROJECT_PATH.
Rework section 2.11.2(3) about linking with a non-GNU compiler.
Mention new switch -fcallgraph-info.
Mention new switch -fstack-usage.
For gnatpp, replace '-notab' with '-N' and add this option to Index
Corrected VMS example.
VMS keyword for style check -gnatyd is DOS_LINE_ENDINGS, no NOCRLF
Minor reformatting
Add documentation for -gnatyu switch (unnecessary blank lines)
Document new switch -U for GNAT PRETTY and GNAT METRIC
Add note about Stdcall being handled as C convention on non Windows OS.
Remove some junk typo in description of gnatbind -S switch
Remove reference to Extensions_Allowed pragma
Document the new order of the directories to be searched (source and
object directories of project files before directories in ADA_*_PATH
environment variables.
* trans.c (call_to_gnu): Issue a warning for users of Starlet when
making a temporary around a procedure call because of non-addressable
actual parameter.
(process_freeze_entity): If entity is a private type, capture size
information that may have been computed for the full view.
(tree_transform, case N_Allocator): If have initializing expression,
check type for Has_Constrained_Partial_View and pass that to
build_allocator.
(tree_transform, case N_Return_Statement): Pass extra arg to
build_allocator.
* decl.c (annotate_value): Remove early return if -gnatR is not
specified.
(gnat_to_gnu_field): Don't make a packable type for a component clause
if the position is byte aligned, the field is aliased, and the clause
size isn't a multiple of the packable alignment. It serves no useful
purpose packing-wise and would be rejected later on.
(gnat_to_gnu_entity, case object): Pass extra arg to build_allocator.
PR ada/20515
(gnat_to_gnu_entity): Remove use of macro _WIN32 which is wrong in the
context of cross compilers. We use TARGET_DLLIMPORT_DECL_ATTRIBUTES
instead.
(create_concat_name): Idem.
Vincent Celier [Thu, 16 Jun 2005 08:55:59 +0000 (10:55 +0200)]
makegpr.adb (Compile_Link_With_Gnatmake): Invoke gnatmake with -d if gprmake was invoked with -d.
2005-06-14 Vincent Celier <celier@adacore.com>
* makegpr.adb (Compile_Link_With_Gnatmake): Invoke gnatmake with -d if
gprmake was invoked with -d.
(Compile_Sources): If -d was used, output the "completed ..." message
for each compilation.
(Scan_Arg): Recognize new switch -d
When -c and at least one main is specified, set
Unique_Compile to True to guarantee that no other sources will be
compiled.