On Tue, Nov 12, 2013 at 3:35 PM, Andres Freund <and...@2ndquadrant.com> wrote: > On 2013-11-12 15:33:13 -0500, Jeffrey Walton wrote: >> On Tue, Nov 12, 2013 at 3:25 PM, Andres Freund <and...@2ndquadrant.com> >> wrote: >> > On 2013-11-12 15:17:18 -0500, Jeffrey Walton wrote: >> > ... >> > It might not recognize our Assert() because it expands as: >> > #define TrapMacro(condition, errorType) \ >> > ((bool) ((! assert_enabled) || ! (condition) || \ >> > (ExceptionalCondition(CppAsString(condition), >> > (errorType), \ >> > >> > __FILE__, __LINE__), 0))) >> > >> > #define Assert(condition) \ >> > Trap(!(condition), "FailedAssertion") >> > >> > Kevin, perhaps it reports less errors if you remove the assert_enabled >> > check from TrapMacro? I guess you already compiled with --enable-cassert? > >> Also see http://clang-analyzer.llvm.org/annotations.html (ignore the >> OS X specific stuff). There's a couple of ways to annotate source code >> and custom asserts. In this case, a `noreturn` annotation will >> probably do the trick. > > ExceptionalCondition is annotated with noreturn, but that doesn't > necessarily help because the compiler cannot know that assert_enabled is > true. Oh, my bad. I overlooked that.
Jeff -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers