[Option] Add inclusion and exclusion flags to option parsing
authorReid Kleckner <reid@kleckner.net>
Fri, 19 Jul 2013 18:04:57 +0000 (18:04 +0000)
committerReid Kleckner <reid@kleckner.net>
Fri, 19 Jul 2013 18:04:57 +0000 (18:04 +0000)
commiteadb765f42ddc8170eaef39b6b45b43031b0d5e7
tree7b288f0bfcd494b58fdc2b636f8b16a4fe1035b9
parent25723ce6fce0a96e1a126502aab684e2c238f571
[Option] Add inclusion and exclusion flags to option parsing

Summary:
This allows the clang driver to put MSVC compatible options in the same
enumerator space as its normal options but exclude them from normal
option parsing.

Also changes the standard ParseArgs() method to consider unknown
arguments with a leading slash as being inputs rather than flags.

High level discussion for clang-cl is here:
http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-June/030404.html

CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1049

llvm-svn: 186703
llvm/include/llvm/Option/OptTable.h
llvm/lib/Option/OptTable.cpp