Sorry I just realized that the latest Xcode clang does not have this error. 
This error only exists in older Xcode gcc, that is now obsolete. So luckily we 
do not need to make these changes. 

The older Xcode gcc was overly aggressive and did not allow you to cast away 
this error. 

Andrew Fish


On Jan 15, 2013, at 1:58 PM, Andrew Fish <af...@apple.com> wrote:

> Dear MdeModulePkg maintainer,
> 
> The following changes are required to compile with the latest version of 
> Xcode. I think an argument can be made that the warning is overly aggressive, 
> but this is the only way I found to make the code compile.  
> 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: af...@apple.com
> 
> svn diff --diff-cmd diff Universal/Acpi/SmmS3SaveState/SmmS3SaveState.c 
> Universal/Acpi/S3SaveStateDxe/S3SaveState.c
> Index: Universal/Acpi/SmmS3SaveState/SmmS3SaveState.c
> ===================================================================
> --- Universal/Acpi/SmmS3SaveState/SmmS3SaveState.c    (revision 14050)
> +++ Universal/Acpi/SmmS3SaveState/SmmS3SaveState.c    (working copy)
> @@ -212,7 +212,7 @@
>    Address     = VA_ARG (Marker, UINT64);
>    Count       = VA_ARG (Marker, UINTN);
>    Buffer      = VA_ARG (Marker, UINT8 *);
> -  Segment     = VA_ARG (Marker, UINT16);
> +  Segment     = (UINT16)VA_ARG (Marker, UINTN);
>  
>    return S3BootScriptSavePciCfg2Write (Width, Segment, Address, Count, 
> Buffer);
>  }
> @@ -240,7 +240,7 @@
>   
>    Width       = VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH);
>    Address     = VA_ARG (Marker, UINT64);
> -  Segment     = VA_ARG (Marker, UINT16);
> +  Segment     = (UINT16)VA_ARG (Marker, UINTN);
>    Data        = VA_ARG (Marker, UINT8 *);
>    DataMask    = VA_ARG (Marker, UINT8 *);
>   
> @@ -272,7 +272,7 @@
>    SlaveAddress.SmbusDeviceAddress = VA_ARG (Marker, UINTN);
>    Command                         = VA_ARG (Marker, 
> EFI_SMBUS_DEVICE_COMMAND);
>    Operation                       = VA_ARG (Marker, EFI_SMBUS_OPERATION);
> -  PecCheck                        = VA_ARG (Marker, BOOLEAN);
> +  PecCheck                        = (BOOLEAN)VA_ARG (Marker, UINTN);
>    SmBusAddress                    = SMBUS_LIB_ADDRESS 
> (SlaveAddress.SmbusDeviceAddress,Command,0,PecCheck);
>    DataSize                        = VA_ARG (Marker, UINTN *);    
>    Buffer                          = VA_ARG (Marker, VOID *);
> @@ -500,7 +500,7 @@
>     UINT64                        Delay;
>    
>     Width    = VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH);  
> -   Segment  = VA_ARG (Marker, UINT16);      
> +   Segment  = (UINT16)VA_ARG (Marker, UINTN);      
>     Address  = VA_ARG (Marker, UINT64);                    
>     Data     = VA_ARG (Marker, VOID *);                   
>     DataMask = VA_ARG (Marker, VOID *);                   
> Index: Universal/Acpi/S3SaveStateDxe/S3SaveState.c
> ===================================================================
> --- Universal/Acpi/S3SaveStateDxe/S3SaveState.c       (revision 14050)
> +++ Universal/Acpi/S3SaveStateDxe/S3SaveState.c       (working copy)
> @@ -213,7 +213,7 @@
>    Address     = VA_ARG (Marker, UINT64);
>    Count       = VA_ARG (Marker, UINTN);
>    Buffer      = VA_ARG (Marker, UINT8 *);
> -  Segment     = VA_ARG (Marker, UINT16);
> +  Segment     = (UINT16) VA_ARG (Marker, UINTN);
>  
>    return S3BootScriptSavePciCfg2Write (Width, Segment, Address, Count, 
> Buffer);
>  }
> @@ -241,7 +241,7 @@
>   
>    Width       = VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH);
>    Address     = VA_ARG (Marker, UINT64);
> -  Segment     = VA_ARG (Marker, UINT16);
> +  Segment     = (UINT16)VA_ARG (Marker, UINTN);
>    Data        = VA_ARG (Marker, UINT8 *);
>    DataMask    = VA_ARG (Marker, UINT8 *);
>   
> @@ -273,7 +273,7 @@
>    SlaveAddress.SmbusDeviceAddress = VA_ARG (Marker, UINTN);
>    Command                         = VA_ARG (Marker, 
> EFI_SMBUS_DEVICE_COMMAND);
>    Operation                       = VA_ARG (Marker, EFI_SMBUS_OPERATION);
> -  PecCheck                        = VA_ARG (Marker, BOOLEAN);
> +  PecCheck                        = (BOOLEAN)VA_ARG (Marker, UINTN);
>    SmBusAddress                    = SMBUS_LIB_ADDRESS 
> (SlaveAddress.SmbusDeviceAddress,Command,0,PecCheck);
>    DataSize                        = VA_ARG (Marker, UINTN *);    
>    Buffer                          = VA_ARG (Marker, VOID *);
> @@ -501,7 +501,7 @@
>     UINT64                        Delay;
>    
>     Width    = VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH);  
> -   Segment  = VA_ARG (Marker, UINT16);      
> +   Segment  = (UINT16)VA_ARG (Marker, UINTN);      
>     Address  = VA_ARG (Marker, UINT64);                    
>     Data     = VA_ARG (Marker, VOID *);                   
>     DataMask = VA_ARG (Marker, VOID *); 
> 
> Andrew Fish
> 
> 
> 
> 
> 

------------------------------------------------------------------------------
Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery
and much more. Keep your Java skills current with LearnJavaNow -
200+ hours of step-by-step video tutorials by Java experts.
SALE $49.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122612 
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to