From: Tobias Burnus Date: Mon, 20 Apr 2009 22:19:25 +0000 (+0200) Subject: re PR fortran/39811 (Bogus warning for valid continuation lines) X-Git-Tag: releases/gcc-4.5.0~6329 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=47b0b4fa4f9a81b7714130698d4e0614bace9f24;p=thirdparty%2Fgcc.git re PR fortran/39811 (Bogus warning for valid continuation lines) 2009-04-20 Tobias Burnus PR fortran/39811 * scanner.c (load_line): Fix bogus "&" compile-time diagnostic. 2009-04-20 Tobias Burnus PR fortran/39811 * gfortran.dg/continuation_11.f90: New test. From-SVN: r146460 --- diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index d230333bc3c8..6a2cd5ffaf7e 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2009-04-20 Tobias Burnus + + PR fortran/39811 + * scanner.c (load_line): Fix bogus "&" compile-time diagnostic. + 2009-04-20 Paul Thomas PR fortran/39800 diff --git a/gcc/fortran/scanner.c b/gcc/fortran/scanner.c index 1e7ec966efec..cff988367cda 100644 --- a/gcc/fortran/scanner.c +++ b/gcc/fortran/scanner.c @@ -1404,7 +1404,10 @@ load_line (FILE *input, gfc_char_t **pbuf, int *pbuflen, const int *first_char) if (c == '&') { if (seen_ampersand) - seen_ampersand = 0; + { + seen_ampersand = 0; + seen_printable = 1; + } else seen_ampersand = 1; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 1b0914c27fd3..8eea619dc8ec 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2009-04-20 Tobias Burnus + + PR fortran/39811 + * gfortran.dg/continuation_11.f90: New test. + 2009-04-21 Manuel Lopez-Ibanez PR c++/13358 @@ -9,7 +14,7 @@ * g++.dg/warn/pr13358-3.C: New. * g++.dg/warn/pr13358-4.C: New. -2009-04-20 Andrew Pinski +2009-04-20 Andrew Pinski * gcc.dg/framework-2.c: Fix up for non existent includes being fatal errors now. diff --git a/gcc/testsuite/gfortran.dg/continuation_11.f90 b/gcc/testsuite/gfortran.dg/continuation_11.f90 new file mode 100644 index 000000000000..d8cd46b8a17b --- /dev/null +++ b/gcc/testsuite/gfortran.dg/continuation_11.f90 @@ -0,0 +1,15 @@ +! { dg-do run } +! { dg-options "-Wall -pedantic" } +! Before a bogus warning was printed +! +! PR fortran/39811 +! +implicit none +character(len=70) :: str +write(str,'(a)') 'Print rather a lot of ampersands &&&&& + &&&&& + &&&&&' +if (len(trim(str)) /= 44 & + .or. str /= 'Print rather a lot of ampersands &&&&&&&&&&&') & + call abort() +end