Tom Tromey [Wed, 5 Jan 2005 20:41:27 +0000 (20:41 +0000)]
ZipEntry.java (setCompressedSize): Allow any argument.
* java/util/zip/ZipEntry.java (setCompressedSize): Allow any
argument.
(compressedSize): Now 'long'. Default to -1.
(getCompressedSize): Rewrote.
* java/util/zip/DeflaterOutputStream.java (deflate): Don't
deflate at all if we need input.
Stan Shebs [Wed, 5 Jan 2005 18:39:43 +0000 (18:39 +0000)]
unwind-dw2-fde-darwin.c (examine_objects): Use 64-bit Mach-O getters if ppc64.
* unwind-dw2-fde-darwin.c (examine_objects): Use 64-bit
Mach-O getters if ppc64.
* config/darwin.c (darwin_asm_output_dwarf_delta): Obey
size argument.
* config/darwin.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
signed four-byte field for global code case.
(STARTFILE_SPEC): Avoid crt2.o for 64-bit compilation.
J"orn Rennecke [Wed, 5 Jan 2005 14:41:30 +0000 (14:41 +0000)]
re PR target/16482 (gcc.c-torture/unsorted/SFset.c fails with "-O2 -m4")
PR target/16482
* lcm.c (create_pre_exit): New.
(optimize_mode_switching): In MODE_ENTRY / MODE_EXIT case, set
ENTRY_EXIT_EXTRA to 3. Use create_pre_exit.
Co-Authored-By: Kaz Kojima <kkojima@gcc.gnu.org>
From-SVN: r92950
arm.h (TARGET_OPTIONS): Correctly record -mhard-float and -msoft-float in target_float_switch.
* arm.h (TARGET_OPTIONS): Correctly record -mhard-float and
-msoft-float in target_float_switch.
* arm.c (arm_override_options): Fix processing of target_float_switch.
re PR tree-optimization/19158 (GNAT Bug Box compiling makegpr.adb of the GNAT tools)
2005-01-04 Richard Henderson <rth@redhat.com>
PR tree-opt/19158
* tree-sra.c (generate_one_element_init): Just
call gimplify_and_add.
(generate_element_init): Record the
new referenced variables and mark them for renaming
and split out to ...
(generate_element_init_1): This.
(scalarize_init): Don't call push_gimplify_context/
pop_gimplify_context.
Roger Sayle [Tue, 4 Jan 2005 21:42:52 +0000 (21:42 +0000)]
fold-const.c (fold_single_bit_test): Delete unreachable handling of TRUTH_NOT_EXPR.
* fold-const.c (fold_single_bit_test): Delete unreachable handling
of TRUTH_NOT_EXPR.
(fold): Don't call fold_single_bit_test with a TRUTH_NOT_EXPR, as
all the cases handled by it are inverted by invert_truthvalue.
Paolo Bonzini [Tue, 4 Jan 2005 14:37:23 +0000 (14:37 +0000)]
re PR tree-optimization/18308 (ICE in do_jump, at dojump.c:274)
gcc:
2005-01-04 Paolo Bonzini <bonzini@gnu.org>
Devang Patel <dpatel@apple.com>
PR tree-optimization/18308
* tree-if-conv.c (add_to_dst_predicate_list): Gimplify
the operands before creating a new expression.
* dojump.c (do_jump): Make drop_through_label available
for all cases. Add expansion of COND_EXPR.
gcc/testsuite:
2005-01-04 Paolo Bonzini <bonzini@gnu.org>
Ira Rosen [Tue, 4 Jan 2005 13:12:26 +0000 (13:12 +0000)]
tree-vectorizer.c (vect_analyze_offset_expr): Test for INTEGER_CST instead of TREE_CONSTANT.
2005-01-04 Ira Rosen <irar@il.ibm.com>
* tree-vectorizer.c (vect_analyze_offset_expr): Test for
INTEGER_CST instead of TREE_CONSTANT.
(vect_gen_niters_for_prolog_loop): Test for INTEGER_CST
instead of TREE_CONSTANT.
(vect_analyze_pointer_ref_access): Test for INTEGER_CST
instead of TREE_CONSTANT.
fold-const.c (force_fit_type): Cope with types larger than 2 HWI.
* fold-const.c (force_fit_type): Cope with types larger than 2 HWI.
(fold_convert_const_int_from_int, fold_convert_const_int_from_real,
fold_convert_const_real_from_real): Split out from ...
(fold_convert_const): ... here.
re PR target/19235 (GCC generates SSE2 instructions for AthlonXP which doesn't support them.)
PR target/19235
* config/i386/i386.md (movdi_2): Separate SSE1 and SSE2 alternatives.
(mov<MMXMODEI>_internal): Likewise.
(movdf_nointeger): Prefer Y while not preferring, but allowing, x.
Add V2SF case; use it for SSE1; don't use TI.
(movdf_integer): Likewise.
(mov<SSEMODEI>_internal, movti_internal): Force V4SF for SSE1.
Volker Reichelt [Mon, 3 Jan 2005 17:03:00 +0000 (17:03 +0000)]
re PR c++/14136 (double error message for typename used as destructor declarator)
PR c++/14136
* parser.c (cp_parser_unqualified_id): Do not issue error message
for typedef-name as destructor declarator when performing an
uncommitted tentative parse.
* ug_words, gnat_ugn.texi: Added alpha-ivms transitioning section to
porting guide chapter (vms version).
Revised doc title (removed "for native platforms") and subtitle.
Add discussion on warning flag for obsolescent features. First we
note that it applies to obsolete GNAT features, which was previously
omitted. Second we contrast the behavior with that of the new
Ada 2005 AI-368 restriction No_Obsolescent_Features.
Preliminary rewriting of GNAT & libraries chapter in order to take
into account default project locations & new project manager
capabilities.
* cstand.adb (Create_Operators): Clean up format and documentation of
unary and binary operator result tables. No change in code, just
reformatting and addition of comments.
* errout.ads, gnatfind.adb, s-maccod.ads, sem.adb,
sem_ch2.adb: Minor reformatting
* atree.ads, elists.ads, lib.ads, namet.ads, nlists.ads, repinfo.ads,
sinput.ads, stringt.ads, uintp.ads, urealp.ads: Minor clarification to
comments for Tree_Read and Tree_Write.
* exp_attr.ads: Minor reformatting.
* comperr.adb (Compiler_Abort): Add specialized message for GAP
versions.
* exp_pakd.adb (Create_Packed_Array_Type): Add a guard to check
whether the ancestor type is private, as may be the case with nested
instantiations.
Arnaud Charlet [Mon, 3 Jan 2005 15:42:23 +0000 (16:42 +0100)]
s-tasini.ads, [...] (Undefer_Abortion): Handle case of Self_Id.Deferral_Level = 0.
* s-tasini.ads, s-tasini.adb (Undefer_Abortion): Handle case of
Self_Id.Deferral_Level = 0.
(Do_Pending_Action): Move this function to the spec.
* s-tasren.adb (Selective_Wait [Terminate_Selected]): Call
Do_Pending_Action explicitely when needed, in case we're using
No_Abort restrictions.
* s-tassta.adb (Create_Task): If Abort is not allowed, reset the
deferral level since it will not get changed by the generated code.
Keeping a default value of 1 would prevent some operations (e.g.
select or delay) to proceed successfully.
Arnaud Charlet [Mon, 3 Jan 2005 15:41:36 +0000 (16:41 +0100)]
sem_ch4.adb (Has_Fixed_Op): New predicate in Check_Arithmetic_Pair...
* sem_ch4.adb (Has_Fixed_Op): New predicate in Check_Arithmetic_Pair,
to determine whether one of the operands is a fixed-point type for
which a user-defined multiplication or division operation might be
defined.
* sem_res.adb (Valid_Conversion): The legality rules for conversions
of access types are symmetric in Ada 2005: either designated type can
be unconstrained.
Arnaud Charlet [Mon, 3 Jan 2005 15:41:04 +0000 (16:41 +0100)]
sem_ch12.adb (Analyze_Package_Instantiation): Create a separate node to use as the defining identifier for a formal package.
* sem_ch12.adb (Analyze_Package_Instantiation): Create a separate node
to use as the defining identifier for a formal package.
(Remove_Parent): If the instance takes place within (an instance of)
a sibling, preserve private declarations of common parent.
Arnaud Charlet [Mon, 3 Jan 2005 15:40:46 +0000 (16:40 +0100)]
s-arit64.adb (Double_Divide): Put back changes that got accidentally removed during the previous update (test...
* s-arit64.adb (Double_Divide): Put back changes that got accidentally
removed during the previous update (test properly for case of dividing
largest negative number by -1, which generates overflow).
Arnaud Charlet [Mon, 3 Jan 2005 15:40:15 +0000 (16:40 +0100)]
s-osinte-darwin.ads, [...]: Clean up darwin port by using proper type definitions from header files.
* s-osinte-darwin.ads, s-osinte-darwin.adb: Clean up
darwin port by using proper type definitions from header files.
Use SIGTERM instead of SIGABRT for SIGADAABORT.
Arnaud Charlet [Mon, 3 Jan 2005 15:38:00 +0000 (16:38 +0100)]
exp_ch7.ads (Make_Final_Call): Rewrite comment (was incorrectly copied from Make_Init_Call).
* exp_ch7.ads (Make_Final_Call): Rewrite comment (was incorrectly
copied from Make_Init_Call).
* exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do component
reads and assignments on a temporary variable declared with appropriate
discriminants.
Arnaud Charlet [Mon, 3 Jan 2005 15:37:33 +0000 (16:37 +0100)]
exp_dist.adb: Declare subprogram index in Build_RPC_Receiver_Body...
* exp_dist.adb:
Declare subprogram index in Build_RPC_Receiver_Body, to reduce the
amount of PCS-specific code in RACW stubs generation.
(Copy_Specification): Set Etype on copied formal parameter entities, as
this information is needed for PolyORB stubs generation.
(PolyORB_Support.Build_Subprogram_Receiving_Stubs): Remove unused
variable Dynamic_Async.
(Build_Subprogram_Receiving_Stubs): Make PCS-specific
(Build_RPC_Receiver_Specification): Make generic again, as recent
changes have allowed RPC receivers to have the same profile for both
variants of the PCS.
Reorganise RPC receiver generation to reduce differences between the
structure of GARLIC and PolyORB RPC receivers.
(Add_Receiving_Stubs_To_Declarations): Make this subprogram
PCS-specific.
Simplify elaboration code for RCI packages.
* s-parint.ads, s-parint.adb, rtsfind.ads: Reorganise RPC receiver
generation to reduce differences between the structure of GARLIC and
PolyORB RPC receivers.
Arnaud Charlet [Mon, 3 Jan 2005 15:36:56 +0000 (16:36 +0100)]
exp_ch3.adb (Stream_Operations_OK): Predicate to determine when the generation of predefined stream operations...
* exp_ch3.adb (Stream_Operations_OK): Predicate to determine when the
generation of predefined stream operations (specs and bodies) should
proceed. Under various restrictions these subprograms must not be
generated.
Arnaud Charlet [Mon, 3 Jan 2005 15:36:06 +0000 (16:36 +0100)]
eval_fat.adb: (Eps_Model,Eps_Denorm): Remove, no longer used.
* eval_fat.adb: (Eps_Model,Eps_Denorm): Remove, no longer used.
(Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
(Pred): Implement in terms of Succ.
* trans.c (convert_with_check): Reimplement conversion of float to
integer.
Arnaud Charlet [Mon, 3 Jan 2005 15:35:16 +0000 (16:35 +0100)]
decl.c (compatible_signatures_p): New function.
* decl.c (compatible_signatures_p): New function. The intended purpose
is to check if two function signatures for a call-site and a callee are
compatible enough for the call to be valid. The underlying purpose is
to check if a call to a mapped builtin is using the right interface.
The current code actually does not check antyhing - this a placeholder
for future refinements.
(gnat_to_gnu_entity) <E_Subprogram_Call>: Add preliminary bits to handle
builtin calls for convention Intrinsic.
* gigi.h (builtin_decl_for): Declare (new function).
* utils.c (gnat_install_builtins): Install the target specific builtins.
(builtin_decl_for): New function, provide a dummy body for now.
Arnaud Charlet [Mon, 3 Jan 2005 15:35:01 +0000 (16:35 +0100)]
checks.adb (Apply_Alignment_Check): Generate a warning if an object address is incompatible with its base type...
* checks.adb (Apply_Alignment_Check): Generate a warning if an object
address is incompatible with its base type alignment constraints when
this can be decided statically.
* Makefile.in: Add support to build shared Ada libraries on solaris x86
Remove gpr2make, replaced by gprmake.
Remove references to gnatmem and libaddr2line.
Add indepsw.adb<indepsw-linux.adb to TOOLS_TARGET_PAIRS for IA64 linux.
(gnatlib-shared-darwin): Add "-fno-common" to GNATLIBCFLAGS.
Add support for specialized version of Ada.Numerics.Aux for Darwin: use
a-numaux-darwin.ads and a-numaux-darwin.adb
Enable mlib-tgt-lynxos.adb on lynxos.
* Make-lang.in: Remove rules for gpr2make.
When generating sdefault.adb, do not call Relocate_Path
on S3 for function Target_Name, as it is not a path.
Remove references to gnatmem and libaddr2line.
* a-numaux-darwin.ads, a-numaux-darwin.adb, g-soccon-darwin.ads: New
files.
Arnaud Charlet [Mon, 3 Jan 2005 15:32:19 +0000 (16:32 +0100)]
s-atacco.ads, [...]: Protect use of 'Constrained by warnings on/off...
* s-atacco.ads, a-direio.adb: Protect use of 'Constrained by warnings
on/off, since this is an obsolescent feature, for which we now generate
a warning.
* sem_attr.adb (Analyze_Attribute, case Constrained): Issue warning if
warning mode is set and obsolescent usage of this attribute occurs.
(Resolve_Access, case 'Access): Note that GNAT uses the context type to
disambiguate overloaded prefixes, in accordance with AI-235. GNAT code
predates, and partly motivates, the adoption of the AI.
Implement new Ada 2005 attribute Mod
* exp_attr.adb (Expand_N_Attribute_Reference): Implement Ada 2005
attribute Mod.
* par-ch4.adb (P_Name): In Ada 2005 mode, recognize new attribute Mod
* snames.h, snames.ads, snames.adb: Add entry for No_Dependence for
pragma restrictions.
New entry for Ada 2005 attribute Mod.
* par-prag.adb:
Add recognition of new pragma Restrictions No_Dependence
Recognize restriction No_Obsolescent_Features at parse time
* bcheck.adb: Add circuitry for checking for consistency of
No_Dependence restrictions.
* lib-writ.ads, lib-writ.adb: Output new R lines for No_Dependence
restrictions.
* restrict.ads, restrict.adb: Add subprograms to deal with
No_Dependence restrictions.
* rtsfind.adb: Check that implicit with's do not violate No_Dependence
restrictions.
* sem_ch3.adb, sem_ch11.adb, sem_ch13.adb, lib-xref.adb,
sem_attr.adb: Add check for new restriction No_Obsolescent_Features
* scn.ads, prj-err.ads, prj-err.adb, ali-util.adb, gprep.adb: Add new
dummy parameter to scng instantiation.
Needed for new restriction No_Obsolescent_Features
* scn.adb: (Obsolescent_Check): New procedure
Needed for new restriction No_Obsolescent_Features
* scng.ads, scng.adb: Always allow wide characters in Ada 2005 mode, as
specified by AI-285, needed for implementation of AI-388 (adding greek
pi to Ada.Numerics).
Add new generic formal to scng, needed for new restriction
No_Obsolescent_Features.
* s-rident.ads: Add new restriction No_Obsolescent_Features.
* ali.ads, ali.adb: Adjustments for reading new No_Dependence
restrictions lines.
(Scan_ALI): When finding an unexpected character on an R line, raise
exception Bad_R_Line, instead of calling Fatal_Error, so that, when
Ignore_Errors is True, default restrictions are set and scanning of the
ALI file continues with the next line. Also, when Bad_R_Line is raised
and Ignore_Errors is True, skip to the end of le line.
* sem_ch10.adb: Check that explicit with's do not violate
No_Dependence restrictions.
(Install_Withed_Unit): Add code to implement AI-377 and diagnose
illegal context clauses containing child units of instance.
* sem_prag.adb: Processing and checking for new No_Dependence
restrictions.
(Analyze_Pragma, case Psect_Object): Call Check_Arg_Is_External_Name to
analyze and check the External argument.
* a-numeri.ads: Add greek letter pi as alternative spelling of Pi
Arnaud Charlet [Mon, 3 Jan 2005 15:30:02 +0000 (16:30 +0100)]
gen-soccon.c: New utility program to generate g-soccon.ads automatically.
* gen-soccon.c: New utility program to generate g-soccon.ads
automatically.
* socket.c, gsocket.h: Split inclusion of system header files into a
gsocket.h file separated from socket.c, to allow reuse in gen-soccon.c.
* g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads,
g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-mingw.ads,
g-soccon-vxworks.ads, g-soccon-freebsd.ads: Note that these files
should not be edited by hand anymore, but should be regenerated using
gen-soccon.
* src/istream.cc (basic_istream<char>::ignore(streamsize),
basic_istream<char>::ignore(streamsize, int_type),
basic_istream<wchar_t>::ignore(streamsize),
basic_istream<wchar_t>::ignore(streamsize, int_type)): Avoid
_M_gcount overflows.
* include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
int_type)): Likewise; use snextc in the main loop, consistently
with the specializations above.
Greg McGary [Sun, 2 Jan 2005 22:24:50 +0000 (22:24 +0000)]
mf-impl.h (uintptr_t): Get typedef via stdint.h or define explicitly.
* mf-impl.h (uintptr_t): Get typedef via stdint.h or define explicitly.
* mf-runtime.h: New file, replaces mf-runtime.h.in.
* configure.ac (AC_CONFIG_FILES): mf-runtime.h is no longer generated.
* Makefile.in: Ditto.
* testsuite/lib/libmudflap.exp: Add -I${srcdir}/.. to get mf-runtime.h
* testsuite/libmudflap.c/pass32-frag.c: s/uintptr_t/__mf_uintptr_t/
* testsuite/libmudflap.c/fail36-frag.c: New test.
* testsuite/libmudflap.c/fail37-frag.c: New test.
* testsuite/libmudflap.c/fail38-frag.c: New test.