Commit ebb6faaa by Arnaud Charlet

[multiple changes]

2011-09-06  Jerome Guitton  <guitton@adacore.com>

	* sysdep.c (__gnat_get_task_options): Disable VX_SPE_TASK
	on vThreads.

2011-09-06  Thomas Quinot  <quinot@adacore.com>

	* s-solita.adb: Minor reformatting.

2011-09-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): The body that
	is a rewriting of an expression function does not freeze previous
	entities.

2011-09-06  Robert Dewar  <dewar@adacore.com>

	* impunit.adb (Is_Known_Unit): Fix bad handling of Ada 2012 case

From-SVN: r178593
parent 60435286
2011-09-06 Jerome Guitton <guitton@adacore.com>
* sysdep.c (__gnat_get_task_options): Disable VX_SPE_TASK
on vThreads.
2011-09-06 Thomas Quinot <quinot@adacore.com>
* s-solita.adb: Minor reformatting.
2011-09-06 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): The body that
is a rewriting of an expression function does not freeze previous
entities.
2011-09-06 Robert Dewar <dewar@adacore.com>
* impunit.adb (Is_Known_Unit): Fix bad handling of Ada 2012 case
2011-09-06 Tristan Gingold <gingold@adacore.com> 2011-09-06 Tristan Gingold <gingold@adacore.com>
* gcc-interface/Makefile.in: Handle e500v2-wrs-vxworksae like * gcc-interface/Makefile.in: Handle e500v2-wrs-vxworksae like
......
...@@ -761,6 +761,12 @@ package body Impunit is ...@@ -761,6 +761,12 @@ package body Impunit is
end if; end if;
end loop; end loop;
for J in Non_Imp_File_Names_12'Range loop
if Name_Buffer (1 .. 8) = Non_Imp_File_Names_12 (J) then
return True;
end if;
end loop;
-- If not found, not known -- If not found, not known
return False; return False;
......
...@@ -150,12 +150,11 @@ package body System.Soft_Links.Tasking is ...@@ -150,12 +150,11 @@ package body System.Soft_Links.Tasking is
EO : Ada.Exceptions.Exception_Occurrence; EO : Ada.Exceptions.Exception_Occurrence;
begin begin
-- We can only be here because we are terminating the environment -- We can only be here because we are terminating the environment task.
-- task. Task termination for the rest of the tasks is handled in -- Task termination for all other tasks is handled in the Task_Wrapper.
-- the Task_Wrapper.
-- We do not want to enable this check and e.g. call System.OS_Lib.Abort -- We do not want to enable this check and e.g. call System.OS_Lib.Abort
-- here because some restricted run-times may not have system.os_lib -- here because some restricted run-times may not have System.OS_Lib
-- (e.g. JVM), and calling abort may do more harm than good to the -- (e.g. JVM), and calling abort may do more harm than good to the
-- main application. -- main application.
...@@ -216,7 +215,7 @@ package body System.Soft_Links.Tasking is ...@@ -216,7 +215,7 @@ package body System.Soft_Links.Tasking is
SSL.Timed_Delay := Timed_Delay_T'Access; SSL.Timed_Delay := Timed_Delay_T'Access;
SSL.Task_Termination_Handler := Task_Termination_Handler_T'Access; SSL.Task_Termination_Handler := Task_Termination_Handler_T'Access;
-- No need to create a new Secondary Stack, since we will use the -- No need to create a new secondary stack, since we will use the
-- default one created in s-secsta.adb. -- default one created in s-secsta.adb.
SSL.Set_Sec_Stack_Addr (SSL.Get_Sec_Stack_Addr_NT); SSL.Set_Sec_Stack_Addr (SSL.Get_Sec_Stack_Addr_NT);
......
...@@ -2346,7 +2346,12 @@ package body Sem_Ch6 is ...@@ -2346,7 +2346,12 @@ package body Sem_Ch6 is
-- expansion has generated an equivalent type that is used when -- expansion has generated an equivalent type that is used when
-- elaborating the body. -- elaborating the body.
if No (Spec_Id) then -- An exception in the case of Ada2012, AI05-177: The bodies
-- created for expression functions do not freeze.
if No (Spec_Id)
and then Nkind (Original_Node (N)) /= N_Expression_Function
then
Freeze_Before (N, Body_Id); Freeze_Before (N, Body_Id);
elsif Nkind (Parent (N)) = N_Compilation_Unit then elsif Nkind (Parent (N)) = N_Compilation_Unit then
......
...@@ -911,7 +911,8 @@ __gnat_get_task_options (void) ...@@ -911,7 +911,8 @@ __gnat_get_task_options (void)
/* Force VX_FP_TASK because it is almost always required */ /* Force VX_FP_TASK because it is almost always required */
options |= VX_FP_TASK; options |= VX_FP_TASK;
#if defined (__SPE__) && (! defined (__VXWORKSMILS__)) #if defined (__SPE__) && (! defined (__VXWORKSMILS__)) \
&& (! defined (VTHREADS))
options |= VX_SPE_TASK; options |= VX_SPE_TASK;
#endif #endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment