Mark Winstead <mwinstead@xxxxxxxxx> writes: > Using gcc on a Itanium chip with Linux SUSE I get the error message > (and similar ones): > /localviews/hpc/vc/src/ace/ace_virtual.cpp:1714: error: cast from > 'void*' to 'int' loses precision > > I know that what is happening is a 64 bit value is being cast to a 32 > bit value. The problem is I've counted 427 instances of this or a like > error. The developer's say they've made this code work on other 64 bit > platforms -- what is going on is that they took a 32 bit value and > stored it in the larger, and this is coming back down. (no, I don't > know why they did this). So it just needs a simple truncation. > > Either there is a flag hidden in the makefiles that is promoting a > warning to an error here, or I hope there is a flag that casts this > error to a warning. Help? You neglected to mention which version of gcc you are using. A cast from a a pointer to an integer of smaller size is forbidden by the C++ language standard. Gcc reports this type of violation as an error by default. You can tell gcc to permit this kind of thing by using the -fpermissive option. Ian