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

This patch won't build with `BUILD_SHARED_LIBS` set to `On`. That's because a 
new dependency in `CompilerInvocation` is introduced (on 
`IntrinsicTypeDefaultKinds`). This dependency is currently not satisfied in the 
unit tests. This should fix it:

  diff --git a/flang/unittests/Frontend/CMakeLists.txt 
b/flang/unittests/Frontend/CMakeLists.txt
  index 88ec86f49291..a288aa0c99c9 100644
  --- a/flang/unittests/Frontend/CMakeLists.txt
  +++ b/flang/unittests/Frontend/CMakeLists.txt
  @@ -10,4 +10,5 @@ target_link_libraries(FlangFrontendTests
     flangFrontendTool
     FortranParser
     FortranSemantics
  +  FortranCommon
   )

I've left a few other comments inline.



================
Comment at: clang/include/clang/Driver/Options.td:4307-4314
+def fdefault_double_8 : Flag<["-"],"fdefault-double-8">, Group<f_Group>, 
+  HelpText<"Set the DOUBLE PRECISION type and double real constants like 1.d0 
to an 8 byte wide type">;
+def fdefault_integer_8 : Flag<["-"],"fdefault-integer-8">, Group<f_Group>, 
+  HelpText<"Set the default integer and logical types to an 8 byte wide type">;
+def fdefault_real_8 : Flag<["-"],"fdefault-real-8">, Group<f_Group>, 
+  HelpText<"Set the default real type to an 8 byte wide type">;
+def flarge_sizes : Flag<["-"],"flarge-sizes">, Group<f_Group>, 
----------------
[nit] I believe that you copied the long version from [[ 
https://gcc.gnu.org/onlinedocs/gfortran/Fortran-Dialect-Options.html | here ]]. 
I would instead use the short versions from this:
```
 gcc --help=fortran | grep default
  -Wreturn-type               Warn whenever a function's return type defaults 
to "int" (C), or about inconsistent return types (C++).
  -fdefault-double-8          Set the default double precision kind to an 8 
byte wide type.
  -fdefault-integer-8         Set the default integer kind to an 8 byte wide 
type.
  -fdefault-real-8            Set the default real kind to an 8 byte wide type.
  -fmodule-private            Set default accessibility of module entities to 
PRIVATE.
  -fopenacc-dim=              Specify default OpenACC compute dimensions.
```


================
Comment at: flang/test/Flang-Driver/fdefault.f90:53
+!-----------------------------------------
+! ERROR: error: Use of `-fdefault-double-8` requires `-fdefault-real-8`
+
----------------
Fails for `f18` as it does not print `error` here.


================
Comment at: flang/test/Flang-Driver/pipeline.f90:1
+! This file tests that flang-new forwards 
+! all Flang frontend options to flang-new -fc1
----------------
This test will fail with `FLANG_BUILD_NEW_DRIVER` set to `Off` (because it 
should not be run with `f18`). If you add `! REQUIRES: new-flang-driver` then 
everything will be fine. 

Instead of adding that ^^^, could you move it to [[ 
https://github.com/llvm/llvm-project/blob/main/flang/test/Flang-Driver/frontend-forwarding.f90
 | frontend-forwarding.f90 ]]?


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