2009-11-30 Emmanuel Briot <briot@adacore.com>
* prj-tree.adb (Create_Attribute): Fix handling of VMS and Windows
* prj-attr.ads: Minor comment updates
From-SVN: r154790
2009-11-30 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Document pragma Short_Circuit
2009-11-30 Emmanuel Briot <briot@adacore.com>
* prj-conf.adb, prj-tree.adb, prj-tree.ads (Create_Attribute): Now set
the index either on the attribute or on its value, depending on the
kind of the attribute. Done to match recent changes in Prj.PP that were
not synchronized with this function.
From-SVN: r154789
2009-11-30 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Add documentation for attribute Result.
2009-11-30 Arnaud Charlet <charlet@adacore.com>
* s-osinte-hpux.ads, s-osinte-aix.ads, s-osinte-solaris-posix.ads,
s-osinte-tru64.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads
(Get_Page_Size): Update comment since Get_Page_Size is now required.
2009-11-30 Jerome Lambourg <lambourg@adacore.com>
* freeze.adb: Disable Warning on VM targets concerning C Imports, not
relevant.
2009-11-30 Bob Duff <duff@adacore.com>
* sprint.adb (Source_Dump): Minor comment fix.
(Write_Itype): When writing a string literal subtype, use Expr_Value
instead of Intval to get the low bound.
2009-11-30 Vincent Celier <celier@adacore.com>
* gnatlink.adb (Process_Args): Do not call Executable_Name on arguments
of switch -o.
2009-11-30 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb (Expand_N_Op_And): Implement pragma Short_Circuit_And_Or
(Expand_N_Op_Or): Implement pragma Short_Circuit_And_Or
* opt.ads (Short_Circuit_And_Or): New flag
* par-prag.adb: Add dummy entry for pragma Short_Circuit_And_Or
* sem_prag.adb: Implement pragma Short_Circuit_And_Or
* snames.ads-tmpl: Add entries for pragma Short_Circuit_And_Or
From-SVN: r154786
2009-11-30 Thomas Quinot <quinot@adacore.com>
* osint.adb: Minor reformatting
2009-11-30 Vincent Celier <celier@adacore.com>
* makeutl.ads, makeutl.adb (Base_Name_Index_For): New function to get
the base name of a main without the extension, with an eventual source
index.
(Mains.Get_Index): New procedure to set the source index of a main
(Mains.Get_Index): New function to get the source index of a main
* prj-attr.adb: New attributes Config_Body_File_Name_Index,
Config_Spec_File_Name_Index, Multi_Unit_Object_Separator and
Multi_Unit_Switches.
* prj-nmsc.adb (Process_Compiler): Takle into account new attributes
Config_Body_File_Name_Index, Config_Spec_File_Name_Index,
Multi_Unit_Object_Separator and Multi_Unit_Switches.
Allow only one character for Multi_Unit_Object_Separator.
* prj-proc.adb (Process_Declarative_Items): Take into account the
source indexes in indexes of associative array attribute declarations.
* prj.adb (Object_Name): New function to get the object file name for
units in multi-unit sources.
* prj.ads (Language_Config): New components Multi_Unit_Switches,
Multi_Unit_Object_Separator Config_Body_Index and Config_Spec_Index.
(Object_Name): New function to get the object file name for units in
multi-unit sources.
* snames.ads-tmpl: New standard names Config_Body_File_Name_Index,
Config_Spec_File_Name_Index, Multi_Unit_Object_Separator and
Multi_Unit_Switches.
From-SVN: r154782
2009-11-30 Bob Duff <duff@adacore.com>
* socket.c: Add more accessor functions for struct servent (need
setters as well as getters).
* g-sothco.ads (Servent): Declare interfaces to C setter functions for
struct servent.
* g-sttsne-locking.adb (Copy_Service_Entry): Use setter functions for
struct servent.
From-SVN: r154777
2009-11-30 Robert Dewar <dewar@adacore.com>
* s-stchop-vxworks.adb: Add comment.
2009-11-30 Emmanuel Briot <briot@adacore.com>
* make.adb, prj.adb, prj.ads (Compute_All_Imported_Projects): Now acts
on the whole tree, to better share code with gprbuild.
(Length): New subprogram, to share code in gprbuild.
(Project_Data): Remove fields that are only needed when compiling a
project in gprbuild (where we use local variables instead)
* osint.adb, osint.ads: Added minor comment on memory management
From-SVN: r154774
2009-11-30 Vincent Celier <celier@adacore.com>
* prj-makr.adb (Source_Files): New hash table to keep track of source
file names.
(Finalize): Avoid putting several times the same source file name
in the source list file.
* prj-pp.adb (Print): Fix a bug in the placement of "at nn" for
associative array indexes.
2009-11-30 Robert Dewar <dewar@adacore.com>
* g-dyntab.ads: Add missing pragma Compiler_Unit
2009-11-30 Thomas Quinot <quinot@adacore.com>
* s-crtrun.ads, s-crtl.ads, g-stseme.adb, Makefile.rtl, s-fileio.adb
(System.CRTL.Runtime): New unit, to contain parts of s-crtl that are
used in the Ada runtime but can't be used in the compiler because of
bootstrap issues.
* socket.c, s-oscons-tmplt.c, g-sothco.ads
(System.OS_Constants.SIZEOF_struct_servent): New constant.
Use s-oscons constant instead of external variable to get size of
struct hostent.
From-SVN: r154772
2009-11-30 Thomas Quinot <quinot@adacore.com>
* s-crtl.ads, g-stseme.adb, s-fileio.adb (System.CRTL.strerror): Change
return type to Interfaces.C.Strings.chars_ptr to eliminate need for
dubious unchecked conversion at call sites.
* s-errrep.adb, s-errrep.ads, Makefile.rtl (System.Error_Reporting):
Remove obsolete, unused runtime unit.
* gcc-interface/Make-lang.in: Update dependencies.
* gcc-interface/Makefile.in: Remove VMS specialization of s-crtl, not
required anymore.
2009-11-30 Vincent Celier <celier@adacore.com>
* gnatlink.adb: Delete an eventual existing executable file, in case it
is a symbolic link, to avoid modifying the target of the symbolic link.
2009-11-30 Bob Duff <duff@adacore.com>
* socket.c: Add accessor functions for struct servent.
* g-sothco.ads (Servent): Declare interfaces to C accessor functions
for struct servent.
* g-socket.adb (To_Service_Entry): Use accessor functions for struct
servent.
2009-11-30 Robert Dewar <dewar@adacore.com>
* g-arrspl.adb: Minor reformatting
* g-dyntab.adb: Add missing pragma Compiler_Unit
From-SVN: r154769
2009-11-30 Thomas Quinot <quinot@adacore.com>
* s-crtl.ads, s-oscons-tmplt.c: Fix support for VMS
* make.adb, g-comlin.ads, exp_ch6.adb: Minor reformatting
From-SVN: r154767
2009-11-30 Thomas Quinot <quinot@adacore.com>
* s-oscons-tmplt.c, xoscons.adb: Add new constants in preparation for
sharing s-crtl across all platforms.
From-SVN: r154760
2009-11-30 Thomas Quinot <quinot@adacore.com>
* s-commun.adb, s-commun.ads: New internal support unit,
allowing code sharing between GNAT.Sockets and
GNAT.Serial_Communication.
* g-sercom.ads, g-sercom-mingw.adb, g-sercom-linux.adb,
g-socket.adb (GNAT.Sockets.Last_Index): Move to System.Communication.
(GNAT.Serial_Communication.Read): Handle correctly the case where no
data was read, and Buffer'First = Stream_Element_Offset'First.
* Makefile.rtl: Add entry for s-commun
* g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
g-socthi-vxworks.ads, g-stseme.adb, g-socthi-mingw.ads,
g-socthi.adb, g-socthi.ads (GNAT.Sockets.Thin.Socket_Error_Message):
Reimplement in terms of System.CRTL.strerror.
From-SVN: r154758
2009-11-30 Paolo Bonzini <bonzini@gnu.org>
PR rtl-optimization/41812
* fwprop.c (local_md, local_lr): New globals.
(process_defs, process_uses): Remove local_md argument. Never
consider dead pseudos to have singleton def-use chains.
(single_def_use_enter_block): Perform LR simulation.
(build_single_def_use_links): Remove local_md local variable.
Add DF_NOTE. Allocate local_lr.
(fwprop_done): Do not remove DF_CHAIN, we do not use it anymore.
* df-problems.c (df_md_scratch): New.
(df_md_alloc, df_md_free): Allocate/free it.
(df_md_local_compute): Only include live registers in init.
(df_md_transfer_function): Prune the in-set computed by
the confluence function, and the gen-set too.
(df_simulate_one_insn_forwards): Fix typo.
From-SVN: r154753
PR rtl-optimization/40086
* reorg.c (relax_delay_slots): When looking for redundant insn at
the branch target, use next_real_insn, not next_active_insn.
From-SVN: r154751
* os_dep.c: Use the POSIX signal API in preference to the BSD API.
Generate a compilation error if neither the POSIX nor BSD APIs can
be detected.
From-SVN: r154747
PR tree-optimization/42193
* tree-vect-stmts.c (vectorizable_operation): Set vectorization factor
to 1 in case of basic block SLP.
(vectorizable_load): Likewise.
From-SVN: r154738
2009-11-28 Richard Guenther <rguenther@suse.de>
PR tree-optimization/42183
* tree-nrv.c (tree_nrv): Bail out if the RESULT_DECL has its
address taken. Merge the addressable state of the NRV
variable and the result instead of copying it.
* g++.dg/torture/pr42183.C: New testcase.
From-SVN: r154728