Re: Clang 3.3 Analyzer Results
От | Jeffrey Walton |
---|---|
Тема | Re: Clang 3.3 Analyzer Results |
Дата | |
Msg-id | CAH8yC8n=C0Q_YwoomXii7Pf1nB4Lx4MSre+tSPQ6nTawafzP0Q@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Clang 3.3 Analyzer Results (Andres Freund <andres@2ndquadrant.com>) |
Список | pgsql-hackers |
On Tue, Nov 12, 2013 at 3:35 PM, Andres Freund <andres@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 <andres@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
В списке pgsql-hackers по дате отправления: