From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=2a00:1450:400c:c0c::244; helo=mail-wr0-x244.google.com; envelope-from=leif.lindholm@linaro.org; receiver=edk2-devel@lists.01.org Received: from mail-wr0-x244.google.com (mail-wr0-x244.google.com [IPv6:2a00:1450:400c:c0c::244]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id C321A2035627C for ; Tue, 5 Dec 2017 08:05:48 -0800 (PST) Received: by mail-wr0-x244.google.com with SMTP id g53so882967wra.2 for ; Tue, 05 Dec 2017 08:10:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=BtWDYggAVpkS4fhzVnZN4tkc5X7oPEe/RUudjAJCpAk=; b=MKbbvW1HSmsyZFoI+ETIk5IEJrbzGG/kkinPlxVxFuLCH/6rh6hDV8J/U3ZTjkv+ON 1HiL3gaWp8e1qLVH7flWQXZVZHC/V8qYu0IxVVPWdrIYqezvPWGc7FQ2xGsHcN8dHeuy FaaUWhyeJt42NBLZUPxeHtyt+f4vkoxprKFEU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=BtWDYggAVpkS4fhzVnZN4tkc5X7oPEe/RUudjAJCpAk=; b=Wvb9heWOQlhjNIQHFt/AFaVz5EIMuaJJgggiKeI7QHcd5s3Cqcnl3GqtMa5aQnnCpl BhW7zvUZJa0feN2MBFVTFOYmiZzfARZjOX+pQYAY+ati4zD2h0LEcs5xPi1TTTxvKD8a S6MGn5QeEUQg5J9+b5hXYQQjm7rfzvadYzWEeCfWnOuzst5onPwt1ienSu2H9lwVqGU5 wqlsx9X2eHxb1u28S+iArW9TOGekFrASlNG6brn2G+ldOoQSRlcIwm3erP1K6bLTihOK z5YGBGNZwiBn5vC2V/TIG4Qcjlq7tTxC6Ob/q6vUPXxnu19p4urndzXTlKhN79/Pja1i cqkw== X-Gm-Message-State: AJaThX53mBeqUUVJ1Ax93Czz0pHC2xz+nYswywAQj9gWMARM1p+6okeQ xvoUAINnt9PND+w3ghKALoISGGWI9TQ= X-Google-Smtp-Source: AGs4zMZAH4XVguLScUnUX9iZneWFIvDXW9ai8Y39yxlEm4nMiVFa2mGTEL0FbMXU5a/zCeRxxQJy6w== X-Received: by 10.223.161.222 with SMTP id v30mr16681984wrv.191.1512490218008; Tue, 05 Dec 2017 08:10:18 -0800 (PST) Received: from vanye.hemma.eciton.net (cpc92316-cmbg19-2-0-cust118.5-4.cable.virginm.net. [82.12.0.119]) by smtp.gmail.com with ESMTPSA id s187sm780040wmf.16.2017.12.05.08.10.16 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Dec 2017 08:10:16 -0800 (PST) From: Leif Lindholm To: edk2-devel@lists.01.org Cc: Yonghong Zhu , Liming Gao Date: Tue, 5 Dec 2017 16:10:15 +0000 Message-Id: <20171205161016.12879-1-leif.lindholm@linaro.org> X-Mailer: git-send-email 2.11.0 Subject: [PATCH v2] BaseTools: align ENCODE_ERROR macro with MdePkg version X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Dec 2017 16:05:49 -0000 BaseTools' BaseTypes.h defined the ENCODE_ERROR macro as #define ENCODE_ERROR(a) ((RETURN_STATUS)(MAX_BIT | (a))) whereas MdePkg defines it as #define ENCODE_ERROR(StatusCode) ((RETURN_STATUS)(MAX_BIT | (StatusCode))) When building with GCC 6.3 (at least) the former triggers "error: overflow in implicit constant conversion [-Werror=overflow]" Resolve this by aligning it with the latter one. This also requires aligning the BaseTools typedef of RETURN_STATUS with the MdePkg one: INTN -> UINTN. Add an explicit initialization of *Alignment to 0 in GenFfs.c GetAlignmentFromFile to get rid of a warning occuring with GCC after this change (-Werror=maybe-uninitialized). Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Leif Lindholm --- Sending out a v2 because I got cought out by the leading # in the commit message... BaseTools/Source/C/GenFfs/GenFfs.c | 1 + BaseTools/Source/C/Include/Common/BaseTypes.h | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/BaseTools/Source/C/GenFfs/GenFfs.c b/BaseTools/Source/C/GenFfs/GenFfs.c index e2fb3e0d1e..3b4a9b7761 100644 --- a/BaseTools/Source/C/GenFfs/GenFfs.c +++ b/BaseTools/Source/C/GenFfs/GenFfs.c @@ -529,6 +529,7 @@ GetAlignmentFromFile(char *InFile, UINT32 *Alignment) InFileHandle = NULL; PeFileBuffer = NULL; + *Alignment = 0; memset (&ImageContext, 0, sizeof (ImageContext)); diff --git a/BaseTools/Source/C/Include/Common/BaseTypes.h b/BaseTools/Source/C/Include/Common/BaseTypes.h index 198647ab95..5fa4e560d8 100644 --- a/BaseTools/Source/C/Include/Common/BaseTypes.h +++ b/BaseTools/Source/C/Include/Common/BaseTypes.h @@ -170,12 +170,12 @@ // EFI Error Codes common to all execution phases // -typedef INTN RETURN_STATUS; +typedef UINTN RETURN_STATUS; /// /// Set the upper bit to indicate EFI Error. /// -#define ENCODE_ERROR(a) (MAX_BIT | (a)) +#define ENCODE_ERROR(a) ((RETURN_STATUS)(MAX_BIT | (a))) #define ENCODE_WARNING(a) (a) #define RETURN_ERROR(a) ((a) < 0) -- 2.11.0