Fix MTE support from causing unused variable warnings
authorJustin Chadwell <justin.chadwell@arm.com>
Fri, 20 Sep 2019 08:13:14 +0000 (09:13 +0100)
committerJustin Chadwell <justin.chadwell@arm.com>
Fri, 20 Sep 2019 08:17:55 +0000 (09:17 +0100)
assert() calls are removed in release builds, and if that assert call is
the only use of a variable, an unused variable warning will be triggered
in a release build. This patch fixes this problem when
CTX_INCLUDE_MTE_REGS by not using an intermediate variable to store the
results of get_armv8_5_mte_support().

Change-Id: I529e10ec0b2c8650d2c3ab52c4f0cecc0b3a670e
Signed-off-by: Justin Chadwell <justin.chadwell@arm.com>
lib/el3_runtime/aarch64/context_mgmt.c

index a05ee5a6e4970542d6a592f0ef0a8606a2c923a1..d65e02d5e1da0505fada2e80805280e746001255 100644 (file)
@@ -142,11 +142,11 @@ void cm_setup_context(cpu_context_t *ctx, const entry_point_info_t *ep)
         * world, and only for the secure world when CTX_INCLUDE_MTE_REGS is
         * set.
         */
-       unsigned int mte = get_armv8_5_mte_support();
 #if CTX_INCLUDE_MTE_REGS
-       assert(mte == MTE_IMPLEMENTED_ELX);
+       assert(get_armv8_5_mte_support() == MTE_IMPLEMENTED_ELX);
        scr_el3 |= SCR_ATA_BIT;
 #else
+       unsigned int mte = get_armv8_5_mte_support();
        if (mte == MTE_IMPLEMENTED_EL0) {
                /*
                 * Can enable MTE across both worlds as no MTE registers are