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

Andrzej Warzynski via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Feb 17 08:06:24 PST 2021


awarzynski requested changes to this revision.
awarzynski added a comment.
This revision now requires changes to proceed.

Thank you for updating this!

I've left a couple of small suggestions inline. Once those are addressed I believe that this is ready to land. @tskeith, any thoughts ?



================
Comment at: flang/lib/Frontend/CompilerInvocation.cpp:254
+  if (args.hasArg(clang::driver::options::OPT_fdefault_real_8))
+    res.defaultKinds().set_defaultRealKind(8);
+  if (args.hasArg(clang::driver::options::OPT_fdefault_integer_8)) {
----------------
>From `gfortran` [[ https://gcc.gnu.org/onlinedocs/gfortran/Fortran-Dialect-Options.html | documentation ]]:

```
This option promotes the default width of DOUBLE PRECISION and double real constants like 1.d0 to 16 bytes if possible.
```

So I believe that you are missing:
```
res.defaultKinds().set_doublePrecisionKind(16);
```


================
Comment at: flang/lib/Frontend/CompilerInvocation.cpp:269-271
+    // For -fdefault-double-8 + -fdefault-real-8, only the size of
+    // DOUBLE PRECISION type changes, the size of default real type stays
+    // the same
----------------
I think that it's more like:
```
// -fdefault-real-8 alone promotes the width for DOUBLE PRECISION to 16 bytes. -fdefault-double-8 overwrites that and sets the width back to 8 bytes.
```
Since this patch adds `gfortran` style semantics, it would be worth adding a link to the docs somewhere at the top.


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

https://reviews.llvm.org/D96344



More information about the cfe-commits mailing list