]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Fix a bug of PCD autogen for UINT64:
authorklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 19 Jun 2006 03:53:41 +0000 (03:53 +0000)
committerklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 19 Jun 2006 03:53:41 +0000 (03:53 +0000)
when generate macro value for a UINT64 type PCD, "ULL" should be added to forbid compiler tread it as UINT32 value.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@555 6f19259b-4bc3-4df7-8a09-765794883524

Tools/Source/GenBuild/org/tianocore/build/pcd/entity/UsageInstance.java

index 9005a9808d34476833131b13addca2dbb864853a..1a843968dfc44f62eeef3402f6ca581209605d30 100644 (file)
@@ -204,6 +204,7 @@ public class UsageInstance {
         String guidStringArray[] = null;\r
         String guidString        = null;\r
         boolean isByteArray      = false;\r
+        String  printDatum       = null;\r
 \r
         hAutogenStr = "";\r
         cAutogenStr = "";\r
@@ -224,6 +225,12 @@ public class UsageInstance {
             }\r
         }\r
 \r
+        if (parentToken.datumType == Token.DATUM_TYPE.UINT64) {\r
+            printDatum = this.datum + "ULL";\r
+        } else {\r
+            printDatum = this.datum;\r
+        }\r
+\r
         switch (modulePcdType) {\r
         case FEATURE_FLAG:\r
             if (isBuildUsedLibrary) {\r
@@ -236,7 +243,7 @@ public class UsageInstance {
             } else {\r
                 hAutogenStr += String.format("#define _PCD_VALUE_%s   %s\r\n", \r
                                              parentToken.cName, \r
-                                             datum.toString());\r
+                                             printDatum);\r
                 hAutogenStr += String.format("extern const BOOLEAN _gPcd_FixedAtBuild_%s;\r\n", \r
                                              parentToken.cName);\r
                 cAutogenStr += String.format("GLOBAL_REMOVE_IF_UNREFERENCED const BOOLEAN _gPcd_FixedAtBuild_%s = _PCD_VALUE_%s;\r\n",\r
@@ -260,7 +267,7 @@ public class UsageInstance {
             } else {\r
                 hAutogenStr += String.format("#define _PCD_VALUE_%s   %s\r\n", \r
                                              parentToken.cName, \r
-                                             datum.toString());\r
+                                             printDatum);\r
                 if (isByteArray) {\r
                     cAutogenStr += String.format("GLOBAL_REMOVE_IF_UNREFERENCED const UINT8 _gPcd_FixedAtBuild_%s[] = _PCD_VALUE_%s;\r\n",\r
                                                  parentToken.cName,\r
@@ -298,7 +305,7 @@ public class UsageInstance {
             } else {\r
                 hAutogenStr += String.format("#define _PCD_VALUE_%s   %s\r\n", \r
                                              parentToken.cName, \r
-                                             datum.toString());\r
+                                             printDatum);\r
                 if (isByteArray) {\r
                     cAutogenStr += String.format("GLOBAL_REMOVE_IF_UNREFERENCED UINT8 _gPcd_BinaryPatch_%s[] = _PCD_VALUE_%s;\r\n",\r
                                                  parentToken.cName,\r