Upcoming Release 4.1.0

Bruce Gray bruce.gray at acm.org
Fri Feb 10 13:55:02 UTC 2012


On Feb 9, 2012, at 9:18 PM, James E Keenan wrote:

> On 2/9/12 9:20 PM, James E Keenan wrote:
>
>> t/codingstd/c_arg_assert.t (Wstat: 256 Tests: 2 Failed: 1)
>
> I was able to resolve all but this one.

> Can whoever nails it explain the sense in which this instance of  
> "argument guards generated by headerizer" was not actually used?

--snip--

Fixed in:
	https://github.com/parrot/parrot/commit/92745461c27be960c5bb0da450a8f8c5833c7431

The argument guard macro was defined in line 465 of include/parrot/ 
hash.h (generated by headerizer):
#define ASSERT_ARGS_Parrot_hash_flatten_hash_into  
__attribute__unused__ int _ASSERT_ARGS_CHECK = (\
       PARROT_ASSERT_ARG(interp) \
    , PARROT_ASSERT_ARG(dest) \
    , PARROT_ASSERT_ARG(src))

That argument guard macro should have then been used as
the first statement in the body of the definition of its
function (Parrot_hash_flatten_hash_into in src/hash.c), but it was  
missing.

{
    ASSERT_ARGS(Parrot_hash_flatten_hash_into) // This line was missing
    const Hash * const src_hash = (Hash *)VTABLE_get_pointer(interp,  
src);


-- 
Hope this helps,
Bruce Gray (Util of PerlMonks)



More information about the parrot-dev mailing list