Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion posix.mak
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ EXTRA_DOCUMENTABLES := $(EXTRA_MODULES_LINUX) $(EXTRA_MODULES_WIN32) $(EXTRA_MOD
EXTRA_MODULES_INTERNAL := $(addprefix std/, \
algorithm/internal concurrencybase \
$(addprefix internal/, \
cstring digest/sha_SSSE3 encodinginit \
cstring digest/sha_SSSE3 \
$(addprefix math/, biguintcore biguintnoasm biguintx86 \
errorfunction gammafunction ) \
processinit scopebuffer test/dummyrange \
Expand Down
31 changes: 16 additions & 15 deletions std/encoding.d
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,6 @@ module std.encoding;
import std.traits;
import std.typecons;
import std.range.primitives;
import std.internal.encodinginit;

@system unittest
{
Expand Down Expand Up @@ -2461,6 +2460,22 @@ abstract class EncodingScheme
*/
static EncodingScheme create(string encodingName)
{
static bool registerDefaultEncodings()
{
EncodingScheme.register!EncodingSchemeASCII;
EncodingScheme.register!EncodingSchemeLatin1;
EncodingScheme.register!EncodingSchemeLatin2;
EncodingScheme.register!EncodingSchemeWindows1250;
EncodingScheme.register!EncodingSchemeWindows1252;
EncodingScheme.register!EncodingSchemeUtf8;
EncodingScheme.register!EncodingSchemeUtf16Native;
EncodingScheme.register!EncodingSchemeUtf32Native;
return true;
}

static shared bool initialized;
import std.concurrency : initOnce;
initOnce!initialized(registerDefaultEncodings());
encodingName = toLower(encodingName);

if (auto p = encodingName in supported)
Expand Down Expand Up @@ -3368,20 +3383,6 @@ class EncodingSchemeUtf32Native : EncodingScheme
assert(ub.length == 8);
}


// shared static this() called from encodinginit to break ctor cycle
extern(C) void std_encoding_shared_static_this()
{
EncodingScheme.register!EncodingSchemeASCII;
EncodingScheme.register!EncodingSchemeLatin1;
EncodingScheme.register!EncodingSchemeLatin2;
EncodingScheme.register!EncodingSchemeWindows1250;
EncodingScheme.register!EncodingSchemeWindows1252;
EncodingScheme.register!EncodingSchemeUtf8;
EncodingScheme.register!EncodingSchemeUtf16Native;
EncodingScheme.register!EncodingSchemeUtf32Native;
}

//=============================================================================


Expand Down
19 changes: 0 additions & 19 deletions std/internal/encodinginit.d

This file was deleted.

1 change: 0 additions & 1 deletion win32.mak
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,6 @@ SRC_STD_C_FREEBSD= \

SRC_STD_INTERNAL= \
std\internal\cstring.d \
std\internal\encodinginit.d \
std\internal\processinit.d \
std\internal\unicode_tables.d \
std\internal\unicode_comp.d \
Expand Down
1 change: 0 additions & 1 deletion win64.mak
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,6 @@ SRC_STD_C_FREEBSD= \

SRC_STD_INTERNAL= \
std\internal\cstring.d \
std\internal\encodinginit.d \
std\internal\processinit.d \
std\internal\unicode_tables.d \
std\internal\unicode_comp.d \
Expand Down