Skip to content

Commit

Permalink
Use new __traits(classInstanceAlignment)
Browse files Browse the repository at this point in the history
  • Loading branch information
kinke committed May 13, 2022
1 parent a37fd5f commit d5a101d
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 6 deletions.
8 changes: 4 additions & 4 deletions std/experimental/logger/core.d
Original file line number Diff line number Diff line change
Expand Up @@ -1628,7 +1628,8 @@ private @property Logger defaultSharedLoggerImpl() @trusted
import core.lifetime : emplace;
import std.stdio : stderr;

__gshared align(FileLogger.alignof) void[__traits(classInstanceSize, FileLogger)] _buffer;
__gshared align(__traits(classInstanceAlignment, FileLogger))
void[__traits(classInstanceSize, FileLogger)] _buffer;

import std.concurrency : initOnce;
initOnce!stdSharedDefaultLogger({
Expand Down Expand Up @@ -1762,9 +1763,8 @@ private @property Logger stdThreadLocalLogImpl() @trusted
{
import core.lifetime : emplace;

static void*[(__traits(classInstanceSize, StdForwardLogger) - 1) / (void*).sizeof + 1] _buffer;

auto buffer = cast(ubyte[]) _buffer;
static align(__traits(classInstanceAlignment, StdForwardLogger))
void[__traits(classInstanceSize, StdForwardLogger)] buffer;

if (stdLoggerDefaultThreadLogger is null)
{
Expand Down
2 changes: 1 addition & 1 deletion std/traits.d
Original file line number Diff line number Diff line change
Expand Up @@ -4839,7 +4839,7 @@ Returns class instance alignment.
template classInstanceAlignment(T)
if (is(T == class))
{
alias classInstanceAlignment = maxAlignment!(void*, typeof(T.tupleof));
enum classInstanceAlignment = __traits(classInstanceAlignment, T);
}

///
Expand Down
2 changes: 1 addition & 1 deletion std/typecons.d
Original file line number Diff line number Diff line change
Expand Up @@ -8267,7 +8267,7 @@ if (is(T == class))
{
// _d_newclass now use default GC alignment (looks like (void*).sizeof * 2 for
// small objects). We will just use the maximum of filed alignments.
alias alignment = classInstanceAlignment!T;
enum alignment = __traits(classInstanceAlignment, T);
alias aligned = _alignUp!alignment;

static struct Scoped
Expand Down

0 comments on commit d5a101d

Please sign in to comment.