#include <stdio.h>
void Test( const void* f )
{
}
struct holdvoid
{
const void* h ;
} ;
int main( void )
{
//////WORKS/////
int n = 123 ;
Test( &n ) ;
const int m = 123 ;
Test( &m ) ;
n = ( int ){ 123 } ;
Test( &n ) ;
int* np = &( int ){ 123 } ;
Test( np ) ;
const int* cnp = &( const int ){ 123 } ;
Test( cnp ) ;
void* vp = &( int ){ 123 } ;
vp = &( int ){ n } ;
( void )vp ;
const void* cvpw = &n ;
( void )cvpw ;
//////DOESN'T WORK/////
const void* vpp = &( int ){ 123 } ;
( void )vpp ;
const void* cvp = &( const int ){ 123 } ;
( void )cvp ;
Test( &( int ){ 123 } ) ;
Test( &( const int ){ 123 } ) ;
( void )( struct holdvoid ){ &( const int ){ 123 } } ;
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIFRlc3QoIGNvbnN0IHZvaWQqIGYgKQp7CglwcmludGYoICIlcFxuIiAsIGYgKSA7Cn0KCnN0cnVjdCBob2xkdm9pZAp7Cgljb25zdCB2b2lkKiBoIDsKCn0gOwoKaW50IG1haW4oIHZvaWQgKQp7CgoJLy8vLy8vV09SS1MvLy8vLwoKCWludCBuID0gMTIzIDsKCVRlc3QoICZuICkgOwoKCWNvbnN0IGludCBtID0gMTIzIDsKCVRlc3QoICZtICkgOwkKCgluID0gKCBpbnQgKXsgMTIzIH0gOwoJVGVzdCggJm4gKSA7CgoJaW50KiBucCA9ICYoIGludCApeyAxMjMgfSA7CglUZXN0KCBucCApIDsKCgljb25zdCBpbnQqIGNucCA9ICYoIGNvbnN0IGludCApeyAxMjMgfSA7CglUZXN0KCBjbnAgKSA7CgoJdm9pZCogdnAgPSAmKCBpbnQgKXsgMTIzIH0gOwoJdnAgPSAmKCBpbnQgKXsgbiB9IDsKCSggdm9pZCApdnAgOwoKCWNvbnN0IHZvaWQqIGN2cHcgPSAmbiA7CQoJKCB2b2lkICljdnB3IDsKCgkvLy8vLy9ET0VTTidUIFdPUksvLy8vLwoKCWNvbnN0IHZvaWQqIHZwcCA9ICYoIGludCApeyAxMjMgfSA7CgkoIHZvaWQgKXZwcCA7CgoJY29uc3Qgdm9pZCogY3ZwID0gJiggY29uc3QgaW50ICl7IDEyMyB9IDsKCSggdm9pZCApY3ZwIDsKCQoJVGVzdCggJiggaW50ICl7IDEyMyB9ICkgOwkKCglUZXN0KCAmKCBjb25zdCBpbnQgKXsgMTIzIH0gKSA7CQkKCgkoIHZvaWQgKSggc3RydWN0IGhvbGR2b2lkICl7ICYoIGNvbnN0IGludCApeyAxMjMgfSB9IDsJCgpyZXR1cm4gMCA7Cn0=