aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2007-04-21 21:34:04 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2007-04-21 21:34:04 +0000
commitc284e499898990a4d072f2b4ce7ff95571867ea2 (patch)
tree4a1955d976569c717b0f3c5ff01fe68470417d99 /gcc
parent3d95caa4af11b8aff1745cbe5eab585f5a724c40 (diff)
downloadgcc-c284e499898990a4d072f2b4ce7ff95571867ea2.zip
gcc-c284e499898990a4d072f2b4ce7ff95571867ea2.tar.gz
gcc-c284e499898990a4d072f2b4ce7ff95571867ea2.tar.bz2
re PR fortran/31495 (Is this continuation line legal?)
2007-04-21 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/31495 * scanner.c (load_line): Remove check for comment after ampersand and adjust tracking of ampersand. From-SVN: r124022
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/scanner.c22
2 files changed, 13 insertions, 15 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index a02a381..95afac6 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2007-04-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/31495
+ * scanner.c (load_line): Remove check for comment after ampersand and
+ adjust tracking of ampersand.
+
2007-04-21 Andrew Pinski <andrew_pinski@playstation.sony.com>
* f95-lang.c (lang_tree_node): Use GENERIC_NEXT
diff --git a/gcc/fortran/scanner.c b/gcc/fortran/scanner.c
index 1f1593b..685039c 100644
--- a/gcc/fortran/scanner.c
+++ b/gcc/fortran/scanner.c
@@ -1050,7 +1050,7 @@ load_line (FILE *input, char **pbuf, int *pbuflen)
{
/* Check for illegal use of ampersand. See F95 Standard 3.3.1.3. */
if (gfc_current_form == FORM_FREE
- && !seen_printable && seen_ampersand)
+ && !seen_printable && seen_ampersand)
{
if (pedantic)
gfc_error_now ("'&' not allowed by itself in line %d",
@@ -1067,25 +1067,17 @@ load_line (FILE *input, char **pbuf, int *pbuflen)
if (c == '\0')
continue;
- /* Check for illegal use of ampersand. See F95 Standard 3.3.1.3. */
if (c == '&')
- seen_ampersand = 1;
-
- if ((c != ' ' && c != '&' && c != '!') || (c == '!' && !seen_ampersand))
- seen_printable = 1;
-
- if (gfc_current_form == FORM_FREE
- && c == '!' && !seen_printable && seen_ampersand)
{
- if (pedantic)
- gfc_error_now ("'&' not allowed by itself with comment in "
- "line %d", current_line);
+ if (seen_ampersand)
+ seen_ampersand = 0;
else
- gfc_warning_now ("'&' not allowed by itself with comment in "
- "line %d", current_line);
- seen_printable = 1;
+ seen_ampersand = 1;
}
+ if ((c != '&' && c != '!') || (c == '!' && !seen_ampersand))
+ seen_printable = 1;
+
/* Is this a fixed-form comment? */
if (gfc_current_form == FORM_FIXED && i == 0
&& (c == '*' || c == 'c' || c == 'd'))