Glad to hear this as I just want to ask if it will impact native GCC:)

From: Andrew Fish [mailto:af...@apple.com]
Sent: Wednesday, January 16, 2013 13:06
To: edk2-devel@lists.sourceforge.net
Subject: Re: [edk2] [Patch] MdeModulePkg: Fix Xcode warning

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<mailto: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<mailto: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