Blame SOURCES/0011-Allow-character-to-int-conversions-in-DATA-statement.patch

3db796
From ced1b6638459f33dc9f22a0cd959f97c05a62e22 Mon Sep 17 00:00:00 2001
3db796
From: Jim MacArthur <jim.macarthur@codethink.co.uk>
3db796
Date: Wed, 7 Oct 2015 18:23:31 -0400
3db796
Subject: [PATCH 11/23] Allow character-to-int conversions in DATA statements
3db796
3db796
This feature is enabled by the `-std=extra-legacy` compiler flag.
3db796
---
3db796
3db796
    0011-Allow-character-to-int-conversions-in-DATA-statement.patch
3db796
3db796
diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c
3db796
index f347c75..9982b8d 100644
3db796
--- a/gcc/fortran/expr.c
3db796
+++ b/gcc/fortran/expr.c
3db796
@@ -3294,6 +3294,10 @@ gfc_check_assign (gfc_expr *lvalue, gfc_expr *rvalue, int conform,
3db796
 	  || rvalue->ts.type == BT_HOLLERITH)
3db796
 	return true;
3db796
 
3db796
+      if ((gfc_option.allow_std & GFC_STD_EXTRA_LEGACY)
3db796
+	  && gfc_numeric_ts (&lvalue->ts) && rvalue->ts.type == BT_CHARACTER)
3db796
+	return true;
3db796
+
3db796
       if (lvalue->ts.type == BT_LOGICAL && rvalue->ts.type == BT_LOGICAL)
3db796
 	return true;
3db796