2007-04-06 Olivier Hainque <hainque@adacore.com>
* adaint.c:
(convert_addresses): Adjust prototype and dummy definition to expect an
extra file_name argument.
* gmem.c (__gnat_convert_addresses): Wrapper to convert_addresses,
filling the now expected file_name argument with the appropriate
argv[0] expansion.
(__gnat_gmem_a2l_initialize, __gnat_gmem_read_next_frame): Use it.
(tracebk): Array of void * instead of char *, corresponding to what
convert_addresses expects.
(exename): New static global, to hold the executable file name to be
used in all convert_addresses invocations.
(gmem_read_backtrace, __gnat_gmem_symbolic): Account for tracebk type
change.
(__gnat_gmem_a2l_initialize): Resolve exename.
(__gnat_convert_addresses): Use exename as the convert_addresses
file_name argument.
* g-trasym.adb (Symbolic_Traceback): Adjust signature of imported
"convert_addresses", now expecting a filename argument. Import the
necessary entities to compute the filename to use and pass it to
convert_addresses.
From-SVN: r123544
2007-04-06 Hristian Kirtchev <kirtchev@adacore.com>
Vincent Celier <celier@adacore.com>
* a-calend-vms.ads, a-calend.ads, a-calend.adb, a-calend-vms.adb:
New version of Ada.Calendar which supports the new upper bound of Ada
time (2399-12-31 86_399.999999999).
The following modifications have been made to the package:
- New representation of time as count of nanoseconds since the start of
Ada time (1901-1-1 0.0).
- Target independent Split and Time_Of routines which service both
Ada 95 and Ada 2005 code.
- Target independent interface to the Ada 2005 children of Calendar.
- Integrated leap seconds into Ada 95 and Ada 2005 mode.
- Handling of non-leap centenial years.
- Updated clock function.
- Updated arithmetic and comparison operators.
* a-caldel.adb (To_Duration): Add call to target independent routine in
Ada.Calendar to handle the conversion of time to duration.
* sysdep.c (__gnat_localtime_tzoff): Test timezone before setting off
(UTC Offset).
If timezone is obviously incorrect (outside of -14 hours .. 14 hours),
set off to 0.
(__gnat_localtime_tzoff for Lynx and VxWorks): Even though these
targets do not have a natural time zone, GMT is used as a default.
(__gnat_get_task_options): New.
* a-direct.adb (Modification_Time): Add with and use clauses for
Ada.Calendar and Ada.
Calendar.Formatting. Remove with clause for Ada.Unchecked_Conversion
since it is no longer needed.
(Duration_To_Time): Removed.
(OS_Time_To_Long_Integer): Removed.
(Modification_Time): Rewritten to use Ada.Calendar and Ada.Calendar.
Formatting Time_Of routines which automatically handle time zones,
buffer periods and leap seconds.
* a-calari.ads, a-calari.adb ("+", "-", Difference): Add calls to
target independent routines in Ada.Calendar.
* a-calfor.ads, a-calfor.adb:
Code cleanup and addition of validity checks in various routines.
(Day_Of_Week, Split, Time_Of): Add call to target independent routine in
Ada.Calendar.
* a-catizo.ads, a-catizo.adb (UTC_Time_Offset): Add call to target
independent routine in Ada.Calendar.
From-SVN: r123543
2007-04-06 Thomas Quinot <quinot@adacore.com>
Pat Rogers <rogers@adacore.com>
Pascal Obry <obry@adacore.com>
* g-stsifd-sockets.adb: New file.
* g-socthi.ads, g-socket.adb, g-socthi-vxworks.adb,
g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi-vms.ads,
g-socthi-vms.adb: Move signalling
fd management to a nested package, so that they can conveniently be
moved to a subunit that is shared across Windows, VMS, and VxWorks
(Ada implementation) or completed with imported bodies from socket.c
(UNIX case).
(Read_Signalling_Fd, Write_Signalling_Fd, Create_Signalling_Fds): New
subprograms.
(Check_Selector): Use Read_Signalling_Fd to read and discard data from
the signalling file descriptor.
(Abort_Selector): Use Write_Signalling_Fd to write dummy data to the
signalling file descriptor.
(Create_Selector): Use new C-imported subprogram Create_Signalling_Fds
instead of creating a pair of sockets for signalling here.
* g-socthi.adb: Ditto.
Set the runtime process to ignore SIGPIPEs on platforms that support
neither SO_NOSIGPIPE nor MSG_NOSIGNAL functionality.
* g-socthi-mingw.adb: Ditto.
(WS_Version): Use Windows 2.2.
Use Winsock 2.2 (instead of 1.1) for the GNAT.Socket API.
* g-soliop-mingw.ads: Link with ws2_32 for Windows 2.x support.
Use Winsock 2.2 (instead of 1.1) for the GNAT.Socket API.
* Makefile.in: New libgnat pair g-stsifd.adb<g-stsifd-sockets.adb.
added GNAT byte swapping facility
Update FreeBSD THREADSLIB from -lc_r to -lpthread, for FreeBSD 6.
* g-bytswa.adb, g-bytswa-x86.adb, g-bytswa.ads: New files.
* socket.c (__gnat_read_signalling_fd, __gnat_write_controlling_fd):
New subprograms.
(__gnat_create_signalling_fds): New subprogram.
Set the runtime process to ignore SIGPIPEs on platforms that support
neither SO_NOSIGPIPE nor MSG_NOSIGNAL functionality.
From-SVN: r123542
* a-except.adb, a-except.ads, a-except-2005.ads, a-except-2005.adb
(Local_Raise): New dummy procedure called when a raise is converted
to a local goto. Used for debugger to detect that the exception
is raised.
* debug.adb: Document new d.g flag (expand local raise statements to
gotos even if pragma Restriction (No_Exception_Propagation) is not set)
* exp_sel.adb: Use Make_Implicit_Exception_Handler
* exp_ch11.adb (Expand_Exception_Handlers): Use new flag -gnatw.x to
suppress warnings for unused handlers.
(Warn_If_No_Propagation): Use new flag -gnatw.x to suppress
warnings for raise statements not handled locally.
(Get_RT_Exception_Entity): New function
(Get_Local_Call_Entity): New function
(Find_Local_Handler): New function
(Warn_If_No_Propagation): New procedure
(Expand_At_End_Handler): Call Make_Implicit_Handler
(Expand_Exception_Handlers): Major additions to deal with local handlers
(Expand_N_Raise_Constraint_Error, Expand_N_Raise_Program_Error,
Expand_N_Raise_Storage_Error, (Expand_N_Raise_Statement): Add handling
for local raise
* exp_ch11.ads (Get_RT_Exception_Entity): New function
(Get_Local_Call_Entity): New function
* gnatbind.adb (Restriction_List): Add No_Exception_Propagation to list
of restrictions that the binder will never suggest adding.
* par-ch11.adb (P_Exception_Handler): Set Local_Raise_Statements field
to No_Elist.
* restrict.adb (Check_Restricted_Unit): GNAT.Current_Exception may not
be with'ed in the presence of pragma Restriction
(No_Exception_Propagation).
* sem.adb (Analyze): Add entries for N_Push and N_Pop nodes
* sem_ch11.adb (Analyze_Exception_Handler): If there is a choice
parameter, then the handler is not a suitable target for a local raise,
and this is a violation of restriction No_Exception_Propagation.
(Analyze_Handled_Statements): Analyze choice parameters in exception
handlers before analyzing statement sequence (needed for proper
detection of local raise statements).
(Analyze_Raise_Statement): Reraise statement is a violation of the
No_Exception_Propagation restriction.
* s-rident.ads: Add new restriction No_Exception_Propagation
* tbuild.ads, tbuild.adb (Make_Implicit_Exception_Handler): New
function, like Make_Exception_Handler but sets Local_Raise_Statements
to No_List.
(Add_Unique_Serial_Number): Deal with case where this is called during
processing of configuration pragmas.
From-SVN: r123541
* doc/extend.texi (Other Builtins): Add decimal float variants
of signbit.
* builtins.def: Ditto.
* builtins.c (expand_builtin): Ditto.
testsuite/
* gcc.dg/dfp/signbit-1.c
* gcc.dg/dfp/signbit-2.c
M gcc/doc/extend.texi
M gcc/builtins.c
M gcc/ChangeLog
A gcc/testsuite/gcc.dg/dfp/signbit-2.c
A gcc/testsuite/gcc.dg/dfp/signbit-1.c
M gcc/testsuite/ChangeLog
M gcc/builtins.def
From-SVN: r123528
2007-04-05 Uros Bizjak <ubizjak@gmail.com>
H.J. Lu <hongjiu.lu@intel.com>
PR target/31478
* config/i386/sse.md (sse2_umulv2siv2di3): Use V4SImode instead
of V8HImode when calling ix86_binary_operator_ok.
(sse2_pmaddwd): Call ix86_binary_operator_ok.
(sdot_prodv8hi): Operands 1 and 2 must be register.
Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
From-SVN: r123527
PR middle-end/22156
* tree-sra.c (struct sra_elt): Add in_bitfld_block. Remove
all_no_warning.
(struct sra_walk_fns): Remove use_all parameter from use.
(sra_hash_tree): Handle BIT_FIELD_REFs.
(sra_elt_hash): Don't hash bitfld blocks.
(sra_elt_eq): Skip them in parent compares as well. Handle
BIT_FIELD_REFs.
(sra_walk_expr): Don't maintain or pass down use_all_p.
(scan_use): Remove use_all parameter.
(scalarize_use): Likewise. Re-expand assignment to
BIT_FIELD_REF of gimple_reg. De-scalarize before input or
output, and re-scalarize after output. Don't mark anything
for no warning.
(scalarize_ldst): Adjust.
(scalarize_walk_gimple_modify_statement): Likewise.
(build_element_name_1): Handle BIT_FIELD_REFs.
(instantiate_element): Don't warn for any element whose parent
is used as a whole.
(instantiate_missing_elements_1): Return the sra_elt.
(canon_type_for_field): New.
(try_instantiate_multiple_fields): New.
(instantiate_missing_elemnts): Use them.
(mark_no_warning): Removed.
(generate_one_element_ref): Handle BIT_FIELD_REFs.
(REPLDUP, sra_build_elt_assignment): New.
(generate_copy_inout): Use them.
(generate_element_copy): Likewise. Handle bitfld differences.
(generate_element_zero): Don't recurse for blocks. Use
sra_build_elt_assignment.
(generate_one_element_int): Take elt instead of var. Use
sra_build_elt_assignment.
(generate_element_init_1): Adjust.
(scalarize_use, scalarize_copy): Use REPLDUP.
(scalarize_ldst): Move assert before dereference.
(dump_sra_elt_name): Handle BIT_FIELD_REFs.
From-SVN: r123524
* regmove.c (STACK_GROWS_DOWNWARD): Don't boolean-ize.
(regmove_bb_head): Remove.
(copy_src_to_dest): Don't update regmove_bb_head and BB_HEAD.
(regmove_optimize): Don't do unnecessary CFG fixes for non-existing
problems with fixup_match_1.
Don't initialize/free regmove_bb_head.
(reg_is_remote_constant_p): If an insn is in the same basic block
but not before INSN, consider it remote, too.
From-SVN: r123522
2007-04-05 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31483
* trans-expr.c (gfc_conv_function_call): Give a dummy
procedure the correct type if it has alternate returns.
2007-04-05 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31483
* gfortran.dg/altreturn_5.f90: New test.
From-SVN: r123518
2007-04-05 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31292
* decl.c (gfc_match_modproc): Go up to the top of the namespace
tree to find the module namespace for gfc_get_symbol.
2007-04-05 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31292
* gfortran.dg/contained_module_proc_1.f90: New test.
From-SVN: r123517
2007-04-04 Tania Bento <tbento@redhat.com>
* java/text/DecimalFormatSymbols.java: Added the year 2007 to
Copyright information and introduced new variable, currency.
(DecimalFormatSymbols(Locale)): Define currency and intlCurrencySymbol
to "XXX", currencySymbol to "?" and localCurrency appropriately.
(getCurrency): Fixed documentation and return the value of currency.
(setCurrency): Fixed documentation and update the value of currency.
(setInternationalCurrencySymbol): Fixed documentation and update the
value of currency.
* java/util/Currency.java: Introduced two new variables, properties
and fractionDigits. In the static block, a properties object is
created and the currency resource is loaded.
(Currency(Locale)): fractionDigits is defined.
(Currency(String)): New method.
(getDefaultFractionDigits): Return the value of fractionDigits.
(getInstance(String)): Check if String is equal to "XXX".
From-SVN: r123512
2007-04-04 Kyle Galloway <kgallowa@redhat.com>
* classpath/gnu/classpath/jdwp/util/VariableTable.java: Change longs
to ints for argCnt and slots.
(write): Replace writeLong with writeInt for the above.
From-SVN: r123511
2007-04-04 Paolo Carlini <pcarlini@suse.de>
* include/bits/valarray_array.h (__valarray_default_construct(_Tp*,
_Tp*)): Use __is_scalar instead of __is_pod.
From-SVN: r123502
* libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
decls.
(gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
* env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
(parse_affinity): New function.
(initialize_env): Call it and gomp_init_affinity.
* team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
create new pthread_attr_t and call gomp_init_thread_affinity
on it for each thread before passing the attribute to pthread_create.
* config/linux/affinity.c: New file.
* config/posix/affinity.c: New file.
* configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
* configure: Rebuilt.
* config.h.in: Rebuilt.
* Makefile.am (libgomp_la_SOURCES): Add affinity.c.
* Makefile.in: Rebuilt.
From-SVN: r123494
PR fortran/31304
* fortran/gfortran.h (gfc_charlen_int_kind): New prototype.
* fortran/trans-types.c (gfc_charlen_int_kind): New variable.
(gfc_init_types): Define gfc_charlen_int_kind.
* fortran/trans.h (gfor_fndecl_string_repeat): Remove prototype.
* fortran/trans-decl.c (gfor_fndecl_string_repeat): Delete.
(gfc_build_intrinsic_function_decls): Don't set
gfor_fndecl_string_repeat.
* fortran/trans-intrinsic.c (gfc_conv_intrinsic_repeat): Rewrite
so that we don't have to call a library function.
* fortran/simplify.c (gfc_simplify_repeat): Perform the necessary
checks on the NCOPIES argument, and work with arbitrary size
arguments.
* intrinsics/string_intrinsics.c (string_repeat): Remove.
* gfortran.dg/repeat_2.f90: New test.
* gfortran.dg/repeat_3.f90: New test.
* gfortran.dg/repeat_4.f90: New test.
From-SVN: r123481
2007-04-03 Andrew Haley <aph@redhat.com>
* jvgenmain.c (main): Change main to use class$, not class$$.
(do_mangle_classname): Likewise.
* class.c (hide): New function.
(add_field): Hide everything that shouldn't be visible outside a
DSO.
(build_static_class_ref): Likewise.
(build_classdollar_field): Likewise.
(make_class_data): Likewise.
(layout_class_method): Likewise.
* expr.c (special_method_p): New function.
* class.c (push_class): Don't bogusly guess the source filename.
* jcf-parse.c (give_name_to_class): Don't set input_location from
DECL_ARTIFICIAL decls.
From-SVN: r123476
* src/closures.c: Include sys/statfs.h.
(_GNU_SOURCE): Define on Linux.
(FFI_MMAP_EXEC_SELINUX): Define.
(selinux_enabled): New variable.
(selinux_enabled_check): New function.
(is_selinux_enabled): Define.
(dlmmap): Use it.
* configure.ac (NO_EXECUTE_PERMISSION): Set by default.
* configure: Rebuilt.
From-SVN: r123457
PR c++/30847
* typeck.c (build_modify_expr): For COND_EXPR on LHS, if RHS has void
type issue error and return early.
* g++.dg/parse/cond3.C: New test.
From-SVN: r123456