Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve llvm-crap to deal with deprecated functions in LLVM 9.0.1 #39

Open
c3d opened this issue Feb 9, 2020 · 0 comments
Open

Improve llvm-crap to deal with deprecated functions in LLVM 9.0.1 #39

c3d opened this issue Feb 9, 2020 · 0 comments
Labels
compilation Compilation errors, warnings, etc

Comments

@c3d
Copy link
Owner

c3d commented Feb 9, 2020

With LLVM 9.0.1, there is the following warning:

llvm-crap.cpp: In constructor ‘XL::JITPrivate::JITPrivate(int, char**)’:
llvm-crap.cpp:560:20: warning: ‘llvm::orc::LegacyRTDyldObjectLinkingLayer::LegacyRTDyldObjectLinkingLayer(llvm::orc::ExecutionSession&, llvm::orc::LegacyRTDyldObjectLinkingLayer::ResourcesGetter, llvm::orc::LegacyRTDyldObjectLinkingLayer::NotifyLoadedFtor, llvm::orc::LegacyRTDyldObjectLinkingLayer::NotifyFinalizedFtor, llvm::orc::LegacyRTDyldObjectLinkingLayer::NotifyFreedFtor)’ is deprecated [-Wdeprecated-declarations]
  560 |       moduleHandle()
      |                    ^
In file included from /usr/include/llvm/ADT/APInt.h:18,
                 from /usr/include/llvm/ADT/APFloat.h:19,
                 from /usr/include/llvm/IR/Type.h:17,
                 from llvm-crap.h:55,
                 from llvm-crap.cpp:40:
/usr/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h:356:3: note: declared here
  356 |   LLVM_ATTRIBUTE_DEPRECATED(
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~
llvm-crap.cpp:560:20: warning: ‘llvm::orc::LegacyIRCompileLayer<BaseLayerT, CompileFtor>::LegacyIRCompileLayer(BaseLayerT&, CompileFtor, llvm::orc::LegacyIRCompileLayer<BaseLayerT, CompileFtor>::NotifyCompiledCallback) [with BaseLayerT = llvm::orc::LegacyRTDyldObjectLinkingLayer; CompileFtor = llvm::orc::SimpleCompiler; llvm::orc::LegacyIRCompileLayer<BaseLayerT, CompileFtor>::NotifyCompiledCallback = std::function<void(long unsigned int, std::unique_ptr<llvm::Module>)>]’ is deprecated [-Wdeprecated-declarations]
  560 |       moduleHandle()
      |                    ^
In file included from llvm-crap.cpp:168:
/usr/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h:136:1: note: declared here
  136 | LegacyIRCompileLayer<BaseLayerT, CompileFtor>::LegacyIRCompileLayer(
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
llvm-crap.cpp:560:20: warning: ‘llvm::orc::LegacyIRTransformLayer<BaseLayerT, TransformFtor>::LegacyIRTransformLayer(BaseLayerT&, TransformFtor) [with BaseLayerT = llvm::orc::LegacyIRCompileLayer<llvm::orc::LegacyRTDyldObjectLinkingLayer, llvm::orc::SimpleCompiler>; TransformFtor = std::function<std::unique_ptr<llvm::Module>(std::unique_ptr<llvm::Module>)>]’ is deprecated [-Wdeprecated-declarations]
  560 |       moduleHandle()
      |                    ^
In file included from llvm-crap.cpp:169:
/usr/include/llvm/ExecutionEngine/Orc/IRTransformLayer.h:120:1: note: declared here
  120 | LegacyIRTransformLayer<BaseLayerT, TransformFtor>::LegacyIRTransformLayer(
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@c3d c3d added the compilation Compilation errors, warnings, etc label Feb 9, 2020
c3d added a commit that referenced this issue May 7, 2021
When matching [write "Hello"] with [write X:text], we don't want to consider the
generated code as conditional when it is not.

This changes the generated code from:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
  L1	= ["false"]
Types:
  write "false"	as	nil
  "false"	as	character
Opcodes (2 locals, 0 parameters, 2 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: branch              +12=19
     7: character_typecheck L1, +7=17
    10: native              #39=xl_write_character, (1)
       0: C0
       => L0
    15: branch              +2=19
    17: form_error          L0
    19: ret                 L0

to:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
Types:
  write "false"	as	nil
  "false"	as	text
Opcodes (1 locals, 0 parameters, 1 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: ret                 L0

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
c3d added a commit that referenced this issue Jul 1, 2021
When matching [write "Hello"] with [write X:text], we don't want to consider the
generated code as conditional when it is not.

This changes the generated code from:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
  L1	= ["false"]
Types:
  write "false"	as	nil
  "false"	as	character
Opcodes (2 locals, 0 parameters, 2 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: branch              +12=19
     7: character_typecheck L1, +7=17
    10: native              #39=xl_write_character, (1)
       0: C0
       => L0
    15: branch              +2=19
    17: form_error          L0
    19: ret                 L0

to:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
Types:
  write "false"	as	nil
  "false"	as	text
Opcodes (1 locals, 0 parameters, 1 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: ret                 L0

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
c3d added a commit that referenced this issue Jul 1, 2021
When matching [write "Hello"] with [write X:text], we don't want to consider the
generated code as conditional when it is not.

This changes the generated code from:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
  L1	= ["false"]
Types:
  write "false"	as	nil
  "false"	as	character
Opcodes (2 locals, 0 parameters, 2 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: branch              +12=19
     7: character_typecheck L1, +7=17
    10: native              #39=xl_write_character, (1)
       0: C0
       => L0
    15: branch              +2=19
    17: form_error          L0
    19: ret                 L0

to:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
Types:
  write "false"	as	nil
  "false"	as	text
Opcodes (1 locals, 0 parameters, 1 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: ret                 L0

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
c3d added a commit that referenced this issue Jul 1, 2021
When matching [write "Hello"] with [write X:text], we don't want to consider the
generated code as conditional when it is not.

This changes the generated code from:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
  L1	= ["false"]
Types:
  write "false"	as	nil
  "false"	as	character
Opcodes (2 locals, 0 parameters, 2 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: branch              +12=19
     7: character_typecheck L1, +7=17
    10: native              #39=xl_write_character, (1)
       0: C0
       => L0
    15: branch              +2=19
    17: form_error          L0
    19: ret                 L0

to:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
Types:
  write "false"	as	nil
  "false"	as	text
Opcodes (1 locals, 0 parameters, 1 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: ret                 L0

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
c3d added a commit that referenced this issue Jul 1, 2021
When matching [write "Hello"] with [write X:text], we don't want to consider the
generated code as conditional when it is not.

This changes the generated code from:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
  L1	= ["false"]
Types:
  write "false"	as	nil
  "false"	as	character
Opcodes (2 locals, 0 parameters, 2 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: branch              +12=19
     7: character_typecheck L1, +7=17
    10: native              #39=xl_write_character, (1)
       0: C0
       => L0
    15: branch              +2=19
    17: form_error          L0
    19: ret                 L0

to:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
Types:
  write "false"	as	nil
  "false"	as	text
Opcodes (1 locals, 0 parameters, 1 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: ret                 L0

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
c3d added a commit that referenced this issue Jul 3, 2021
When matching [write "Hello"] with [write X:text], we don't want to consider the
generated code as conditional when it is not.

This changes the generated code from:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
  L1	= ["false"]
Types:
  write "false"	as	nil
  "false"	as	character
Opcodes (2 locals, 0 parameters, 2 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: branch              +12=19
     7: character_typecheck L1, +7=17
    10: native              #39=xl_write_character, (1)
       0: C0
       => L0
    15: branch              +2=19
    17: form_error          L0
    19: ret                 L0

to:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
Types:
  write "false"	as	nil
  "false"	as	text
Opcodes (1 locals, 0 parameters, 1 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: ret                 L0

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
c3d added a commit that referenced this issue Jul 4, 2021
When matching [write "Hello"] with [write X:text], we don't want to consider the
generated code as conditional when it is not.

This changes the generated code from:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
  L1	= ["false"]
Types:
  write "false"	as	nil
  "false"	as	character
Opcodes (2 locals, 0 parameters, 2 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: branch              +12=19
     7: character_typecheck L1, +7=17
    10: native              #39=xl_write_character, (1)
       0: C0
       => L0
    15: branch              +2=19
    17: form_error          L0
    19: ret                 L0

to:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
Types:
  write "false"	as	nil
  "false"	as	text
Opcodes (1 locals, 0 parameters, 1 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: ret                 L0

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
c3d added a commit that referenced this issue Jul 10, 2021
When matching [write "Hello"] with [write X:text], we don't want to consider the
generated code as conditional when it is not.

This changes the generated code from:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
  L1	= ["false"]
Types:
  write "false"	as	nil
  "false"	as	character
Opcodes (2 locals, 0 parameters, 2 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: branch              +12=19
     7: character_typecheck L1, +7=17
    10: native              #39=xl_write_character, (1)
       0: C0
       => L0
    15: branch              +2=19
    17: form_error          L0
    19: ret                 L0

to:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
Types:
  write "false"	as	nil
  "false"	as	text
Opcodes (1 locals, 0 parameters, 1 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: ret                 L0

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
c3d added a commit that referenced this issue Oct 22, 2021
When matching [write "Hello"] with [write X:text], we don't want to consider the
generated code as conditional when it is not.

This changes the generated code from:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
  L1	= ["false"]
Types:
  write "false"	as	nil
  "false"	as	character
Opcodes (2 locals, 0 parameters, 2 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: branch              +12=19
     7: character_typecheck L1, +7=17
    10: native              #39=xl_write_character, (1)
       0: C0
       => L0
    15: branch              +2=19
    17: form_error          L0
    19: ret                 L0

to:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
Types:
  write "false"	as	nil
  "false"	as	text
Opcodes (1 locals, 0 parameters, 1 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: ret                 L0

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
c3d added a commit that referenced this issue Dec 10, 2021
When matching [write "Hello"] with [write X:text], we don't want to consider the
generated code as conditional when it is not.

This changes the generated code from:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
  L1	= ["false"]
Types:
  write "false"	as	nil
  "false"	as	character
Opcodes (2 locals, 0 parameters, 2 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: branch              +12=19
     7: character_typecheck L1, +7=17
    10: native              #39=xl_write_character, (1)
       0: C0
       => L0
    15: branch              +2=19
    17: form_error          L0
    19: ret                 L0

to:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
Types:
  write "false"	as	nil
  "false"	as	text
Opcodes (1 locals, 0 parameters, 1 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: ret                 L0

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
c3d added a commit that referenced this issue Dec 14, 2021
When matching [write "Hello"] with [write X:text], we don't want to consider the
generated code as conditional when it is not.

This changes the generated code from:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
  L1	= ["false"]
Types:
  write "false"	as	nil
  "false"	as	character
Opcodes (2 locals, 0 parameters, 2 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: branch              +12=19
     7: character_typecheck L1, +7=17
    10: native              #39=xl_write_character, (1)
       0: C0
       => L0
    15: branch              +2=19
    17: form_error          L0
    19: ret                 L0

to:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
Types:
  write "false"	as	nil
  "false"	as	text
Opcodes (1 locals, 0 parameters, 1 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: ret                 L0

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
c3d added a commit that referenced this issue Dec 14, 2021
When matching [write "Hello"] with [write X:text], we don't want to consider the
generated code as conditional when it is not.

This changes the generated code from:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
  L1	= ["false"]
Types:
  write "false"	as	nil
  "false"	as	character
Opcodes (2 locals, 0 parameters, 2 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: branch              +12=19
     7: character_typecheck L1, +7=17
    10: native              #39=xl_write_character, (1)
       0: C0
       => L0
    15: branch              +2=19
    17: form_error          L0
    19: ret                 L0

to:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
Types:
  write "false"	as	nil
  "false"	as	text
Opcodes (1 locals, 0 parameters, 1 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: ret                 L0

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
c3d added a commit that referenced this issue Dec 16, 2021
When matching [write "Hello"] with [write X:text], we don't want to consider the
generated code as conditional when it is not.

This changes the generated code from:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
  L1	= ["false"]
Types:
  write "false"	as	nil
  "false"	as	character
Opcodes (2 locals, 0 parameters, 2 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: branch              +12=19
     7: character_typecheck L1, +7=17
    10: native              #39=xl_write_character, (1)
       0: C0
       => L0
    15: branch              +2=19
    17: form_error          L0
    19: ret                 L0

to:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
Types:
  write "false"	as	nil
  "false"	as	text
Opcodes (1 locals, 0 parameters, 1 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: ret                 L0

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
c3d added a commit that referenced this issue Jan 3, 2022
When matching [write "Hello"] with [write X:text], we don't want to consider the
generated code as conditional when it is not.

This changes the generated code from:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
  L1	= ["false"]
Types:
  write "false"	as	nil
  "false"	as	character
Opcodes (2 locals, 0 parameters, 2 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: branch              +12=19
     7: character_typecheck L1, +7=17
    10: native              #39=xl_write_character, (1)
       0: C0
       => L0
    15: branch              +2=19
    17: form_error          L0
    19: ret                 L0

to:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
Types:
  write "false"	as	nil
  "false"	as	text
Opcodes (1 locals, 0 parameters, 1 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: ret                 L0

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
c3d added a commit that referenced this issue Jan 11, 2022
When matching [write "Hello"] with [write X:text], we don't want to consider the
generated code as conditional when it is not.

This changes the generated code from:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
  L1	= ["false"]
Types:
  write "false"	as	nil
  "false"	as	character
Opcodes (2 locals, 0 parameters, 2 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: branch              +12=19
     7: character_typecheck L1, +7=17
    10: native              #39=xl_write_character, (1)
       0: C0
       => L0
    15: branch              +2=19
    17: form_error          L0
    19: ret                 L0

to:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
Types:
  write "false"	as	nil
  "false"	as	text
Opcodes (1 locals, 0 parameters, 1 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: ret                 L0

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
c3d added a commit that referenced this issue Apr 15, 2022
When matching [write "Hello"] with [write X:text], we don't want to consider the
generated code as conditional when it is not.

This changes the generated code from:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
  L1	= ["false"]
Types:
  write "false"	as	nil
  "false"	as	character
Opcodes (2 locals, 0 parameters, 2 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: branch              +12=19
     7: character_typecheck L1, +7=17
    10: native              #39=xl_write_character, (1)
       0: C0
       => L0
    15: branch              +2=19
    17: form_error          L0
    19: ret                 L0

to:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
Types:
  write "false"	as	nil
  "false"	as	text
Opcodes (1 locals, 0 parameters, 1 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: ret                 L0

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
c3d added a commit that referenced this issue Apr 16, 2022
When matching [write "Hello"] with [write X:text], we don't want to consider the
generated code as conditional when it is not.

This changes the generated code from:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
  L1	= ["false"]
Types:
  write "false"	as	nil
  "false"	as	character
Opcodes (2 locals, 0 parameters, 2 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: branch              +12=19
     7: character_typecheck L1, +7=17
    10: native              #39=xl_write_character, (1)
       0: C0
       => L0
    15: branch              +2=19
    17: form_error          L0
    19: ret                 L0

to:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
Types:
  write "false"	as	nil
  "false"	as	text
Opcodes (1 locals, 0 parameters, 1 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: ret                 L0

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
c3d added a commit that referenced this issue Apr 16, 2022
When matching [write "Hello"] with [write X:text], we don't want to consider the
generated code as conditional when it is not.

This changes the generated code from:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
  L1	= ["false"]
Types:
  write "false"	as	nil
  "false"	as	character
Opcodes (2 locals, 0 parameters, 2 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: branch              +12=19
     7: character_typecheck L1, +7=17
    10: native              #39=xl_write_character, (1)
       0: C0
       => L0
    15: branch              +2=19
    17: form_error          L0
    19: ret                 L0

to:

Compiled write "false" as
Constants:
  C0	= "false"
  C1	= false
  C2	= true
Locals:
  L0	= [write "false"]
Types:
  write "false"	as	nil
  "false"	as	text
Opcodes (1 locals, 0 parameters, 1 temporaries)
     0: native              #41=xl_write_text, (1)
       0: C0
       => L0
     5: ret                 L0

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compilation Compilation errors, warnings, etc
Projects
None yet
Development

No branches or pull requests

1 participant