Project

General

Profile

Actions

Bug #6217

closed

The == operator is not supported for the LOGIC_BOOLEAN type

Added by Alexander Protsenko over 9 years ago. Updated about 9 years ago.

Status:
Closed
Priority:
Normal
Category:
-
Target version:
Start date:
07/22/2015
Due date:
% Done:

100%

Estimated time:
Detected in build:
svn
Platform:
Published in build:
2.3.0

Description

I.
MMU Code:

    if HaveEL_EL2 == 1 && NOT_IsSecure == 1 && PSTATE_EL_EL0_EL1 == 1 then
      s1_enabled = HCR_EL2_TGE == 0 && SCTLR_EL1_M == 1;
    else
      s1_enabled = SCTLR_M == 1;
    endif;
    if s1_enabled == 1 then  // First stage enabled
    endif;

Output:

armv8.mmu 235:18 ERROR (SEMANTIC): "The == operator is not supported for the LOGIC_BOOLEAN type." 
armv8.mmu 235:4 ERROR (SEMANTIC): "Failed to recognize the grammar structure. It will be ignored: 'if'." 
armv8.mmu 235:4 ERROR (SEMANTIC): "Failed to recognize the grammar structure. It will be ignored: 'if'." 
java.lang.IllegalArgumentException
    at ru.ispras.fortress.util.InvariantChecks.checkTrue(InvariantChecks.java:41)
    at ru.ispras.fortress.util.InvariantChecks.checkNotNull(InvariantChecks.java:69)
    at ru.ispras.microtesk.mmu.translator.ir.Attribute.<init>(Unknown Source)
    at ru.ispras.microtesk.mmu.translator.MmuTreeWalkerBase$CommonBuilder.addAttribute(Unknown Source)
    at ru.ispras.microtesk.mmu.translator.grammar.MmuTreeWalker.segment(Unknown Source)
    at ru.ispras.microtesk.mmu.translator.grammar.MmuTreeWalker.declaration(Unknown Source)
    at ru.ispras.microtesk.mmu.translator.grammar.MmuTreeWalker.startRule(Unknown Source)
    at ru.ispras.microtesk.mmu.translator.MmuTranslator.start(Unknown Source)
    at ru.ispras.microtesk.translator.Translator.start(Unknown Source)
    at ru.ispras.microtesk.MicroTESK.translate(Unknown Source)
    at ru.ispras.microtesk.MicroTESK.main(Unknown Source)

II.
Code:

    if HaveEL_EL2 == 1 && NOT_IsSecure == 1 && PSTATE_EL_EL0_EL1 == 1 then
      s1_enabled = HCR_EL2_TGE == 0 && SCTLR_EL1_M == 1;
    else
      s1_enabled = SCTLR_M == 1;
    endif;
    if s1_enabled then  // First stage enabled
    endif;

Output:

armv8.mmu 235:4 ERROR (SEMANTIC): "Incorrect conditional expression: only boolean expressions are accepted." 
armv8.mmu 235:4 ERROR (SEMANTIC): "Failed to recognize the grammar structure. It will be ignored: 'if'." 
java.lang.IllegalArgumentException
    at ru.ispras.fortress.util.InvariantChecks.checkTrue(InvariantChecks.java:41)
    at ru.ispras.fortress.util.InvariantChecks.checkNotNull(InvariantChecks.java:69)
    at ru.ispras.microtesk.mmu.translator.ir.Attribute.<init>(Unknown Source)
    at ru.ispras.microtesk.mmu.translator.MmuTreeWalkerBase$CommonBuilder.addAttribute(Unknown Source)
    at ru.ispras.microtesk.mmu.translator.grammar.MmuTreeWalker.segment(Unknown Source)
    at ru.ispras.microtesk.mmu.translator.grammar.MmuTreeWalker.declaration(Unknown Source)
    at ru.ispras.microtesk.mmu.translator.grammar.MmuTreeWalker.startRule(Unknown Source)
    at ru.ispras.microtesk.mmu.translator.MmuTranslator.start(Unknown Source)
    at ru.ispras.microtesk.translator.Translator.start(Unknown Source)
    at ru.ispras.microtesk.MicroTESK.translate(Unknown Source)
    at ru.ispras.microtesk.MicroTESK.main(Unknown Source)

Actions

Also available in: Atom PDF