summaryrefslogtreecommitdiff
path: root/include/ruby/3/core/rstring.h
AgeCommit message (Collapse)Author
2020-05-11mv include/ruby/{3,impl}卜部昌平
Devs do not love "3". Notes: Merged: https://github.com/ruby/ruby/pull/3079
2020-04-25More enums are mandatory for rp in lldb_cruby.pyNobuyoshi Nakada
2020-04-13add #include guard hack卜部昌平
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 Notes: Merged: https://github.com/ruby/ruby/pull/3023
2020-04-10ruby3_rstring_getmem: suppres warning卜部昌平
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. Notes: Merged: https://github.com/ruby/ruby/pull/3011
2020-04-08RARRAY_EMBED_LEN/RSTRING_EMBED_LEN: add RUBY3_CAST卜部昌平
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.
2020-04-08Suppress C4244 "possible loss of data" warningsNobuyoshi Nakada
2020-04-08Merge pull request #2991 from shyouhei/ruby.h卜部昌平
Split ruby.h Notes: Merged-By: shyouhei <[email protected]>