Commit Graph

72427 Commits

Author SHA1 Message Date
Aldy Hernandez
1005cc9c0d * lang.opt: Add RejectNegative to ffixed-form and ffree-form.
From-SVN: r108381
2005-12-11 11:42:32 +00:00
Andrew Pinski
4540a3ade1 re PR libobjc/25347 (objc_alignof_type gets the wrong alignment for unions (objc_sizeof_type is wrong also too))
2005-12-11  Andrew Pinski  <pinskia@physics.uc.edu>

        PR libobjc/25347
        * encoding.c (objc_sizeof_type): Don't handle _C_UNION_B special
        but use the struct layout functions.
        (objc_alignof_type): Likewise.
        (objc_layout_structure): Handle _C_UNION_B also.
        (objc_layout_structure_next_member): Likewise.
        (objc_layout_finish_structure): Likewise.

2005-12-11  Andrew Pinski  <pinskia@physics.uc.edu>

        PR libobjc/25347
        * objc.dg/encode-8.m: New test.

From-SVN: r108379
2005-12-10 22:59:12 -08:00
Andrew Pinski
153b4898d2 re PR libobjc/25346 (objc_sizeof_type does not handle _Bool at all)
2005-12-11  Andrew Pinski  <pinskia@physics.uc.edu>

        PR libobjc/25346
        * objc/objc-api.h (_C_BOOL): New define.
        * encoding.c (objc_sizeof_type): Handle _C_BOOL.
        (objc_alignof_type): Likewise.
        (objc_skip_typespec): Likewise.

2005-12-11  Andrew Pinski  <pinskia@physics.uc.edu>

        PR libobjc/25346
        * objc.dg/encode-7.m: New test.

From-SVN: r108378
2005-12-10 22:28:35 -08:00
Mark Mitchell
b91365538a 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: r108377
2005-12-11 04:24:50 +00:00
Mark Mitchell
40805a12e4 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
2005-12-11 04:16:32 +00:00
Terry Laurenzo
92aed1cbf4 Fixes java/PR9861
From-SVN: r108374
2005-12-11 01:34:02 +00:00
Paolo Carlini
b6105bf2c3 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
2005-12-11 00:41:29 +00:00
Steven G. Kargl
42e25796b5 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
2005-12-11 00:39:14 +00:00
GCC Administrator
12c21b1d14 Daily bump.
From-SVN: r108368
2005-12-11 00:17:11 +00:00
Bernhard Fischer
0f0d4d3afa 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
2005-12-11 01:00:29 +01:00
Janne Blomqvist
cef578a882 Forgot ChangeLog for 108359
From-SVN: r108361
2005-12-11 00:05:55 +02:00
Francois-Xavier Coudert
418a78fa4f 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
2005-12-10 21:44:43 +00:00
Janne Blomqvist
74f04a6a44 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
2005-12-10 23:22:16 +02:00
Thomas Koenig
181c9f4a9b 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
2005-12-10 20:01:56 +00:00
Andreas Schwab
775fe6e36d 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
2005-12-10 17:38:45 +00:00
Thiemo Seufer
f85f5913c9 Add myself for write after approval.
From-SVN: r108354
2005-12-10 17:37:58 +00:00
Kaveh R. Ghazi
6bca15bc3c 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
2005-12-10 13:23:19 +00:00
Richard Sandiford
d82f6b0026 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
2005-12-10 08:07:25 +00:00
Hans-Peter Nilsson
8a8e9f0522 * g++.old-deja/g++.other/comdat5.C: Gate on target fpic.
From-SVN: r108342
2005-12-10 02:19:09 +00:00
Roger Sayle
1f39323fd3 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
2005-12-10 01:14:38 +00:00
Richard Sandiford
98bfa2fb83 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
2005-12-10 00:22:11 +00:00
Richard Sandiford
0f67af1ce3 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
2005-12-10 00:20:16 +00:00
GCC Administrator
386e0f8c3e Daily bump.
From-SVN: r108333
2005-12-10 00:17:38 +00:00
Kaveh R. Ghazi
b644978d88 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
2005-12-10 00:01:25 +00:00
Kaveh R. Ghazi
a94d6f3b22 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
2005-12-09 23:46:42 +00:00
Kaveh R. Ghazi
27b7cbdfbd 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
2005-12-09 23:34:09 +00:00
Bernd Schmidt
9fc023cc8d 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
2005-12-09 22:44:23 +00:00
Diego Novillo
127203ac0c 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
2005-12-09 14:24:28 -05:00
Aldy Hernandez
63ff35769c t-ms1 (MULTILIB_OPTIONS): Define.
* config/ms1/t-ms1 (MULTILIB_OPTIONS): Define.
        (MULTILIB_DIRNAMES): Define.

From-SVN: r108315
2005-12-09 19:10:49 +00:00
Paolo Carlini
0cb855b7a6 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
2005-12-09 18:24:53 +00:00
Arnaud Charlet
f38c945d06 Provide first full implementation.
From-SVN: r108310
2005-12-09 18:41:04 +01:00
Arnaud Charlet
aedc2c2ba7 Resync.
From-SVN: r108309
2005-12-09 18:36:36 +01:00
Arnaud Charlet
d26dc4b5a1 [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
2005-12-09 18:22:27 +01:00
Quentin Ochem
9c8457a769 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
2005-12-09 18:22:09 +01:00
Robert Dewar
195b0505b2 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
2005-12-09 18:21:59 +01:00
Ed Schonberg
509a321954 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
2005-12-09 18:21:49 +01:00
Javier Miranda
39edfb4572 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
2005-12-09 18:21:38 +01:00
Robert Dewar
d39d6bb8a0 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
2005-12-09 18:21:28 +01:00
Ed Schonberg
0e0eecec30 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
2005-12-09 18:21:19 +01:00
Ed Schonberg
b5bd964f4a 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
2005-12-09 18:21:06 +01:00
Gary Dismukes
5b7f5b7ff9 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
2005-12-09 18:20:53 +01:00
Robert Dewar
c3217dac82 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
2005-12-09 18:20:41 +01:00
Thomas Quinot
6677e9d9d3 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
2005-12-09 18:20:28 +01:00
Vincent Celier
59ecbd0bdf 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
2005-12-09 18:20:15 +01:00
Robert Dewar
ee09461671 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
2005-12-09 18:20:03 +01:00
Robert Dewar
653da90603 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
2005-12-09 18:19:49 +01:00
Robert Dewar
ea985d9542 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
2005-12-09 18:19:33 +01:00
Robert Dewar
e6d9df3c65 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
2005-12-09 18:19:19 +01:00
Javier Miranda
d82e89e9de 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
2005-12-09 18:18:26 +01:00
Pascal Obry
dc503cef64 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
2005-12-09 18:18:03 +01:00