nitlanguage
/
nit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge: Unite app.nit metadata annotations common to Android and iOS
[nit.git]
/
src
/
compiler
/
abstract_compiler.nit
diff --git
a/src/compiler/abstract_compiler.nit
b/src/compiler/abstract_compiler.nit
index
311d71b
..
894a13d
100644
(file)
--- a/
src/compiler/abstract_compiler.nit
+++ b/
src/compiler/abstract_compiler.nit
@@
-23,6
+23,7
@@
import platform
import c_tools
private import annotation
import mixin
import c_tools
private import annotation
import mixin
+import counter
# Add compiling options
redef class ToolContext
# Add compiling options
redef class ToolContext
@@
-299,15
+300,8
@@
class MakefileToolchain
# Get the default name of the executable to produce
fun default_outname: String
do
# Get the default name of the executable to produce
fun default_outname: String
do
- var mainmodule = compiler.mainmodule
-
- # Search a non fictive module
- var res = mainmodule.name
- while mainmodule.is_fictive do
- mainmodule = mainmodule.in_importation.direct_greaters.first
- res = mainmodule.name
- end
- return res
+ var mainmodule = compiler.mainmodule.first_real_mmodule
+ return mainmodule.name
end
# Combine options and platform informations to get the final path of the outfile
end
# Combine options and platform informations to get the final path of the outfile
@@
-1042,14
+1036,6
@@
extern void nitni_global_ref_decr( struct nitni_ref *ref ) {
end
fun finalize_ffi_for_module(mmodule: MModule) do mmodule.finalize_ffi(self)
end
fun finalize_ffi_for_module(mmodule: MModule) do mmodule.finalize_ffi(self)
-
- # Division facility
- # Avoid division by zero by returning the string "n/a"
- fun div(a,b:Int):String
- do
- if b == 0 then return "n/a"
- return ((a*10000/b).to_f / 100.0).to_precision(2)
- end
end
# A file unit (may be more than one file if
end
# A file unit (may be more than one file if
@@
-2211,6
+2197,9
@@
redef class AMethPropdef
else if pname == "atoi" then
v.ret(v.new_expr("atoi({arguments[0]});", ret.as(not null)))
return true
else if pname == "atoi" then
v.ret(v.new_expr("atoi({arguments[0]});", ret.as(not null)))
return true
+ else if pname == "fast_cstring" then
+ v.ret(v.new_expr("{arguments[0]} + {arguments[1]}", ret.as(not null)))
+ return true
else if pname == "new" then
v.ret(v.new_expr("(char*)nit_alloc({arguments[1]})", ret.as(not null)))
return true
else if pname == "new" then
v.ret(v.new_expr("(char*)nit_alloc({arguments[1]})", ret.as(not null)))
return true