﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	difficulty
1665	Inlining issue	megane		"Same issue with C4.
{{{
::::::::::::::
mod.scm
::::::::::::::
(module
 mod
 (bar)
 (import scheme)

 (define (bar x y) (display x y))

 )
::::::::::::::
main.scm
::::::::::::::
(module main () (import scheme mod)
        (define foo
          (lambda [x]
            (lambda (a)
              (if a
                  (bar x 'xxx)
                  (if x
                      (bar x 'yyy)
                      (bar x 'zzz)))
              1)))

        (foo 'yo)
        (foo 'yo2)
        )
::::::::::::::
run.sh
::::::::::::::
#!/usr/bin/env bash
set -euo pipefail

rm -f *.o *.c *.inline *.import.*

csc -c mod.scm -J -unit mod -oi mod.inline

csc -inline-global main.scm -uses mod mod.o

# $ ./run.sh 
# main.c: In function ‘f_251’:
# main.c:261:1: warning: implicit declaration of function ‘f_230’; did you mean ‘f_238’? [-Wimplicit-function-declaration]
#  f_230(4,av2);}}}}
#  ^~~~~
#  f_238
# main.c:261:1: warning: ‘noreturn’ function does return
#  f_230(4,av2);}}}}
#  ^~~~~
# main.o: In function `f_251':
# main.c:(.text+0x8ee): undefined reference to `f_230'
# collect2: error: ld returned 1 exit status
}}}
"	defect	closed	major	5.2	compiler	5.1.0	fixed	inline optimizer		
