Ben Kietzman created ARROW-6781: ----------------------------------- Summary: [C++] Improve and consolidate ARROW_CHECK, DCHECK macros Key: ARROW-6781 URL: https://issues.apache.org/jira/browse/ARROW-6781 Project: Apache Arrow Issue Type: Improvement Components: C++ Reporter: Ben Kietzman Assignee: Ben Kietzman
Currently we have multiple macros like {{DCHECK_EQ}} and {{DCHECK_LT}} which check various comparisons but don't report anything about their operands. Furthermore, the "stream to assertion" pattern for appending extra info has proven fragile. I propose a new unified macro which can capture operands of comparisons and report them: {code:cpp} int three = 3; int five = 5; DCHECK(three == five, "extra: ", 1, 2, five); {code} Results in check failure messages like: {code} F1003 11:12:46.174767 4166 logging_test.cc:141] Check failed: three == five LHS: 3 RHS: 5 extra: 125 {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)