Jakub Jelinek [Thu, 27 Dec 2007 08:31:54 +0000 (09:31 +0100)]
re PR target/34281 (ARM: varargs broken with 64bit parameters.)
PR target/34281
* config/arm/arm.c (arm_setup_incoming_varargs): If last named
argument needs double word alignment and cum->nregs is odd, account
for the inserted padding.
Paolo Carlini [Tue, 25 Dec 2007 13:49:54 +0000 (13:49 +0000)]
hashtable_policy.h (__lower_bound): Add.
2007-12-25 Paolo Carlini <pcarlini@suse.de>
* include/tr1_impl/hashtable_policy.h (__lower_bound): Add.
(_Prime_rehash_policy::_M_next_bkt, _M_bkt_for_elements,
_M_need_rehash): Use __lower_bound.
* include/std/unordered_map: Do not include the whole <algorithm>,
include <bits/stl_algobase.h>.
* include/std/unordered_set: Likewise.
* include/tr1/unordered_map: Likewise.
* include/tr1/unordered_set: Likewise.
Daniel Franke [Tue, 25 Dec 2007 10:41:44 +0000 (05:41 -0500)]
re PR fortran/34533 (DTIME returns total process time and not since last invocation)
gcc/fortran:
2007-12-25 Daniel Franke <franke.daniel@gmail.com>
PR fortran/34533
* intrinsic.h (gfc_check_etime): Renamed to ...
(gfc_check_dtime_etime): ... this.
(gfc_check_etime_sub): Renamed to ...
(gfc_check_dtime_etime_sub): ... this.
(gfc_resolve_dtime_sub): New prototype.
* check.c (gfc_check_etime): Renamed to ...
(gfc_check_dtime_etime): ... this.
(gfc_check_etime_sub): Renamed to ...
(gfc_check_dtime_etime_sub): ... this.
* iresolve.c (gfc_resolve_dtime_sub): New implementation.
* intrinsic.c (add_functions): Removed alias from ETIME to DTIME,
added stand-alone intrinsic DTIME.
(add_subroutines): Adjusted check and resolve function names for
DTIME and ETIME.
* trans-intrinsic.c (gfc_conv_intrinsic_function): Added DTIME
to known functions in switch.
* intrinsic.texi (DTIME): Added paragraph about thread-safety,
fixed return value section.
(CPU_TIME): Clarified intent and added implementation notes.
libgfortran:
2007-12-25 Daniel Franke <franke.daniel@gmail.com>
PR fortran/34533
* intrinsics/cpu_time.c: Moved code commonly usable for CPU_TIME,
DTIME and ETIME to ...
* intrinsics/time_1.h: ... here.
* intrinsics/dtime.c: New file.
* intrinsics/etime.c: Newly implemented using the common
time-aquisition function from time_1.h.
* gfortran.map (_gfortran_dtime, _gfortran_dtime_sub): New.
* Makefile.am: Added new file.
* Makefile.in: Regenerated.
* configure: Regenerated.
Geoffrey Keating [Sun, 23 Dec 2007 00:57:19 +0000 (00:57 +0000)]
widget.html: Mark as HTML 4.01, which it now is, rather than XHTML, which it never was.
* GCC_Regression_Tester.wdgt/widget.html: Mark as HTML 4.01,
which it now is, rather than XHTML, which it never was.
(<head>): Mark as UTF-8. Add title. Move CSS to top of
document, specify type. Mark script as 'defer'.
(updateContents): If loaded from HTTP, look for status in same
place as widget.
(gotContents): Use DOM methods to change text rather than innerHTML.
(<body>): Eliminate unnecessary DIV element.
* GCC_Regression_Tester.wdgt/Info.plist: Update version, copyright
notice.
Eric Botcazou [Sat, 22 Dec 2007 23:05:57 +0000 (23:05 +0000)]
trans.c (call_to_gnu): Make the temporary for non-addressable In parameters passed by reference.
* trans.c (call_to_gnu): Make the temporary for non-addressable
In parameters passed by reference.
(addressable_p): Return true for STRING_CST and CALL_EXPR.
Jerry DeLisle [Sat, 22 Dec 2007 01:57:07 +0000 (01:57 +0000)]
re PR libfortran/34540 (cshift, eoshift, kind=1 and kind=2 arguments...)
2007-12-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/34540
* iresolve.c (gfc_resolve_cshift): Take optional dim path
only if the argument is an optional itself.
* iresolve.c (gfc_resolve_eoshift): Same.
Paul Thomas [Fri, 21 Dec 2007 21:20:38 +0000 (21:20 +0000)]
re PR fortran/34438 (gfortran not compliant w.r.t default initialization of derived type component and implicit SAVE attribute)
2007-12-21 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34438
* trans-decl.c (gfc_finish_var_decl): Do not mark derived types
with default initializers as TREE_STATIC unless they are in the
main program scope.
(gfc_get_symbol_decl): Pass derived types with a default
initializer to gfc_defer_symbol_init.
(init_default_dt): Apply default initializer to a derived type.
(init_intent_out_dt): Call init_default_dt.
(gfc_trans_deferred_vars): Ditto.
* module.c (read_module): Check sym->module is there before
using it in a string comparison.
2007-12-21 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34438
* gfortran.dg/default_initialization_3.f90: New test.
mips.c (mips_emit_loadgp): Replace gen_* calls with separate gen_*_si and gen_*_di calls.
gcc/
* config/mips/mips.c (mips_emit_loadgp): Replace gen_* calls with
separate gen_*_si and gen_*_di calls. Pass pic_offset_table_rtx
as the first argument.
* config/mips/mips.md (loadgp_newabi, loadgp_absolute)
(loadgp_rtp): Rename to...
(loadgp_newabi_<mode>, loadgp_absolute<mode>, loadgp_rtp<mode>):
...these. Add modes to all operands. Add the target register
as an operand. Combine loadgp_rtp<mode> with its splitter.
Bob Wilson [Thu, 20 Dec 2007 22:35:59 +0000 (22:35 +0000)]
xtensa.md (fix_return_addr): Remove.
* config/xtensa/xtensa.md (fix_return_addr): Remove.
* config/xtensa/xtensa-protos.h (xtensa_initialize_trampoline): New.
(xtensa_trampoline_template): New.
* config/xtensa/xtensa.c (MIN_FRAME_SIZE): Moved here from xtensa.h.
(xtensa_return_addr): Expand to standard Xtensa insns instead of
fix_return_addr. Get high bits from a local label.
(xtensa_trampoline_template): New function with code moved from
TRAMPOLINE_TEMPLATE in xtensa.h. Use L32R instead of CALL0 except
when using CONST16 or absolute-mode literals.
(xtensa_initialize_trampoline): New function with code moved from
INITIALIZE_TRAMPOLINE in xtensa.h. Use different offsets depending
on which trampoline version is used.
* config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Add comment.
* config/xtensa/xtensa.h (TARGET_ABSOLUTE_LITERALS): Define.
(MIN_FRAME_SIZE): Moved to xtensa.c.
(TRAMPOLINE_TEMPLATE): Use xtensa_trampoline_template.
(TRAMPOLINE_SIZE): Two versions of the trampoline have different sizes.
(INITIALIZE_TRAMPOLINE): Use xtensa_initialize_trampoline.
* config/xtensa/ieee754-df.S (XCHAL_NO_MUL): Define.
(__muldf3): Use CALL12 instead of CALL0 to invoke .Lmul_mulsi3
helper when not using the CALL0 ABI. Change .Lmul_mulsi3 to match.
* config/xtensa/lib1funcs.asm (__umulsidi3): Likewise.
* config/xtensa/ieee754-sf.S (__mulsf3): Likewise.
Jakub Jelinek [Thu, 20 Dec 2007 14:40:33 +0000 (15:40 +0100)]
re PR c++/34459 (incorrect code when compiled with optimization (-O1))
PR c++/34459
* tree-ssa-dse.c (dse_optimize_stmt): Don't eliminate store if
USE_STMT not only stores into the same object as STMT, but might
read it too.
Robert Dewar [Wed, 19 Dec 2007 16:26:20 +0000 (17:26 +0100)]
gnat_rm.texi, [...]: Update documentation of -gnatw.o Fix name of Wide_Wide_Latin_1/9 file names Add...
2007-12-19 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi, gnat_ugn.texi: Update documentation of -gnatw.o
Fix name of Wide_Wide_Latin_1/9 file names
Add documentation for Ada.Exceptions.Last_Chance_Handler (a-elchha.ads)
Add missing documentation for Ada.Wide_[Wide_]Characters.Unicode
Add missing documentation for Ada.Command_Line.Response_File
Update list of warning letters for Warnings pragma
Add documentation for pragma Unmodified
Gary Dismukes [Wed, 19 Dec 2007 16:25:18 +0000 (17:25 +0100)]
re PR ada/34149 (GNAT crash - deeply inrerited function)
2007-12-19 Gary Dismukes <dismukes@adacore.com>
PR ada/34149
* sem_disp.adb (Check_Dispatching_Call): Augment existing test for
presence of a statically tagged operand (Present (Static_Tag)) with
test for Indeterm_Ancestor_Call when determining whether to propagate
the static tag to tag-indeterminate operands (which forces dispatching
on such calls).
(Check_Controlling_Formals): Ada2005, access parameters can have
defaults.
(Add_Dispatching_Operation, Check_Operation_From_Private_View): do
not insert subprogram in list of primitive operations if already there.
Ed Schonberg [Wed, 19 Dec 2007 16:24:55 +0000 (17:24 +0100)]
sem_ch8.adb (Analyze_Subprogram_Renaming): Diagnose illegal renamings whose renamed entity is a subprogram that requires...
2007-12-19 Ed Schonberg <schonberg@adacore.com>
Gary Dismukes <dismukes@adacore.com>
* sem_ch8.adb (Analyze_Subprogram_Renaming): Diagnose illegal renamings
whose renamed entity is a subprogram that requires overriding.
(Premature_Usage): Test for the case of N_Full_Type_Declaration when
issuing an error for premature usage and issue a message that says
'type' rather than 'object'.
Bob Duff [Wed, 19 Dec 2007 16:24:44 +0000 (17:24 +0100)]
sem_ch4.adb (Analyze_Concatenation_Rest): New procedure.
2007-12-19 Bob Duff <duff@adacore.com>
* sem_ch4.adb (Analyze_Concatenation_Rest): New procedure.
(Analyze_Concatenation): Use iteration instead of recursion in order
to avoid running out of stack space for deeply nested concatenations.
Ed Schonberg [Wed, 19 Dec 2007 16:24:34 +0000 (17:24 +0100)]
PR ada/15803, ada/15805
2007-12-19 Ed Schonberg <schonberg@adacore.com>
Gary Dismukes <dismukes@adacore.com>
PR ada/15803, ada/15805
* sem_ch6.adb, sem_ch3.adb (Constrain_Access): In Ada2005, diagnose
illegal access subtypes when there is a constrained partial view.
(Check_For_Premature_Usage): New procedure inside
Access_Subprogram_Declaration for checking that an access-to-subprogram
type doesn't reference its own name within any formal parameters or
result type (including within nested anonymous access types).
(Access_Subprogram_Declaration): Add call to Check_For_Premature_Usage.
(Sem_Ch3.Analyze_Object_Declaration, Sem_ch6.Process_Formals): if the
context is an access_to_variable, the expression cannot be an
access_to_constant.
Ed Schonberg [Wed, 19 Dec 2007 16:24:06 +0000 (17:24 +0100)]
par-ch3.adb (P_Record_Declaration): Guard against cascaded errors in mangled declaration
2007-12-19 Ed Schonberg <schonberg@adacore.com>
* par-ch3.adb (P_Record_Declaration): Guard against cascaded errors in
mangled declaration
(P_Type_Declaration): Diagnose misuse of "abstract" in untagged record
declarations.
(P_Variant_Part): Cleaner patch for parenthesized discriminant
Ed Schonberg [Wed, 19 Dec 2007 16:23:55 +0000 (17:23 +0100)]
freeze.adb (Freeze_Record_Type, [...]): Implement properly the Ada2005 rules concerning when...
2007-12-19 Ed Schonberg <schonberg@adacore.com>
* freeze.adb (Freeze_Record_Type, Check_Current_Instance): Implement
properly the Ada2005 rules concerning when the current instance of a
record type is aliased.
Robert Dewar [Wed, 19 Dec 2007 16:23:32 +0000 (17:23 +0100)]
exp_ch9.adb (Null_Statements): Moved to library level
2007-12-19 Robert Dewar <dewar@adacore.com>
* exp_ch9.adb (Null_Statements): Moved to library level
(Trivial_Accept_OK): New function
(Expand_Accept_Declaration): Use Trivial_Accept_OK
(Expand_N_Accept_Statement): Use Trivial_Accept_OK
Robert Dewar [Wed, 19 Dec 2007 16:23:09 +0000 (17:23 +0100)]
exp_attr.adb (Expand_N_Attribute_Reference, case Size): Fix error in handling compile time known size of record or array (case of front...
2007-12-19 Robert Dewar <dewar@adacore.com>
* exp_attr.adb (Expand_N_Attribute_Reference, case Size): Fix error in
handling compile time known size of record or array (case of front end
layout active, e.g. in GNAAMP).