bring back broken llvm-devel ports
[dports.git] / devel / llvm-devel / files / clang / patch-fformat_extensions.diff
1 diff -ruN tools/clang/include/clang/Basic/LangOptions.def tools/clang/include/clang/Basic/LangOptions.def
2 --- tools/clang/include/clang/Basic/LangOptions.def     2015-08-18 08:10:39 UTC
3 +++ tools/clang/include/clang/Basic/LangOptions.def
4 @@ -114,6 +114,7 @@
5  LANGOPT(RTTIData          , 1, 1, "emit run-time type information data")
6  LANGOPT(MSBitfields       , 1, 0, "Microsoft-compatible structure layout")
7  LANGOPT(Freestanding, 1, 0, "freestanding implementation")
8 +LANGOPT(FormatExtensions  , 1, 0, "FreeBSD format extensions")
9  LANGOPT(NoBuiltin         , 1, 0, "disable builtin functions")
10  LANGOPT(NoMathBuiltin     , 1, 0, "disable math builtin functions")
11  LANGOPT(GNUAsm            , 1, 1, "GNU-style inline assembly")
12 diff -ruN tools/clang/include/clang/Driver/Options.td tools/clang/include/clang/Driver/Options.td
13 --- tools/clang/include/clang/Driver/Options.td 2015-08-18 08:10:39 UTC
14 +++ tools/clang/include/clang/Driver/Options.td
15 @@ -660,6 +660,8 @@
16  
17  def ffreestanding : Flag<["-"], "ffreestanding">, Group<f_Group>, Flags<[CC1Option]>,
18    HelpText<"Assert that the compilation takes place in a freestanding environment">;
19 +def fformat_extensions: Flag<["-"], "fformat-extensions">, Group<f_Group>, Flags<[CC1Option]>,
20 +  HelpText<"Enable FreeBSD kernel specific format string extensions">;
21  def fgnu_keywords : Flag<["-"], "fgnu-keywords">, Group<f_Group>, Flags<[CC1Option]>,
22    HelpText<"Allow GNU-extension keywords regardless of language standard">;
23  def fgnu89_inline : Flag<["-"], "fgnu89-inline">, Group<f_Group>, Flags<[CC1Option]>,
24 diff -ruN tools/clang/lib/Driver/ToolChains/Clang.cpp tools/clang/lib/Driver/ToolChains/Clang.cpp
25 --- tools/clang/lib/Driver/ToolChains/Clang.cpp.orig    2017-03-27 21:06:42.969177000 +0000
26 +++ tools/clang/lib/Driver/ToolChains/Clang.cpp 2017-03-27 21:07:03.523370000 +0000
27 @@ -3188,6 +3188,7 @@
28  
29    // Forward -f (flag) options which we can pass directly.
30    Args.AddLastArg(CmdArgs, options::OPT_femit_all_decls);
31 +  Args.AddLastArg(CmdArgs, options::OPT_fformat_extensions);
32    Args.AddLastArg(CmdArgs, options::OPT_fheinous_gnu_extensions);
33    Args.AddLastArg(CmdArgs, options::OPT_fno_operator_names);
34    // Emulated TLS is enabled by default on Android, and can be enabled manually
35 diff -ruN tools/clang/lib/Frontend/CompilerInvocation.cpp tools/clang/lib/Frontend/CompilerInvocation.cpp
36 --- tools/clang/lib/Frontend/CompilerInvocation.cpp     2015-08-18 08:10:39 UTC
37 +++ tools/clang/lib/Frontend/CompilerInvocation.cpp
38 @@ -1559,6 +1559,7 @@
39    Opts.ShortWChar = Args.hasFlag(OPT_fshort_wchar, OPT_fno_short_wchar, false);
40    Opts.ShortEnums = Args.hasArg(OPT_fshort_enums);
41    Opts.Freestanding = Args.hasArg(OPT_ffreestanding);
42 +  Opts.FormatExtensions = Args.hasArg(OPT_fformat_extensions);
43    Opts.NoBuiltin = Args.hasArg(OPT_fno_builtin) || Opts.Freestanding;
44    Opts.NoMathBuiltin = Args.hasArg(OPT_fno_math_builtin);
45    Opts.AssumeSaneOperatorNew = !Args.hasArg(OPT_fno_assume_sane_operator_new);