The regex for -isystem matching is broken. -[D,I,Usystem] matches "-D", "-,",
"-I", "-U", "-s" "-y", etc. Besides that, "-isystem /foo" gets interpreted as
"-i" with a non-empty value "system" and thus the next "/foo" argument is not
read. This patch corrects the regex.
This fixes PR13237 <https://llvm.org/bugs/show_bug.cgi?id=13237>.
A patch by Peter Wu!
Differential Revision: http://reviews.llvm.org/D13800
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@251312
91177308-0d34-0410-b5e6-
96231b3b80d8
}
# Compile mode flags.
- if ($Arg =~ /^-[D,I,U,isystem](.*)$/) {
+ if ($Arg =~ /^-(?:[DIU]|isystem)(.*)$/) {
my $Tmp = $Arg;
if ($1 eq '') {
# FIXME: Check if we are going off the end.