[PATCH] D96344: [flang][driver] Add options for -fdefault* and -flarge-sizes

Andrzej Warzynski via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Feb 16 01:04:31 PST 2021


awarzynski added inline comments.


================
Comment at: clang/include/clang/Driver/Options.td:4231
+def flarge_sizes : Flag<["-"],"flarge-sizes">, Group<f_Group>, 
+  HelpText<"Set the default KIND for INTEGER to 8.">;
 }
----------------
tskeith wrote:
> That's not what -flarge-sizes does. Here is the description from flang/docs/Extensions.md:
> 
> > The default `INTEGER` type is required by the standard to occupy
> > the same amount of storage as the default `REAL` type.  Default
> > `REAL` is of course 32-bit IEEE-754 floating-point today.  This legacy
> > rule imposes an artificially small constraint in some cases
> > where Fortran mandates that something have the default `INTEGER`
> > type: specifically, the results of references to the intrinsic functions
> > `SIZE`, `STORAGE_SIZE`,`LBOUND`, `UBOUND`, `SHAPE`, and the location reductions
> > `FINDLOC`, `MAXLOC`, and `MINLOC` in the absence of an explicit
> > `KIND=` actual argument.  We return `INTEGER(KIND=8)` by default in
> > these cases when the `-flarge-sizes` option is enabled.
> > `SIZEOF` and `C_SIZEOF` always return `INTEGER(KIND=8)`.
It will be tricky to capture all that in a short help text. Would this work:
```
Use INTEGER(KIND=8) for the result type in size-related intrinsics.
```
?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D96344/new/

https://reviews.llvm.org/D96344



More information about the cfe-commits mailing list