[clang] 3b28dce - [flang][driver] Mark the remaining Flang options as FlangOption
Andrzej Warzynski via cfe-commits
cfe-commits at lists.llvm.org
Fri Aug 18 03:49:48 PDT 2023
Author: Andrzej Warzynski
Date: 2023-08-18T10:48:55Z
New Revision: 3b28dce6daa4e70694cfe9df4526c9e6ee40b87e
URL: https://github.com/llvm/llvm-project/commit/3b28dce6daa4e70694cfe9df4526c9e6ee40b87e
DIFF: https://github.com/llvm/llvm-project/commit/3b28dce6daa4e70694cfe9df4526c9e6ee40b87e.diff
LOG: [flang][driver] Mark the remaining Flang options as FlangOption
This is a follow-up of https://reviews.llvm.org/D157837 in which I
missed a few Flang options in Options.td. This patch simply updates the
remaining options that are already supported by Flang with the relevant
visibility flag:
Fixes:
* https://lab.llvm.org/buildbot/#/builders/191/builds/22241
Added:
Modified:
clang/include/clang/Driver/Options.td
flang/test/Driver/driver-help-hidden.f90
flang/test/Driver/driver-help.f90
Removed:
################################################################################
diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td
index df2e2adef17dde..acdb206c18d128 100644
--- a/clang/include/clang/Driver/Options.td
+++ b/clang/include/clang/Driver/Options.td
@@ -1395,10 +1395,6 @@ def fmax_tokens_EQ : Joined<["-"], "fmax-tokens=">, Group<f_Group>,
Visibility<[ClangOption, CC1Option]>,
HelpText<"Max total number of preprocessed tokens for -Wmax-tokens.">,
MarshallingInfoInt<LangOpts<"MaxTokens">>;
-def fPIC : Flag<["-"], "fPIC">, Group<f_Group>;
-def fno_PIC : Flag<["-"], "fno-PIC">, Group<f_Group>;
-def fPIE : Flag<["-"], "fPIE">, Group<f_Group>;
-def fno_PIE : Flag<["-"], "fno-PIE">, Group<f_Group>;
defm access_control : BoolFOption<"access-control",
LangOpts<"AccessControl">, DefaultTrue,
NegFlag<SetFalse, [], [ClangOption, CC1Option],
@@ -3367,10 +3363,6 @@ def fpcc_struct_return : Flag<["-"], "fpcc-struct-return">, Group<f_Group>,
Visibility<[ClangOption, CC1Option]>,
HelpText<"Override the default ABI to return all structs on the stack">;
def fpch_preprocess : Flag<["-"], "fpch-preprocess">, Group<f_Group>;
-def fpic : Flag<["-"], "fpic">, Group<f_Group>;
-def fno_pic : Flag<["-"], "fno-pic">, Group<f_Group>;
-def fpie : Flag<["-"], "fpie">, Visibility<[ClangOption, FlangOption]>, Group<f_Group>;
-def fno_pie : Flag<["-"], "fno-pie">, Visibility<[ClangOption, FlangOption]>, Group<f_Group>;
defm pic_data_is_text_relative : SimpleMFlag<"pic-data-is-text-relative",
"Assume", "Don't assume", " data segments are relative to text segment">;
def fdirect_access_external_data : Flag<["-"], "fdirect-access-external-data">, Group<f_Group>,
@@ -3386,12 +3378,12 @@ defm plt : BoolFOption<"plt",
PosFlag<SetFalse>>;
defm ropi : BoolFOption<"ropi",
LangOpts<"ROPI">, DefaultFalse,
- PosFlag<SetTrue, [], [ClangOption, CC1Option],
+ PosFlag<SetTrue, [], [ClangOption, FlangOption, CC1Option],
"Generate read-only position independent code (ARM only)">,
NegFlag<SetFalse>>;
defm rwpi : BoolFOption<"rwpi",
LangOpts<"RWPI">, DefaultFalse,
- PosFlag<SetTrue, [], [ClangOption, CC1Option],
+ PosFlag<SetTrue, [], [ClangOption, FlangOption, CC1Option],
"Generate read-write position independent code (ARM only)">,
NegFlag<SetFalse>>;
def fplugin_EQ : Joined<["-"], "fplugin=">, Group<f_Group>,
@@ -4254,7 +4246,6 @@ def mguard_EQ : Joined<["-"], "mguard=">, Group<m_Group>,
Values<"none,cf,cf-nochecks">;
def mmcu_EQ : Joined<["-"], "mmcu=">, Group<m_Group>;
def msim : Flag<["-"], "msim">, Group<m_Group>;
-def mdynamic_no_pic : Joined<["-"], "mdynamic-no-pic">, Group<m_Group>;
def mfix_and_continue : Flag<["-"], "mfix-and-continue">, Group<clang_ignored_m_Group>;
def mieee_fp : Flag<["-"], "mieee-fp">, Group<clang_ignored_m_Group>;
def minline_all_stringops : Flag<["-"], "minline-all-stringops">, Group<clang_ignored_m_Group>;
@@ -5277,7 +5268,7 @@ def undef : Flag<["-"], "undef">, Group<u_Group>,
def unexported__symbols__list : Separate<["-"], "unexported_symbols_list">;
def u : JoinedOrSeparate<["-"], "u">, Group<u_Group>;
def v : Flag<["-"], "v">,
- Visibility<[ClangOption, CC1Option, CLOption, DXCOption]>,
+ Visibility<[ClangOption, CC1Option, CLOption, DXCOption, FlangOption]>,
HelpText<"Show commands to run and use verbose output">,
MarshallingInfoFlag<HeaderSearchOpts<"Verbose">>;
def altivec_src_compat : Joined<["-"], "faltivec-src-compat=">,
@@ -5469,6 +5460,22 @@ def _help_hidden : Flag<["--"], "help-hidden">,
def _sysroot_EQ : Joined<["--"], "sysroot=">, Visibility<[ClangOption, FlangOption]>;
def _sysroot : Separate<["--"], "sysroot">, Alias<_sysroot_EQ>;
+//===----------------------------------------------------------------------===//
+// pie/pic options (clang + flang-new)
+//===----------------------------------------------------------------------===//
+let Visibility = [ClangOption, FlangOption] in {
+
+def fPIC : Flag<["-"], "fPIC">, Group<f_Group>;
+def fno_PIC : Flag<["-"], "fno-PIC">, Group<f_Group>;
+def fPIE : Flag<["-"], "fPIE">, Group<f_Group>;
+def fno_PIE : Flag<["-"], "fno-PIE">, Group<f_Group>;
+def fpic : Flag<["-"], "fpic">, Group<f_Group>;
+def fno_pic : Flag<["-"], "fno-pic">, Group<f_Group>;
+def fpie : Flag<["-"], "fpie">, Group<f_Group>;
+def fno_pie : Flag<["-"], "fno-pie">, Group<f_Group>;
+
+} // let Vis = [Default, FlangOption]
+
//===----------------------------------------------------------------------===//
// Target Options (clang + flang-new)
//===----------------------------------------------------------------------===//
@@ -5477,6 +5484,7 @@ let Visibility = [ClangOption, FlangOption] in {
def mcpu_EQ : Joined<["-"], "mcpu=">, Group<m_Group>,
HelpText<"For a list of available CPUs for the target use '-mcpu=help'">;
+def mdynamic_no_pic : Joined<["-"], "mdynamic-no-pic">, Group<m_Group>;
} // let Vis = [Default, FlangOption]
} // let Flags = [TargetSpecific]
diff --git a/flang/test/Driver/driver-help-hidden.f90 b/flang/test/Driver/driver-help-hidden.f90
index 5f5e47dfdb7549..1842fc7b03c103 100644
--- a/flang/test/Driver/driver-help-hidden.f90
+++ b/flang/test/Driver/driver-help-hidden.f90
@@ -84,6 +84,8 @@
! CHECK-NEXT: -fppc-native-vector-element-order
! CHECK-NEXT: Specifies PowerPC native vector element order (default)
! CHECK-NEXT: -freciprocal-math Allow division operations to be reassociated
+! CHECK-NEXT: -fropi Generate read-only position independent code (ARM only)
+! CHECK-NEXT: -frwpi Generate read-write position independent code (ARM only)
! CHECK-NEXT: -fsave-optimization-record=<format>
! CHECK-NEXT: Generate an optimization record file in a specific format
! CHECK-NEXT: -fsave-optimization-record
@@ -129,10 +131,12 @@
! CHECK-NEXT: --target=<value> Generate code for the given target
! CHECK-NEXT: -U <macro> Undefine macro <macro>
! CHECK-NEXT: --version Print version information
+! CHECK-NEXT: -v Show commands to run and use verbose output
! CHECK-NEXT: -W<warning> Enable the specified warning
! CHECK-NEXT: -Xflang <arg> Pass <arg> to the flang compiler
! CHECK-NEXT: -x <language> Treat subsequent input files as having type <language>
+
! ERROR-FLANG: error: unknown argument '-help-hidden'; did you mean '--help-hidden'?
! Frontend driver -help-hidden is not supported
diff --git a/flang/test/Driver/driver-help.f90 b/flang/test/Driver/driver-help.f90
index 60e5d65db836d4..85d707e35f1f58 100644
--- a/flang/test/Driver/driver-help.f90
+++ b/flang/test/Driver/driver-help.f90
@@ -72,6 +72,8 @@
! HELP-NEXT: -fppc-native-vector-element-order
! HELP-NEXT: Specifies PowerPC native vector element order (default)
! HELP-NEXT: -freciprocal-math Allow division operations to be reassociated
+! HELP-NEXT: -fropi Generate read-only position independent code (ARM only)
+! HELP-NEXT: -frwpi Generate read-write position independent code (ARM only)
! HELP-NEXT: -fsave-optimization-record=<format>
! HELP-NEXT: Generate an optimization record file in a specific format
! HELP-NEXT: -fsave-optimization-record
@@ -117,6 +119,7 @@
! HELP-NEXT: --target=<value> Generate code for the given target
! HELP-NEXT: -U <macro> Undefine macro <macro>
! HELP-NEXT: --version Print version information
+! HELP-NEXT: -v Show commands to run and use verbose output
! HELP-NEXT: -W<warning> Enable the specified warning
! HELP-NEXT: -Xflang <arg> Pass <arg> to the flang compiler
! HELP-NEXT: -x <language> Treat subsequent input files as having type <language>
More information about the cfe-commits
mailing list