diff options
author | Nick Lewycky <nicholas@mxc.ca> | 2011-02-09 08:42:57 +0000 |
---|---|---|
committer | Nick Lewycky <nicholas@mxc.ca> | 2011-02-09 08:42:57 +0000 |
commit | bae992ffd997b25dab752efb1b69388cce33666f (patch) | |
tree | 40a26afdae13400d37161bc50613352505da633c /clang/lib/AST/Stmt.cpp | |
parent | f75152fb9f7d63de20a2065b60591e3ce34da265 (diff) | |
download | bcm5719-llvm-bae992ffd997b25dab752efb1b69388cce33666f.tar.gz bcm5719-llvm-bae992ffd997b25dab752efb1b69388cce33666f.zip |
Non-void functions need to return some value.
llvm-svn: 125185
Diffstat (limited to 'clang/lib/AST/Stmt.cpp')
-rw-r--r-- | clang/lib/AST/Stmt.cpp | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/clang/lib/AST/Stmt.cpp b/clang/lib/AST/Stmt.cpp index 92af03a5421..66182957d68 100644 --- a/clang/lib/AST/Stmt.cpp +++ b/clang/lib/AST/Stmt.cpp @@ -91,15 +91,23 @@ namespace { // These silly little functions have to be static inline to suppress // unused warnings, and they have to be defined to suppress other // warnings. - static inline good is_good(good) {} + static inline good is_good(good) { return good(); } typedef Stmt::child_range children_t(); - template <class T> good implements_children(children_t T::*) {} - static inline bad implements_children(children_t Stmt::*) {} + template <class T> good implements_children(children_t T::*) { + return good(); + } + static inline bad implements_children(children_t Stmt::*) { + return bad(); + } typedef SourceRange getSourceRange_t() const; - template <class T> good implements_getSourceRange(getSourceRange_t T::*) {} - static inline bad implements_getSourceRange(getSourceRange_t Stmt::*) {} + template <class T> good implements_getSourceRange(getSourceRange_t T::*) { + return good(); + } + static inline bad implements_getSourceRange(getSourceRange_t Stmt::*) { + return bad(); + } #define ASSERT_IMPLEMENTS_children(type) \ (void) sizeof(is_good(implements_children(&type::children))) |