www.delorie.com/gnu/docs/gcc/g77_362.html   search  
Buy the book!

Using and Porting GNU Fortran

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.9.2 Ugly Assumed-Size Arrays

The `-fugly-assumed' option enables the treatment of any array with a final dimension specified as `1' as an assumed-size array, as if `*' had been specified instead.

For example, `DIMENSION X(1)' is treated as if it had read `DIMENSION X(*)' if `X' is listed as a dummy argument in a preceding SUBROUTINE, FUNCTION, or ENTRY statement in the same program unit.

Use an explicit lower bound to avoid this interpretation. For example, `DIMENSION X(1:1)' is never treated as if it had read `DIMENSION X(*)' or `DIMENSION X(1:*)'. Nor is `DIMENSION X(2-1)' affected by this option, since that kind of expression is unlikely to have been intended to designate an assumed-size array.

This option is used to prevent warnings being issued about apparent out-of-bounds reference such as `X(2) = 99'.

It also prevents the array from being used in contexts that disallow assumed-size arrays, such as `PRINT *,X'. In such cases, a diagnostic is generated and the source file is not compiled.

The construct affected by this option is used only in old code that pre-exists the widespread acceptance of adjustable and assumed-size arrays in the Fortran community.

Note: This option does not affect how `DIMENSION X(1)' is treated if `X' is listed as a dummy argument only after the DIMENSION statement (presumably in an ENTRY statement). For example, `-fugly-assumed' has no effect on the following program unit:


  webmaster     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003