tskeith 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.">;
 }
----------------
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)`.


================
Comment at: flang/lib/Frontend/CompilerInvocation.cpp:269
+    }
+    res.defaultKinds().set_defaultRealKind(4);
+  }
----------------
If `-fdefault-double-8` requires `-fdefault-real-8` then why is the default 
real kind set to 4?

I don't understand the purpose of this option. The kind of DOUBLE PRECISION is 
already 8 so there is no need to change it.


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

https://reviews.llvm.org/D96344

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to