awarzynski added a comment.

> The omission of the fast-honor-pragmas argument from the compiler driver is 
> deliberate.

Where is it omitted?

> I suspect the CI failure on windows is unrelated to my code

I agree.



================
Comment at: clang/lib/Driver/ToolChains/Flang.cpp:165
+  // Floating point related options
+  AddFloatingPointOptions(D, Args, CmdArgs);
+
----------------
From [[ 
https://llvm.org/docs/CodingStandards.html#name-types-functions-variables-and-enumerators-properly
 | LLVM Coding style ]]

> Function names should be verb phrases (as they represent actions), and 
> command-like function should be imperative. The name should be camel case, 
> and start with a lower case letter (e.g. openFile() or isFoo()).

I know that this style is not followed here 100%. But that's what we should aim 
for :)


================
Comment at: clang/lib/Driver/ToolChains/Flang.cpp:85-86
+                                    ArgStringList &CmdArgs) {
+  // TODO: share RenderFloatingPointOptions from ./Clang.cpp and use that
+  // instead of duplicating code here
+  StringRef FPContract;
----------------
tblah wrote:
> awarzynski wrote:
> > What's RenderFloatingPointOptions?
> It is a static function in clang/lib/Driver/ToolChains/Clang.cpp which does 
> the same job as AddFloatingPointOptions, except for clang. I couldn't use it 
> right away because not all of the options it it processes are supported in 
> flang, but once we get there it would make sense to share code.
Ah! That [[ 
https://github.com/llvm/llvm-project/blob/b1d7a95e4e4a2b57cbe02636bbe357dc48d615c5/clang/lib/Driver/ToolChains/Clang.cpp#L2753-L3185
 | function ]] is over 400 LOC and looks super complex. I doubt Flang will be 
able to share that logic with Clang any time soon. If ever. I would actually 
skip this comment. Sometimes code duplication is the right approach ;-)


================
Comment at: flang/include/flang/Frontend/LangOptions.h:9-11
+//  This file defines the CodeGenOptions interface, which holds the
+//  configuration for LLVM's middle-end and back-end. It controls LLVM's code
+//  generation into assembly or machine code.
----------------
UPDATEME


================
Comment at: flang/include/flang/Frontend/LangOptions.h:29
+
+    // Enable the floating point pragma
+    FPM_On,
----------------
What are these pragmas? Perhaps you can add a test that would include them?


================
Comment at: flang/include/flang/Frontend/LangOptions.h:49-50
+
+/// Tracks various options which control the dialect of fortran that is
+/// accepted. Based on clang::LangOptions
+class LangOptions : public LangOptionsBase {
----------------



================
Comment at: flang/lib/Frontend/CompilerInvocation.cpp:661-662
 
+/// Parses all floating point related arguments and populates the variables
+/// options accordingly. Returns false if new errors are generated.
+///
----------------
> populates the variables options accordingly

Perhaps this would be a bit more specific/descriptive:

"and configures the input CompilerInvocation accordingly". Ultimately, this is 
about ... configuring the current compiler invocation, which is represented by 
an instance of `CompilerInvocaiton`. 


================
Comment at: flang/lib/Frontend/CompilerInvocation.cpp:693
+
+    // TODO: actually use the flag in codegen
+    diags.Report(diagUnimplemented) << a->getOption().getName();
----------------
In here you only configure `CompilerInvocation`. This configuration will be 
used elsewhere (i.e. where codegen happens). So, I think, as far as this method 
is concerned the implementation is complete.


================
Comment at: flang/test/Driver/flang_fp_opts.f90:1-2
+! Test for passing of floating point options between the compiler and frontend
+! drivers.
+
----------------
No longer valid ;-)


================
Comment at: flang/test/Driver/flang_fp_opts.f90:4
+
+! RUN: %flang_fc1 -ffp-contract=fast %s 2>&1 | FileCheck %s
+! CHECK: ffp-contract= is not currently implemented
----------------
Can you test with `flang` as well?


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

https://reviews.llvm.org/D136080

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

Reply via email to