aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/fortran/ChangeLog4
-rw-r--r--gcc/fortran/primary.c6
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gfortran.dg/boz_5.f904
4 files changed, 18 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 86aeeae..7f26375 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,7 @@
+2005-10-14 Jakub Jelinek <jakub@redhat.com>
+
+ * primary.c (match_boz_constant): Add missing break after gfc_error.
+
2005-10-12 Paul Thomas <pault@gcc.gnu.org>
PR fortran/24092
diff --git a/gcc/fortran/primary.c b/gcc/fortran/primary.c
index 76eed6b..e3e8127 100644
--- a/gcc/fortran/primary.c
+++ b/gcc/fortran/primary.c
@@ -351,10 +351,13 @@ match_boz_constant (gfc_expr ** result)
{
case 2:
gfc_error ("Empty set of digits in binary constant at %C");
+ break;
case 8:
gfc_error ("Empty set of digits in octal constant at %C");
+ break;
case 16:
gfc_error ("Empty set of digits in hexadecimal constant at %C");
+ break;
default:
gcc_unreachable ();
}
@@ -367,10 +370,13 @@ match_boz_constant (gfc_expr ** result)
{
case 2:
gfc_error ("Illegal character in binary constant at %C");
+ break;
case 8:
gfc_error ("Illegal character in octal constant at %C");
+ break;
case 16:
gfc_error ("Illegal character in hexadecimal constant at %C");
+ break;
default:
gcc_unreachable ();
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index a0ee3a0..fcb7bec 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2005-10-14 Jakub Jelinek <jakub@redhat.com>
+
+ * gfortran.dg/boz_5.f90: New test.
+
2005-10-14 Nathan Sidwell <nathan@codesourcery.com>
PR c++/22551
diff --git a/gcc/testsuite/gfortran.dg/boz_5.f90 b/gcc/testsuite/gfortran.dg/boz_5.f90
new file mode 100644
index 0000000..3b1994b
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/boz_5.f90
@@ -0,0 +1,4 @@
+! { dg-do compile }
+ integer, dimension (2) :: i
+ i = (/Z'abcde', Z'abcde/) ! { dg-error "Illegal character" }
+end