* haifa-sched.c
(rank_for_schedule): Introduced flags to enable/disable
individual scheduling heuristics.
* common.opt: Introduced flags to enable/disable
individual heuristics in the scheduler.
* doc/invoke.texi: Introduced flags to enable/disable
individual heuristics in the scheduler.
From-SVN: r149603
2009-07-13 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR C++/22154
* parser.c (cp_parser_elaborated_type_specifier): Accept typename in
front of qualified names.
2009-07-13 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR C++/22154
* g++.old-deja/g++.pt/typename10.C: Update for DR 382, typename in
front of qualified names are allowed.
* g++.dg/parse/crash10.C: Likewise.
* g++.dg/parse/error15.C: Likewise.
* g++.dg/parse/typename9.C: Likewise.
* g++.dg/parse/error8.C: Likewise.
From-SVN: r149590
2009-07-13 Janus Weil <janus@gcc.gnu.org>
PR fortran/40646
* module.c (mio_symbol): If the symbol has formal arguments,
the formal namespace will be present.
* resolve.c (resolve_actual_arglist): Correctly handle 'called'
procedure pointer components as actual arguments.
(resolve_fl_derived,resolve_symbol): Make sure the formal namespace
is present.
* trans-expr.c (gfc_conv_procedure_call): Correctly handle the formal
arguments of procedure pointer components.
2009-07-13 Janus Weil <janus@gcc.gnu.org>
PR fortran/40646
* gfortran.dg/proc_ptr_22.f90: Extended.
* gfortran.dg/proc_ptr_comp_12.f90: Extended.
From-SVN: r149586
2009-07-13 Ed Schonberg <schonberg@adacore.com>
* exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
exp_aggr.adb (Make_Temporary): Utility to create a defining identifier
and link it to the expression whose value it captures.
From-SVN: r149585
2009-07-13 Robert Dewar <dewar@adacore.com>
* output.adb: Minor comment addition for last change
* sinfo.ads: Minor reformatting
2009-07-13 Vasiliy Fofanov <fofanov@adacore.com>
* adaint.c (__gnat_portable_no_block_spawn): on Windows, return -1 when
spawn failed like on all other targets.
2009-07-13 Ed Schonberg <schonberg@adacore.com>
* exp_ch7.adb: Indicate origin of temporary for transient expression.
From-SVN: r149584
2009-07-13 Thomas Quinot <quinot@adacore.com>
* s-oscons-tmplt.c: Add comment.
2009-07-13 Robert Dewar <dewar@adacore.com>
* sinfo.adb, sinfo.ads, sem_util.adb, atree.adb, atree.ads: Minor
reformatting. Minor code reorganization (add 9 argument version of
Nkind_In).
* impunit.adb: Remove s-os_lib from list of system extensions.
* sem_util.ads: Minor reformatting
* output.adb: Add warnings off/on around System.OS_Lib.
From-SVN: r149583
2009-07-13 Gary Dismukes <dismukes@adacore.com>
* sem_ch10.adb, sem_ch12.adb, gnat1drv.adb, exp_ch4.adb: Fix casing of
several references to CodePeer.
2009-07-13 Bob Duff <duff@adacore.com>
* exp_dist.adb (Build_From_Any_Function,Build_To_Any_Function,
Build_TypeCode_Function_All): Do not recurse if the type is the base
type.
From-SVN: r149580
2009-07-13 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb: Minor comment change
2009-07-13 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb (Analyze_Iteration_Scheme): Generate dummy reference for
type of iteration, to prevent spurious warnings.
2009-07-13 Nicolas Roche <roche@adacore.com>
* s-oscons-tmplt.c: On VxWorks target ensure that vxWorks.h is always
included.
2009-07-13 Arnaud Charlet <charlet@adacore.com>
* switch-c.adb, usage.adb, sem_ch9.adb, gnat_ugn.texi, rtsfind.adb,
gnat1drv.adb, opt.ads, sem_ch13.adb (Inspector_Mode): Renamed to
Generate_SCIL.
(CodePeer_Mode): New -gnatC switch.
(Adjust_Global_Switches): Adjust settings for Generate_SCIL and
CodePeer_Mode.
From-SVN: r149578
2009-07-13 Eric Botcazou <ebotcazou@adacore.com>
* checks.adb (Selected_Range_Checks): Do not consider that a non-static
integer bound forces the check if it is compared to its subtype range.
From-SVN: r149577
* tree-vect-loop.c (get_initial_def_for_reduction): Ensure that the
checks access only relevant statements.
(vectorizable_reduction): Likewise.
From-SVN: r149576
2009-07-13 Robert Dewar <dewar@adacore.com>
* prj.ads, prj-dect.adb, prj-err.ads, prj-err.adb, prj-nmsc.adb,
prj-strt.ads: Minor reformatting
2009-07-13 Thomas Quinot <quinot@adacore.com>
* exp_dist.adb (Build_From_Any_Call): For the case of a generic type,
set the type of the From_Any call to the base type.
2009-07-13 Doug Rupp <rupp@adacore.com>
* symbols-processing-vms-ia64.adb (Process): Add variables and
constants to retrieve and check for symbol visibility.
2009-07-13 Javier Miranda <miranda@adacore.com>
* exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): If conversion is to
the identical type we remove the conversion completely because
it is useless.
From-SVN: r149575
2009-07-13 Emmanuel Briot <briot@adacore.com>
* prj-err.adb (Error_Msg): One more case where a message should be
considered as a warning.
* gnatcmd.adb (GNATCmd): Fix previous change, which negated a test.
2009-07-13 Thomas Quinot <quinot@adacore.com>
* exp_dist.adb (Expand_All_Calls_Remote_Subprogram_Call): Analyze
calling stubs in the (library level) scope of the RCI locator, where it
is attached, not in the caller's scope.
2009-07-13 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Analyze_Object_Declaration): In case of class-wide
interface object declarations we delay the generation of the equivalent
record type declarations until its expansion because there are cases in
which they are not required.
* sem_util.adb (Implements_Interface): Add missing support for subtypes.
* sem_disp.adb (Check_Controlling_Formals): Minor code cleanup plus
addition of assertion.
* exp_util.adb (Expand_Subtype_From_Expr): Renamings of class-wide
interface types require no equivalent constrained type declarations
because the expanded code only references the tag component associated
with the interface.
(Find_Interface_Tag): Improve management of interfaces that are
ancestors of tagged types.
* exp_ch3.adb (Expand_N_Object_Declaration): Improve the expansion of
class-wide object declarations to add missing support to statically
displace the pointer to the object to reference the tag component
associated with the interface.
* exp_disp.adb (Make_Tags) Avoid generation of internally generated
auxiliary types associated with user-defined dispatching calls if the
type has no user-defined primitives.
From-SVN: r149574
2009-07-13 Vasiliy Fofanov <fofanov@adacore.com>
* mingw32.h: Make it explicit that we need XP or later.
* initialize.c: Remove useless extern symbol declaration.
* adaint.h: Ditto, also expose __gnat_win32_remove_handle to allow
code reuse in expect.c.
* adaint.c: Changes throughout the Windows section to redesign storage
of the child process list and the process identification.
* expect.c (__gnat_kill, __gnat_waitpid): Simplify, cleanup, use pids
for interfacing, fix errors.
(__gnat_expect_portable_execvp): use function in adaint.c
From-SVN: r149573
2009-07-13 Emmanuel Briot <briot@adacore.com>
* gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj-ext.adb,
gnat_ugn.texi, prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-util.adb,
prj-conf.adb, gnatname.adb, prj-env.adb, prj-env.ads, prj-tree.adb,
prj-tree.ads (Prj.Tree.Create*): New subprograms to create new packages
and attributes in a project tree.
(Add_Default_GNAT_Naming_Scheme): Provide real implementation.
Remove last remaining mode-specific code (ada_only or
multi_language). This was duplicating code
(Get_Mode, Set_Mode): removed, no longer used.
(Initialize_Project_Path): all tools will now take into account both
GPR_PROJECT_PATH and ADA_PROJECT_PATH (in that order).
Remove some global variables and subprograms no longer used
Make temporary files tree-specific, to avoid interferences between
trees loaded in memory at the same time.
(Prj.Delete_Temporary_File): new subprogram
(Object_Paths, Source_Paths): fields no longer stored in the project
tree, since they are only needed locally in Set_Ada_Paths.
(Set_Mapping_File_Initial_State_To_Empty): removed, since had no
effect in practice.
(Project_Tree_Data.Ada_Path_Buffer): removed, since it can be replaced
by local variables in the appropriate subprograms
(Has_Foreign_Sources): removed.
* gcc-interface/Makefile.in: prj-pp.o is now needed to build gnatmake
From-SVN: r149568
2009-07-13 Arnaud Charlet <charlet@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): No longer set
Back_Annotate_Rep_Info in inspector mode.
(Gnat1Drv): Need to call the back-end in inspector mode to generate SCIL
* opt.ads: Update comment.
From-SVN: r149567
2009-07-13 Ed Schonberg <schonberg@adacore.com>
* exp_attr.adb (Rewrite_Stream_Proc_Call): When rewriting a stream
attribute into a call of the corresponding suprogram, create extra
formals for the subprogram, because it may be a renaming whose
analysis does not create extra formals.
From-SVN: r149564
2009-07-13 Emmanuel Briot <briot@adacore.com>
* gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-env.adb, prj-tree.adb,
prj-tree.ads: Minor reformatting.
(Processing_Flags): new record to encapsulate the set of common
parameters to several subprograms in the project manager.
(Prj.Nmsc.Process_Naming_Scheme): renames Check, and moved to body
Remove the need for the Current_Dir parameter in subprograms.
(Look_For_Sources): minor refactoring, now that we no longer need to
share subprograms between the two Ada_Only and Multi_Language modes
(Processing_Flags): New field Error_On_Unknown_Language.
Merge tests for library project between gnatmake and gprbuild.
From-SVN: r149563
2009-07-13 Emmanuel Briot <briot@adacore.com>
* prj-env.adb (Create_Config_Pragmas_File): Iterate on sources rather
than units.
2009-07-13 Thomas Quinot <quinot@adacore.com>
* sem_ch3.adb (Process_Full_View): Propagate Has_Specified_Stream_{Read,
Write,Input,Output} from private view to full view.
* sem_type.adb, sem_type.ads: Minor reformatting
2009-07-13 Nicolas Setton <setton@adacore.com>
* exp_dbug.ads: Add documentation note on the utility of
DW_AT_GNAT_encoding for IDEs.
2009-07-13 Robert Dewar <dewar@adacore.com>
* g-socthi-vxworks.adb: Minor reformatting
* gnatcmd.adb: Minor reformatting
From-SVN: r149561
2009-07-13 Thomas Quinot <quinot@adacore.com>
* rtsfind.ads, exp_dist.adb (RE_Allocate_Buffer): Runtime entry
removed, not used anymore.
(Exp_Dist.PolyORB_Support.Helpers.Assign_Opaque_From_Any):
New subprogram, implements copy of an Any value into a limited object.
(Exp_Dist.PolyORB_Support.Build_General_Calling_Stubs,
Exp_Dist.PolyORB_Support.Build_Subprogram_Receiving_Stubs,
Exp_Dist.PolyORB_Support.Helpers.Build_From_Any_Function): For the case
of parameters of a limited type, use the above new subprogram.
2009-07-13 Emmanuel Briot <briot@adacore.com>
* prj-nmsc.adb, prj-proc.adb, mlib.adb (Add_Source): new parameter
Location.
(Copy_ALI_Files): Avoid calls to read when pointing outside of the
allocated space.
(Error_Report): Remove global variable, replaced by parameters.
From-SVN: r149560
2009-07-13 Thomas Quinot <quinot@adacore.com>
* g-socthi-vxworks.adb (C_Sendto): VxWorks does not support the
standard sendto(2) interface for connected sockets (passing a null
destination address). Use send(2) instead for that case.
2009-07-13 Pascal Obry <obry@adacore.com>
* adaint.c: Fix __gnat_stat() with Win32 UNC paths.
From-SVN: r149559
2009-07-13 Emmanuel Briot <briot@adacore.com>
* prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
prj-pars.adb, prj-conf.adb, prj-conf.ads: Remove all remaining global
variables and tables in prj-nmsc.adb.
(Tree_Processing_Data): Renames Processing_Data, some new fields added
(Project_Processing_Data): New record
Simplify/unify check for missing sources.
From-SVN: r149558
2009-07-13 Emmanuel Briot <briot@adacore.com>
* gnatcmd.adb, make.adb, mlib-prj.adb, prj-part.adb, mlib.adb,
prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb,
prj-tree.ads (Immediate_Directory_Of): Removed.
(Prj.Pars): Now parse the project simulating a default config file.
(Add_Default_GNAT_Naming_Scheme): New subprogram
(Check_Naming_Multi_Lang): Fix default value for Dot_Replacement.
Remove gnatmake-specific parsing of source files.
(Check_Illegal_Suffix): Renames Is_Illegal_Suffix, since it now raises
the error itself to provide more precise diagnostics.
(Process_Exceptions_Unit_Based): Avoid duplicate error message when
a unit belongs to several projects.
(Copy_Interface_Sources): Search the full path of files to copy in the
list of sources of the application rather than in the list of units.
(Parse_Project_And_Apply_Config): Do not reset the name of the main
project file.
(Check_File): Use htables to find out whether a source is duplicated.
(Add_Source): check whether the source or unit were already seen earlier
* gcc-interface/Makefile.in: Update gnatmake dependencies.
From-SVN: r149557
2009-07-13 Robert Dewar <dewar@adacore.com>
* par-ch3.adb (P_Discrete_Choice_List): Choice can only be simple
expression if extensions permitted.
* par-ch4.adb (P_Membership_Test): New procedure (implement membership
set tests).
(P_Relation): Use P_Membership_Test
* par.adb (P_Membership_Test): New procedure (implement membership set
tests).
* sinfo.ads, sinfo.adb (N_In, N_Not_In) Add Alternatives field for sets.
* sprint.adb (Sprint_Node): Handle set form for membership tests.
From-SVN: r149556
2009-07-13 Thomas Quinot <quinot@adacore.com>
* exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies):
Do not attempt to generate stubs for predefined primitives of
synchronized interfaces.
(Add_Stub_Type): Factor some code from the PCS-specific variants of
Build_Stub_Type.
2009-07-13 Ed Schonberg <schonberg@adacore.com>
* sem_disp.adb (Override_Dispatching_Operation): Functions inherit the
Controlling_Result flag from the operation they override.
From-SVN: r149553
2009-07-13 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: The gnatf switch no longer is needed to get full
details on unsupported constructs.
* rtsfind.adb: Remove references to All_Errors_Mode, give errors
unconditionally.
* s-trafor-default.adb: Correct some warnings
* s-valwch.adb, a-calend.adb, freeze.adb, prj.ads, s-vmexta.adb,
sem.adb, sem_ch10.adb, sem_ch6.adb, sem_disp.adb, vxaddr2line.adb:
Minor reformatting.
* par-ch4.adb (Conditional_Expression): Capture proper location for
conditional expression, should point to IF.
* s-tassta.adb, a-wtdeau.adb, s-tasren.adb, s-arit64.adb, s-imgdec.adb,
s-direio.adb, s-tpobop.adb, g-socket.adb, s-tposen.adb, s-taskin.adb,
g-calend.adb, s-regpat.adb, s-scaval.adb, g-catiio.adb: Minor code
reorganization (use conditional expressions).
2009-07-13 Ed Schonberg <schonberg@adacore.com>
* exp_util.adb (Remove_Side_Effects): If the expression is a call to a
build-in-place function that returns an inherently limited type (not
just a task type) create proper object declaration so that extra
build-in-place actuals are properly added to the call.
From-SVN: r149551
2009-07-13 Emmanuel Briot <briot@adacore.com>
* prj-nmsc.adb: Avoid traversing the list of source files if
we have already processed all locally removed files.
2009-07-13 Jose Ruiz <ruiz@adacore.com>
* gnat_ugn.texi: Fix typo.
2009-07-13 Robert Dewar <dewar@adacore.com>
* freeze.adb: Minor reformatting
Minor code reorganization (use Nkind_In)
* exp_ch6.adb: Minor reformatting
From-SVN: r149546
2009-07-12 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/type_traits (common_type): Remove workaround for
PR36628, now fixed.
From-SVN: r149537