platform/upstream/gcc.git
16 years agomips.c (mips_cpu_info_table): Add loongson2e and loongson2f entries.
Mark Shinwell [Wed, 28 May 2008 10:33:39 +0000 (10:33 +0000)]
mips.c (mips_cpu_info_table): Add loongson2e and loongson2f entries.

2008-05-28  Mark Shinwell  <shinwell@codesourcery.com>

* config/mips/mips.c (mips_cpu_info_table): Add loongson2e
and loongson2f entries.
(mips_rtx_cost_data): Add entries for Loongson-2E/2F.
* config/mips/mips.h (processor_type): Add Loongson-2E
and Loongson-2F entries.
(TARGET_LOONGSON_2E, TARGET_LOONGSON_2F, TARGET_LOONGSON_2EF): New.
(MIPS_ISA_LEVEL_SPEC): Handle Loongson-2E/2F.
* config/mips/mips.md (define_attr cpu): Add loongson2e and loongson2f.
* doc/invoke.texi (MIPS Options): Document loongson2e
and loongson2f processor names.

From-SVN: r136071

16 years agoDaily bump.
GCC Administrator [Wed, 28 May 2008 00:17:31 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r136064

16 years agodata-dep-1.c: Skip test for avr-*-* too much code.
Andy Hutchinson [Tue, 27 May 2008 22:20:10 +0000 (22:20 +0000)]
data-dep-1.c: Skip test for avr-*-* too much code.

* gcc.dg/tree-ssa/data-dep-1.c: Skip test for avr-*-* too much code.
* gcc.dg/tree-ssa/ldist-3.c: Ditto.
* gcc.dg/tree-ssa/ldist-5.c: Ditto.
* gcc.dg/tree-ssa/ifc-20040816-2 .c: Adjust for int size < 4 bytes.
* gcc.dg/tree-ssa/pr32540-1.c: Ditto.
* gcc.dg/tree-ssa/pr32540-2.c: Ditto.
* gcc.dg/tree-ssa/ssa-lim-5.c: Ditto.
* gcc.dg/tree-ssa/pr23115.c: Adjust test for double size < 8 bytes.

From-SVN: r136058

16 years agore PR target/35767 (x86 backend uses aligned load on unaligned memory)
H.J. Lu [Tue, 27 May 2008 20:18:33 +0000 (20:18 +0000)]
re PR target/35767 (x86 backend uses aligned load on unaligned memory)

gcc/

2008-05-27  H.J. Lu  <hongjiu.lu@intel.com>

PR target/35767
PR target/35771
* config/i386/i386.c (ix86_function_arg_boundary): Use
alignment of canonical type.
(ix86_expand_vector_move): Check unaligned memory access for
all SSE modes.

gcc/testsuite/

2008-05-27  H.J. Lu  <hongjiu.lu@intel.com>

PR target/35767
PR target/35771
* gcc.target/i386/pr35767-1.c: New.
* gcc.target/i386/pr35767-1d.c: Likewise.
* gcc.target/i386/pr35767-1i.c: Likewise.
* gcc.target/i386/pr35767-2.c: Likewise.
* gcc.target/i386/pr35767-2d.c: Likewise.
* gcc.target/i386/pr35767-2i.c: Likewise.
* gcc.target/i386/pr35767-3.c: Likewise.
* gcc.target/i386/pr35767-4.c: Likewise.
* gcc.target/i386/pr35767-5.c: Likewise.

From-SVN: r136054

16 years agoassignment_3.f90: Add missing cleanup-modules.
Tobias Burnus [Tue, 27 May 2008 19:31:36 +0000 (21:31 +0200)]
assignment_3.f90: Add missing cleanup-modules.

2008-05-27  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/assignment_3.f90: Add missing cleanup-modules.

From-SVN: r136053

16 years agore PR fortran/36316 (type mismatch in binary expression caught by verify_gimple)
Tobias Burnus [Tue, 27 May 2008 19:22:01 +0000 (21:22 +0200)]
re PR fortran/36316 (type mismatch in binary expression caught by verify_gimple)

2008-05-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36316
        * trans-array.c (gfc_set_loop_bounds_from_array_spec):
        Add missing fold_convert.

2008-05-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36316
        * gfortran.dg/assignment_3.f90: New.

From-SVN: r136052

16 years agofortran-torture.exp (get-fortran-torture-options): New function, replacing old FORTRA...
Richard Sandiford [Tue, 27 May 2008 18:57:10 +0000 (18:57 +0000)]
fortran-torture.exp (get-fortran-torture-options): New function, replacing old FORTRAN_TORTURE_OPTIONS code.

gcc/testsuite/
* lib/fortran-torture.exp (get-fortran-torture-options):
New function, replacing old FORTRAN_TORTURE_OPTIONS code.
* gfortran.fortran-torture/compile/compile.exp: Use
[get-fortran-torture-options] instead of $FORTRAN_TORTURE_OPTIONS.
* gfortran.fortran-torture/execute/execute.exp: Likewise.

From-SVN: r136050

16 years agodwarf2out.c (current_fde): Change return type to dw_fde_ref.
H.J. Lu [Tue, 27 May 2008 18:43:57 +0000 (18:43 +0000)]
dwarf2out.c (current_fde): Change return type to dw_fde_ref.

2008-05-27  H.J. Lu  <hongjiu.lu@intel.com>

* dwarf2out.c (current_fde): Change return type to dw_fde_ref.
Moved to the front of file.

From-SVN: r136046

16 years agodwarf2out.c (current_fde): New.
Xuepeng Guo [Tue, 27 May 2008 18:03:55 +0000 (18:03 +0000)]
dwarf2out.c (current_fde): New.

2008-05-27  Xuepeng Guo  <xuepeng.guo@intel.com>
    H.J. Lu  <hongjiu.lu@intel.com>

* dwarf2out.c (current_fde): New.
(add_cfi): Use it.
(lookup_cfa:): Likewise.
(dwarf2out_end_epilogue): Likewise.
(dwarf2out_note_section_used): Likewise.

Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
From-SVN: r136043

16 years agoFix c++/27975.
Michael Matz [Tue, 27 May 2008 14:59:53 +0000 (14:59 +0000)]
Fix c++/27975.

        * c.opt (Wenum-compare): New warning option.
        * doc/invoke.texi (Warning Options): Document -Wenum-compare.

cp/
        * call.c (build_new_op): Make warning conditional on OPT_Wenum_compare.

testsuite/
        * g++.dg/warn/Wenum-compare.C: New testcase.
        * g++.dg/warn/Wenum-compare-no.C: Ditto.

From-SVN: r136035

16 years agore PR middle-end/36326 (gimplification of aggregate copies introduces extra aggregate...
Michael Matz [Tue, 27 May 2008 14:28:02 +0000 (14:28 +0000)]
re PR middle-end/36326 (gimplification of aggregate copies introduces extra aggregate copy)

PR middle-end/36326
* tree-gimple.c (is_gimple_mem_rhs): Remove work-around for
non-BLKmode types.
* tree-tailcall.c (find_tail_calls): Don't mark calls storing
into memory as tail calls.

From-SVN: r136033

16 years agore PR tree-optimization/36339 (not call clobbering variable for non common offset)
Richard Guenther [Tue, 27 May 2008 13:21:07 +0000 (13:21 +0000)]
re PR tree-optimization/36339 (not call clobbering variable for non common offset)

2008-05-27  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/36339
* tree-ssa-alias.c (set_initial_properties): Escaped pt_anything
pointers cause all addressable variables to be call clobbered.

* gcc.c-torture/execute/pr36339.c: New testcase.
* gcc.dg/tree-ssa/loadpre8.c: XFAIL.

From-SVN: r136030

16 years agore PR tree-optimization/36245 (internal compiler error: in build2_stat, at tree.c...
Richard Guenther [Tue, 27 May 2008 13:10:18 +0000 (13:10 +0000)]
re PR tree-optimization/36245 (internal compiler error: in build2_stat, at tree.c:3116)

2008-05-27  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/36245
* tree-ssa-address.c (add_to_parts): Deal with non-pointer
bases.

* gcc.c-torture/compile/pr36245.c: New testcase.

From-SVN: r136029

16 years agoResync.
Arnaud Charlet [Tue, 27 May 2008 12:37:01 +0000 (14:37 +0200)]
Resync.

From-SVN: r136028

16 years agomlib-prj.adb: Minor reformatting
Robert Dewar [Tue, 27 May 2008 12:36:43 +0000 (14:36 +0200)]
mlib-prj.adb: Minor reformatting

2008-05-27  Robert Dewar  <dewar@adacore.com>

* mlib-prj.adb: Minor reformatting

* prj-part.adb: Minor reformatting

* prj.ads: Minor reformatting

* exp_ch3.adb: Minor reformatting.

* sem_ch3.ads: Minor reformatting

* sem_eval.adb: Minor reformatting

From-SVN: r136027

16 years agoexp_aggr.adb (Build_Array_Aggr_Code): If component type includes tasks and context...
Ed Schonberg [Tue, 27 May 2008 12:36:32 +0000 (14:36 +0200)]
exp_aggr.adb (Build_Array_Aggr_Code): If component type includes tasks and context is an object declaration.

2008-05-27  Ed Schonberg  <schonberg@adacore.com>

* exp_aggr.adb (Build_Array_Aggr_Code): If component type includes
tasks and context is an object declaration. create master entity before
expansion.

From-SVN: r136026

16 years agosem_ch3.adb (Build_Incomplete_Type_Declaration): In the case of an untagged private...
Bob Duff [Tue, 27 May 2008 12:36:23 +0000 (14:36 +0200)]
sem_ch3.adb (Build_Incomplete_Type_Declaration): In the case of an untagged private type with a tagged full type...

2008-05-27  Bob Duff  <duff@adacore.com>

* sem_ch3.adb (Build_Incomplete_Type_Declaration): In the case of an
untagged private type with a tagged full type, where the full type has
a self reference, create the corresponding class-wide type early, in
case the self reference is "access T'Class".

From-SVN: r136025

16 years ago* prj-nmsc.adb: Minor reformatting
Arnaud Charlet [Tue, 27 May 2008 12:36:15 +0000 (14:36 +0200)]
* prj-nmsc.adb: Minor reformatting

From-SVN: r136024

16 years agoa-ststio.adb, [...]: Further code clean up of previous change.
Arnaud Charlet [Tue, 27 May 2008 12:36:04 +0000 (14:36 +0200)]
a-ststio.adb, [...]: Further code clean up of previous change.

* a-ststio.adb, s-direio.adb: Further code clean up of previous change.
Update comments.

From-SVN: r136023

16 years agoResync.
Arnaud Charlet [Tue, 27 May 2008 11:58:03 +0000 (13:58 +0200)]
Resync.

From-SVN: r136021

16 years agoReplace heavy address clause by 'Unrestricted_Access...
Arnaud Charlet [Tue, 27 May 2008 11:55:54 +0000 (13:55 +0200)]
Replace heavy address clause by 'Unrestricted_Access...

Replace heavy address clause by 'Unrestricted_Access, cleaner and more portable
across GNAT targets, since this kind of address clause is not supported by
VM back-ends (.NET/JGNAT).

From-SVN: r136020

16 years ago2008-05-27 Vincent Celier <celier@adacore.com>
Vincent Celier [Tue, 27 May 2008 11:55:41 +0000 (13:55 +0200)]
2008-05-27  Vincent Celier  <celier@adacore.com>

* prj-part.adb:
(Project_Path_Name_Of.Try_Path): Do not use Locate_Regular_File to find
a project file, so that symbolic links are not resolved.

From-SVN: r136019

16 years agoReplace address clause by unrestricted_access, simpler and compatible with .NET.
Arnaud Charlet [Tue, 27 May 2008 11:55:29 +0000 (13:55 +0200)]
Replace address clause by unrestricted_access, simpler and compatible with .NET.

From-SVN: r136018

16 years agognat_rm.texi: Document the new behavior regarding trampolines.
Bob Duff [Tue, 27 May 2008 11:55:11 +0000 (13:55 +0200)]
gnat_rm.texi: Document the new behavior regarding trampolines.

2008-05-27  Bob Duff  <duff@adacore.com>

* gnat_rm.texi:
Document the new behavior regarding trampolines.

From-SVN: r136017

16 years agoexp_aggr.adb (Expand_Array_Aggregate): If the aggregate contains tasks...
Ed Schonberg [Tue, 27 May 2008 11:55:00 +0000 (13:55 +0200)]
exp_aggr.adb (Expand_Array_Aggregate): If the aggregate contains tasks...

2008-05-27  Ed Schonberg  <schonberg@adacore.com>

* exp_aggr.adb (Expand_Array_Aggregate): If the aggregate contains
tasks, create an activation chain now, before the expansion into
assignments and build-in-place calls that require the presence of an
activation chain.
(Backend_Processing_Possible): If the component type is inherently
limited, the aggregate must be expanded into individual built-in-place
assignments.

* sem_ch6.adb (Build_Extra_Formals): Use underlying type of result to
determine whether an allocation extra parameter must be built, to
handle case of a private type whose full type is a discriminated type
with defaults.

From-SVN: r136016

16 years agognatcmd.adb: <prefix>-gnat stack spawns gnatstack, not <prefix>-gnatstack
Vincent Celier [Tue, 27 May 2008 11:54:50 +0000 (13:54 +0200)]
gnatcmd.adb: <prefix>-gnat stack spawns gnatstack, not <prefix>-gnatstack

2008-05-27  Vincent Celier  <celier@adacore.com>

* gnatcmd.adb:
<prefix>-gnat stack spawns gnatstack, not <prefix>-gnatstack

From-SVN: r136015

16 years agos390.md: Replace all occurences of the 'm' constraint with 'RT'.
Andreas Krebbel [Tue, 27 May 2008 11:49:40 +0000 (11:49 +0000)]
s390.md: Replace all occurences of the 'm' constraint with 'RT'.

2008-05-27  Andreas Krebbel  <krebbel1@de.ibm.com>

* config/s390/s390.md: Replace all occurences of the 'm'
constraint with 'RT'.

From-SVN: r136014

16 years agos390.md ("cpu_facility", "enabled"): Attribute definitions added.
Andreas Krebbel [Tue, 27 May 2008 11:48:14 +0000 (11:48 +0000)]
s390.md ("cpu_facility", "enabled"): Attribute definitions added.

2008-05-27  Andreas Krebbel  <krebbel1@de.ibm.com>

* config/s390/s390.md ("cpu_facility", "enabled"): Attribute
definitions added.
("*movdi_64dfp", "*movdi_64extimm", "*movdi_64"): Merged into
"*movdi_64".
("*anddi3_extimm", "*anddi3"): Merged into "*anddi3".
("*iordi3_extimm", "*iordi3"): Merged into "*iordi3".
("*xordi3_extimm", "*xordi3"): Merged into "*xordi3".

From-SVN: r136013

16 years agoreload.c: (find_reloads): Skip alternatives according to the "enabled" attribute.
Andreas Krebbel [Tue, 27 May 2008 11:46:45 +0000 (11:46 +0000)]
reload.c: (find_reloads): Skip alternatives according to the "enabled" attribute.

2008-05-27  Andreas Krebbel  <krebbel1@de.ibm.com>

* reload.c: (find_reloads): Skip alternatives according to the
"enabled" attribute. Constify the constraint variable.
* recog.c (get_attr_enabled): Add default implementation.
(extract_insn): Set the alternative_enabled_p array
in the recog_data struct.
(preprocess_constraints, constrain_operands): Skip
alternatives according to the "enabled" attribute
* recog.h (struct recog_data): New field alternative_enabled_p.
(skip_alternative): New inline function.
* regclass.c: (record_operand_costs): Check the "enabled"
attribute.
(record_reg_classes): Skip alternative according to the
"enabled" attribute.

* doc/md.texi: Add documention for the "enabled" attribute.

From-SVN: r136012

16 years agodefaults.h (TARGET_MEM_CONSTRAINT): New target macro added.
Andreas Krebbel [Tue, 27 May 2008 11:41:10 +0000 (11:41 +0000)]
defaults.h (TARGET_MEM_CONSTRAINT): New target macro added.

2008-05-27  Andreas Krebbel  <krebbel1@de.ibm.com>

* defaults.h (TARGET_MEM_CONSTRAINT): New target macro added.
* postreload.c (reload_cse_simplify_operands): Replace 'm'
constraint with TARGET_MEM_CONSTRAINT.
* recog.c (asm_operand_ok, preprocess_constraints,
constrain_operands): Likewise.
* regclass.c (record_reg_classes): Likewise.
* reload.c (find_reloads, alternative_allows_const_pool_ref):
Likewise.
* reload1.c (maybe_fix_stack_asms): Likewise.
* stmt.c (parse_output_constraint, parse_input_constraint):
Likewise.
* recog.h: Adjust comment.
* genpreds.c (generic_constraint_letters): Remove 'm' constraint.
* genoutput.c (note_constraint): Don't emit error for 'm'
constraint.
* doc/md.texi: Add a note to description of 'm' constraint.
* doc/tm.texi: Document the new TARGET_MEM_CONSTRAINT macro.

From-SVN: r136011

16 years agoResync.
Arnaud Charlet [Tue, 27 May 2008 11:00:39 +0000 (13:00 +0200)]
Resync.

From-SVN: r136010

16 years agotree-sra.c (sra_type_can_be_decomposed_p): Make sure that the bitfield is of integral...
Eric Botcazou [Tue, 27 May 2008 11:00:38 +0000 (11:00 +0000)]
tree-sra.c (sra_type_can_be_decomposed_p): Make sure that the bitfield is of integral type before testing its precision.

* tree-sra.c (sra_type_can_be_decomposed_p) <RECORD_TYPE>: Make sure
that the bitfield is of integral type before testing its precision.

From-SVN: r136009

16 years ago2008-05-27 Vincent Celier <celier@adacore.com>
Vincent Celier [Tue, 27 May 2008 11:00:07 +0000 (13:00 +0200)]
2008-05-27  Vincent Celier  <celier@adacore.com>

* gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb,
prj.ads, makegpr.adb, makeutl.adb, clean.adb, prj-nmsc.adb,
mlib-tgt.adb, prj-env.adb, prj-env.ads:
(Path_Information): New record type
Use component of type Path_Information when there are two paths, one in
canonical format and one in display format.
Update the project manager to these new components.

From-SVN: r136008

16 years agobindgen.adb: Update comments.
Arnaud Charlet [Tue, 27 May 2008 10:59:55 +0000 (12:59 +0200)]
bindgen.adb: Update comments.

* bindgen.adb: Update comments.

* s-tasinf-mingw.adb: Add "with" of System.OS_Interface

From-SVN: r136007

16 years agoResync
Arnaud Charlet [Tue, 27 May 2008 10:44:34 +0000 (12:44 +0200)]
Resync

From-SVN: r136006

16 years agomakeutl.adb: Minor reformatting
Robert Dewar [Tue, 27 May 2008 10:44:21 +0000 (12:44 +0200)]
makeutl.adb: Minor reformatting

2008-05-27  Robert Dewar  <dewar@adacore.com>

* makeutl.adb: Minor reformatting
* prj-nmsc.adb: Minor reformatting
* s-stausa.adb: Minor reformatting
* s-stausa.ads: Minor reformatting
* sem_ch6.adb: Minor reformatting

From-SVN: r136005

16 years agosem_res.adb: Minor comment fixes
Thomas Quinot [Tue, 27 May 2008 10:44:05 +0000 (12:44 +0200)]
sem_res.adb: Minor comment fixes

2008-05-27  Thomas Quinot  <quinot@adacore.com>

* sem_res.adb: Minor comment fixes

From-SVN: r136004

16 years agoResync.
Arnaud Charlet [Tue, 27 May 2008 10:14:41 +0000 (12:14 +0200)]
Resync.

From-SVN: r136003

16 years ago(System.File_IO.{Close, Delete, Reset}): Change File parameter from "in out AFCB_Ptr...
Thomas Quinot [Tue, 27 May 2008 10:14:25 +0000 (12:14 +0200)]
(System.File_IO.{Close, Delete, Reset}): Change File parameter from "in out AFCB_Ptr" to "access AFCB_Ptr".

2008-05-27  Thomas Quinot  <quinot@adacore.com>

(System.File_IO.{Close, Delete, Reset}):
Change File parameter from "in out AFCB_Ptr" to "access AFCB_Ptr".

(Ada.*_IO.{Close, Delete, Reset, Set_Mode}):
Pass File parameter by reference.

From-SVN: r136002

16 years ago2008-05-27 Ed Schonberg <schonberg@adacore.com>
Ed Schonberg [Tue, 27 May 2008 10:14:09 +0000 (12:14 +0200)]
2008-05-27  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb:
(Get_Discr_Value): Remove obsolete code that failed to find the value
of a discriminant for an inherited task component appearing in a type
extension.

From-SVN: r136001

16 years ago2008-05-27 Vincent Celier <celier@adacore.com>
Vincent Celier [Tue, 27 May 2008 10:14:01 +0000 (12:14 +0200)]
2008-05-27  Vincent Celier  <celier@adacore.com>

* prj-nmsc.adb:
(Check_File): Make sure that a unit that replaces the same unit in a
 project being extended is properly processed.

From-SVN: r136000

16 years agos-stausa.adb (Initialize): Updated result initialization, and initialization of envir...
Quentin Ochem [Tue, 27 May 2008 10:13:53 +0000 (12:13 +0200)]
s-stausa.adb (Initialize): Updated result initialization, and initialization of environment stack.

2008-05-27  Quentin Ochem  <ochem@adacore.com>

* s-stausa.adb (Initialize): Updated result initialization, and
initialization of environment stack.
(Fill_Stack): Improved computation of the pattern zone, taking into
account already filled at the calling point.
(Get_Usage_Range): Now uses Min_Measure and Max_Measure instead of
Measure and Overflow_Guard.
(Report_Result): Fixed computation of the result using new fields of
Stack_Analyzer.

* s-stausa.ads (Initialize_Analyzer): Replaced Size / Overflow_Guard
params by more explicit Stack_Size / Max_Pattern_Size params.
(Stack_Analyzer): Added distinct Stack_Size & Pattern_Size fields.
Added Stack_Used_When_Filling field.
(Task_Result): Replaced Measure / Overflow_Guard by more explicit
Min_Measure and Max_Measure fields.

* s-tassta.adb (Task_Wrapper): Updated call to Initialize_Analyzer.

From-SVN: r135999

16 years ago* exp_ch6.adb: Minor reformatting
Arnaud Charlet [Tue, 27 May 2008 10:13:45 +0000 (12:13 +0200)]
* exp_ch6.adb: Minor reformatting

From-SVN: r135998

16 years agoexp_aggr.adb: Add ??? comment Fix typo
Thomas Quinot [Tue, 27 May 2008 10:13:35 +0000 (12:13 +0200)]
exp_aggr.adb: Add ??? comment Fix typo

2008-05-27  Thomas Quinot  <quinot@adacore.com>

* exp_aggr.adb: Add ??? comment
Fix typo

From-SVN: r135997

16 years agomakeutl.adb: Minor code reorganization
Thomas Quinot [Tue, 27 May 2008 10:13:25 +0000 (12:13 +0200)]
makeutl.adb: Minor code reorganization

2008-05-27  Thomas Quinot  <quinot@adacore.com>

* makeutl.adb: Minor code reorganization

From-SVN: r135996

16 years ago* gnat.dg/interface5.ad[sb]: New test.
Arnaud Charlet [Tue, 27 May 2008 09:30:35 +0000 (09:30 +0000)]
* gnat.dg/interface5.ad[sb]: New test.

From-SVN: r135995

16 years agoResync.
Arnaud Charlet [Tue, 27 May 2008 09:24:13 +0000 (11:24 +0200)]
Resync.

From-SVN: r135994

16 years ago2008-05-27 Vincent Celier <celier@adacore.com>
Vincent Celier [Tue, 27 May 2008 09:20:48 +0000 (11:20 +0200)]
2008-05-27  Vincent Celier  <celier@adacore.com>

* makeutl.ads, makeutl.adb:
(Set_Location): New procedure
(Get_Location): New function
(Update_Main): New procedure

From-SVN: r135993

16 years ago2008-05-27 Ed Schonberg <schonberg@adacore.com>
Ed Schonberg [Tue, 27 May 2008 09:20:38 +0000 (11:20 +0200)]
2008-05-27  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb:
(Is_Interface_Conformant): Handle properly a primitive operation that
overrides an interface function with a controlling access result.
(Type_Conformance): If Skip_Controlling_Formals is true, when matching
inherited and overriding operations, omit as well the conformance check
on result types, to prevent spurious errors.

From-SVN: r135992

16 years ago* sem_ch3.adb: Minor reformatting
Arnaud Charlet [Tue, 27 May 2008 09:20:28 +0000 (11:20 +0200)]
* sem_ch3.adb: Minor reformatting

From-SVN: r135991

16 years ago2008-05-27 Vincent Celier <celier@adacore.com>
Vincent Celier [Tue, 27 May 2008 09:20:12 +0000 (11:20 +0200)]
2008-05-27  Vincent Celier  <celier@adacore.com>

* prj-nmsc.adb:
(Process_Sources_In_Multi_Language_Mode): Check that there are not two
sources of the same project that have the same object file name.
(Find_Explicit_Sources): Always remove a source exception that was not
found.

From-SVN: r135990

16 years ago* gnat.dg/sync1.ad[sb]: New test.
Arnaud Charlet [Tue, 27 May 2008 09:11:45 +0000 (09:11 +0000)]
* gnat.dg/sync1.ad[sb]: New test.

From-SVN: r135989

16 years agoResync.
Arnaud Charlet [Tue, 27 May 2008 09:11:02 +0000 (11:11 +0200)]
Resync.

From-SVN: r135988

16 years agosystem-darwin-ppc.ads (Always_Compatible_Rep): Set to False.
Eric Botcazou [Tue, 27 May 2008 09:10:01 +0000 (11:10 +0200)]
system-darwin-ppc.ads (Always_Compatible_Rep): Set to False.

2008-05-27  Eric Botcazou  <ebotcazou@adacore.com>

* system-darwin-ppc.ads (Always_Compatible_Rep): Set to False.
* system-darwin-x86.ads (Always_Compatible_Rep): Likewise.
* system-freebsd-x86.ads (Always_Compatible_Rep): Likewise.
* system-linux-ppc.ads (Always_Compatible_Rep): Likewise.
* system-linux-x86_64.ads (Always_Compatible_Rep): Likewise.
* system-linux-x86.ads (Always_Compatible_Rep): Likewise.
* system-mingw.ads (Always_Compatible_Rep): Likewise.
* system-solaris-sparc.ads (Always_Compatible_Rep): Likewise.
* system-solaris-sparcv9.ads (Always_Compatible_Rep): Likewise.
* system-solaris-x86.ads (Always_Compatible_Rep): Likewise.

From-SVN: r135987

16 years ago2008-05-27 Vincent Celier <celier@adacore.com>
Vincent Celier [Tue, 27 May 2008 09:09:47 +0000 (11:09 +0200)]
2008-05-27  Vincent Celier  <celier@adacore.com>

* prj-nmsc.adb:
(Check_Library): Allow standard project to be extended as a static
library project.
(Get_Mains): Do not inherit attribute Main in an extending library
project.

From-SVN: r135986

16 years agoResync
Arnaud Charlet [Tue, 27 May 2008 08:55:46 +0000 (10:55 +0200)]
Resync

From-SVN: r135985

16 years agoexp_dist.adb: Minor reformating
Thomas Quinot [Tue, 27 May 2008 08:50:54 +0000 (10:50 +0200)]
exp_dist.adb: Minor reformating

2008-05-27  Thomas Quinot  <quinot@adacore.com>

* exp_dist.adb: Minor reformating

From-SVN: r135984

16 years ago2008-05-27 Doug Rupp <rupp@adacore.com>
Doug Rupp [Tue, 27 May 2008 08:50:43 +0000 (10:50 +0200)]
2008-05-27  Doug Rupp  <rupp@adacore.com>

* exp_ch6.adb:
(Expand_N_Function_Call): Fix comments. Minor reformatting.

* exp_vfpt.ads:
(Expand_Vax_Foreign_Return): Fix comments.

From-SVN: r135983

16 years agoxsnames.adb: Remove unused variable Oname
Vincent Celier [Tue, 27 May 2008 08:50:31 +0000 (10:50 +0200)]
xsnames.adb: Remove unused variable Oname

2008-05-27  Vincent Celier  <celier@adacore.com>

* xsnames.adb: Remove unused variable Oname

From-SVN: r135982

16 years agoprj-attr.adb: Add new project level attribute Map_File_Option
Vincent Celier [Tue, 27 May 2008 08:50:22 +0000 (10:50 +0200)]
prj-attr.adb: Add new project level attribute Map_File_Option

2008-05-27  Vincent Celier  <celier@adacore.com>

* prj-attr.adb: Add new project level attribute Map_File_Option

* prj-nmsc.adb (Process_Linker): Process new attribute Map_File_Option

* prj.ads: Minor reformatting and comment update
(Project_Configuration): New component Map_File_Option

* snames.adb: New standard name Map_File_Option

* snames.ads: New standard name Map_File_Option

From-SVN: r135981

16 years agognat_ugn.texi: Add succinct documentation for attribute Excluded_Source_List_File
Vincent Celier [Tue, 27 May 2008 08:50:13 +0000 (10:50 +0200)]
gnat_ugn.texi: Add succinct documentation for attribute Excluded_Source_List_File

2008-05-27  Vincent Celier  <celier@adacore.com>

* gnat_ugn.texi:
Add succinct documentation for attribute Excluded_Source_List_File

From-SVN: r135980

16 years agosem_ch3.adb (Fixup_Bad_Constraint): Set the Etype on the bad subtype to the known...
Gary Dismukes [Tue, 27 May 2008 08:50:04 +0000 (10:50 +0200)]
sem_ch3.adb (Fixup_Bad_Constraint): Set the Etype on the bad subtype to the known type entity E...

2008-05-27  Gary Dismukes  <dismukes@adacore.com>

* sem_ch3.adb (Fixup_Bad_Constraint): Set the Etype on the bad subtype
to the known type entity E, rather than setting it to Any_Type. Fixes
possible blowup in function Base_Init_Proc, as called from Freeze_Entity
for objects whose type had an illegal constraint.

From-SVN: r135979

16 years agoexp_disp.adb (Build_Dispatch_Tables): For a private type completed by a synchronized...
Ed Schonberg [Tue, 27 May 2008 08:49:55 +0000 (10:49 +0200)]
exp_disp.adb (Build_Dispatch_Tables): For a private type completed by a synchronized tagged type...

2008-05-27  Ed Schonberg  <schonberg@adacore.com>

* exp_disp.adb (Build_Dispatch_Tables): For a private type completed by
a synchronized tagged type, do not attempt to build dispatch table for
full view. The table is built for the corresponding record type, which
has its own declaration.

From-SVN: r135978

16 years agosem_attr.adb: add guard to previous patch.
Ed Schonberg [Tue, 27 May 2008 08:49:47 +0000 (10:49 +0200)]
sem_attr.adb: add guard to previous patch.

2008-05-27  Ed Schonberg  <schonberg@adacore.com>

* sem_attr.adb: add guard to previous patch.

From-SVN: r135977

16 years agoAdd TImode libgcc functions for mul and div on SPU.
Trevor Smigiel [Tue, 27 May 2008 08:30:09 +0000 (08:30 +0000)]
Add TImode libgcc functions for mul and div on SPU.

From-SVN: r135975

16 years agoAdd TImode libgcc functions for mul and div.
Trevor Smigiel [Tue, 27 May 2008 08:22:20 +0000 (08:22 +0000)]
Add TImode libgcc functions for mul and div.

From-SVN: r135974

16 years agoAdd TImode libgcc functions for mul and div.
Trevor Smigiel [Tue, 27 May 2008 08:19:45 +0000 (08:19 +0000)]
Add TImode libgcc functions for mul and div.

From-SVN: r135973

16 years agopr11832.c: XFAIL on (x86 && ilp32 && pic).
Kaveh R. Ghazi [Tue, 27 May 2008 06:47:29 +0000 (06:47 +0000)]
pr11832.c: XFAIL on (x86 && ilp32 && pic).

* gcc.c-torture/compile/pr11832.c: XFAIL on (x86 && ilp32 && pic).
* gcc.c-torture/compile/pr33009.c: Likewise.

From-SVN: r135972

16 years agore PR c++/35909 (ICE with bit-field and const references)
Alexandre Oliva [Tue, 27 May 2008 05:48:02 +0000 (05:48 +0000)]
re PR c++/35909 (ICE with bit-field and const references)

gcc/cp/ChangeLog:
PR c++/35909
* call.c (convert_like_real): Convert bitfield to desired type
before creating temporary.
gcc/testsuite/ChangeLog:
PR c++/35909
* g++.dg/conversion/bitfield9.C: New.

From-SVN: r135969

16 years agoDaily bump.
GCC Administrator [Tue, 27 May 2008 00:17:44 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r135965

16 years agors6000.c (rs6000_legitimize_tls_address): Generate new tls_gd_* and tls_ld_* insns...
Steven Bosscher [Mon, 26 May 2008 23:37:05 +0000 (23:37 +0000)]
rs6000.c (rs6000_legitimize_tls_address): Generate new tls_gd_* and tls_ld_* insns instead of an insn sequence.

2008-05-26  Steven Bosscher  <stevenb.gcc@gmail.com>

* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Generate
new tls_gd_* and tls_ld_* insns instead of an insn sequence.
* config/rs6000/rs6000.md (TLSmode, tls_abi_suffix, tls_insn_suffix,
tls_sysv_suffix): New mode and mode attribute iterators.
(tls_gd_32, tls_gd_64, tls_ld_32, tls_ld_64): Remove.
(lts_gd_aix*, tls_gd_sysv*, tls_ld_aix*, tls_ld_sysv*): New patterns.
(tls_dtprel_*, tls_dtprel_ha_*, tls_dtprel_lo_*, tls_got_dtprel_*,
tls_tprel_*, tls_tprel_ha_*, tls_tprel_lo_*, tls_got_tprel_*,
tls_tls_*): Merge 32 bit and 64 bit variants using aforementioned
iterators.

From-SVN: r135961

16 years agocpp.c (cpp_define_builtins): Fixed warning about comment.
Daniel Franke [Mon, 26 May 2008 20:41:20 +0000 (16:41 -0400)]
cpp.c (cpp_define_builtins): Fixed warning about comment.

2008-05-26  Daniel Franke  <franke.daniel@gmail.com>

* cpp.c (cpp_define_builtins): Fixed warning about comment.

From-SVN: r135958

16 years agocpp.c (cpp_define_builtins): Remove usage of TARGET_* macros, added FIXME instead.
Daniel Franke [Mon, 26 May 2008 20:18:04 +0000 (16:18 -0400)]
cpp.c (cpp_define_builtins): Remove usage of TARGET_* macros, added FIXME instead.

2008-05-26  Daniel Franke  <franke.daniel@gmail.com>

        * fortran/cpp.c (cpp_define_builtins): Remove usage of TARGET_* macros,
        added FIXME instead.

From-SVN: r135956

16 years agocmath (pow(float, int), [...]): Do not define in C++0x mode, per DR 550.
Paolo Carlini [Mon, 26 May 2008 19:18:24 +0000 (19:18 +0000)]
cmath (pow(float, int), [...]): Do not define in C++0x mode, per DR 550.

2008-05-26  Paolo Carlini  <paolo.carlini@oracle.com>

* include/c_global/cmath (pow(float, int), pow(double, int),
pow(long double, int)): Do not define in C++0x mode, per DR 550.
* include/tr1_impl/cmath (pow): Do not bring in unconditionally
from namespace std.
* include/tr1/cmath (pow(double, double), pow(float, float),
pow(long double, long double), pow(_Tp, _Up)): Define.
* include/tr1/complex (pow): Do not bring in from namespace std.
(pow(const std::complex<_Tp>&, int), pow(const std::complex<_Tp>&,
const _Tp&), pow(const _Tp&, const std::complex<_Tp>&),
pow(const std::complex<_Tp>&, const std::complex<_Tp>&)): Define.
* include/tr1_impl/complex (pow(const std::complex<_Tp>&,
const _Up&), pow(const _Tp&, const std::complex<_Up>&),
pow(const std::complex<_Tp>&, const std::complex<_Up>&)): Always
define.
* doc/xml/manual/intro.xml: Add an entry for DR 550.
* testsuite/26_numerics/headers/cmath/dr550.cc: New.
* testsuite/tr1/8_c_compatibility/cmath/overloads.cc: Adjust.

From-SVN: r135955

16 years agore PR tree-optimization/36329 (latent problem with tree inlining)
Eric Botcazou [Mon, 26 May 2008 18:23:38 +0000 (18:23 +0000)]
re PR tree-optimization/36329 (latent problem with tree inlining)

PR tree-optimization/36329
* tree.h (CALL_CANNOT_INLINE_P): Add access check.
* tree-gimple.h (CALL_STMT_CANNOT_INLINE_P): New macro.
* cgraphbuild.c (initialize_inline_failed): Use the latter
macro in lieu of the former.
* ipa-inline.c (cgraph_mark_inline): Likewise.
(cgraph_decide_inlining_of_small_function): Likewise.
(cgraph_decide_inlining): Likewise.
(cgraph_decide_inlining_incrementally): Likewise.

From-SVN: r135954

16 years agoavr.md ("call_prologue_saves"): Use hi8(gs())/lo8(gs()) instead of pm_lo8/pm_hi8...
Tristan Gingold [Mon, 26 May 2008 17:44:50 +0000 (17:44 +0000)]
avr.md ("call_prologue_saves"): Use hi8(gs())/lo8(gs()) instead of pm_lo8/pm_hi8 to makes this call working on avr6.

* config/avr/avr.md ("call_prologue_saves"): Use hi8(gs())/lo8(gs())
instead of pm_lo8/pm_hi8 to makes this call working on avr6.
* config/avr/avr.c (expand_prologue): Tune "call_prologue"
optimization for 'avr6' architecture.

Co-Authored-By: Anatoly Sokolov <aesok@post.ru>
From-SVN: r135953

16 years agore PR target/34932 ([avr] ICE in reload)
Andy Hutchinson [Mon, 26 May 2008 17:19:09 +0000 (17:19 +0000)]
re PR target/34932 ([avr] ICE in reload)

PR target/34932
* config/avr/avr.md (*addhi3_zero_extend2): Remove.

From-SVN: r135952

16 years agoResync.
Arnaud Charlet [Mon, 26 May 2008 15:53:31 +0000 (17:53 +0200)]
Resync.

From-SVN: r135951

16 years agotree_io.ads (ASIS_Version_Number): Update because of the changes made in front-end
Sergey Rybin [Mon, 26 May 2008 15:52:24 +0000 (17:52 +0200)]
tree_io.ads (ASIS_Version_Number): Update because of the changes made in front-end

2008-05-26  Sergey Rybin  <rybin@adacore.com>

* tree_io.ads (ASIS_Version_Number): Update because of the changes
made in front-end

From-SVN: r135950

16 years ago* sem_attr.adb: Add some ??? comments for previous change
Arnaud Charlet [Mon, 26 May 2008 15:52:16 +0000 (17:52 +0200)]
* sem_attr.adb: Add some ??? comments for previous change

From-SVN: r135949

16 years ago* s-vaflop.ads: Add comments for previous change
Arnaud Charlet [Mon, 26 May 2008 15:52:07 +0000 (17:52 +0200)]
* s-vaflop.ads: Add comments for previous change

From-SVN: r135948

16 years agos-vaflop-vms-alpha.adb: Remove System.IO use clause...
Doug Rupp [Mon, 26 May 2008 15:51:58 +0000 (17:51 +0200)]
s-vaflop-vms-alpha.adb: Remove System.IO use clause...

2008-05-26  Doug Rupp  <rupp@adacore.com>

* s-vaflop-vms-alpha.adb:
Remove System.IO use clause, to prevent spurious ambiguities when
package is access through rtsfind.

From-SVN: r135947

16 years ago* exp_vfpt.ads: Add ??? comment for last change
Arnaud Charlet [Mon, 26 May 2008 15:51:48 +0000 (17:51 +0200)]
* exp_vfpt.ads: Add ??? comment for last change

From-SVN: r135946

16 years ago* exp_vfpt.adb: Minor reformatting
Arnaud Charlet [Mon, 26 May 2008 15:51:38 +0000 (17:51 +0200)]
* exp_vfpt.adb: Minor reformatting

From-SVN: r135945

16 years ago* exp_ch6.adb: Add ??? comment for previous change
Arnaud Charlet [Mon, 26 May 2008 15:51:29 +0000 (17:51 +0200)]
* exp_ch6.adb: Add ??? comment for previous change

From-SVN: r135944

16 years agotree-ssa-sccvn.c (expr_has_constants): Declare.
Richard Guenther [Mon, 26 May 2008 15:51:16 +0000 (15:51 +0000)]
tree-ssa-sccvn.c (expr_has_constants): Declare.

2008-05-26  Richard Guenther  <rguenther@suse.de>

* tree-ssa-sccvn.c (expr_has_constants): Declare.
(visit_reference_op_load): Initialize VN_INFO->has_constants
properly.

From-SVN: r135943

16 years agos-casi16.adb (Uhalf): Rewrite it as integer with small alignment.
Eric Botcazou [Mon, 26 May 2008 15:51:15 +0000 (17:51 +0200)]
s-casi16.adb (Uhalf): Rewrite it as integer with small alignment.

2008-05-26  Eric Botcazou  <ebotcazou@adacore.com>

* s-casi16.adb (Uhalf): Rewrite it as integer with small alignment.
(Compare_Array_S16): Adjust for above change.
* s-casi32.adb (Uword): Likewise.
(Compare_Array_S32): Likewise.
* s-casi64.adb (Uword): Likewise.
(Compare_Array_S64): Likewise.
* s-caun16.adb (Uhalf): Likewise.
(Compare_Array_U16): Likewise.
* s-caun32.adb (Uword): Likewise.
(Compare_Array_U32): Likewise.
* s-caun64.adb (Uword): Likewise.
(Compare_Array_U64): Likewise.

From-SVN: r135942

16 years agoexp_ch3.adb (Expand_N_Object_Declaration): Remove checks for No_Default_Initialization...
Gary Dismukes [Mon, 26 May 2008 15:50:54 +0000 (17:50 +0200)]
exp_ch3.adb (Expand_N_Object_Declaration): Remove checks for No_Default_Initialization...

2008-05-26  Gary Dismukes  <dismukes@adacore.com>

* exp_ch3.adb (Expand_N_Object_Declaration): Remove checks for
No_Default_Initialization, which is now delayed until the freeze point
of the object. Add a comment about deferral of the check.

* freeze.adb (Freeze_Entity): The check for No_Default_Initialization
on objects is moved here.

From-SVN: r135941

16 years agoResync.
Arnaud Charlet [Mon, 26 May 2008 15:21:23 +0000 (17:21 +0200)]
Resync.

From-SVN: r135940

16 years ago* gnat.dg/specs/array_no_def_init.ads: New test.
Arnaud Charlet [Mon, 26 May 2008 15:16:39 +0000 (15:16 +0000)]
* gnat.dg/specs/array_no_def_init.ads: New test.

From-SVN: r135939

16 years agoexp_ch3.adb (Build_Array_Init_Proc): Only set Init_Proc to a dummy init proc entity...
Gary Dismukes [Mon, 26 May 2008 15:15:14 +0000 (17:15 +0200)]
exp_ch3.adb (Build_Array_Init_Proc): Only set Init_Proc to a dummy init proc entity when...

2008-05-26  Gary Dismukes  <dismukes@adacore.com>

* exp_ch3.adb (Build_Array_Init_Proc): Only set Init_Proc to a dummy
init proc entity when there is actual default initialization associated
with the component type, to avoid spurious errors on objects of scalar
array types that are marked Is_Public when No_Default_Initialization
applies.

From-SVN: r135938

16 years ago2008-05-26 Doug Rupp <rupp@adacore.com>
Doug Rupp [Mon, 26 May 2008 15:15:05 +0000 (17:15 +0200)]
2008-05-26  Doug Rupp  <rupp@adacore.com>

* s-vaflop.adb:
(Return_D, Return_F, Return_G): New functions.

* s-vaflop.ads:
(Return_D, Return_F, Return_G): New functions.

* exp_vfpt.adb:
(Expand_Vax_Foreign_Return): New procedure

* exp_vfpt.ads:
(Expand_Vax_Foreign_Return): New procedure

* rtsfind.ads:
(RE_Return_D, RE_Return_F, RE_Return_G): New RE_Ids
(RE_Return_D, RE_Return_F, RE_Return_G): New RE_Unit_Table elements

* exp_ch6.adb:
Import Exp_Vfpt
(Expand_N_Function_Call): Call Expand_Vax_Foreign_Return.

* s-vaflop-vms-alpha.adb:
(Return_D, Return_F, Return_G): New functions.

From-SVN: r135937

16 years agosem_attr.adb: (Resolve_Attribute, case 'address): S (A ..
Ed Schonberg [Mon, 26 May 2008 15:14:52 +0000 (17:14 +0200)]
sem_attr.adb: (Resolve_Attribute, case 'address): S (A ..

2008-05-26  Ed Schonberg  <schonberg@adacore.com>

* sem_attr.adb:
(Resolve_Attribute, case 'address):  S (A .. B)' address can be safely
converted to S (A)'address only if A .. B is known to be a non-null
range.

From-SVN: r135936

16 years ago2008-05-26 Thomas Quinot <quinot@adacore.com>
Thomas Quinot [Mon, 26 May 2008 14:43:50 +0000 (14:43 +0000)]
2008-05-26  Thomas Quinot  <quinot@adacore.com>

* rtsfind.ads, rtsfind.adb:
(RE_Get_RACW): New runtime library entity provided by PolyORB s-parint.
(Check_RPC): Support per-PCS-kind API versioning.

exp_dist.ads, exp_dist.adb:
(Build_Stub_Tag, Get_Stub_Elements): New utility subprograms.
(PolyORB_Support.Add_RACW_From_Any): Offload common code to new runtime
 library function Get_RACW.
(PolyORB_Support.Add_RACW_To_Any): Offload common code to new runtime
library function Get_Reference.
(PolyORB_Support.Add_RACW_Read_Attribute): Use Get_RACW instead of going
through an intermediate Any.
(PolyORB_Support.Add_RACW_Write_Attribute): Use Get_Reference instead of
going through an intermediate Any.

* sem_dist.adb: Minor reformatting.

From-SVN: r135932

16 years agore PR middle-end/36253 (Caller-save stack slot may not have proper alignment)
H.J. Lu [Mon, 26 May 2008 13:59:56 +0000 (13:59 +0000)]
re PR middle-end/36253 (Caller-save stack slot may not have proper alignment)

2008-05-26  H.J. Lu  <hongjiu.lu@intel.com>

PR middle-end/36253
* caller-save.c (insert_restore): Verify alignment of spill
space.
(insert_save): Likewise.

* cfgexpand.c (LOCAL_ALIGNMENT): Removed.

* defaults.h (LOCAL_ALIGNMENT): New. Provide default.
(STACK_SLOT_ALIGNMENT): Likewise.

* function.c (LOCAL_ALIGNMENT): Removed.
(get_stack_local_alignment): New.
(assign_stack_local): Use it.  Set alignment on stack slot.
(assign_stack_temp_for_type): Use get_stack_local_alignment.

* config/i386/i386.h (LOCAL_ALIGNMENT): Updated.
(STACK_SLOT_ALIGNMENT): New.

* config/i386/i386.c (ix86_local_alignment): Handle caller-save
stack slot in XFmode.

* doc/tm.texi (STACK_SLOT_ALIGNMENT): New.

From-SVN: r135927

16 years ago* gnat.dg/pak.ad[sb]: New test.
Arnaud Charlet [Mon, 26 May 2008 13:46:21 +0000 (13:46 +0000)]
* gnat.dg/pak.ad[sb]: New test.

From-SVN: r135926

16 years agoResync.
Arnaud Charlet [Mon, 26 May 2008 13:43:57 +0000 (15:43 +0200)]
Resync.

From-SVN: r135925

16 years agoexp_ch5.adb (Make_Tag_Ctrl_Assignment): Add missing guard on condition for assignment...
Thomas Quinot [Mon, 26 May 2008 13:43:43 +0000 (15:43 +0200)]
exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add missing guard on condition for assignment to temporary.

2008-05-26  Thomas Quinot  <quinot@adacore.com>

* exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add missing guard on
condition for assignment to temporary.

From-SVN: r135924

16 years agoeinfo.ads (Abstract_Interface_Alias): Renamed as Interface_Alias.
Javier Miranda [Mon, 26 May 2008 13:43:18 +0000 (15:43 +0200)]
einfo.ads (Abstract_Interface_Alias): Renamed as Interface_Alias.

2008-05-26  Javier Miranda  <miranda@adacore.com>

* einfo.ads (Abstract_Interface_Alias): Renamed as Interface_Alias.
(Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias.
(Is_Internal): Adding documentation on internal entities that have
  attribute Interface_Alias (old attribute Abstract_Interface_Alias)

* einfo.adb (Abstract_Interface_Alias): Renamed as Interface_Alias.
(Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias.
  Added assertion to force entities with this attribute to have
  attribute Is_Internal set to True.
(Next_Tag_Component): Simplify assertion using attribute Is_Tag.

* sem_ch3.adb (Derive_Interface_Subprograms): This subprogram has been
  renamed as Derive_Progenitor_Subprograms. In addition, its code is
  a new implementation.
(Add_Interface_Tag_Components): Remove special management of
synchronized interfaces.
(Analyze_Interface_Declaration): Minor reformating
(Build_Derived_Record_Type): Minor reformating
(Check_Abstract_Overriding): Avoid reporting error in case of abstract
  predefined primitive inherited from interface type because the body of
  internally generated predefined primitives of tagged types are generated
  later by Freeze_Type
(Derive_Subprogram): Avoid generating an internal name if the parent
  subprogram overrides an interface primitive.
(Derive_Subprograms): New implementation that keeps separate the
  management of tagged types not implementing interfaces, from tagged
  types that implement interfaces.
(Is_Progenitor): New implementation.
(Process_Full_View): Add documentation
(Record_Type_Declaration): Replace call to Derive_Interface_Subprograms
  by call to Derive_Progenitor_Subprograms.

* sem_ch6.ads (Is_Interface_Conformant): New subprogram.
(Check_Subtype_Conformant, Subtype_Conformant): Adding new argument
  Skip_Controlling_Formals.

* sem_ch6.adb (Is_Interface_Conformant): New subprogram.
(Check_Conventions): New implementation. Remove local subprogram
  Skip_Check. Remove formal Search_From of routine Check_Convention.
(Check_Subtype_Conformant, Subtype_Conformant): Adding new argument
  Skip_Controlling_Formals.
(New_Overloaded_Entity): Enable addition of predefined dispatching
  operations.

* sem_disp.ads
(Find_Primitive_Covering_Interface): New subprogram.

* sem_disp.adb (Check_Dispatching_Operation): Disable registering
  the task body procedure as a primitive of the corresponding tagged
  type.
(Check_Operation_From_Private_Type): Avoid adding twice an entity
  to the list of primitives.
(Find_Primitive_Covering_Interface): New subprogram.
(Override_Dispatching_Operation): Add documentation.

* sem_type.adb (Covers): Minor reformatings

* sem_util.ads (Collect_Abstract_Interfaces): Renamed as
Collect_Interfaces.
  Rename formal.
(Has_Abstract_Interfaces): Renamed as Has_Interfaces.
(Implements_Interface): New subprogram.
(Is_Parent): Removed.
(Primitive_Names_Match): New subprogram.
(Remove_Homonym): Moved here from Derive_Interface_Subprograms.
(Ultimate_Alias): New subprogram.

* sem_util.adb (Collect_Abstract_Interfaces): Renamed as
Collect_Interfaces.
  Remove special management for synchronized types. Rename formal. Remove
  internal subprograms Interface_Present_In_Parent and Add_Interface.
(Has_Abstract_Interfaces): Renamed as Has_Interfaces. Replace assertion
  on non-record types by code to return false in such case.
(Implements_Interface): New subprogram.
(Is_Parent): Removed. No special management is now required for
  synchronized types covering interfaces.
(Primitive_Names_Match): New subprogram.
(Remove_Homonym): Moved here from Derive_Interface_Subprograms.
(Ultimate_Alias): New subprogram.

* exp_ch3.adb (Add_Internal_Interface_Entities): New subprogram.
  Add internal entities associated with secondary dispatch tables to
  the list of tagged type primitives that are not interfaces.
(Freeze_Record_Type): Add new call to Add_Internal_Interface_Entities
(Make_Predefined_Primitive_Specs): Code reorganization to improve
  the management of predefined equality operator. In addition, if
  the type has an equality function corresponding with a primitive
  defined in an interface type, the inherited equality is abstract
  as well, and no body can be created for it.

* exp_disp.ads (Is_Predefined_Dispatching_Operation): Moved from
  exp_util to exp_disp.
(Is_Predefined_Interface_Primitive): New subprogram. Returns True if
  an entity corresponds with one of the predefined primitives required
  to implement interfaces.
Update copyright notice.

* exp_disp.adb (Set_All_DT_Position): Add assertion. Exclude from the
  final check on abstract subprograms all the primitives associated with
  interface primitives because they must be visible in the public and
  private part.
(Write_DT): Use Find_Dispatching_Type to locate the name of the
interface type. This allows the use of this routine, for debugging
purposes, when the tagged type is not fully decorated.
(Is_Predefined_Dispatching_Operation): Moved from exp_util to exp_disp.
  Factorize code calling new subprogram Is_Predefined_Interface_Primitive.
(Is_Predefined_Interface_Primitive): New subprogram. Returns True if an
  entity corresponds with one of the predefined primitives required to
  implement interfaces.

* exp_util.adb (Find_Interface_ADT): New implementation
(Find_Interface): Removed.

* sprint.adb (Sprint_Node_Actual): Generate missing output for the
  list of interfaces associated with nodes
N_Formal_Derived_Type_Definition and N_Private_Extension_Declaration.

From-SVN: r135923

16 years agoi386.md (allocate_stack_worker_64): Make sure argument operand in rax isn't removed.
Kai Tietz [Mon, 26 May 2008 13:17:43 +0000 (13:17 +0000)]
i386.md (allocate_stack_worker_64): Make sure argument operand in rax isn't removed.

2008-05-26  Kai Tietz  <kai.tietz@onevision.com>

PR/36321
* config/i386/i386.md (allocate_stack_worker_64): Make sure argument operand in
rax isn't removed.

2008-05-26  Kai Tietz  <kai.tietz@onevision.com>

* gcc-c.torture/execute/pr36321.c: New.

From-SVN: r135921