Issue #16025 has been updated by nobu (Nobuyoshi Nakada).


k_takata (Ken Takata) wrote:
> 2\. Remove `st_check_for_sizeof_st_index_t`
> 
> The size of `void*` and `long` or `long long` are already checked at here:
> https://github.com/ruby/ruby/blob/8c6f1715f03e0322c96d614a42c30bee0b7790eb/include/ruby/st.h#L21-L27
> Checking the size of `st_index_t` might be redundant.

This failure means the size of `st_index_t` doesn't equal the size of `void*`, so this check was not redundant actually.

----------------------------------------
Misc #16025: 'st_check_for_sizeof_st_index_t' declared as array with a negative size (emscripten)
https://bugs.ruby-lang.org/issues/16025#change-80276

* Author: vadimp (Vadim Peretokin)
* Status: Assigned
* Priority: Normal
* Assignee: nobu (Nobuyoshi Nakada)
----------------------------------------
Compilation of st.h with Emscripten 1.38.30 fails:

``` c
st.h:65:45: error: 'st_check_for_sizeof_st_index_t' declared as an
      array with a negative size
typedef char st_check_for_sizeof_st_index_t[SIZEOF_VOIDP == (int)sizeof(st_index_t) ? 1 : -1];
                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3rdparty/edbee-lib/vendor/onig/config.h:109:22: note: expanded from macro 'SIZEOF_VOIDP'
#define SIZEOF_VOIDP 8
                     ^
1 error generated.
shared:ERROR: compiler frontend failed to generate LLVM bitcode, halting
Makefile:36871: recipe for target 'regcomp.o' failed
```

Both sizeof are set to 8:

```c
onig$ cat config.h | grep SIZEOF_LONG
#define SIZEOF_LONG 8
#define SIZEOF_LONG_LONG 8
```

Is there a way to fix this issue or add a workaround for emscripten (`__EMSCRIPTEN__`)?



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>