On Wed, Jan 9, 2013 at 10:32 AM, <[email protected]> wrote: > Matt Beaumont-Gay <[email protected]> writes: > >> On Tue, Jan 8, 2013 at 1:18 PM, David Greene <[email protected]> wrote: >>> Return a value to avoid an empty return warning. >>> --- >>> llvm/tools/clang/lib/AST/ASTContext.cpp | 1 + >>> 1 files changed, 1 insertions(+), 0 deletions(-) >>> >>> diff --git a/llvm/tools/clang/lib/AST/ASTContext.cpp >>> b/llvm/tools/clang/lib/AST/ASTContext.cpp >>> index dc398f3..e0e2478 100644 >>> --- a/llvm/tools/clang/lib/AST/ASTContext.cpp >>> +++ b/llvm/tools/clang/lib/AST/ASTContext.cpp >>> @@ -4870,6 +4870,7 @@ static char getObjCEncodingForPrimitiveKind(const >>> ASTContext *C, >>> #include "clang/AST/BuiltinTypes.def" >>> llvm_unreachable("invalid builtin type for @encode"); >>> } >>> + return 0; >> >> It looks like falling off the end of this switch should never happen, >> so there should be an llvm_unreachable rather than a return here. > > I'm trying to silence a warning. Will llvm_unreachable do that?
As far as I know, all of the compilers that we care about understand that if llvm_unreachable is reached, it doesn't return. Out of curiosity, which version of GCC warns here? -Matt _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
