thakis created this revision.

https://blogs.msdn.microsoft.com/vcblog/2016/11/16/permissive-switch/ makes it 
sound like this is similar to -pedantic, which we currently don't expose from 
clang-cl. So map it to that for now and see how that feels in practice.

Looks like cl.exe only has a flag for /permissive-, but no explicit flag for 
/permissive (the default).


https://reviews.llvm.org/D32435

Files:
  include/clang/Driver/CLCompatOptions.td
  test/Driver/cl-options.c


Index: test/Driver/cl-options.c
===================================================================
--- test/Driver/cl-options.c
+++ test/Driver/cl-options.c
@@ -180,6 +180,9 @@
 // RUN: %clang_cl --target=i686-pc-win32 -Werror /Oy- -### -- %s 2>&1 | 
FileCheck -check-prefix=Oy_ %s
 // Oy_: -mdisable-fp-elim
 
+// RUN: %clang_cl /permissive- --target=i686-pc-windows-msvc -### -- %s 2>&1 | 
FileCheck -check-prefix=permissive_ %s
+// permissive_: -pedantic
+
 // RUN: %clang_cl /Qvec -### -- %s 2>&1 | FileCheck -check-prefix=Qvec %s
 // Qvec: -vectorize-loops
 
Index: include/clang/Driver/CLCompatOptions.td
===================================================================
--- include/clang/Driver/CLCompatOptions.td
+++ include/clang/Driver/CLCompatOptions.td
@@ -111,6 +111,8 @@
   AliasArgs<["s"]>;
 def _SLASH_Ot : CLFlag<"Ot">, HelpText<"Optimize for speed">, Alias<O>,
   AliasArgs<["2"]>;
+def _SLASH_permissive_ : CLFlag<"permissive-">, Alias<pedantic>,
+  HelpText<"Diagnose use of nonstandard language extensions">;
 def _SLASH_QUESTION : CLFlag<"?">, Alias<help>,
   HelpText<"Display available options">;
 def _SLASH_Qvec : CLFlag<"Qvec">,


Index: test/Driver/cl-options.c
===================================================================
--- test/Driver/cl-options.c
+++ test/Driver/cl-options.c
@@ -180,6 +180,9 @@
 // RUN: %clang_cl --target=i686-pc-win32 -Werror /Oy- -### -- %s 2>&1 | FileCheck -check-prefix=Oy_ %s
 // Oy_: -mdisable-fp-elim
 
+// RUN: %clang_cl /permissive- --target=i686-pc-windows-msvc -### -- %s 2>&1 | FileCheck -check-prefix=permissive_ %s
+// permissive_: -pedantic
+
 // RUN: %clang_cl /Qvec -### -- %s 2>&1 | FileCheck -check-prefix=Qvec %s
 // Qvec: -vectorize-loops
 
Index: include/clang/Driver/CLCompatOptions.td
===================================================================
--- include/clang/Driver/CLCompatOptions.td
+++ include/clang/Driver/CLCompatOptions.td
@@ -111,6 +111,8 @@
   AliasArgs<["s"]>;
 def _SLASH_Ot : CLFlag<"Ot">, HelpText<"Optimize for speed">, Alias<O>,
   AliasArgs<["2"]>;
+def _SLASH_permissive_ : CLFlag<"permissive-">, Alias<pedantic>,
+  HelpText<"Diagnose use of nonstandard language extensions">;
 def _SLASH_QUESTION : CLFlag<"?">, Alias<help>,
   HelpText<"Display available options">;
 def _SLASH_Qvec : CLFlag<"Qvec">,
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to