'!$OMP' directive followed by several spaces

Tobias Burnus burnus@net-b.de
Wed Feb 14 14:56:00 GMT 2007


Hi,

Bernhard Fischer wrote:
> Does the standard require that the directive is followed by ' ' and not
> by the class space? If so then the assert should be corrected, too, from
> the looks.
>
>   
>>          gcc_assert (c == ' ');
>> +         gfc_gobble_whitespace ();
>>     

I think the assert is ok - at least for non-continuation lines it is
required:

http://www.openmp.org/drupal/mp-documents/spec25.pdf
(Words in [ ] brackets are added by me.)

"2.1.2 Free Source Form Directives"
[...]
"The sentinel ["!$omp"] can appear in any column as long as it is
preceded only by white space (spaces and tab characters). It must appear
as a single word with no intervening character. Fortran free form line
length, white space, and continuation rules apply to the directive line.
[>] Initial directive lines must have a space after the sentinel. [<]
Continued directive lines must have an ampersand as the last nonblank
character on the line, prior to any comment placed inside the directive.
Continuation directive lines can have an ampersand after the directive
sentinel with optional white space before and after the
ampersand."

For fixed source form (2.1.1):
"Initial directive lines must have a space or zero in column 6, and
continuation directive lines must have a character other than a space or
a zero in column 6."

Tobias



More information about the Fortran mailing list