Announcement

Collapse
No announcement yet.

Compile error: \Temp\\mva.0:2724: AE_333: Label L_start_155 not defined

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Compile error: \Temp\\mva.0:2724: AE_333: Label L_start_155 not defined

    What does that mean and how can I figure out where the problem exists?

    I'm trying to compile a file with a large number of imports. Compiling other files work fine; even with with a similar number of imports. I can't upload the file(s) in question as it has proprietary information. But I'll work with anyone that can at least point me in the right direction.

    I'm using MivaScript Compiler 5.22 in Windows 10. I've tried uninstalling and reinstalling but no difference. As stated, it's just one set of files having the issue. Every other file compiles fine.

    Thanks

    #2
    Hi Scott,

    It's going to be somewhat difficult to help you diagnose it without seeing the files, but I understand you cannot share them. I would recommend deleting / commenting out chunks of code at a time until you can compile the file, then work backwards. I have seen a similar issue in the past where a tag such as, MvWHILECONTINUE, is used when not within the immediate context of an MvWHILE loop.

    Another step you could potentially make is to only compile the file and not assemble it. You can pass the -c flag to the mvc and your file will be compiled into MivaScript assembly code. You could then go and look where L_start_155 is being called and see where it is being defined and try to figure out what is happening.

    Code:
    Example of only compiling your .mv file
    mvc -c <your_file>.mv
    that will generate a file called <your_file>.mva which you can view with any text editor.

    Here is an example of an .mva file that would generate a similar error:

    Code:
    .function test
        jmp    L_end_1
    .endfunction
    L_end_1:
    You will notice that the label L_end_1 is defined outside of the function.

    Hope this can set you on the right path, let me know if you have any other questions.

    Thanks

    David Carver
    Miva, Inc. | Software Developer

    Comment


      #3
      I was able to track down the issue with a little trial and error. It looks to be a problem with putting an IFDEF around an ELSEIF. So something like so:
      Code:
      <MvIF         EXPR = "{ l.command EQ 1 }">    <MvASSIGN NAME = "l.ok" VALUE = "{ 1 }">
      <MvELSEIF     EXPR = "{ l.command EQ 2 }">    <MvASSIGN NAME = "l.ok" VALUE = "{ 2 }">
      <MvELSEIF     EXPR = "{ l.command EQ 3 }">    <MvASSIGN NAME = "l.ok" VALUE = "{ 3 }">
      <MvIFDEF NAME = "TEST">
          <MvELSEIF EXPR = "{ l.command EQ 4 }">    <MvASSIGN NAME = "l.ok" VALUE = "{ 4 }">
      </MvIFDEF>
      </MvIF>
      When I removed the IFDEF, the error went away and everything compiled fine.

      Comment


        #4
        I've been able to reproduce the issue and will file a bug on it.
        David Carver
        Miva, Inc. | Software Developer

        Comment

        Working...
        X