Don't turn off blocks when compiling Obj-C code
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62701 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Driver/clang.cpp b/Driver/clang.cpp
index 747f7e1..1fec6fa 100644
--- a/Driver/clang.cpp
+++ b/Driver/clang.cpp
@@ -595,7 +595,8 @@
// If in a conformant language mode (e.g. -std=c99) Blocks defaults to off
// even if they are normally on for the target. In GNU modes (e.g.
// -std=gnu99) the default for blocks depends on the target settings.
- if (LangStd < lang_gnu_START)
+ // However, blocks are not turned off when compiling Obj-C or Obj-C++ code.
+ if (!Options.ObjC1 && LangStd < lang_gnu_START)
Options.Blocks = 0;
Options.DollarIdents = 1; // FIXME: Really a target property.