Mark Mitchell [Sun, 11 Dec 2005 04:16:32 +0000 (04:16 +0000)]
re PR c++/25010 (Segmentation fault (infinite recursion in cgraph_clone_inlined_nodes))
PR c++/25010
* ipa-inline.c (cgraph_clone_inlined_nodes): Do not assume that
DECL_EXTERNAL functions have no bodies. Tidy.
PR c++/25010
* g++.dg/opt/inline10.C: New test.
From-SVN: r108375
Terry Laurenzo [Sun, 11 Dec 2005 01:34:02 +0000 (01:34 +0000)]
Fixes java/PR9861
From-SVN: r108374
Paolo Carlini [Sun, 11 Dec 2005 00:41:29 +0000 (00:41 +0000)]
sso_string_base.h (__sso_string_base<>::_M_compare): Add...
2005-12-10 Paolo Carlini <pcarlini@suse.de>
* include/ext/sso_string_base.h (__sso_string_base<>::_M_compare):
Add, specialized for char and wchar_t to immediately return true
when a string is compared to itself.
* include/ext/rc_string_base.h (__rc_string_base<>::_M_compare):
Likewise, for the same _Rep.
* include/ext/vstring.h (compare(const string&)): Use it.
* include/ext/sso_string_base.h (__sso_string_base<>::_M_destroy):
Deallocate passed size + 1.
(_M_dispose, _M_reserve): Adjust.
From-SVN: r108372
Steven G. Kargl [Sun, 11 Dec 2005 00:39:14 +0000 (00:39 +0000)]
Fix testsuite after this commit:
2005-12-10 Francois-Xavier Coudert <coudert@clipper.ens.fr>
PR fortran/25068
* gfortran.dg/iostat_3.f90: New test.
From-SVN: r108371
GCC Administrator [Sun, 11 Dec 2005 00:17:11 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r108368
Bernhard Fischer [Sun, 11 Dec 2005 00:00:29 +0000 (01:00 +0100)]
substring_equivalence.f90: typo in comment
2005-12-11 Bernhard Fischer <rep.nop@aon.at>
* gfortran.dg/substring_equivalence.f90: typo in comment
From-SVN: r108362
Janne Blomqvist [Sat, 10 Dec 2005 22:05:55 +0000 (00:05 +0200)]
Forgot ChangeLog for 108359
From-SVN: r108361
Francois-Xavier Coudert [Sat, 10 Dec 2005 21:44:43 +0000 (22:44 +0100)]
re PR fortran/25068 ([4.0/4.1] IOSTAT should be default integer when -std=f95)
PR fortran/25068
* io.c (resolve_tag): Add correct diagnostic for F2003 feature.
* gfortran.dg/iostat_3.f90: New test.
From-SVN: r108360
Janne Blomqvist [Sat, 10 Dec 2005 21:22:16 +0000 (23:22 +0200)]
Makefile.am: Enable loop unrolling for matmul.
2005-12-10 Janne Blomqvist <jb@gcc.gnu.org>
* Makefile.am: Enable loop unrolling for matmul.
* configure: Regenerated.
* Makefile.in: Regenerated.
* aclocal.m4: Regenerated.
From-SVN: r108359
Thomas Koenig [Sat, 10 Dec 2005 20:01:56 +0000 (20:01 +0000)]
re PR fortran/23815 (Add -byteswapio flag)
2005-12-10 Thomas Koenig <Thomas.Koenig@online.de>
PR fortran/23815
* io.c (top level): Add convert to io_tag.
(resolve_tag): convert is GFC_STD_GNU.
(match_open_element): Add convert.
(gfc_free_open): Likewise.
(gfc_resolve_open): Likewise.
(gfc_free_inquire): Likewise.
(match_inquire_element): Likewise.
* dump-parse-tree.c (gfc_show_code_node): Add
convet for open and inquire.
gfortran.h: Add convert to gfc_open and gfc_inquire.
* trans-io.c (gfc_trans_open): Add convert.
(gfc_trans_inquire): Likewise.
* ioparm.def: Add convert to open and inquire.
* gfortran.texi: Document CONVERT.
2005-12-10 Thomas Koenig <Thomas.Koenig@online.de>
PR fortran/23815
* io/file_pos.c (unformatted_backspace): If flags.convert
does not equal CONVERT_NATIVE, reverse the record marker.
* io/open.c: Add convert_opt[].
(st_open): If no convert option is given, set CONVERT_NATIVE.
If CONVERT_BIG or CONVERT_LITTLE are given, set flags.convert to
CONVERT_NATIVE or CONVERT_SWAP (depending on wether we have
a big- or little-endian system).
* io/transfer.c (unformatted_read): Remove unused attribute
from arguments.
If we need to reverse
bytes, break up large transfers into a loop. Split complex
numbers into its two parts.
(unformatted_write): Likewise.
(us_read): If flags.convert does not equal CONVERT_NATIVE,
reverse the record marker.
(next_record_w): Likewise.
(reverse_memcpy): New function.
* io/inquire.c (inquire_via_unit): Implement convert.
* io/io.h (top level): Add enum unit_convert.
Add convert to st_parameter_open and st_parameter_inquire.
Define IOPARM_OPEN_HAS_CONVERT and IOPARM_INQUIRE_HAS_CONVERT.
Increase padding for st_parameter_dt.
Declare reverse_memcpy().
2005-12-10 Thomas Koenig <Thomas.Koenig@online.de>
PR fortran/23815
* gfortran.dg/unf_io_convert_1.f90: New test.
* gfortran.dg/unf_io_convert_2.f90: New test.
* gfortran.dg/unf_io_convert_3.f90: New test.
From-SVN: r108358
Andreas Schwab [Sat, 10 Dec 2005 17:38:45 +0000 (17:38 +0000)]
except.c (switch_to_exception_section): Only define if TARGET_UNWIND_INFO is not defined.
* except.c (switch_to_exception_section): Only define if
TARGET_UNWIND_INFO is not defined.
From-SVN: r108355
Thiemo Seufer [Sat, 10 Dec 2005 17:37:58 +0000 (17:37 +0000)]
Add myself for write after approval.
From-SVN: r108354
Kaveh R. Ghazi [Sat, 10 Dec 2005 13:23:19 +0000 (13:23 +0000)]
re PR testsuite/20772 (x86 tests should run on both i?86 and x86_64)
PR testsuite/20772
* g++.dg/abi/mangle24.C, g++.dg/abi/mangle25.C,
g++.dg/ext/vector2.C, g++.dg/opt/longbranch2.C, g++.dg/opt/mmx1.C,
g++.dg/opt/reg-stack4.C, gcc.dg/
20020108-1.c, gcc.dg/
20020122-2.c,
gcc.dg/
20020122-3.c, gcc.dg/
20020206-1.c, gcc.dg/
20020310-1.c,
gcc.dg/
20020411-1.c, gcc.dg/
20020418-2.c, gcc.dg/
20020426-2.c,
gcc.dg/
20020517-1.c, gcc.dg/
20030204-1.c, gcc.dg/
20030826-2.c,
gcc.dg/
20031202-1.c, gcc.dg/format/unnamed-1.c, gcc.dg/setjmp-2.c,
gcc.dg/short-compare-1.c, gcc.dg/short-compare-2.c,
gcc.dg/tls/opt-1.c, gcc.dg/tls/opt-2.c,
gcc.dg/torture/fp-int-convert-float128-timode.c,
gcc.dg/torture/fp-int-convert-float128.c,
gcc.dg/torture/fp-int-convert-float80-timode.c,
gcc.dg/torture/fp-int-convert-float80.c, gcc.dg/unroll-1.c,
gcc.target/i386/
20030926-1.c: Merge i?86 and x86_64 cases.
* gcc.dg/tls/opt-1.c: Require effective target fpic.
From-SVN: r108348
Richard Sandiford [Sat, 10 Dec 2005 08:07:25 +0000 (08:07 +0000)]
darwin.h (HAS_INIT_SECTION): Remove definition.
* config/darwin.h (HAS_INIT_SECTION): Remove definition.
(INIT_SECTION_ASM_OP): Restore empty definition from before 2005-12-07.
From-SVN: r108346
Hans-Peter Nilsson [Sat, 10 Dec 2005 02:19:09 +0000 (02:19 +0000)]
* g++.old-deja/g++.other/comdat5.C: Gate on target fpic.
From-SVN: r108342
Roger Sayle [Sat, 10 Dec 2005 01:14:38 +0000 (01:14 +0000)]
re PR fortran/22527 (fortran produces mismatch types in comparision with integer to logic assignment)
PR fortran/22527
* f95-lang.c (gfc_truthvalue_conversion): Use a zero of the correct
integer type when building an inequality.
From-SVN: r108341
Richard Sandiford [Sat, 10 Dec 2005 00:22:11 +0000 (00:22 +0000)]
output.h (init_section, [...]): Delete.
* output.h (init_section, fini_section): Delete.
* varasm.c (init_section, fini_section): Delete.
(init_varasm_once): Don't initialize them.
* doc/tm.texi (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Say that
there are no corresponding varasm.c variables.
From-SVN: r108338
Richard Sandiford [Sat, 10 Dec 2005 00:20:16 +0000 (00:20 +0000)]
dwarf2out.c (default_eh_frame_section): Delete, moving handling of EH_FRAME_SECTION_NAME into...
* dwarf2out.c (default_eh_frame_section): Delete, moving handling
of EH_FRAME_SECTION_NAME into...
(switch_to_eh_frame_section): ...here. Try to set eh_frame_section
if it is still null.
* except.c (default_exception_section): Delete, moving most
of the code to...
(switch_to_exception_section): ...this new function. Set
exception_section if it is still null, then switch to it.
(output_function_exception_table): Use switch_to_exception_section.
* varasm.c (exception_section, eh_frame_section): Update comments.
(get_section): Hoist use of SECTION_NAMED.
(init_varasm_once): Don't set exception_section and eh_frame_section.
* output.h (default_exception_section): Delete.
(default_eh_frame_section): Delete.
testsuite/
* gcc.dg/
20051207-1.c,
* gcc.dg/
20051207-2.c,
* gcc.dg/
20051207-3.c: New tests.
From-SVN: r108336
GCC Administrator [Sat, 10 Dec 2005 00:17:38 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r108333
Kaveh R. Ghazi [Sat, 10 Dec 2005 00:01:25 +0000 (00:01 +0000)]
re PR testsuite/20772 (x86 tests should run on both i?86 and x86_64)
PR testsuite/20772
* g++.old-deja/g++.pt/asm1.C, gcc.c-torture/compile/
20000804-1.c,
gcc.target/i386/asm-3.c, gcc.target/i386/clobbers.c: Use ilp32 in
dg-skip-if target selector.
From-SVN: r108326
Kaveh R. Ghazi [Fri, 9 Dec 2005 23:46:42 +0000 (23:46 +0000)]
re PR testsuite/20772 (x86 tests should run on both i?86 and x86_64)
PR testsuite/20772
* g++.dg/eh/simd-1.C, g++.dg/eh/simd-2.C, g++.dg/opt/inline9.C,
gcc.dg/
20020418-1.c, gcc.dg/
20031102-1.c, gcc.dg/ia64-sync-1.c,
gcc.dg/ia64-sync-2.c, gcc.dg/ia64-sync-3.c, gcc.dg/ia64-sync-4.c,
gcc.dg/ifcvt-fabs-1.c, gcc.dg/loop-3.c, gcc.dg/nested-calls-1.c,
gcc.dg/pr20017.c, gcc.dg/smod-1.c, gcc.dg/sync-2.c,
gcc.dg/tls/opt-3.c, gcc.dg/torture/badshift.c: Add x86_64 cases
and/or merge with i?86 cases.
* gcc.dg/tls/opt-3.c: Require effective target fpic.
From-SVN: r108324
Kaveh R. Ghazi [Fri, 9 Dec 2005 23:34:09 +0000 (23:34 +0000)]
re PR testsuite/20772 (x86 tests should run on both i?86 and x86_64)
PR testsuite/20772
* g++.dg/opt/life1.C, g++.old-deja/g++.abi/aggregates.C,
g++.old-deja/g++.abi/align.C, g++.old-deja/g++.abi/bitfields.C,
g++.old-deja/g++.law/weak.C, g++.old-deja/g++.pt/asm2.C,
gcc.dg/
20000724-1.c, gcc.dg/pragma-align.c: Also test on
x86_64-*-linux*.
From-SVN: r108322
Bernd Schmidt [Fri, 9 Dec 2005 22:44:23 +0000 (22:44 +0000)]
bfin.c: Include "cgraph.h".
* config/bfin/bfin.c: Include "cgraph.h".
(bfin_load_pic_reg): Omit loading pic reg if in a local function.
Return the reg that holds the pointer to the GOT.
(bfin_expand_prologue): Use return value of bfin_load_pic_reg when
doing stack checking.
From-SVN: r108318
Diego Novillo [Fri, 9 Dec 2005 19:24:28 +0000 (19:24 +0000)]
tree.c (recompute_tree_invariant_for_addr_expr): Rename from recompute_tree_invarant_for_addr_expr.
* tree.c (recompute_tree_invariant_for_addr_expr): Rename from
recompute_tree_invarant_for_addr_expr.
Update uses everywhere.
From-SVN: r108316
Aldy Hernandez [Fri, 9 Dec 2005 19:10:49 +0000 (19:10 +0000)]
t-ms1 (MULTILIB_OPTIONS): Define.
* config/ms1/t-ms1 (MULTILIB_OPTIONS): Define.
(MULTILIB_DIRNAMES): Define.
From-SVN: r108315
Paolo Carlini [Fri, 9 Dec 2005 18:24:53 +0000 (18:24 +0000)]
re PR libstdc++/25288 (std::list insert members should have no effects if an exception is thrown)
2005-12-09 Paolo Carlini <pcarlini@suse.de>
Howard Hinnant <hhinnant@apple.com>
PR libstdc++/25288
* include/bits/stl_list.h (list<>::_M_insert_dispatch, _M_fill_insert):
Remove.
(_M_initialize_dispatch, _M_fill_initialize): Add.
(list(size_type, const value_type&, const allocator_type&),
list(const list&), list(_InputIterator, _InputIterator,
const allocator_type&): Use the latter.
(insert(iterator, size_type, const value_type&), insert(iterator,
_InputIterator, _InputIterator)): Use construction & splice.
* testsuite/23_containers/list/modifiers/insert/25288.cc: New.
* testsuite/testsuite_allocator.h (class throw_allocator): Add.
* include/bits/stl_list.h (list<>::insert, erase): Fix wrong comments.
Co-Authored-By: Howard Hinnant <hhinnant@apple.com>
From-SVN: r108313
Arnaud Charlet [Fri, 9 Dec 2005 17:41:04 +0000 (18:41 +0100)]
Provide first full implementation.
From-SVN: r108310
Arnaud Charlet [Fri, 9 Dec 2005 17:36:36 +0000 (18:36 +0100)]
Resync.
From-SVN: r108309
Arnaud Charlet [Fri, 9 Dec 2005 17:22:27 +0000 (18:22 +0100)]
[multiple changes]
2005-12-05 Robert Dewar <dewar@adacore.com>
* i-c.adb, i-cexten.ads, i-cobol.adb, i-cobol.ads, i-cpoint.ads,
i-cpp.adb, i-cpp.ads, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
inline.adb, interfac.ads, i-os2err.ads, i-os2lib.ads, i-os2syn.ads,
i-os2thr.ads, itypes.adb, itypes.adb, itypes.ads, krunch.ads,
krunch.adb, lib.adb, lib.ads, lib-list.adb, lib-load.adb,
lib-load.ads, lib-sort.adb, live.adb, make.ads, i-cstrea-vms.adb,
interfac-vms.ads, makegpr.adb, indepsw-gnu.adb, indepsw.ads,
s-wchcon.ads, sdefault.ads, sem_ch10.adb, sem_eval.ads: Minor
reformatting.
2005-12-05 Robert Dewar <dewar@adacore.com>
* s-vaflop-vms-alpha.adb: (Ne_F): New function
(Ne_G): New function
* exp_ch4.adb (Expand_Allocator_Expression): Factor duplicated code
for tag assignment.
(Rewrite_Comparison): Handle case where operation is not a comparison
and ignore, and also handle type conversion case.
2005-12-05 Thomas Quinot <quinot@adacore.com>
* exp_aggr.ads: Fix typo in comment.
???-mark Convert_Aggr_In_Assignment as needing documentation.
2005-12-05 Gary Dismukes <dismukes@adacore.com>
* layout.adb: Replace various uses of byte by storage unit throughout.
(Get_Max_SU_Size): Name changed from Get_Max_Size. In the case of a
static size, convert to storage units before returning, to conform to
spec.
2005-12-05 Matthew Gingell <gingell@adacore.com>
* g-exctra.ads: Fix typo in comment.
2005-12-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* utils.c: Minor reformatting.
2005-12-05 Robert Dewar <dewar@adacore.com>
* g-soccon.ads:
Further comment fixes to make the status of the default file clear
* s-bitops.adb: Clarify comment for Bits_Array
From-SVN: r108308
Quentin Ochem [Fri, 9 Dec 2005 17:22:09 +0000 (18:22 +0100)]
gnat_ugn.texi: Created section "Stack Related Tools" Moved "Stack Overflow Checking"...
2005-12-05 Quentin Ochem <ochem@adacore.com>
Robert Dewar <dewar@adacore.com>
Ed Falis <falis@adacore.com>
Florian Villoing <villoing@adacore.com>
Thomas Quinot <quinot@adacore.com>
Arnaud Charlet <charlet@adacore.com>
* gnat_ugn.texi: Created section "Stack Related Tools"
Moved "Stack Overflow Checking" subsection from "Switches for gcc" to
"Stack Related Tools"
Added subsection "Static Stack Usage Analysis"
Added subsection "Dynamic Stack Usage Analysis"
Include documentation of itypes in sprint listing (-gnatG)
Documented gnatbind -D switch (default sec stack size for fixed sec
stacks).
Added Interrupt_State and Persistent_BSS to list of configuration
pragmas.
Add missing doc for maximum value of nnn in -gnatyMnnn
* gnat_rm.texi: Document the AltiVec binding.
Add documentation for pragma Complete_Representation
Shortened an overly long line (> 79 chars)
Clarify documentation of unchecked conversion in implementation
defined cases.
Document two argument form of pragma Debug
* types.ads (Column_Number): Update documentation.
* exp_ch7.ads (Make_Adjust_Call): Document the special processing for
library level Finalize_Storage_Only objects (these are not attached to
any finalization list).
* system-mingw.ads: (Underlying_Priorities): Update comment.
From-SVN: r108307
Robert Dewar [Fri, 9 Dec 2005 17:21:59 +0000 (18:21 +0100)]
sem_util.ads, [...] (Full_Qualified_Name): Now provides decoded names.
2005-12-05 Robert Dewar <dewar@adacore.com>
* sem_util.ads, sem_util.adb (Full_Qualified_Name): Now provides
decoded names.
From-SVN: r108306
Ed Schonberg [Fri, 9 Dec 2005 17:21:49 +0000 (18:21 +0100)]
sem_ch9.adb (Analyze_Delay_Alternative, [...]): Use the first subtype of the type of the expression to verify that it is a...
2005-12-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch9.adb (Analyze_Delay_Alternative, Analyze_Delay_Until): Use the
first subtype of the type of the expression to verify that it is a
legal Time type.
From-SVN: r108305
Javier Miranda [Fri, 9 Dec 2005 17:21:38 +0000 (18:21 +0100)]
sem_ch8.adb (Find_Type): In case of tagged types that are concurrent types use the corresponding record type.
2005-12-05 Javier Miranda <miranda@adacore.com>
* sem_ch8.adb (Find_Type): In case of tagged types that are concurrent
types use the corresponding record type. This was not needed before
the implementation of Ada 2005 synchronized types because
concurrent types were never tagged types in Ada 95.
From-SVN: r108304
Robert Dewar [Fri, 9 Dec 2005 17:21:28 +0000 (18:21 +0100)]
sem_ch6.adb (Analyze_Subprogram_Body): Properly check categorization for case where spec is categorized.
2005-12-05 Robert Dewar <dewar@adacore.com>
* sem_ch6.adb (Analyze_Subprogram_Body): Properly check categorization
for case where spec is categorized.
From-SVN: r108303
Ed Schonberg [Fri, 9 Dec 2005 17:21:19 +0000 (18:21 +0100)]
sem_ch4.adb (Remove_Abstract_Operations): Do not apply preference rule prematurely when operands are universal...
2005-12-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Remove_Abstract_Operations): Do not apply preference
rule prematurely when operands are universal, remaining ambiguities
will be removed during resolution.
Code cleanup.
* sem_type.adb (Disambiguate): In Ada95 mode, discard interpretations
that are Ada 2005 functions.
(Has_Abstract_Interpretation): Subsidiary to
Remove_Conversions, to remove ambiguities caused by abstract operations
on numeric types when operands are universal.
From-SVN: r108302
Ed Schonberg [Fri, 9 Dec 2005 17:21:06 +0000 (18:21 +0100)]
sem_ch12.adb (Subtypes_Match): Handle properly Ada05 arrays of anonymous access types.
2005-12-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Subtypes_Match): Handle properly Ada05 arrays of
anonymous access types.
* sem_eval.adb (Subtypes_Statically_Match): Implement new rules for
matching of anonymous access types and anonymous access to subprogram
types. 'R'M 4.9.1 (2/2).
From-SVN: r108301
Gary Dismukes [Fri, 9 Dec 2005 17:20:53 +0000 (18:20 +0100)]
sem_cat.adb (Validate_RCI_Subprogram_Declaration): Revise test for available user-specified stream attributes on limited...
2005-12-05 Gary Dismukes <dismukes@adacore.com>
* sem_cat.adb (Validate_RCI_Subprogram_Declaration): Revise test for
available user-specified stream attributes on limited parameters to
also test the type directly rather than only its underlying type (for
Ada 95) and, in the case of Ada 2005, to check that the user-specified
attributes are visible at the point of the subprogram declaration.
For Ada 2005, the error message is modified to indicate that the
type's stream attributes must be visible (again, only for -gnat05).
From-SVN: r108300
Robert Dewar [Fri, 9 Dec 2005 17:20:41 +0000 (18:20 +0100)]
sem_prag.adb: Processing for new pragma Complete_Representation (Analyze_Pragma...
2005-12-05 Robert Dewar <dewar@adacore.com>
* sem_prag.adb: Processing for new pragma Complete_Representation
(Analyze_Pragma, case Debug): Implement two argument form.
* par-prag.adb: Entry for new pragma Complete_Representation
(Prag, case Debug): Recognize two argument form of pragma Debug
New interface for Set_Style_Check_Options.
* sem_ch13.adb: Implement new pragma Complete_Representation.
* snames.adb, snames.ads, snames.h: Entry for new pragma
Complete_Representation.
From-SVN: r108299
Thomas Quinot [Fri, 9 Dec 2005 17:20:28 +0000 (18:20 +0100)]
mlib-utl.adb (Ar): Use Output.Buffer_Max to determine whether a command line switch overruns the...
2005-12-05 Thomas Quinot <quinot@adacore.com>
* mlib-utl.adb (Ar): Use Output.Buffer_Max to determine whether a
command line switch overruns the output buffer.
From-SVN: r108298
Vincent Celier [Fri, 9 Dec 2005 17:20:15 +0000 (18:20 +0100)]
gnatcmd.adb (GNATCmd): GNAT CHECK accepts switch -U If GNAT CHECK is called with a project file...
2005-12-05 Vincent Celier <celier@adacore.com>
* gnatcmd.adb (GNATCmd): GNAT CHECK accepts switch -U
If GNAT CHECK is called with a project file, but with no
source on the command line, call gnatcheck with all the compilable
sources of the project.
Take into account the new command Check, for gnatcheck. Treat as for
other ASIS tools: take into account project, specific package Check and
Compiler switches.
For ASIS tools, add the switches in package Compiler for
the invocation of the compiler.
* prj-attr.adb: Add package Check and its attributes
* vms_conv.ads (Command_Type): New command Check, for gnatcheck
* vms_conv.adb (Initialize): Change Params of command Check to
unlimited files.
Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target.
Add data for new command Check
* vms_data.ads: Add project related qualifiers for GNAT CHECK and GNAT
ELIM.
Add qualifiers for Check command options
(Command_Type): New command Check
From-SVN: r108297
Robert Dewar [Fri, 9 Dec 2005 17:20:03 +0000 (18:20 +0100)]
freeze.adb (Freeze_Record_Type): Only test for useless pack on record types, not on record subtypes.
2005-12-05 Robert Dewar <dewar@adacore.com>
* freeze.adb (Freeze_Record_Type): Only test for useless pack on record
types, not on record subtypes.
(Freeze_Entity): Code cleanup. Add barrier to the loop
that generates the references for primitive operations. This allows to
remove an unnecessary exception handler.
Code reformatting and comment clean ups.
From-SVN: r108296
Robert Dewar [Fri, 9 Dec 2005 17:19:49 +0000 (18:19 +0100)]
einfo.adb (Itype_Printed): New flag
2005-12-05 Robert Dewar <dewar@adacore.com>
Ed Schonberg <schonberg@adacore.com>
Gary Dismukes <dismukes@adacore.com>
Javier Miranda <miranda@adacore.com>
Hristian Kirtchev <kirtchev@adacore.com>
* einfo.adb (Itype_Printed): New flag
(Is_Limited_Type): Derived types do not inherit limitedness from
interface progenitors.
(Is_Return_By_Reference_Type): Predicate does not apply to limited
interfaces.
* einfo.ads (Itype_Printed): New flag
Move Is_Wrapper_Package to proper section
Add missing Inline for Is_Volatile
* output.ads, output.adb (Write_Erase_Char): New procedure
(Save/Restore_Output_Buffer): New procedures
(Save/Restore_Output_Buffer): New procedures
* sprint.ads, sprint.adb (Write_Itype): Handle case of record itypes
Add missing support for anonymous access type
(Write_Id): Insert calls to Write_Itype
(Write_Itype): New procedure to output itypes
* par-ch12.adb (P_Formal_Derived_Type_Definition): In Ada 2005, handle
use of "limited" in declaration.
* sinfo.ads, sinfo.adb:
Formal derived types can carry an explicit "limited" indication.
* sem_ch3.adb: Add with and use of Targparm.
(Create_Component): If Frontend_Layout_On_Target is True and the
copied component does not have a known static Esize, then reset
the size and positional fields of the new component.
(Analyze_Component_Declaration): A limited component is
legal within a protected type that implements an interface.
(Collect_Interfaces): Do not add to the list the interfaces that
are implemented by the ancestors.
(Derived_Type_Declaration): If the parent of the full-view is an
interface perform a transformation of the tree to ensure that it has
the same parent than the partial-view. This simplifies the job of the
expander in order to generate the correct object layout, and it is
needed because the list of interfaces of the full-view can be given in
any order.
(Process_Full_View): The parent of the full-view does not need to be
a descendant of the parent of the partial view if both parents are
interfaces.
(Analyze_Private_Extension_Declaration): If declaration has an explicit
"limited" the parent must be a limited type.
(Build_Derived_Record_Type): A derived type that is explicitly limited
must have limited ancestor and progenitors.
(Build_Derived_Type): Ditto.
(Process_Full_View): Verify that explicit uses of "limited" in partial
and full declarations are consistent.
(Find_Ancestor_Interface): Remove function.
(Collect_Implemented_Interfaces): New procedure used to gather all
implemented interfaces by a type.
(Contain_Interface): New function used to check whether an interface is
present in a list.
(Find_Hidden_Interface): New function used to determine whether two
lists of interfaces constitute a set equality. If not, the first
differing interface is returned.
(Process_Full_View): Improve the check for the "no hidden interface"
rule as defined by AI-396.
From-SVN: r108295
Robert Dewar [Fri, 9 Dec 2005 17:19:33 +0000 (18:19 +0100)]
exp_util.ads, [...] (Is_Ref_To_Bit_Packed_Slice): Handle case of type conversion.
2005-12-05 Robert Dewar <dewar@adacore.com>
Javier Miranda <miranda@adacore.com>
Ed Schonberg <schonberg@adacore.com>
* exp_util.ads, exp_util.adb (Is_Ref_To_Bit_Packed_Slice): Handle case
of type conversion.
(Find_Interface): New subprogram that given a tagged type and one of its
component associated with the secondary table of an abstract interface
type, return the entity associated with such abstract interface type.
(Make_Subtype_From_Expr): If type has unknown discriminants, always use
base type to create anonymous subtype, because entity may be a locally
declared subtype or generic actual.
(Find_Interface): New subprogram that given a tagged type and one of its
component associated with the secondary table of an abstract interface
type, return the entity associated with such abstract interface type.
* sem_res.adb (Resolve_Type_Conversion): Handle the case in which the
conversion cannot be handled at compile time. In this case we pass this
information to the expander to generate the appropriate code.
From-SVN: r108294
Robert Dewar [Fri, 9 Dec 2005 17:19:19 +0000 (18:19 +0100)]
exp_imgv.adb (Expand_Image_Attribute): Generate extra boolean parameter in call to Image_Wide_Character.
2005-12-05 Robert Dewar <dewar@adacore.com>
* exp_imgv.adb (Expand_Image_Attribute): Generate extra boolean
parameter in call to Image_Wide_Character.
* s-imgwch.ads, s-imgwch.adb (Image_Wide_Character): Add boolean
parameter Ada_2005 to deal with annoying FFFE/FFFF inconsistency.
(Image_Wide_Character): Add boolean parameter Ada_2005 to deal with
annoying FFFE/FFFF inconsistency.
From-SVN: r108293
Javier Miranda [Fri, 9 Dec 2005 17:18:26 +0000 (18:18 +0100)]
exp_ch5.adb (Expand_N_Assignment_Statement): In case of tagged types and the assignment to a class-wide object...
2005-12-05 Javier Miranda <miranda@adacore.com>
* exp_ch5.adb (Expand_N_Assignment_Statement): In case of tagged types
and the assignment to a class-wide object, before the assignment we
generate a run-time check to ensure that the tag of the Target is
covered by the tag of the source.
From-SVN: r108292
Pascal Obry [Fri, 9 Dec 2005 17:18:03 +0000 (18:18 +0100)]
g-diopit.adb (Find): Fix test to exit the iterator and make sure that the iterator is quitting...
2005-12-05 Pascal Obry <obry@adacore.com>
* g-diopit.adb (Find): Fix test to exit the iterator and make sure that
the iterator is quitting iteration on parent directory.
From-SVN: r108291
Olivier Hainque [Fri, 9 Dec 2005 17:17:51 +0000 (18:17 +0100)]
trans.c (tree_transform, emit_check): Adjust calls to build_call_raise, passing the now expected GNAT_NODE argument.
2005-12-05 Olivier Hainque <hainque@adacore.com>
Eric Botcazou <ebotcazou@adacore.com>
* trans.c (tree_transform, emit_check): Adjust calls to
build_call_raise, passing the now expected GNAT_NODE argument.
* gigi.h (build_call_raise): Add a GNAT_NODE argument to convey better
source line information than what the current global locus indicates
when appropriate.
* utils2.c (build_simple_component_ref): Return 0 if the offset of the
field has overflowed.
(build_call_raise): Add a GNAT_NODE argument to convey better source
line information than what the current global locus indicates when
appropriate.
(build_component_ref): Adjust call to build_call_raise.
From-SVN: r108290
Javier Miranda [Fri, 9 Dec 2005 17:16:47 +0000 (18:16 +0100)]
exp_aggr.adb (Build_Record_Aggr_Code): Default-initialialized records with IP subprogram were only supported if...
2005-12-05 Javier Miranda <miranda@adacore.com>
* exp_aggr.adb (Build_Record_Aggr_Code): Default-initialialized records
with IP subprogram were only supported if there were limited types.
* sem_aggr.adb (Resolve_Record_Aggregate): Default-initialialized
records with IP subprogram were only supported if there were limited
types.
From-SVN: r108289
Thomas Quinot [Fri, 9 Dec 2005 17:16:35 +0000 (18:16 +0100)]
hostparm.ads (Max_Line_Length): Set to Types.Column_Number'Last - 1...
2005-12-05 Thomas Quinot <quinot@adacore.com>
Robert Dewar <dewar@adacore.com>
* hostparm.ads (Max_Line_Length): Set to Types.Column_Number'Last - 1,
which is the absolute maximum length we can support.
* frontend.adb: For the processing of configuration pragma files,
remove references to Opt.Max_Line_Length, which is not checked anymore.
* namet.ads (Name_Buffer): Adjust size to reflect increase on max line
length.
* scn.adb, scng.adb:
Always check line length against the absolute supported maximum,
Hostparm.Max_Line_Length.
* stylesw.adb (Set_Style_Check_Options, case M): The maximum supported
value for the maximum line length is Max_Line_Length (not
Column_Number'Last).
Minor error msg update
(Set_Style_Check_Options): New interface returning error msg
Minor code reorganization (processing for 'M' was out of alpha order)
* switch-c.adb: New interface for Set_Style_Check_Options
* stylesw.ads (Set_Style_Check_Options): New interface returning error
msg.
From-SVN: r108288
Matthew Heaney [Fri, 9 Dec 2005 17:16:22 +0000 (18:16 +0100)]
a-convec.adb (Merge): Added assertions to check whether vector params are sorted.
2005-12-05 Matthew Heaney <heaney@adacore.com>
* a-convec.adb (Merge): Added assertions to check whether vector params
are sorted.
* a-coinve.adb (Merge): Added assertions to check whether vector params
are sorted.
* a-cohama.ads (Cursor'Write): raises Program_Error per latest AI-302
draft.
(Cursor'Read): raises PE
* a-cohama.adb (Insert.New_Node): Uses box-style syntax to init elem
to its default value.
* a-cihama.adb: Manually check whether cursor's key and elem are
non-null
* a-cidlli.ads, a-cidlli.adb (Splice): Changed param name and param mode
(Merge): Assert that target and source lists are in order
(Swap): Declare non-const temporaries, to pass to Splice
* a-cdlili.ads: (Splice): Changed param name and param mode
* a-cdlili.adb: (Splice): Changed param name and param mode
(Merge): Assert that target and source lists are in order
(Swap): Declare non-const temporaries, to pass to Splice
* a-ciorma.ads, a-coorma.ads: (Read): declare Stream param as not null
(Write): declare Stream param as not null
* a-ciorma.adb, a-coorma.adb: All explicit raise statements now include
an exception message.
From-SVN: r108287
Olivier Hainque [Fri, 9 Dec 2005 17:16:11 +0000 (18:16 +0100)]
decl.c (gnat_to_gnu_entity, [...]): Don't early expand pointer initialization values.
2005-12-05 Olivier Hainque <hainque@adacore.com>
* decl.c (gnat_to_gnu_entity, renaming object case): Don't early expand
pointer initialization values. Make a SAVE_EXPR instead. Add comments
about the use and expansion of SAVE_EXPRs in the various possible
renaming handling cases.
(components_to_record, compare_field_bitpos): Sort by DECL_UID, not by
abusing DECL_FCONTEXT.
From-SVN: r108286
Doug Rupp [Fri, 9 Dec 2005 17:14:34 +0000 (18:14 +0100)]
mlib-tgt-vms-ia64.adb, [...] (Is_Interface): Change Ada bind file prefix on VMS from b$ to b__.
2005-12-05 Doug Rupp <rupp@adacore.com>
* mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb (Is_Interface): Change
Ada bind file prefix on VMS from b$ to b__.
(Build_Dynamic_Library): Change Init file suffix on VMS from $init to
__init.
* prj-nmsc.adb: Change some Hostparm.OpenVMS checks to
Targparm.OpenVMS_On_Target.
(Object_Suffix): Initialize with target object suffix.
(Get_Unit): Change Ada bind file prefix on VMS from b$ to b__.
* butil.adb: Change some Hostparm.OpenVMS checks to
Targparm.OpenVMS_On_Target.
* clean.adb: Change some Hostparm.OpenVMS checks to
Targparm.OpenVMS_On_Target.
(Object_Suffix): Initialize with call to Get_Target_Object_Suffix.
({declaraction},Delete_Binder_Generated_Files,{initialization}): Change
Ada bind file prefix on VMS from b$ to b__.
* gnatlink.adb (Process_Args): Call Add_Src_Search_Dir for -I in
--GCC so that Get_Target_Parameters can find system.ads.
(Gnatlink): Call Get_Target_Parameters in mainline.
Initialize standard packages for Targparm.
Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target.
(Process_Args): Also Check for object files with target object
extension.
(Make_Binder_File_Names): Create with target object extension.
(Make_Binder_File_Names): Change Ada bind file prefix on VMS from b$
to b__.
* mlib-prj.adb: Change some Hostparm.OpenVMS checks to
Targparm.OpenVMS_On_Target.
({declaration},Build_Library,Check_Library): Change Ada bind file
prefix on VMS from b$ to b__.
* osint-b.adb: Change some Hostparm.OpenVMS checks to
Targparm.OpenVMS_On_Target.
(Create_Binder_Output): Change Ada bind file prefix on VMS from b$ to
b__.
* targext.c: New file.
* Makefile.in: add support for vxworks653 builds
(../../vxaddr2line): gnatlink with targext.o.
(TOOLS_LIBS): Move targext.o to precede libgnat.
(init.o, initialize.o): Minor clean up in dependencies.
(GNATLINK_OBJS): Add targparm.o, snames.o
Add rules fo building targext.o and linking it explicitly with all
tools.
Also add targext.o to gnatlib.
* Make-lang.in: Add rules for building targext.o and linking it in
with gnat1 and gnatbind.
Add entry for exp_sel.o.
* osint.adb Change some Hostparm.OpenVMS checks to
Targparm.OpenVMS_On_Target.
(Object_File_Name): Use target object suffix.
* osint.ads (Object_Suffix): Remove, no longer used.
(Target_Object_Suffix): Initialize with target object suffix.
* rident.ads: Add special exception to license.
* targparm.adb (Get_Target_Parameters): Set the value of
Multi_Unit_Index_Character after OpenVMS_On_Target gets its definitive
value.
(Get_Target_Parameters): Set OpenVMS_On_Target if openvms.
* targparm.ads: Add special exception to license.
* g-os_lib.ads, g-os_lib.adb (Get_Target_Debuggable_Suffix): New
function.
(Copy_File): Make sure from file is closed if error on to file
(Get_Target_Executable_Suffix, Get_Target_Object_Suffix): New functions.
* make.adb (Object_Suffix): Intialize with Get_Target_Object_Suffix.
(Executable_Suffix): Intialize with Get_Target_Executable_Suffix.
* osint-c.adb (Set_Output_Object_File_Name): Initialize extension with
target object suffix.
From-SVN: r108285
Javier Miranda [Fri, 9 Dec 2005 17:13:28 +0000 (18:13 +0100)]
a-tags.ads, a-tags.adb (Offset_To_Top): Moved from the package body to the specification because the frontend generates...
2005-12-05 Javier Miranda <miranda@adacore.com>
Hristian Kirtchev <kirtchev@adacore.com>
* a-tags.ads, a-tags.adb (Offset_To_Top): Moved from the package body
to the specification because the frontend generates code that uses this
subprogram.
(Set_Interface_Table): Add missing assertion.
Update documentation describing the run-time structure.
(Displace): New subprogram that displaces the pointer to the object
to reference one of its secondary dispatch tables.
(IW_Membership): Modified to use the new table of interfaces.
(Inherit_TSD): Modified to use the new table of interfaces.
(Register_Interface_Tag): Use the additional formal to fill the
contents of the new table of interfaces.
(Set_Interface_Table): New subprogram that stores in the TSD the
pointer to the table of interfaces.
(Set_Offset_To_Top): Use the additional formal to save copy of
the offset value in the table of interfaces.
Update structure of GNAT Primary and Secondary dispatch table diagram.
Add comment section on GNAT dispatch table prologue.
(Offset_To_Signature): Update the constant value of the Signature field.
(Dispatch_Table): Update comment on hidden fields in the prologue.
(Get_Entry_Index, Get_Prim_Op_Kind, Get_Offset_Index, OSD,
Set_Entry_Index, Set_Offset_Index, Set_Prim_Op_Kind, SSD, TSD): Change
the type of formal parameter T to Tag, introduce additional assertions.
(Get_Num_Prim_Ops, Set_Num_Prim_Ops): Remove an unnecessary type
conversion.
(Get_Tagged_Kind, Set_Tagged_Kind): New bodies.
* exp_ch6.adb (Register_Interface_DT_Entry): Remove the Thunk_Id actual
in all the calls to Expand_Interface_Thunk. Instead of referencing the
record component containing the tag of the secondary dispatch table we
have to use the Offset_To_Top run-time function to get this information;
otherwise if the pointer to the base of the object has been displace
we get a wrong value if we use the 'position attribute.
* exp_disp.adb (Expand_Interface_Thunk): Remove the Thunk_Id actual in
all the calls to Expand_Interface_Thunk.
(Make_Secondary_DT): Secondary dispatch tables do not have a table of
interfaces; hence the call to Set_Interface_Table was clearly wrong.
(Collect_All_Interfaces): Modify the internal subprogram Collect to
ensure that the interfaces implemented by the ancestors are placed
at the header of the generated list.
(Expand_Interface_Conversion): Handle the case in which the displacement
associated with the interface conversion is not statically known. In
this case we generate a call to the new run-time subprogram Displace.
(Make_DT): Generate and fill the new table of interfaces.
(Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Add entries for
Get_Tagged_Kind and Set_Tagged_Kind.
(Tagged_Kind): New function that determines the tagged kind of a type
with respect to limitedness and concurrency and returns a reference to
RE_Tagged_Kind.
(Make_Disp_Asynchronous_Select_Body, Make_Disp_Conditional_Select_Body,
Make_Disp_Timed_Select_Body): Correctly retrieve the pointer to the
primary dispatch table for a type.
(Make_DT, Make_Secondary_DT): Set the tagged kind in the primary and
secondary dispatch table respectively of a tagged type.
* exp_disp.ads (Expand_Interface_Thunk): Remove Thunk_Id formal.
(Expand_Interface_Conversion): New subprogram to indicate if the
displacement of the type conversion is statically known.
(DT_Access_Action): Add values Get_Tagged_Kind and Set_Tagged_Kind.
* rtsfind.ads (RE_Offset_To_Top): New entity
(RTU_Id): Add Ada_Task_Termination to the list so that it is made
accessible to users.
(Re_Displace): New entity
(RE_Interface_Data): New entity
(RE_Set_Interface_Data): New_Entity
(RE_Id, RE_Unit_Table): Add entry for RE_Get_Tagged_Kind,
Set_Tagged_Kind, RE_Tagged_Kind, RE_TK_Abstract_Limited_Tagged,
RE_TK_Abstract_Tagged, RE_TK_Limited_Tagged, RE_TK_Protected,
RE_TK_Tagged, RE_TK_Task.
* exp_ch3.adb (Init_Secondary_Tags): Modify the subprogram
Init_Secondary_Tags_Internal to allow its use with interface types and
also to generate the code for the new additional actual required
by Set_Offset_To_Top.
(Build_Init_Statements): In case of components associated with abstract
interface types there is no need to generate a call to its IP.
(Freeze_Record_Type): Generate Select Specific Data tables only for
concurrent types.
(Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies): Generate
the bodies and specifications of the predefined primitive operations
dealing with dispatching selects and abort, 'Callable, 'Terminated only
for concurrent types.
* exp_sel.ads, exp_sel.adb: New files.
* exp_ch9.adb (Build_Protected_Entry, Expand_N_Protected_Body,
Expand_N_Protected_Type_Declaration, Make_Initialize_Protection): Handle
properly protected objects and attach handler in the case of the
restricted profile.
Move embeded package Select_Expansion_Utilities into a separate external
package.
(Expand_N_Asynchronous_Select, Expand_N_Conditional_Select,
Expand_N_Timed_Entry_Call): Correct calls external package Exp_Sel.
(Build_K, Build_S_Assignment): New subprograms, part of the select
expansion utilities.
(Expand_N_Asynchronous_Select, Expand_N_Conditional_Entry_Call,
Expand_N_Timed_Entry_Call): Optimize expansion of select statements
where the trigger is a dispatching procedure of a limited tagged type.
From-SVN: r108284
Nicolas Setton [Fri, 9 Dec 2005 17:10:46 +0000 (18:10 +0100)]
adaint.c (__gnat_locate_regular_file): Return immediately if file_name is empty.
2005-12-05 Nicolas Setton <setton@adacore.com>
* adaint.c (__gnat_locate_regular_file): Return immediately if
file_name is empty.
From-SVN: r108283
Doug Rupp [Fri, 9 Dec 2005 17:10:03 +0000 (18:10 +0100)]
mlib-tgt-vms-ia64.adb, [...] (Is_Interface): Change Ada bind file prefix on VMS from b$ to b__.
2005-12-05 Doug Rupp <rupp@adacore.com>
* mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb (Is_Interface): Change
Ada bind file prefix on VMS from b$ to b__.
(Build_Dynamic_Library): Change Init file suffix on VMS from $init to
__init.
* prj-nmsc.adb: Change some Hostparm.OpenVMS checks to
Targparm.OpenVMS_On_Target.
(Object_Suffix): Initialize with target object suffix.
(Get_Unit): Change Ada bind file prefix on VMS from b$ to b__.
* butil.adb: Change some Hostparm.OpenVMS checks to
Targparm.OpenVMS_On_Target.
* clean.adb: Change some Hostparm.OpenVMS checks to
Targparm.OpenVMS_On_Target.
(Object_Suffix): Initialize with call to Get_Target_Object_Suffix.
({declaraction},Delete_Binder_Generated_Files,{initialization}): Change
Ada bind file prefix on VMS from b$ to b__.
* gnatlink.adb (Process_Args): Call Add_Src_Search_Dir for -I in
--GCC so that Get_Target_Parameters can find system.ads.
(Gnatlink): Call Get_Target_Parameters in mainline.
Initialize standard packages for Targparm.
Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target.
(Process_Args): Also Check for object files with target object
extension.
(Make_Binder_File_Names): Create with target object extension.
(Make_Binder_File_Names): Change Ada bind file prefix on VMS from b$
to b__.
* mlib-prj.adb: Change some Hostparm.OpenVMS checks to
Targparm.OpenVMS_On_Target.
({declaration},Build_Library,Check_Library): Change Ada bind file
prefix on VMS from b$ to b__.
* osint-b.adb: Change some Hostparm.OpenVMS checks to
Targparm.OpenVMS_On_Target.
(Create_Binder_Output): Change Ada bind file prefix on VMS from b$ to
b__.
* targext.c: New file.
* Makefile.in: add support for vxworks653 builds
(../../vxaddr2line): gnatlink with targext.o.
(TOOLS_LIBS): Move targext.o to precede libgnat.
(init.o, initialize.o): Minor clean up in dependencies.
(GNATLINK_OBJS): Add targparm.o, snames.o
Add rules fo building targext.o and linking it explicitly with all
tools.
Also add targext.o to gnatlib.
* Make-lang.in: Add rules for building targext.o and linking it in
with gnat1 and gnatbind.
Add entry for exp_sel.o.
* osint.adb Change some Hostparm.OpenVMS checks to
Targparm.OpenVMS_On_Target.
(Object_File_Name): Use target object suffix.
* osint.ads (Object_Suffix): Remove, no longer used.
(Target_Object_Suffix): Initialize with target object suffix.
* rident.ads: Add special exception to license.
* targparm.adb (Get_Target_Parameters): Set the value of
Multi_Unit_Index_Character after OpenVMS_On_Target gets its definitive
value.
(Get_Target_Parameters): Set OpenVMS_On_Target if openvms.
* targparm.ads: Add special exception to license.
* g-os_lib.ads, g-os_lib.adb (Get_Target_Debuggable_Suffix): New
function.
(Copy_File): Make sure from file is closed if error on to file
(Get_Target_Executable_Suffix, Get_Target_Object_Suffix): New functions.
* make.adb (Object_Suffix): Intialize with Get_Target_Object_Suffix.
(Executable_Suffix): Intialize with Get_Target_Executable_Suffix.
* osint-c.adb (Set_Output_Object_File_Name): Initialize extension with
target object suffix.
From-SVN: r108282
Arnaud Charlet [Fri, 9 Dec 2005 17:09:34 +0000 (18:09 +0100)]
gnatvsn.ads (Library_Version): Bump to version 4.2
* gnatvsn.ads (Library_Version): Bump to version 4.2
(ASIS_Version_Number): Bumped.
From-SVN: r108281
Jakub Jelinek [Fri, 9 Dec 2005 13:50:11 +0000 (14:50 +0100)]
re PR libfortran/24991 (gfortran build fails with - error:gthr-default.h: No such file or directory)
PR libfortran/24991
* acinclude.m4: Include acx.m4 and no-executables.m4.
* configure.ac: Add GCC_TOPLEVEL_SUBDIRS.
* configure: Rebuilt.
* Makefile.am (AM_CPPFLAGS): Use $(host_subdir) in build dir
path.
* Makefile.in: Rebuilt.
From-SVN: r108280
Ulrich Weigand [Fri, 9 Dec 2005 11:20:40 +0000 (11:20 +0000)]
re PR target/25311 (ICE in reload_cse_simplify_operands, at postreload.c:393)
PR target/25311
* config/s390/s390.c (struct s390_address): New field literal_pool.
(s390_decompose_address): Compute literal_pool field. Do not
assume register %r13 is always (and solely) used as pool base.
(s390_extra_constraint_str): Use literal_pool field.
PR target/25311
* gcc.c-torture/compile/pr25311.c: New test.
From-SVN: r108278
Richard Guenther [Fri, 9 Dec 2005 10:21:52 +0000 (10:21 +0000)]
f95-lang.c (build_builtin_fntypes): Use correct return types, as indicated by comments.
2005-12-09 Richard Guenther <rguenther@suse.de>
* f95-lang.c (build_builtin_fntypes): Use correct
return types, as indicated by comments.
From-SVN: r108277
Thiemo Seufer [Fri, 9 Dec 2005 08:19:15 +0000 (08:19 +0000)]
mips.c (override_options): Don't allow too small integers in FP registers.
* config/mips/mips.c (override_options): Don't allow too small
integers in FP registers.
From-SVN: r108276
Jerry DeLisle [Fri, 9 Dec 2005 02:57:13 +0000 (02:57 +0000)]
re PR libfortran/25039 ([4.1 only] comma short-circuit field width)
2005-12-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/25039
* gfortran.dg/read_comma.f: New test.
From-SVN: r108272
Jerry DeLisle [Fri, 9 Dec 2005 02:53:41 +0000 (02:53 +0000)]
re PR libfortran/25039 ([4.1 only] comma short-circuit field width)
2005-12-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/25039
* io/io.h: Create a new flag sf_read_comma to control comma
separators in numeric reads.
* io/transfer.c (formatted_transfer_scalar): Initialize the flag.
(read_sf): Check for commas coming in and if the flag is set,
shortcut the read.
* io/read.c (read_a) (read_x): Clear the flag for character reads and
reset it after the reads.
From-SVN: r108271
Ulrich Weigand [Fri, 9 Dec 2005 01:00:55 +0000 (01:00 +0000)]
s390.c (s390_function_ok_for_sibcall): Use targetm.binds_local_p to check for local function calls.
* config/s390/s390.c (s390_function_ok_for_sibcall): Use
targetm.binds_local_p to check for local function calls.
From-SVN: r108269
GCC Administrator [Fri, 9 Dec 2005 00:17:28 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r108265
Alan Modra [Thu, 8 Dec 2005 23:43:40 +0000 (23:43 +0000)]
re PR debug/24908 (ICE in dwarf2out for cpu2000 with -funroll-loops -fno-tree-copyrename)
PR debug/24908
* dwarf2out.c (dwarf2out_frame_debug_expr): Don't assert that
call_used_regs can't be used to save reg in another reg.
From-SVN: r108257
Jakub Jelinek [Thu, 8 Dec 2005 21:50:38 +0000 (22:50 +0100)]
re PR c++/19317 (removing a temporary return value when we cannot)
PR c++/19317
* g++.dg/opt/pr19317-1.C: New test.
* g++.dg/opt/pr19317-2.C: New test.
* g++.dg/opt/pr19317-3.C: New test.
From-SVN: r108247
Jakub Jelinek [Thu, 8 Dec 2005 21:49:17 +0000 (22:49 +0100)]
re PR target/19005 (Error: bad register name `%sil')
PR target/19005
* gcc.c-torture/execute/pr19005.c: New test.
From-SVN: r108246
Jakub Jelinek [Thu, 8 Dec 2005 21:47:10 +0000 (22:47 +0100)]
re PR target/17828 (-O2 -fPIC doesn't work with switches in linkonce functions and new binutils)
PR target/17828
* g++.old-deja/g++.other/comdat5.C: New test.
* g++.old-deja/g++.other/comdat5-aux.cc: New file.
From-SVN: r108245
Jakub Jelinek [Thu, 8 Dec 2005 21:45:22 +0000 (22:45 +0100)]
struct-layout-1.exp: New file.
* g++.dg/compat/struct-layout-1.exp: New file.
* g++.dg/compat/struct-layout-1.h: New.
* g++.dg/compat/struct-layout-1_generate.c: New.
* g++.dg/compat/struct-layout-1_x1.h: New.
* g++.dg/compat/struct-layout-1_x2.h: New.
* g++.dg/compat/struct-layout-1_y1.h: New.
* g++.dg/compat/struct-layout-1_y2.h: New.
From-SVN: r108244
Jakub Jelinek [Thu, 8 Dec 2005 21:44:27 +0000 (22:44 +0100)]
* gcc.dg/
20050330-2.c: New test.
From-SVN: r108243
François-Xavier Coudert [Thu, 8 Dec 2005 17:16:41 +0000 (17:16 +0000)]
* ChangeLog: correct typo in date.
From-SVN: r108242
Erik Edelmann [Thu, 8 Dec 2005 16:56:10 +0000 (16:56 +0000)]
re PR fortran/25292 (ASSOCIATED( func() ) rejected ?)
fortran/
2005-12-08 Erik Edelmann <eedelman@gcc.gnu.org>
PR fortran/25292
* check.c (gfc_check_associated): Allow function results
as actual arguments to ASSOCIATED. Moved a misplaced
comment.
testsuite/
2005-12-08 Erik Edelmann <eedelman@gcc.gnu.org>
PR fortran/25292
* gfortran.dg/associated_1.f90: New.
From-SVN: r108238
Volker Reichelt [Thu, 8 Dec 2005 15:46:09 +0000 (15:46 +0000)]
ipa-type-escape.c (analyze_variable): Use gcc_assert instead of abort.
* ipa-type-escape.c (analyze_variable): Use gcc_assert instead of
abort.
* except.c (output_ttype): Likewise.
* tree-object-size.c (collect_object_sizes_for): Likewise.
(check_for_plus_in_loops_1): Likewise.
(check_for_plus_in_loops): Likewise.
(compute_object_sizes): Use gcc_unreachable instead of abort.
Co-Authored-By: Christophe Jaillet <christophe.jaillet@wanadoo.fr>
From-SVN: r108237
Andrew Haley [Thu, 8 Dec 2005 15:32:44 +0000 (15:32 +0000)]
re PR libgcj/25265 (linking BC-compiled classes with incompatible changes)
2005-12-08 Andrew Haley <aph@redhat.com>
PR libgcj/25265
* java-tree.h (enum java_tree_index): Add JTI_SOFT_NOSUCHFIELD_NODE.
(soft_abstractmethod_node): New.
* expr.c (build_field_ref): Add in-line check for missing field.
* decl.c (java_init_decl_processing): Add soft_nosuchfield_node.
2005-12-08 Andrew Haley <aph@redhat.com>
PR libgcj/25265
* java/lang/Object.h (throwNoSuchMethodError): New method.
* java/lang/Object.java (throwNoSuchMethodError): New method.
* include/jvm.h (_Jv_ThrowNoSuchFieldError): Declare.
* link.cc (_Jv_ThrowNoSuchFieldError): New.
(link_symbol_table): Don't throw a NoSuchFieldError if a field is
missing. Instead, set the otable entry to zero.
(link_symbol_table): If we don't find a nonstatic method, insert
the vtable offset of Object.throwNoSuchMethodError() into the
otable.
From-SVN: r108235
Andrew Haley [Thu, 8 Dec 2005 14:19:13 +0000 (14:19 +0000)]
Object.h (throwNoSuchMethodError): New method.
2005-12-08 Andrew Haley <aph@redhat.com>
* java/lang/Object.h (throwNoSuchMethodError): New method.
* java/lang/Object.java (throwNoSuchMethodError): New method.
* include/jvm.h (_Jv_ThrowNoSuchFieldError): Declare.
* link.cc (_Jv_ThrowNoSuchFieldError): New.
(link_symbol_table): Don't throw a NoSuchFieldError if a field is
missing. Instead, set the otable entry to zero.
(link_symbol_table): If we don't find a nonstatic method, insert
the vtable offset of Object.throwNoSuchMethodError() into the
otable.
From-SVN: r108231
Andrew Haley [Thu, 8 Dec 2005 13:52:39 +0000 (13:52 +0000)]
java-tree.h (enum java_tree_index): Add JTI_SOFT_NOSUCHFIELD_NODE.
2005-12-08 Andrew Haley <aph@redhat.com>
* java-tree.h (enum java_tree_index): Add JTI_SOFT_NOSUCHFIELD_NODE.
(soft_abstractmethod_node): New.
* expr.c (build_field_ref): Add in-line check for missing field.
* decl.c (java_init_decl_processing): Add soft_nosuchfield_node.
2005-12-08 Andrew Haley <aph@redhat.com>
* java/lang/Object.h (throwNoSuchMethodError): New method.
* java/lang/Object.java (throwNoSuchMethodError): New method.
* include/jvm.h (_Jv_ThrowNoSuchFieldError): Declare.
* link.cc (_Jv_ThrowNoSuchFieldError): New.
(link_symbol_table): Don't throw a NoSuchFieldError if a field is
missing. Instead, set the otable entry to zero.
(link_symbol_table): If we don't find a nonstatic method, insert
the vtable offset of Object.throwNoSuchMethodError() into the
otable.
[[Split portion of a mixed commit.]]
From-SVN: r108230.2
Nathan Sidwell [Thu, 8 Dec 2005 13:46:18 +0000 (13:46 +0000)]
ms1.md (UNSPEC_LOOP): New constant.
* config/ms1/ms1.md (UNSPEC_LOOP): New constant.
(loop_end, loop_init, doloop_end): New insns.
* config/ms1/ms1.h (LOOP_FIRST, LOOP_LAST): New.
(SPECIAL_REG_FIRST, FIRST_PSEUDO_REGISTER): Adjust.
(FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
(REG_CLASS_CONTENTS, REGISTER_NAMES): Adjust.
* config/ms1/ms1.c: #include basic-block.h
(struct machine_function): Add has_loops field.
(ms1_add_loop): New.
(MAX_LOOP_DEPTH, MAX_LOO_LENGTH): New.
(struct loop_info, struct loop_work): New.
(ms1_loop_nesting, ms1_block_length, ms1_scan_loop): New workers.
(ms1_reorg_loops): New loop optimization.
(ms1_machine_reorg): Call it.
* config/ms1/ms1-protos.h (ms1_add_loop): Declare.
From-SVN: r108229
Paolo Carlini [Thu, 8 Dec 2005 11:32:37 +0000 (11:32 +0000)]
re PR libstdc++/24617 (vector vs __erase_at_end)
2005-12-08 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_vector.h (vector<>::size, resize, capacity,
operator[]): Avoid troubles with ADL, user defined operators
and __normal_iterator.
(_M_erase_at_end): Fix to take a pointer.
(clear): Adjust call.
* include/bits/vector.tcc (vector<>::insert(iterator, const
value_type&), erase(iterator, iterator), operator=(const
vector<>&), _M_assign_aux(input_iterator_tag), _M_insert_aux,
_M_fill_insert, _M_range_insert): Likewise.
(_M_fill_assign, _M_assign_aux(forward_iterator_tag)): Adjust
_M_erase_at_end call.
* testsuite/23_containers/vector/types/1.cc: New.
2005-12-08 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24617
* include/bits/stl_vector.h (vector<>::_M_erase_at_end): New.
(vector<>::clear, resize): Use it.
* include/bits/vector.tcc (vector<>::erase(iterator, iterator),
_M_fill_assign, _M_assign_aux): Likewise.
* testsuite/23_containers/vector/modifiers/erase/1.cc: New.
From-SVN: r108227
Zdenek Dvorak [Thu, 8 Dec 2005 09:34:26 +0000 (10:34 +0100)]
re PR middle-end/25248 (2.6.15-rc4 arch/powerpc/mm/hash_utils_64.c miscompiled)
PR tree-optimization/25248
* tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Do not use
evolution_of_loop from the failed attempt. Remove handling
of MULT_EXPR.
From-SVN: r108225
Eric Botcazou [Thu, 8 Dec 2005 09:29:54 +0000 (10:29 +0100)]
vect-5.f90: Expect alignment forcing only on ILP32 vect_no_align platforms.
* gfortran.dg/vect/vect-5.f90: Expect alignment forcing only on
ILP32 vect_no_align platforms.
From-SVN: r108223
Théodore Papadopoulo [Thu, 8 Dec 2005 09:09:08 +0000 (09:09 +0000)]
call.c (build_conditional_expr): Print types in error messages.
2005-12-08 Théodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
* call.c (build_conditional_expr): Print types in error
messages.
From-SVN: r108222
Gabriel Dos Reis [Thu, 8 Dec 2005 09:01:22 +0000 (09:01 +0000)]
* tree.h (DECL_EXTERNAL): Clarify documentation.
From-SVN: r108221
Andreas Krebbel [Thu, 8 Dec 2005 08:56:24 +0000 (08:56 +0000)]
re PR target/25268 (ICE on lshrdi3_31 pattern)
2005-12-08 Andreas Krebbel <krebbel1@de.ibm.com>
Jakub Jelinek <jakub@redhat.com>
PR target/25268
* config/s390/s390.c (s390_decompose_shift_count): Remove BITS
argument. Don't drop outer ANDs.
(s390_extra_constraint_str, print_shift_count_operand): Adjust callers.
* config/s390/s390-protos.h (s390_decompose_shift_count): Adjust
prototype.
* config/s390/predicates.md (setmem_operand): Remove.
(shift_count_operand): Rename to...
(shift_count_or_setmem_operand): ... this. Adjust
s390_decompose_shift_count caller.
* config/s390/s390.md (<shift>di3_31_and, <shift>di3_64_and,
ashrdi3_cc_31_and, ashrdi3_cconly_31_and, ashrdi3_31_and,
ashrdi3_cc_64_and, ashrdi3_cconly_64_and, ashrdi3_64_and,
<shift>si3_and, ashrsi3_cc_and, ashrsi3_cconly_and, ashrsi3_and,
rotl<mode>3_and, setmem_long_and): New insns.
(<shift>di3_31, <shift>di3_64, ashrdi3_cc_31, ashrdi3_cconly_31,
ashrdi3_31, ashrdi3_cc_64, ashrdi3_cconly_64, ashrdi3_64,
<shift>si3, ashrsi3_cc, ashrsi3_cconly, ashrsi3, rotl<mode>3,
<shift>di3, ashrdi3): Use shift_count_or_setmem_operand instead
of shift_count_operand.
(setmem_long): Use shift_count_or_setmem_operand instead of
setmem_operand.
2005-12-08 Andreas Krebbel <krebbel1@de.ibm.com>
Jakub Jelinek <jakub@redhat.com>
PR target/25268
* gcc.c-torture/compile/
20051207-1.c: New test.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r108220
Daniel Jacobowitz [Thu, 8 Dec 2005 06:40:37 +0000 (06:40 +0000)]
Makefile.in (ALL_GTFILES_H): Replace sed statement with more portable tr expression.
2005-12-08 Daniel Jacobowitz <dan@codesourcery.com>
Andreas Tobler <a.tobler@schweiz.ch>
* Makefile.in (ALL_GTFILES_H): Replace sed statement with more portable
tr expression.
Co-Authored-By: Andreas Tobler <a.tobler@schweiz.ch>
From-SVN: r108215
Kaveh R. Ghazi [Thu, 8 Dec 2005 01:26:45 +0000 (01:26 +0000)]
i386-1.C, [...]: Also test on x86_64.
2005-12-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* g++.dg/other/i386-1.C, gcc.c-torture/execute/990413-2.x,
gcc.dg/torture/pr18582-1.c,
gcc.target/i386/attributes-error.c: Also test on x86_64.
* gcc.dg/pr18928-1.c: Test on all targets supporting pic.
From-SVN: r108209
GCC Administrator [Thu, 8 Dec 2005 00:17:36 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r108205
Paolo Carlini [Wed, 7 Dec 2005 23:51:31 +0000 (23:51 +0000)]
configopts.html ([--enable-libstdcxx-allocator]): Mention the SGI pooled allocator.
2005-12-07 Paolo Carlini <pcarlini@suse.de>
* docs/html/configopts.html ([--enable-libstdcxx-allocator]):
Mention the SGI pooled allocator.
From-SVN: r108197
J"orn Rennecke [Wed, 7 Dec 2005 23:49:43 +0000 (23:49 +0000)]
* expr.c (force_operand): Use convert_to_mode for conversions.
From-SVN: r108196
J"orn Rennecke [Wed, 7 Dec 2005 23:41:19 +0000 (23:41 +0000)]
reload.h (reg_equiv_invariant): Declare.
2005-12-07 J"orn Rennecke <joern.rennecke@st.com>
* reload.h (reg_equiv_invariant): Declare.
* reload.c (refers_to_regno_for_reload_p): Allow R to be a pseudo
register also when reg_equiv_invariant[R] is set.
From-SVN: r108195
Volker Reichelt [Wed, 7 Dec 2005 21:55:19 +0000 (21:55 +0000)]
* expr.c (cxx_expand_expr): Call gcc_unreachable instead of abort.
From-SVN: r108193
Volker Reichelt [Wed, 7 Dec 2005 21:50:00 +0000 (21:50 +0000)]
* cp-gimplify.c (gimplify_cp_loop): Use fold_build3.
From-SVN: r108192
Richard Sandiford [Wed, 7 Dec 2005 21:47:27 +0000 (21:47 +0000)]
darwin.h: Guard section variables with #ifndef USED_FOR_TARGET.
2005-12-07 Richard Sandiford <richard@codesourcery.com>
Andreas Tobler <a.tobler@schweiz.ch>
* config/darwin.h: Guard section variables with #ifndef USED_FOR_TARGET.
Co-Authored-By: Andreas Tobler <a.tobler@schweiz.ch>
From-SVN: r108191
Ben Elliston [Wed, 7 Dec 2005 21:38:02 +0000 (21:38 +0000)]
* newcvsroot: Remove.
From-SVN: r108190
Volker Reichelt [Wed, 7 Dec 2005 21:16:21 +0000 (21:16 +0000)]
re PR c++/19397 (ICE with invalid typedef)
PR c++/19397
* g++.dg/template/typedef3.C: New test.
PR c++/19762
PR c++/19764
* g++.dg/template/dtor3.C: Fix error markers.
From-SVN: r108187
Daniel Berlin [Wed, 7 Dec 2005 20:24:09 +0000 (20:24 +0000)]
tree-ssa-pre.c (bitmap_set_and): New function.
2005-12-07 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-pre.c (bitmap_set_and): New function.
(bitmap_set_and_compl): New function.
(bitmap_set_empty_p): New function.
(insert_extra_phis): New function.
(compute_avail): Use insert_extra_phis.
From-SVN: r108183
Adrian Straetling [Wed, 7 Dec 2005 20:01:30 +0000 (20:01 +0000)]
s390.c (s390_expand_atomic): New function.
2005-12-07 Adrian Straetling <straetling@de.ibm.com>
* config/s390/s390.c (s390_expand_atomic): New function.
Adjust comment of helper functions.
* config/s390/s390-protos.h (s390_expand_atomic): Declare.
* config/s390/s390.md ("ATOMIC"): New code macro.
("atomic"): Corresponding new code attribute.
("sync_lock_test_and_set[hq]i",
"sync_{new_,old_,}{and,ior,xor,add,sub,nand}[hq]i"): New pattern.
From-SVN: r108180
Adrian Straetling [Wed, 7 Dec 2005 19:56:32 +0000 (19:56 +0000)]
s390.c (s390_expand_mask_and_shift, [...]): New.
2005-12-07 Adrian Straetling <straetling@de.ibm.com>
* config/s390/s390.c (s390_expand_mask_and_shift,
struct alignment_context, init_alignment_context,
s390_expand_cs_hqi): New.
* config/s390/s390-protos.h (s390_expand_cs_hqi): Declare.
* config/s390/s390.md ("sync_compare_and_swaphi",
"sync_compare_and_swapqi"): New pattern.
* lib/target-supports.exp (check_effective_target_sync_char_short):
Add s390*.
From-SVN: r108178
Adrian Straetling [Wed, 7 Dec 2005 19:41:37 +0000 (19:41 +0000)]
Fix incorrect dates in ChangeLog.
From-SVN: r108175
Daniel Berlin [Wed, 7 Dec 2005 16:39:33 +0000 (16:39 +0000)]
re PR tree-optimization/25291 (ICE in tree-check add_call_clobber_ops)
2005-12-07 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/25291
* tree-ssa-operands.c (add_call_clobber_ops): Remove
redundant and crashing check.
From-SVN: r108168
Alan Modra [Wed, 7 Dec 2005 16:07:08 +0000 (16:07 +0000)]
re PR target/25212 (unrecognizable insn for facerec with odd optimization set)
PR target/25212
* config/rs6000/rs6000.c (legitimate_indexed_address_p): Relax
tests further when !strict && reload_in_progress.
(print_operand): Check that both operands of indexed address are regs.
(print_operand_address): Likewise.
* config/rs6000/rs6000.h (INT_REG_OK_FOR_INDEX_P): Simplify.
(INT_REG_OK_FOR_BASE_P): Correct.
From-SVN: r108167