зеркало из https://github.com/microsoft/clang-1.git
ccc: -ObjC and -ObjC++ change default language, but only for "source
files". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63727 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
8b29a38778
Коммит
fb54849903
|
@ -376,6 +376,19 @@ class Driver(object):
|
||||||
base,ext = os.path.splitext(inputValue)
|
base,ext = os.path.splitext(inputValue)
|
||||||
if ext and ext in Types.kTypeSuffixMap:
|
if ext and ext in Types.kTypeSuffixMap:
|
||||||
klass = Types.kTypeSuffixMap[ext]
|
klass = Types.kTypeSuffixMap[ext]
|
||||||
|
|
||||||
|
# -ObjC and -ObjC++ over-ride the default
|
||||||
|
# language, but only for "source files". We
|
||||||
|
# just treat everything that isn't a linker
|
||||||
|
# input as a source file.
|
||||||
|
#
|
||||||
|
# FIXME: Clean this up if we move the phase
|
||||||
|
# sequence into the type.
|
||||||
|
if klass is not Types.ObjectType:
|
||||||
|
if args.getLastArg(self.parser.ObjCOption):
|
||||||
|
klass = Types.ObjCType
|
||||||
|
elif args.getLastArg(self.parser.ObjCXXOption):
|
||||||
|
klass = Types.ObjCType
|
||||||
else:
|
else:
|
||||||
# FIXME: Its not clear why we shouldn't just
|
# FIXME: Its not clear why we shouldn't just
|
||||||
# revert to unknown. I think this is more likely a
|
# revert to unknown. I think this is more likely a
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
// RUN: xcc -fsyntax-only %s -ObjC &&
|
||||||
|
// RUN: ! xcc -fsyntax-only -x c %s -ObjC &&
|
||||||
|
// RUN: xcc -fsyntax-only %s -ObjC++ &&
|
||||||
|
// RUN: ! xcc -fsyntax-only -x c %s -ObjC++
|
||||||
|
|
||||||
|
@interface A
|
||||||
|
@end
|
Загрузка…
Ссылка в новой задаче