DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] debug: update assertion macro
@ 2017-11-19  8:18 Ilya Matveychikov
  2017-11-19 14:41 ` Ilya Matveychikov
  0 siblings, 1 reply; 4+ messages in thread
From: Ilya Matveychikov @ 2017-11-19  8:18 UTC (permalink / raw)
  To: dev

Update RTE_VERIFY macro to make it possible to use complex expressions
in RTE_ASSERT.

Signed-off-by: Ilya V. Matveychikov <matvejchikov@gmail.com>

Fixes: 148f963fb532 ("xen: core library changes")
Cc: bruce.richardson@intel.com

---
Now it's incorrect to use complex expressions for assertion
like RTE_ASSERT((1 + 2) == 3). This patch makes it possible.

 lib/librte_eal/common/include/rte_debug.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_eal/common/include/rte_debug.h b/lib/librte_eal/common/include/rte_debug.h
index 79b67b3ec..fbb3bb5e5 100644
--- a/lib/librte_eal/common/include/rte_debug.h
+++ b/lib/librte_eal/common/include/rte_debug.h
@@ -86,7 +86,7 @@ void rte_dump_registers(void);
 #endif
 #define	RTE_VERIFY(exp)	do {                                                  \
 	if (unlikely(!(exp)))                                                           \
-		rte_panic("line %d\tassert \"" #exp "\" failed\n", __LINE__); \
+		rte_panic("line %d\tassert \"%s\" failed\n", __LINE__, #exp); \
 } while (0)

 /*
--
2.15.0

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] [PATCH] debug: update assertion macro
  2017-11-19  8:18 [dpdk-dev] [PATCH] debug: update assertion macro Ilya Matveychikov
@ 2017-11-19 14:41 ` Ilya Matveychikov
  2017-12-15 19:56   ` Ferruh Yigit
  0 siblings, 1 reply; 4+ messages in thread
From: Ilya Matveychikov @ 2017-11-19 14:41 UTC (permalink / raw)
  To: dev



> On Nov 19, 2017, at 12:18 PM, Ilya Matveychikov <matvejchikov@gmail.com> wrote:
> 
> Update RTE_VERIFY macro to make it possible to use complex expressions
> in RTE_ASSERT.
> 
> Signed-off-by: Ilya V. Matveychikov <matvejchikov@gmail.com>
> 
> Fixes: 148f963fb532 ("xen: core library changes")
> Cc: bruce.richardson@intel.com
> 
> ---
> Now it's incorrect to use complex expressions for assertion
> like RTE_ASSERT((1 + 2) == 3). This patch makes it possible.

Update.

Now it’s possible to have % char inside the expression, for example:

RTE_ASSERT((sizeof(some_struct) % 64) == 0)

Before the patch, “%" sign acts like a conversion specification beginning
character.

> 
> lib/librte_eal/common/include/rte_debug.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/lib/librte_eal/common/include/rte_debug.h b/lib/librte_eal/common/include/rte_debug.h
> index 79b67b3ec..fbb3bb5e5 100644
> --- a/lib/librte_eal/common/include/rte_debug.h
> +++ b/lib/librte_eal/common/include/rte_debug.h
> @@ -86,7 +86,7 @@ void rte_dump_registers(void);
> #endif
> #define	RTE_VERIFY(exp)	do {                                                  \
> 	if (unlikely(!(exp)))                                                           \
> -		rte_panic("line %d\tassert \"" #exp "\" failed\n", __LINE__); \
> +		rte_panic("line %d\tassert \"%s\" failed\n", __LINE__, #exp); \
> } while (0)
> 
> /*
> --
> 2.15.0

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] [PATCH] debug: update assertion macro
  2017-11-19 14:41 ` Ilya Matveychikov
@ 2017-12-15 19:56   ` Ferruh Yigit
  2017-12-22  2:12     ` Ferruh Yigit
  0 siblings, 1 reply; 4+ messages in thread
From: Ferruh Yigit @ 2017-12-15 19:56 UTC (permalink / raw)
  To: Ilya Matveychikov, dev

On 11/19/2017 6:41 AM, Ilya Matveychikov wrote:
> 
> 
>> On Nov 19, 2017, at 12:18 PM, Ilya Matveychikov <matvejchikov@gmail.com> wrote:
>>
>> Update RTE_VERIFY macro to make it possible to use complex expressions
>> in RTE_ASSERT.
>>
>> Signed-off-by: Ilya V. Matveychikov <matvejchikov@gmail.com>
>>
>> Fixes: 148f963fb532 ("xen: core library changes")
>> Cc: bruce.richardson@intel.com
>>
>> ---
>> Now it's incorrect to use complex expressions for assertion
>> like RTE_ASSERT((1 + 2) == 3). This patch makes it possible.
> 
> Update.
> 
> Now it’s possible to have % char inside the expression, for example:
> 
> RTE_ASSERT((sizeof(some_struct) % 64) == 0)
> 
> Before the patch, “%" sign acts like a conversion specification beginning
> character.

previous sample is not correct, complex expressions "RTE_ASSERT((1 + 2) == 3)"
are working fine.
But you are right "%" causing problem, and this patch is fixing it.

Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] [PATCH] debug: update assertion macro
  2017-12-15 19:56   ` Ferruh Yigit
@ 2017-12-22  2:12     ` Ferruh Yigit
  0 siblings, 0 replies; 4+ messages in thread
From: Ferruh Yigit @ 2017-12-22  2:12 UTC (permalink / raw)
  To: Ilya Matveychikov, dev

On 12/15/2017 11:56 AM, Ferruh Yigit wrote:
> On 11/19/2017 6:41 AM, Ilya Matveychikov wrote:
>>
>>
>>> On Nov 19, 2017, at 12:18 PM, Ilya Matveychikov <matvejchikov@gmail.com> wrote:
>>>
>>> Update RTE_VERIFY macro to make it possible to use complex expressions
>>> in RTE_ASSERT.
>>>
>>> Signed-off-by: Ilya V. Matveychikov <matvejchikov@gmail.com>
>>>
>>> Fixes: 148f963fb532 ("xen: core library changes")
>>> Cc: bruce.richardson@intel.com
>>>
>>> ---
>>> Now it's incorrect to use complex expressions for assertion
>>> like RTE_ASSERT((1 + 2) == 3). This patch makes it possible.
>>
>> Update.
>>
>> Now it’s possible to have % char inside the expression, for example:
>>
>> RTE_ASSERT((sizeof(some_struct) % 64) == 0)
>>
>> Before the patch, “%" sign acts like a conversion specification beginning
>> character.
> 
> previous sample is not correct, complex expressions "RTE_ASSERT((1 + 2) == 3)"
> are working fine.
> But you are right "%" causing problem, and this patch is fixing it.
> 
> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>

Applied to dpdk/master, thanks.

Note added into commit log.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-12-22  2:12 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-19  8:18 [dpdk-dev] [PATCH] debug: update assertion macro Ilya Matveychikov
2017-11-19 14:41 ` Ilya Matveychikov
2017-12-15 19:56   ` Ferruh Yigit
2017-12-22  2:12     ` Ferruh Yigit

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).