id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc	lang	patch	platform
1428	pbc_merge breaks c++ build	NotFound	dukeleto	"At r43774 a C++ build fails:
{{{
src/pbc_merge.c: In function ‘void pbc_merge_ctpointers(parrot_interp_t*, pbc_merge_input**, int, PackFile_ByteCode*)’:
src/pbc_merge.c:664: warning: overflow in implicit constant conversion
src/pbc_merge.c:664: error: duplicate case value
src/pbc_merge.c:663: error: previously used here
make: *** [src/pbc_merge.o] Error 1
}}}

The problematic cases are PARROT_ARG_SC and PARROT_ARG_NAME_SC, which are:
{{{
PARROT_ARG_SC = PARROT_ARG_STRING   | PARROT_ARG_CONSTANT,
PARROT_ARG_NAME_SC = PARROT_ARG_NAME | PARROT_ARG_STRING   | PARROT_ARG_CONSTANT
}}}
and
{{{
PARROT_ARG_NAME             = 0x0200,
}}}
But the switch expression is op->types[cur_arg - 1], which is a char, thus the 0x200 overflows, as the compiler says.
"	bug	closed	blocker		tools	2.0.0	medium	fixed					
