avoid #if inside of rb_str_new_cstr
ISO/IEC 9899:1999 section 6.10.3 paragraph 11 explicitly states that "If there are sequences of preprocessing tokens within the list of arguments that would otherwise act as preprocessing directives, the behavior is undefined." rb_str_new_cstr is in fact a macro. We cannot do this.
This commit is contained in:
parent
9d6d531527
commit
e7bcb416af
Notes:
git
2020-02-26 16:00:43 +09:00
5
gc.c
5
gc.c
@ -11331,7 +11331,7 @@ gc_profile_dump_on(VALUE out, VALUE (*append)(VALUE, VALUE))
|
||||
}
|
||||
|
||||
#if GC_PROFILE_MORE_DETAIL
|
||||
append(out, rb_str_new_cstr("\n\n" \
|
||||
const char *str = "\n\n" \
|
||||
"More detail.\n" \
|
||||
"Prepare Time = Previously GC's rest sweep time\n"
|
||||
"Index Flags Allocate Inc. Allocate Limit"
|
||||
@ -11345,7 +11345,8 @@ gc_profile_dump_on(VALUE out, VALUE (*append)(VALUE, VALUE))
|
||||
#if GC_PROFILE_DETAIL_MEMORY
|
||||
" MaxRSS(KB) MinorFLT MajorFLT"
|
||||
#endif
|
||||
"\n"));
|
||||
"\n";
|
||||
append(out, rb_str_new_cstr(str));
|
||||
|
||||
for (i = 0; i < count; i++) {
|
||||
record = &objspace->profile.records[i];
|
||||
|
Loading…
x
Reference in New Issue
Block a user