__declspec(align(#)) does not take sizeof()

Use compile-time constant expression instead.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
shyouhei 2018-01-15 02:59:18 +00:00
parent 65236c069e
commit cabc3b6516
2 changed files with 4 additions and 4 deletions

View File

@ -8077,7 +8077,7 @@ struct ibf_dump {
rb_iseq_t * iseq_alloc(void); rb_iseq_t * iseq_alloc(void);
struct ibf_load { struct ibf_load {
const RUBY_ALIGNAS(sizeof(VALUE)) char *buff; const ruby_aligned_char *buff;
const struct ibf_header *header; const struct ibf_header *header;
ID *id_list; /* [id0, ...] */ ID *id_list; /* [id0, ...] */
VALUE iseq_list; /* [iseq0, ...] */ VALUE iseq_list; /* [iseq0, ...] */

View File

@ -853,7 +853,7 @@ enum ruby_fl_type {
RUBY_FL_SINGLETON = RUBY_FL_USER0 RUBY_FL_SINGLETON = RUBY_FL_USER0
}; };
struct RUBY_ALIGNAS(sizeof(VALUE)) RBasic { struct RUBY_ALIGNAS(SIZEOF_VALUE) RBasic {
VALUE flags; VALUE flags;
const VALUE klass; const VALUE klass;
}; };
@ -950,7 +950,7 @@ enum ruby_rstring_flags {
RSTRING_ENUM_END RSTRING_ENUM_END
}; };
typedef RUBY_ALIGNAS(sizeof(VALUE)) char ruby_aligned_char; typedef RUBY_ALIGNAS(SIZEOF_VALUE) char ruby_aligned_char;
struct RString { struct RString {
struct RBasic basic; struct RBasic basic;
@ -963,7 +963,7 @@ struct RString {
VALUE shared; VALUE shared;
} aux; } aux;
} heap; } heap;
char RUBY_ALIGNAS(sizeof(VALUE)) ary[RSTRING_EMBED_LEN_MAX + 1]; char RUBY_ALIGNAS(SIZEOF_VALUE) ary[RSTRING_EMBED_LEN_MAX + 1];
} as; } as;
}; };
#define RSTRING_EMBED_LEN(str) \ #define RSTRING_EMBED_LEN(str) \