﻿id	summary	reporter	owner	description	type	status	priority	component	version	resolution	keywords	cc
152	Incorrect Lvalue conversion when using inline assembly	Thierry Delisle	Thierry Delisle <tdelisle@…>	"Given the following code : 
{{{
void bts(unsigned long long int * target, unsigned long long int bit ) {
	asm (
            ""LOCK btsq %[bit], %[target]\n\t"" :
            : [target] ""m"" (*target), [bit] ""r"" (bit)
	);
}
}}}

The code generator incorrectly generates code missing the * in front of target as follows:
{{{
void _X3btsFv_Pyy__1(unsigned long long int *_X6targetPy_1, unsigned long long int _X3bity_1){
    asm ( ""LOCK btsq %[bit], %[target]\n\t"" :  : [ target ] ""m"" ( _X6targetPy_1 ), [ bit ] ""r"" ( _X3bity_1 ) :  );
}

}}}
It should generate:
{{{
void _X3btsFv_Pyy__1(unsigned long long int *_X6targetPy_1, unsigned long long int _X3bity_1){
    asm ( ""LOCK btsq %[bit], %[target]\n\t"" :  : [ target ] ""m"" ( *_X6targetPy_1 ), [ bit ] ""r"" ( _X3bity_1 ) :  );
}

}}}"	defect	closed	minor	cfa-cc	1.0	fixed		
