﻿id	summary	reporter	owner	description	type	status	priority	component	version	resolution	keywords	cc
44	zero_t causes warnings because it always codgens as long int	Rob Schluntz		"zero_t should intelligently codegen as long int, void *, or void (*)() depending on the context.

An example where this is necessary:
{{{
typedef void (*fptr_t)();
void f(int);

int main() {
  fptr_t x;
  x = f;
}
}}}
The assignment function is correctly chosen as 
{{{
forall( ftype FT ) FT *     ?=?( FT *    &, zero_t );
}}}
But codegens as
{{{
((void)(__x__PF___2=((long int )__f__F_i__1)));
}}}
Which causes a warning in gcc:
{{{
warning: assignment makes pointer from integer without a cast
}}}"	defect	closed	minor	cfa-cc	1.0	invalid		
