diff options
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/lib/Sema/SemaExpr.cpp | 2 | ||||
| -rw-r--r-- | clang/test/SemaObjC/blocks.m | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp index 918201c44cf..4e2e24eab48 100644 --- a/clang/lib/Sema/SemaExpr.cpp +++ b/clang/lib/Sema/SemaExpr.cpp @@ -10012,7 +10012,7 @@ ExprResult Sema::ActOnChooseExpr(SourceLocation BuiltinLoc, void Sema::ActOnBlockStart(SourceLocation CaretLoc, Scope *CurScope) { BlockDecl *Block = BlockDecl::Create(Context, CurContext, CaretLoc); - { + if (LangOpts.CPlusPlus) { Decl *ManglingContextDecl; if (MangleNumberingContext *MCtx = getCurrentMangleNumberContext(Block->getDeclContext(), diff --git a/clang/test/SemaObjC/blocks.m b/clang/test/SemaObjC/blocks.m index 65434698a85..d6681d051de 100644 --- a/clang/test/SemaObjC/blocks.m +++ b/clang/test/SemaObjC/blocks.m @@ -216,3 +216,8 @@ void testAnonymousEnumTypes(int arg) { SB = ^{ if (arg) return TDFTE_Value; else return getTDFTE(); }; SB = ^{ if (arg) return getTDFTE(); else return TDFTE_Value; }; } + +static inline void inlinefunc() { + ^{}(); +} +void inlinefunccaller() { inlinefunc(); } |

