aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2016-08-04 21:12:52 +0000
committerDavid Malcolm <dmalcolm@gcc.gnu.org>2016-08-04 21:12:52 +0000
commitd4f7837c5a8aacaf7c651d66cbd3e1363e15d564 (patch)
tree20a88d76950fa0f0ec04a2ba5eb1aa14673dc4f9
parentf6cdf42f64471783d1a94cfca4e3ba4d3bf0ab15 (diff)
downloadgcc-d4f7837c5a8aacaf7c651d66cbd3e1363e15d564.zip
gcc-d4f7837c5a8aacaf7c651d66cbd3e1363e15d564.tar.gz
gcc-d4f7837c5a8aacaf7c651d66cbd3e1363e15d564.tar.bz2
selftest.h: Add ASSERT_TRUE_AT and ASSERT_FALSE_AT
gcc/ChangeLog: * selftest.h (ASSERT_TRUE): Reimplement in terms of... (ASSERT_TRUE_AT): New macro. (ASSERT_FALSE): Reimplement in terms of... (ASSERT_FALSE_AT): New macro. (ASSERT_STREQ_AT): Fix typo in comment. From-SVN: r239151
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/selftest.h30
2 files changed, 29 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6c1e816..025476c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2016-08-04 David Malcolm <dmalcolm@redhat.com>
+
+ * selftest.h (ASSERT_TRUE): Reimplement in terms of...
+ (ASSERT_TRUE_AT): New macro.
+ (ASSERT_FALSE): Reimplement in terms of...
+ (ASSERT_FALSE_AT): New macro.
+ (ASSERT_STREQ_AT): Fix typo in comment.
+
2016-08-04 Patrick Palka <ppalka@gcc.gnu.org>
* gimple.c (preprocess_case_label_vec_for_gimple): When the case
diff --git a/gcc/selftest.h b/gcc/selftest.h
index 0bee476..397e998 100644
--- a/gcc/selftest.h
+++ b/gcc/selftest.h
@@ -104,13 +104,19 @@ extern int num_passes;
::selftest::fail if it false. */
#define ASSERT_TRUE(EXPR) \
+ ASSERT_TRUE_AT (SELFTEST_LOCATION, (EXPR))
+
+/* Like ASSERT_TRUE, but treat LOC as the effective location of the
+ selftest. */
+
+#define ASSERT_TRUE_AT(LOC, EXPR) \
SELFTEST_BEGIN_STMT \
const char *desc = "ASSERT_TRUE (" #EXPR ")"; \
bool actual = (EXPR); \
if (actual) \
- ::selftest::pass (SELFTEST_LOCATION, desc); \
+ ::selftest::pass ((LOC), desc); \
else \
- ::selftest::fail (SELFTEST_LOCATION, desc); \
+ ::selftest::fail ((LOC), desc); \
SELFTEST_END_STMT
/* Evaluate EXPR and coerce to bool, calling
@@ -118,13 +124,19 @@ extern int num_passes;
::selftest::fail if it true. */
#define ASSERT_FALSE(EXPR) \
+ ASSERT_FALSE_AT (SELFTEST_LOCATION, (EXPR))
+
+/* Like ASSERT_FALSE, but treat LOC as the effective location of the
+ selftest. */
+
+#define ASSERT_FALSE_AT(LOC, EXPR) \
SELFTEST_BEGIN_STMT \
- const char *desc = "ASSERT_FALSE (" #EXPR ")"; \
- bool actual = (EXPR); \
- if (actual) \
- ::selftest::fail (SELFTEST_LOCATION, desc); \
- else \
- ::selftest::pass (SELFTEST_LOCATION, desc); \
+ const char *desc = "ASSERT_FALSE (" #EXPR ")"; \
+ bool actual = (EXPR); \
+ if (actual) \
+ ::selftest::fail ((LOC), desc); \
+ else \
+ ::selftest::pass ((LOC), desc); \
SELFTEST_END_STMT
/* Evaluate EXPECTED and ACTUAL and compare them with ==, calling
@@ -169,7 +181,7 @@ extern int num_passes;
(EXPECTED), (ACTUAL)); \
SELFTEST_END_STMT
-/* Like ASSERT_STREQ_AT, but treat LOC as the effective location of the
+/* Like ASSERT_STREQ, but treat LOC as the effective location of the
selftest. */
#define ASSERT_STREQ_AT(LOC, EXPECTED, ACTUAL) \