summaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2013-09-10 15:02:33 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2013-09-10 15:02:33 +0000
commita5109493ef83c6795389171db07e07cf5da11f85 (patch)
tree2c817b19f453cea2fbcdaf67c1d047c212e3dcae /gcc/ada
parentb21edad92b3c4d17c8abac8609ce43841572379a (diff)
downloadgcc-a5109493ef83c6795389171db07e07cf5da11f85.tar.gz
2013-09-10 Thomas Quinot <quinot@adacore.com>
* adaint.c (__gnat_is_executable_file_attr): Should be true for an executable regular file only only (not for a directory that has the executable permission). 2013-09-10 Ed Schonberg <schonberg@adacore.com> * sem_res.adb: Further work on operator calls in ASIS. 2013-09-10 Yannick Moy <moy@adacore.com> * sinfo.ads, sem_prag.ads, sem_ch13.adb: Minor correction and comment update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202459 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/ChangeLog15
-rw-r--r--gcc/ada/adaint.c2
-rw-r--r--gcc/ada/sem_ch13.adb4
-rw-r--r--gcc/ada/sem_prag.ads7
-rw-r--r--gcc/ada/sem_res.adb15
-rw-r--r--gcc/ada/sinfo.ads2
6 files changed, 31 insertions, 14 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 13d2590b1fc..cbf00794828 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,5 +1,20 @@
2013-09-10 Thomas Quinot <quinot@adacore.com>
+ * adaint.c (__gnat_is_executable_file_attr): Should be true
+ for an executable regular file only only (not for a directory
+ that has the executable permission).
+
+2013-09-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb: Further work on operator calls in ASIS.
+
+2013-09-10 Yannick Moy <moy@adacore.com>
+
+ * sinfo.ads, sem_prag.ads, sem_ch13.adb: Minor correction and comment
+ update.
+
+2013-09-10 Thomas Quinot <quinot@adacore.com>
+
* aspects.ads, sem_ch13.adb: Minor reformatting.
* adaint.c (__gnat_set_close_on_exec): Add comment documenting
that this routine is shared between OS_Lib and Sockets.
diff --git a/gcc/ada/adaint.c b/gcc/ada/adaint.c
index 850e1fc47b1..f76edb73995 100644
--- a/gcc/ada/adaint.c
+++ b/gcc/ada/adaint.c
@@ -2264,7 +2264,7 @@ __gnat_is_executable_file_attr (char* name, struct file_attributes* attr)
#endif
}
- return attr->executable;
+ return attr->regular && attr->executable;
}
int
diff --git a/gcc/ada/sem_ch13.adb b/gcc/ada/sem_ch13.adb
index edaf8e7e7ce..40cc72957d5 100644
--- a/gcc/ada/sem_ch13.adb
+++ b/gcc/ada/sem_ch13.adb
@@ -1378,7 +1378,7 @@ package body Sem_Ch13 is
if Is_Ignored (Aspect) then
Set_Is_Ignored (Aitem);
elsif Is_Checked (Aspect) then
- Set_Is_Checked (Aspect);
+ Set_Is_Checked (Aitem);
end if;
Set_Corresponding_Aspect (Aitem, Aspect);
@@ -1396,7 +1396,7 @@ package body Sem_Ch13 is
-- Skip looking at aspect if it is totally disabled. Just mark
-- it as such for later reference in the tree. This also sets
- -- the Is_Ignored flag appropriately.
+ -- the Is_Ignored and Is_Checked flags appropriately.
Check_Applicable_Policy (Aspect);
diff --git a/gcc/ada/sem_prag.ads b/gcc/ada/sem_prag.ads
index 78199319208..ecfb3eda75a 100644
--- a/gcc/ada/sem_prag.ads
+++ b/gcc/ada/sem_prag.ads
@@ -76,9 +76,10 @@ package Sem_Prag is
-- If the name is a valid assertion kind name, then the Check_Policy pragma
-- chain is checked for a matching entry (or for an Assertion entry which
-- matches all possibilities). If a matching entry is found then the policy
- -- is checked. If it is Off, Ignore, or Disable, then the Is_Ignored flag
- -- is set in the aspect or pragma node. Additionally for policy Disable,
- -- the Is_Disabled flag is set.
+ -- is checked. If it is On or Check, then the Is_Checked flag is set in
+ -- the aspect or pragma node. If it is Off, Ignore, or Disable, then the
+ -- Is_Ignored flag is set in the aspect or pragma node. Additionally for
+ -- policy Disable, the Is_Disabled flag is set.
--
-- If no matching Check_Policy pragma is found then the effect depends on
-- whether -gnata was used, if so, then the call has no effect, otherwise
diff --git a/gcc/ada/sem_res.adb b/gcc/ada/sem_res.adb
index 61f7712a090..e08370e7824 100644
--- a/gcc/ada/sem_res.adb
+++ b/gcc/ada/sem_res.adb
@@ -1583,15 +1583,16 @@ package body Sem_Res is
if ASIS_Mode and then Nkind (N) in N_Op then
if Is_Binary then
- Set_Parameter_Associations
- (Original_Node (N),
- New_List (New_Copy_Tree (Left_Opnd (N)),
- New_Copy_Tree (Right_Opnd (N))));
+ Rewrite (First (Parameter_Associations (Original_Node (N))),
+ New_Copy_Tree (Left_Opnd (N)));
+ Rewrite (Next (First (Parameter_Associations (Original_Node (N)))),
+ New_Copy_Tree (Right_Opnd (N)));
else
- Set_Parameter_Associations
- (Original_Node (N),
- New_List (New_Copy_Tree (Right_Opnd (N))));
+ Rewrite (First (Parameter_Associations (Original_Node (N))),
+ New_Copy_Tree (Right_Opnd (N)));
end if;
+
+ Set_Parent (Original_Node (N), Parent (N));
end if;
end Make_Call_Into_Operator;
diff --git a/gcc/ada/sinfo.ads b/gcc/ada/sinfo.ads
index 906077b9793..78ab2c19434 100644
--- a/gcc/ada/sinfo.ads
+++ b/gcc/ada/sinfo.ads
@@ -1272,7 +1272,7 @@ package Sinfo is
-- Is_Checked (Flag11-Sem)
-- Present in N_Aspect_Specification and N_Pragma nodes. Set for an
-- assertion aspect or pragma, or check pragma for an assertion, that
- -- is to be checked at run - time. If either Is_Checked or Is_Ignored
+ -- is to be checked at run time. If either Is_Checked or Is_Ignored
-- is set (they cannot both be set), then this means that the status of
-- the pragma has been checked at the appropriate point and should not
-- be further modified (in some cases these flags are copied when a