awarzynski accepted this revision.
awarzynski added a comment.
This revision is now accepted and ready to land.

I've left a few comments, but these are nice-to-haves from my perspective. 
@tskeith , what do you think about the suggested changes in `f18`? We could 
upload a separate patch for that.



================
Comment at: flang/test/Flang-Driver/fdefault.f90:4
+
+! REQUIRES: new-flang-driver
+
----------------
tskeith wrote:
> Can't this work with the f18 driver too? That's the best way to ensure they 
> are consistent.
I think that this is a good idea, but there are two things that need to be 
addressed first:

**OPTION NAMES**

 `f18` uses `-module` rather than `-module-dir`. I suggest adding an alias, 
`-module-dir`, to `f18` (e.g. similarly to how `-fparse-only` and 
`-fsyntax-only` are handled)

**IMPLEMENTATION**
If I understand correctly, the current implementation of `-fdefault-real-8` in 
`f18` is incomplete, see [[ 
https://github.com/llvm/llvm-project/blob/b6db47d7e044730dc3c9b35dae6697eee0885dbf/flang/tools/f18/f18.cpp#L568-L569
 | here ]]:
```
    } else if (arg == "-r8" || arg == "-fdefault-real-8") {
      defaultKinds.set_defaultRealKind(8);
```
I think that there should be `defaultKinds.set_defaultRealKind(16);` as well.

@tskeith could you confirm?


================
Comment at: flang/test/Flang-Driver/fdefault.f90:10
+! RUN: not %flang-new -fsyntax-only -fdefault-double-8 %s  2>&1 | FileCheck %s 
--check-prefix=DOUBLE
+! RUN: mkdir -p %t/dir-flang-new && %flang-new -fsyntax-only -module-dir 
%t/dir-flang-new -fdefault-real-8 %s  2>&1
+! RUN: cat %t/dir-flang-new/m.mod | grep 'real_kind=8_4'
----------------
tskeith wrote:
> awarzynski wrote:
> > tskeith wrote:
> > > I don't think you need to create a subdirectory. `%t` is a temp directory 
> > > specific to this test.
> > > 
> > > So I'm suggesting:
> > > ```
> > > ! RUN: %flang -fsyntax-only -fdefault-real-8 %s
> > > ```
> > From [[ https://llvm.org/docs/CommandGuide/lit.html#substitutions | LIT 
> > docs ]]:
> > 
> > ```
> > %t  temporary file name unique to the test
> > %T  parent directory of %t (not unique, deprecated, do not use)
> > ```
> > 
> > So, IIUC, we do need to create a directory. We could skip `<dir-flang-new>` 
> > in the directory name, but it does no harm and can be really helpful when 
> > parsing CI logs.
> > 
> > I might be missing something though. @tskeith ? 
> I thought lit created an empty directory for `%t` but apparently not. You 
> just get whatever was left over from last run. So the safest thing to do is 
> this for each compilation command:
> `! RUN: rm -rf %t && mkdir %t && %flang -module-dir %t ...`
> 
> It's true that adding an extra subdirectory does no harm besides clutter, but 
> what's the benefit?
`%t` is normally used as a temporary file name. By using e.g. 
`%t/dir-flang-new` instead, we communicate it clearly that we are using it as a 
directory name. This is obvious now (and may seem unnecessary), but it might be 
less so in 6 months or when somebody works on this project (or particular test) 
in the future.

Either way, this test is functionally correct and in fact incredibly helpful. 
Both `%t` and `%t/dir-flang-new` will work perfectly fine.


================
Comment at: flang/test/Flang-Driver/flarge_sizes.f90:1
+! Ensure argument -flarge-sizes works as expected.
+! TODO: Add checks when actual codegen is possible for this family
----------------
Could you add a `NOOPTION` variant like you did in fdefault.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