diff options
author | David Malcolm <dmalcolm@redhat.com> | 2016-08-04 21:12:52 +0000 |
---|---|---|
committer | David Malcolm <dmalcolm@gcc.gnu.org> | 2016-08-04 21:12:52 +0000 |
commit | d4f7837c5a8aacaf7c651d66cbd3e1363e15d564 (patch) | |
tree | 20a88d76950fa0f0ec04a2ba5eb1aa14673dc4f9 /gcc | |
parent | f6cdf42f64471783d1a94cfca4e3ba4d3bf0ab15 (diff) | |
download | gcc-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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/selftest.h | 30 |
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) \ |