aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/decl.c
diff options
context:
space:
mode:
authorAsher Langton <langton2@llnl.gov>2005-10-23 20:42:27 +0000
committerSteven Bosscher <steven@gcc.gnu.org>2005-10-23 20:42:27 +0000
commit5f700e6de038a05c3068dac9199b21bbdc70c2e9 (patch)
tree4057e22ce2c635f783149fcd34581f3f5ffe04d7 /gcc/fortran/decl.c
parent17d6e514a126393563bc7d44c44842bbdd13cd87 (diff)
downloadgcc-5f700e6de038a05c3068dac9199b21bbdc70c2e9.zip
gcc-5f700e6de038a05c3068dac9199b21bbdc70c2e9.tar.gz
gcc-5f700e6de038a05c3068dac9199b21bbdc70c2e9.tar.bz2
Commit for Asher Langton <langton2@llnl.gov>
gcc/ * decl.c (match_type_spec): Add a BYTE type as an extension. testsuite/ * gfortran.dg/byte_1.f90: New test. * gfortran.dg/byte_2.f90: New test. From-SVN: r105823
Diffstat (limited to 'gcc/fortran/decl.c')
-rw-r--r--gcc/fortran/decl.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c
index 7a605d6..48cb920 100644
--- a/gcc/fortran/decl.c
+++ b/gcc/fortran/decl.c
@@ -1386,6 +1386,24 @@ match_type_spec (gfc_typespec * ts, int implicit_flag)
gfc_clear_ts (ts);
+ if (gfc_match (" byte") == MATCH_YES)
+ {
+ if (gfc_notify_std(GFC_STD_GNU, "Extension: BYTE type at %C")
+ == FAILURE)
+ return MATCH_ERROR;
+
+ if (gfc_validate_kind (BT_INTEGER, 1, true) < 0)
+ {
+ gfc_error ("BYTE type used at %C "
+ "is not available on the target machine");
+ return MATCH_ERROR;
+ }
+
+ ts->type = BT_INTEGER;
+ ts->kind = 1;
+ return MATCH_YES;
+ }
+
if (gfc_match (" integer") == MATCH_YES)
{
ts->type = BT_INTEGER;