r306127 - [GSoC] Add support for CC1 options.

Vassil Vassilev via cfe-commits cfe-commits at lists.llvm.org
Tue Jun 27 02:32:19 PDT 2017


On 27/06/17 07:17, Saleem Abdulrasool via cfe-commits wrote:
> I think that we shouldn't be providing completion for `-cc1` options. 
>  `-cc1as` options are fine as the IAS serves as a replacement for the 
> traditional unix `as`.  But, the `NoDriverOption` values shouldn't be 
> exposed to users.  They are internal details, with no compatibility.  
> If users start using those options, it makes it harder to prevent 
> command line incompatibilities.
Thanks for the feedback!

We probably should only expose the cc1 options if the user typed clang 
-cc1 -f[tab], i.e. the user already is looking for something internal or 
make sure they are noted as a cc1 arguments. On the other hand, this 
should be of great help to more advanced users.
>
> On Fri, Jun 23, 2017 at 10:05 AM, Yuka Takahashi via cfe-commits 
> <cfe-commits at lists.llvm.org <mailto:cfe-commits at lists.llvm.org>> wrote:
>
>     Author: yamaguchi
>     Date: Fri Jun 23 12:05:50 2017
>     New Revision: 306127
>
>     URL: http://llvm.org/viewvc/llvm-project?rev=306127&view=rev
>     <http://llvm.org/viewvc/llvm-project?rev=306127&view=rev>
>     Log:
>     [GSoC] Add support for CC1 options.
>
>     Summary:
>     Add value completion support for options which are defined in
>     CC1Options.td, because we only handled options in Options.td.
>
>     Reviewers: ruiu, v.g.vassilev, teemperor
>
>     Subscribers: llvm-commits
>
>     Differential Revision: https://reviews.llvm.org/D34558
>     <https://reviews.llvm.org/D34558>
>
>     Modified:
>         cfe/trunk/include/clang/Driver/CC1Options.td
>         cfe/trunk/test/Driver/autocomplete.c
>
>     Modified: cfe/trunk/include/clang/Driver/CC1Options.td
>     URL:
>     http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/CC1Options.td?rev=306127&r1=306126&r2=306127&view=diff
>     <http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/CC1Options.td?rev=306127&r1=306126&r2=306127&view=diff>
>     ==============================================================================
>     --- cfe/trunk/include/clang/Driver/CC1Options.td (original)
>     +++ cfe/trunk/include/clang/Driver/CC1Options.td Fri Jun 23
>     12:05:50 2017
>     @@ -158,7 +158,7 @@ def msave_temp_labels : Flag<["-"], "msa
>                 "Note this may change .s semantics and shouldn't
>     generally be used "
>                 "on compiler-generated code.">;
>      def mrelocation_model : Separate<["-"], "mrelocation-model">,
>     -  HelpText<"The relocation model to use">;
>     +  HelpText<"The relocation model to use">,
>     Values<"static,pic,ropi,rwpi,ropi-rwpi,dynamic-no-pic">;
>      def fno_math_builtin : Flag<["-"], "fno-math-builtin">,
>        HelpText<"Disable implicit builtin knowledge of math functions">;
>      }
>     @@ -229,7 +229,7 @@ def no_struct_path_tbaa : Flag<["-"], "n
>      def masm_verbose : Flag<["-"], "masm-verbose">,
>        HelpText<"Generate verbose assembly output">;
>      def mcode_model : Separate<["-"], "mcode-model">,
>     -  HelpText<"The code model to use">;
>     +  HelpText<"The code model to use">,
>     Values<"small,kernel,medium,large">;
>      def mdebug_pass : Separate<["-"], "mdebug-pass">,
>        HelpText<"Enable additional debug output">;
>      def mdisable_fp_elim : Flag<["-"], "mdisable-fp-elim">,
>     @@ -308,7 +308,7 @@ def fsanitize_coverage_no_prune
>            HelpText<"Disable coverage pruning (i.e. instrument all
>     blocks/edges)">;
>      def fprofile_instrument_EQ : Joined<["-"], "fprofile-instrument=">,
>          HelpText<"Enable PGO instrumentation. The accepted value is
>     clang, llvm, "
>     -             "or none">;
>     +             "or none">, Values<"none,clang,llvm">;
>      def fprofile_instrument_path_EQ : Joined<["-"],
>     "fprofile-instrument-path=">,
>          HelpText<"Generate instrumented code to collect execution
>     counts into "
>                   "<file> (overridden by LLVM_PROFILE_FILE env var)">;
>     @@ -348,9 +348,9 @@ def diagnostic_serialized_file : Separat
>        HelpText<"File for serializing diagnostics in a binary format">;
>
>      def fdiagnostics_format : Separate<["-"], "fdiagnostics-format">,
>     -  HelpText<"Change diagnostic formatting to match IDE and command
>     line tools">;
>     +  HelpText<"Change diagnostic formatting to match IDE and command
>     line tools">, Values<"clang,msvc,msvc-fallback,vi">;
>      def fdiagnostics_show_category : Separate<["-"],
>     "fdiagnostics-show-category">,
>     -  HelpText<"Print diagnostic category">;
>     +  HelpText<"Print diagnostic category">, Values<"none,id,name">;
>      def fno_diagnostics_use_presumed_location : Flag<["-"],
>     "fno-diagnostics-use-presumed-location">,
>        HelpText<"Ignore #line directives when displaying diagnostic
>     locations">;
>      def ftabstop : Separate<["-"], "ftabstop">, MetaVarName<"<N>">,
>     @@ -595,11 +595,11 @@ def fconstant_string_class : Separate<["
>        MetaVarName<"<class name>">,
>        HelpText<"Specify the class to use for constant Objective-C
>     string objects.">;
>      def fobjc_arc_cxxlib_EQ : Joined<["-"], "fobjc-arc-cxxlib=">,
>     -  HelpText<"Objective-C++ Automatic Reference Counting standard
>     library kind">;
>     +  HelpText<"Objective-C++ Automatic Reference Counting standard
>     library kind">, Values<"libc++,libstdc++,none">;
>      def fobjc_runtime_has_weak : Flag<["-"], "fobjc-runtime-has-weak">,
>        HelpText<"The target Objective-C runtime supports ARC weak
>     operations">;
>      def fobjc_dispatch_method_EQ : Joined<["-"],
>     "fobjc-dispatch-method=">,
>     -  HelpText<"Objective-C dispatch method to use">;
>     +  HelpText<"Objective-C dispatch method to use">,
>     Values<"legacy,non-legacy,mixed">;
>      def disable_objc_default_synthesize_properties : Flag<["-"],
>     "disable-objc-default-synthesize-properties">,
>        HelpText<"disable the default synthesis of Objective-C
>     properties">;
>      def fencode_extended_block_signature : Flag<["-"],
>     "fencode-extended-block-signature">,
>     @@ -673,7 +673,7 @@ def fnative_half_arguments_and_returns :
>      def fallow_half_arguments_and_returns : Flag<["-"],
>     "fallow-half-arguments-and-returns">,
>        HelpText<"Allow function arguments and returns of type half">;
>      def fdefault_calling_conv_EQ : Joined<["-"],
>     "fdefault-calling-conv=">,
>     -  HelpText<"Set default MS calling convention">;
>     +  HelpText<"Set default MS calling convention">,
>     Values<"cdecl,fastcall,stdcall,vectorcall">;
>      def finclude_default_header : Flag<["-"], "finclude-default-header">,
>        HelpText<"Include the default header file for OpenCL">;
>      def fpreserve_vec3_type : Flag<["-"], "fpreserve-vec3-type">,
>
>     Modified: cfe/trunk/test/Driver/autocomplete.c
>     URL:
>     http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/autocomplete.c?rev=306127&r1=306126&r2=306127&view=diff
>     <http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/autocomplete.c?rev=306127&r1=306126&r2=306127&view=diff>
>     ==============================================================================
>     --- cfe/trunk/test/Driver/autocomplete.c (original)
>     +++ cfe/trunk/test/Driver/autocomplete.c Fri Jun 23 12:05:50 2017
>     @@ -34,3 +34,5 @@
>      // MFLOATABIALL: hard soft softfp
>      // RUN: %clang --autocomplete=-mthread-model, | FileCheck %s
>     -check-prefix=MTHREADMODELALL
>      // MTHREADMODELALL: posix single
>     +// RUN: %clang --autocomplete=-mrelocation-model, | FileCheck %s
>     -check-prefix=MRELOCMODELALL
>     +// MRELOCMODELALL: dynamic-no-pic pic ropi ropi-rwpi rwpi static
>
>
>     _______________________________________________
>     cfe-commits mailing list
>     cfe-commits at lists.llvm.org <mailto:cfe-commits at lists.llvm.org>
>     http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>     <http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits>
>
>
>
>
> -- 
> Saleem Abdulrasool
> compnerd (at) compnerd (dot) org
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170627/465a12c7/attachment.html>


More information about the cfe-commits mailing list