aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2014-02-25 15:52:42 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2014-02-25 15:52:42 +0100
commit64e86d00889c7694172fc130726bd3123c19564c (patch)
treecd8f75809399b35744ff7080063a0f4c0edbe111
parent3684d1fc71263d05352648115737a3cf35a1764b (diff)
downloadgcc-64e86d00889c7694172fc130726bd3123c19564c.zip
gcc-64e86d00889c7694172fc130726bd3123c19564c.tar.gz
gcc-64e86d00889c7694172fc130726bd3123c19564c.tar.bz2
[multiple changes]
2014-02-25 Yannick Moy <moy@adacore.com> * sem_prag.adb: Remove obsolete reference to SPARK RM in error message. 2014-02-25 Doug Rupp <rupp@adacore.com> * init.c (HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE): Enable for ARM. (__gnat_adjust_context_for_raise): Bump the PC by 2. 2014-02-25 Ed Schonberg <schonberg@adacore.com> * par-ch3.adb (P_Basic_Declarative_Items): In the case of a misplaced IS, add a statement sequence to improper body only if one has not been parsed already. 2014-02-25 Ed Schonberg <schonberg@adacore.com> * sem_attr.adb (Analyze_Attribute, case 'Update): Check for mismatch when multidimensional array is updated with a single index. From-SVN: r208126
-rw-r--r--gcc/ada/ChangeLog21
-rw-r--r--gcc/ada/init.c6
-rw-r--r--gcc/ada/par-ch3.adb1
-rw-r--r--gcc/ada/sem_attr.adb4
-rw-r--r--gcc/ada/sem_prag.adb4
5 files changed, 33 insertions, 3 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index ac263d9..6850ef5 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,5 +1,26 @@
2014-02-25 Yannick Moy <moy@adacore.com>
+ * sem_prag.adb: Remove obsolete reference to SPARK RM in error message.
+
+2014-02-25 Doug Rupp <rupp@adacore.com>
+
+ * init.c (HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE): Enable for ARM.
+ (__gnat_adjust_context_for_raise): Bump the PC by 2.
+
+2014-02-25 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch3.adb (P_Basic_Declarative_Items): In the case of a
+ misplaced IS, add a statement sequence to improper body only if
+ one has not been parsed already.
+
+2014-02-25 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute, case 'Update): Check for
+ mismatch when multidimensional array is updated with a single
+ index.
+
+2014-02-25 Yannick Moy <moy@adacore.com>
+
* sem_ch3.adb, sem_ch5.adb, sem_prag.adb, sem_attr.adb, errout.ads,
sem_ch6.adb: Mark most references to SPARK RM in error messages
for removal.
diff --git a/gcc/ada/init.c b/gcc/ada/init.c
index d61086e..9ae5f56 100644
--- a/gcc/ada/init.c
+++ b/gcc/ada/init.c
@@ -452,7 +452,8 @@ void fake_linux_sigemptyset (sigset_t *set)
#endif
-#if defined (i386) || defined (__x86_64__) || defined (__ia64__)
+#if defined (i386) || defined (__x86_64__) || defined (__ia64__) \
+ || defined (__ARMEL__)
#define HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE
@@ -496,6 +497,9 @@ __gnat_adjust_context_for_raise (int signo ATTRIBUTE_UNUSED, void *ucontext)
#elif defined (__ia64__)
/* ??? The IA-64 unwinder doesn't compensate for signals. */
mcontext->sc_ip++;
+#elif defined (__ARMEL__)
+ /* ARM Bump has to be an even number because of odd/even architecture. */
+ mcontext->arm_pc+=2;
#endif
}
diff --git a/gcc/ada/par-ch3.adb b/gcc/ada/par-ch3.adb
index 4f8afb0..de50e02 100644
--- a/gcc/ada/par-ch3.adb
+++ b/gcc/ada/par-ch3.adb
@@ -4631,6 +4631,7 @@ package body Ch3 is
if Nkind_In
(Decl, N_Subprogram_Body, N_Package_Body, N_Task_Body)
+ and then No (Handled_Statement_Sequence (Decl))
then
Set_Handled_Statement_Sequence (Decl,
Make_Handled_Sequence_Of_Statements (Sloc (Decl),
diff --git a/gcc/ada/sem_attr.adb b/gcc/ada/sem_attr.adb
index 45210e4..38c7e07 100644
--- a/gcc/ada/sem_attr.adb
+++ b/gcc/ada/sem_attr.adb
@@ -6259,6 +6259,10 @@ package body Sem_Attr is
-- dimensional array.
Index_Type := First_Index (P_Type);
+ if Present (Next_Index (Index_Type)) then
+ Error_Msg_N
+ ("too few subscripts in array reference", Comp);
+ end if;
Index := First (Choices (Assoc));
while Present (Index) loop
diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb
index 8047a4c..bb5dafa 100644
--- a/gcc/ada/sem_prag.adb
+++ b/gcc/ada/sem_prag.adb
@@ -10554,8 +10554,8 @@ package body Sem_Prag is
else
Error_Msg_N
- ("simple option not allowed in state declaration "
- & "(SPARK RM 7.1.4(3))", Opt);
+ ("simple option not allowed in state declaration",
+ Opt);
end if;
Next (Opt);