summaryrefslogtreecommitdiff
path: root/gcc/ada/sem_prag.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2009-04-10 10:21:44 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2009-04-10 10:21:44 +0000
commitfa0b5df1de4836ff42c9a8ddfd340fad2aa8b494 (patch)
treebf94e39042c5b3d4750165692d29ac1028365b68 /gcc/ada/sem_prag.adb
parent1971b754e53b28f8dfbe62cce9baa29f96e0b918 (diff)
downloadgcc-fa0b5df1de4836ff42c9a8ddfd340fad2aa8b494.tar.gz
2009-04-10 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb (Analyze_Pragma, case Task_Name): Do not expand argument of pragma. It will be recopied and analyzed when used in call to Create_Task. * sem_res.adb (Resolve_Call): Clarify use of secondary stack within initialization operations and recognize use of it in procedure calls within init_procs. * exp_ch9.adb (Make_Task_Create_Call): Copy full tree of Task_Name argument, because it may have side-effects. * exp_ch2.adb: Remove obsolete comments on default functions 2009-04-10 Jose Ruiz <ruiz@adacore.com> * adaint.c (RTX section): Do for RTX the same thing as we do for Windows (include ctype.h and define a fallback ISALPHA if IN_RTS). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145882 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/sem_prag.adb')
-rw-r--r--gcc/ada/sem_prag.adb6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb
index af25b1427cd..544c6090922 100644
--- a/gcc/ada/sem_prag.adb
+++ b/gcc/ada/sem_prag.adb
@@ -11168,7 +11168,11 @@ package body Sem_Prag is
Check_Arg_Count (1);
Arg := Expression (Arg1);
- Analyze_And_Resolve (Arg, Standard_String);
+
+ -- The expression is used in the call to create_task, and must
+ -- be expanded there, not in the context of the current spec.
+
+ Preanalyze_And_Resolve (New_Copy_Tree (Arg), Standard_String);
if Nkind (P) /= N_Task_Definition then
Pragma_Misplaced;