Revert "New patch for the empty line issue with Fortran in Scorep 2.0.0."

This reverts commit 81acc276338c66d9a908a021aa97aa49d3467873.
This commit is contained in:
Christoph Niethammer 2016-08-12 09:15:05 +00:00
parent ac1d66c880
commit 436e7c2734

View file

@ -1,56 +1,42 @@
Index: src/opari/opari2_parser_f.cc Index: src/opari/opari2_parser_f.cc
=================================================================== ===================================================================
--- src/opari/opari2_parser_f.cc (revision 1749) --- src/opari/opari2_parser_f.cc (revision 1748)
+++ src/opari/opari2_parser_f.cc (working copy) +++ src/opari/opari2_parser_f.cc (working copy)
@@ -763,11 +763,13 @@ @@ -304,6 +304,12 @@
lines.push_back( m_lowline ); return result;
}
bool found_continuation_line; +bool
- string prev_sentinel = m_sentinel; +OPARI2_FortranParser::is_empty_line( void )
- unsigned ignored_lines = 0; +{
+ bool last_was_continuation_line = false; + return m_lowline.find_first_not_of( " \t" ) == string::npos;
+ string prev_sentinel = m_sentinel; +}
+ unsigned ignored_lines = 0; +
do /**@brief check if this line is a comment line*/
{ bool
- found_continuation_line = false; OPARI2_FortranParser::is_comment_line( void )
+ last_was_continuation_line = found_continuation_line; @@ -816,7 +822,7 @@
+ found_continuation_line = false;
if ( m_options.form == F_FREE )
{
@@ -778,7 +780,7 @@
--com;
}
string::size_type amp = m_lowline.find_last_not_of( " \t", com );
- if ( m_lowline[ amp ] == '&' )
+ if ( m_lowline[ amp ] == '&' || ( is_empty_line() && last_was_continuation_line ) )
{
found_continuation_line = true;
}
@@ -822,8 +824,15 @@
found_continuation_line = true; found_continuation_line = true;
m_sentinel = prev_sentinel; m_sentinel = prev_sentinel;
} }
- else if ( found_continuation_line && !is_empty_line() ) - else if ( found_continuation_line )
+ else if ( is_empty_line() && last_was_continuation_line && m_options.form == F_FREE ) + else if ( found_continuation_line && !is_empty_line() )
{ {
+ found_continuation_line = true;
+ lines.push_back( m_lowline );
+ m_sentinel = prev_sentinel;
+ ignored_lines--;
+ }
+ else if ( found_continuation_line )
+ {
cerr << m_curr_file << ":" << m_lineno - 1 cerr << m_curr_file << ":" << m_lineno - 1
<< ": ERROR: missing continuation line\n"; << ": ERROR: missing continuation line\n";
cleanup_and_exit(); Index: src/opari/opari2_parser_f.h
@@ -840,7 +849,6 @@ ===================================================================
OPARI2_Directive* d_new = --- src/opari/opari2_parser_f.h (revision 1748)
NewDirective( lines, directive_prefix, m_options.lang, m_curr_file, +++ src/opari/opari2_parser_f.h (working copy)
m_lineno - lines.size() - ignored_lines + 1 ); @@ -98,6 +98,10 @@
- bool
if ( d_new ) is_sub_unit_header( void );
{
m_waitfor_loopstart = d_new->NeedsEndLoopDirective(); +/**@brief check if this line is empty*/
+ bool
+ is_empty_line( void );
+
/**@brief check if this line is a comment line*/
bool
is_comment_line( void );