On 10/07/12 11:08, Sergey Isakov wrote: > Dear sirs, > > The follow warning > -------------- > image.c(288) : warning C6297: Arithmetic overflow: 32-bit value is > shifted, then cast to 64-bit value. Results might not be an expected value. > -------------- > It means that if we are using the macro > A = EFI_PAGES_TO_SIZE(N); > then the result will be same size as an argument. For example, if > UINT16 N; > then the result will be restricted to 16 bit - not as expected.
(Small correction: UINT16 ("unsigned short") will be promoted to INT32 ("signed int") and then shifted. The result might be unexpected nonetheless (for example, undefined behavior is possible if the mathematical result cannot be represented by "signed int".)) Laszlo ------------------------------------------------------------------------------ Don't let slow site performance ruin your business. Deploy New Relic APM Deploy New Relic app performance management and know exactly what is happening inside your Ruby, Python, PHP, Java, and .NET app Try New Relic at no cost today and get our sweet Data Nerd shirt too! http://p.sf.net/sfu/newrelic-dev2dev _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel