aboutsummaryrefslogtreecommitdiffstats
path: root/include/ruby/3/core/rstring.h
Commit message (Collapse)AuthorAgeFilesLines
* mv include/ruby/{3,impl}卜部昌平2020-05-111-215/+0
| | | | Devs do not love "3".
* More enums are mandatory for rp in lldb_cruby.pyNobuyoshi Nakada2020-04-251-1/+1
|
* add #include guard hack卜部昌平2020-04-131-3/+3
| | | | | | | | | | | | | | | | | | | | | | According to MSVC manual (*1), cl.exe can skip including a header file when that: - contains #pragma once, or - starts with #ifndef, or - starts with #if ! defined. GCC has a similar trick (*2), but it acts more stricter (e. g. there must be _no tokens_ outside of #ifndef...#endif). Sun C lacked #pragma once for a looong time. Oracle Developer Studio 12.5 finally implemented it, but we cannot assume such recent version. This changeset modifies header files so that each of them include strictly one #ifndef...#endif. I believe this is the most portable way to trigger compiler optimizations. [Bug #16770] *1: https://docs.microsoft.com/en-us/cpp/preprocessor/once *2: https://gcc.gnu.org/onlinedocs/cppinternals/Guard-Macros.html
* ruby3_rstring_getmem: suppres warning卜部昌平2020-04-101-0/+8
| | | | | | | | | | | icc warns at this line. > include/ruby/3/core/rstring.h(126): warning #413: variable "retval" has an uninitialized const field > struct RString retval; > ^ This must not be a problem because uninitialized const field is not used at all. But the warnings are annoying. Let us suppress them.
* RARRAY_EMBED_LEN/RSTRING_EMBED_LEN: add RUBY3_CAST卜部昌平2020-04-081-1/+1
| | | | | | RUBY3_CAST is a macro to suppress g++/clang++ warnings about C-style casts. Though Ruby core don't have to bother C++ situations, extension libraries can benefit from this.
* Suppress C4244 "possible loss of data" warningsNobuyoshi Nakada2020-04-081-1/+1
|
* Merge pull request #2991 from shyouhei/ruby.h卜部昌平2020-04-081-0/+207
Split ruby.h