YAMAMOTO Masaya
acdc2d1f24
Add MRB_WITHOUT_FLOAT
2017-10-11 17:58:11 +09:00
Tomasz Dąbrowski
4d6b8dbcb9
fix: src\dump.c(710): warning C4244: 'function': conversion from 'mrb_int' to 'uint16_t', possible loss of data
2017-09-27 22:22:04 +02:00
Tomasz Dąbrowski
f4a17dd7b5
fix: src\dump.c(657): warning C4244: 'function': conversion from 'mrb_int' to 'uint16_t', possible loss of data
2017-09-27 22:22:04 +02:00
Yukihiro "Matz" Matsumoto
a7d611fb23
Reduce signed/unsigned warnings in dump.c
2017-08-19 21:50:36 +09:00
Yukihiro "Matz" Matsumoto
8bf492f127
Reduce integer type mismatch warnings in VC.
2017-08-12 09:35:35 +09:00
Yukihiro "Matz" Matsumoto
77331d127b
Unify else clause style
2017-04-03 16:56:27 +09:00
Tomasz Dąbrowski
401ad4586f
Add constant export declaration for MRBC output compiled as C++
...
Otherwise, C++ compilers will skip this constant when producing object files.
2016-11-24 09:28:00 +09:00
Yasuhiro Matsumoto
7cc33af2dc
fix build on VS2012
2015-12-22 17:46:20 +09:00
Yukihiro "Matz" Matsumoto
5c405dea3d
include changed from by quotes ("") to by brackets (<>); close #3032
2015-11-27 17:48:23 +09:00
Yukihiro "Matz" Matsumoto
4440566b95
DISABLE_STDIO/ENABLE_DEBUG macros to rename; close #3014
...
changes:
* rename DISABLE_STDIO -> MRB_DISABLE_STDIO
* rename ENABLE_DEBUG -> MRB_ENABLE_DEBUG_HOOK
* no more opposite macro definitions (e.g. ENABLE_STDIO, DISABLE_DEBUG).
* rewrite above macro references throughout the code.
* update documents
2015-11-17 07:30:34 +09:00
cremno
ad50a6c410
fix irep float dump format string for MRB_USE_FLOAT
...
IEC 60559 single format has 6 to 9 significant decimal digits precision.
However the printf conversion specifier e (and E, of course) already
writes 1 digit - the one before the decimal point - and precision
specifies the number of digits to write after the decimal point.
2015-08-17 20:39:24 +02:00
cremno
0f284091d1
delete mrb_free()-related non-NULL checks
...
No need to optimize since a program only exits once and errors are rare.
Also the mruby source code doesn't have these kind of checks elsewhere.
The ones in {Time,Random}#initialize are kept because there it actually
matters
since initialization always happens and re-initialization is unlikely.
2015-07-16 04:58:21 +02:00
cremno
43df1d7e39
remove unnecessary default case
2015-07-03 01:14:06 +02:00
cremno
2ee84eb3df
remove unnecessary including of <ctype.h>
...
Not needed anymore since 85075bef75
2015-05-28 10:44:20 +02:00
cremno
406fb9c809
let the C compiler validate the identifier
...
Some C compilers may allow other characters in identifiers such as $.
They may also implement C99's extended identifiers (\u30EB\u30D3\u30FC,
ルビー).
2015-05-15 22:41:46 +02:00
Simon Génier
1e51517615
Reenable mrb_dump_irep under DISABLE_STDIO.
2015-05-14 15:43:29 -04:00
cremno
7985f75dfa
refactor write_pool_block()
...
No need to write the same assertion in each case (except the default
one). Instead we can assert after the switch statement.
2015-03-22 23:10:38 +01:00
cremno
6f893b5183
re-implement mrb_float_to_str()
...
The new implementation is backwards incompatible, but I couldn't find
any usage outside mruby and I also couldn't think of a different and
good name.
All ISO C99 printf conversion specifiers for floating point numbers and
an optional precision are supported.
It is largely based on code from the MIT licensed musl libc
(http://www.musl-libc.org/ ) and its floating point printing is exact
(unlike the current code behind Float#to_s).
2015-02-13 09:33:03 +01:00
Jun Hiroe
b88c8b40d6
Replace int with mrb_bool in dump_bigendian_p func
2015-02-02 14:18:10 +09:00
Yukihiro "Matz" Matsumoto
bc9c47d518
allow endian specification of mrb files by mrbc -e/-E
...
`mruby -b` now accepts both big/little endian mrb (compiled binary) files.
`mrbc` generates mrb files in big endian for .mrb files and in native endian
for C files (with -B option specified) by default. If you are cross compiling,
you need to specify target endian by -e/-E options if it is different from
host endian.
2015-02-02 09:34:24 +09:00
Hiroshi Mimaki
c29185ff13
%zu format is not supported by MSVC
2014-11-06 13:30:42 +09:00
Yukihiro "Matz" Matsumoto
0e40468809
specify alignment specifier for GCC and MSC; ref #2630
2014-11-04 07:10:41 +09:00
Yukihiro "Matz" Matsumoto
be844f9284
Fix misaligned access when reading irep; close #2630
...
Add padding bytes before iseq block that may be used as mrb_code[].
Note that dumped mrb format has changed.
Based on a patch from kimu_shu <alfvegardrisc@gmail.com >
2014-11-04 02:41:42 +09:00
Yukihiro "Matz" Matsumoto
32aee72d29
wrong iseq conversion flag
2014-09-04 18:28:56 +09:00
Yukihiro "Matz" Matsumoto
3492be401a
avoid iseq allocation from static irep binary. it reduces 424KB allocation for mrbtest
2014-09-04 17:16:34 +09:00
Tatsuhiko Kubo
7d9b5132a5
Fix error handlings for fputs().
2014-08-28 05:29:25 +09:00
Tatsuhiko Kubo
921798be01
Fix error handlings for fprintf().
2014-08-28 05:19:09 +09:00
Tatsuhiko Kubo
bf173b320f
Remove discareded NULL checks.
2014-08-27 18:58:26 +09:00
cremno
aff65afe97
check the return value of fwrite
2014-07-12 20:36:45 +09:00
Jose Narvaez
a5cadf4bec
Fixed dead increment in 'dump.c' reported by 'clang-analyzer'
2014-06-13 10:13:18 +01:00
Yukihiro "Matz" Matsumoto
79a6574ac8
remove unnecessary assignment; ref #2301
2014-05-22 08:20:54 +09:00
take_cheeze
3fa19357b3
Reduce children filenames listing.
...
It is executed per each debug filenames in irep to same ireps(children).
2014-05-21 22:00:11 +09:00
take_cheeze
87eec261e0
Reduce filename table creation in irep dumping to once.
2014-05-21 21:57:33 +09:00
Yukihiro "Matz" Matsumoto
54c2dcf231
allow NULL (no variable) in lvar section of mrb format; fix #2294
...
This fix use UINT16_MAX for NULL symbol tag, that means maximum symbol length
is not UINT16_MAX-1.
2014-05-19 18:39:37 +09:00
take_cheeze
30e0dc7956
Support LVAR section removing.
2014-05-15 15:08:30 +09:00
Yukihiro "Matz" Matsumoto
9184d254e2
resize register number in LVAR section from 32bits to 16bits
2014-05-14 17:32:30 +09:00
Yukihiro "Matz" Matsumoto
10459a5eb2
Merge branch 'dump_lv' of https://github.com/take-cheeze/mruby into take-cheeze-dump_lv
2014-05-14 11:27:41 +09:00
cremno
36eef0c222
add namespace prefix to dump_irep
2014-05-02 22:29:12 +02:00
Thiago Scalone
05df94f148
Added dump_irep in header.
2014-04-30 18:32:55 -03:00
take_cheeze
5073d14e28
Remove lv_len and use nlocals - 1 instead.
...
Check that `lv`'s length is always `nlocals - 1`.
2014-04-29 22:06:59 +09:00
take_cheeze
4c7f9897c2
Support local variables information dumping.
2014-04-29 20:47:50 +09:00
cremno
01b76630b8
fix disabled stdio (and remove trailing spaces)
2014-04-29 07:05:30 +02:00
Yukihiro "Matz" Matsumoto
48f36d3f0e
better integer size assertion suggested by usak
2014-04-25 04:33:08 +09:00
Yukihiro "Matz" Matsumoto
320f0711f0
remove -Wsign-compare warnings
2014-04-25 02:33:33 +09:00
Jun Hiroe
81308c0bf4
Use boolean macro in is_valid_c_symbol_name()
2014-04-21 01:49:27 +09:00
take_cheeze
1ed9394078
Use boolean macro instead of integer literal in is_debug_info_defined.
2014-04-19 23:25:48 +09:00
Yukihiro "Matz" Matsumoto
72c274473b
remove size_t cast in mrb_assert() since ((size_t)n <= SIZE_MAX) is always true
2014-03-19 09:07:59 +09:00
Yukihiro "Matz" Matsumoto
3e24e06b29
add a space after C reserved words
2014-03-18 23:57:29 +09:00
Yukihiro "Matz" Matsumoto
c476c1b528
symbol length type to be mrb_int
2014-03-15 15:43:40 +09:00
Yukihiro "Matz" Matsumoto
ad04b45e5b
Merge pull request #1851 from tmash06/add_include_limit_h
...
add including limits.h.
2014-03-13 03:09:03 +09:00