Thread overview
Snowflake Strings
Feb 22, 2017
Mike Parker
Feb 22, 2017
Ali Çehreli
Feb 22, 2017
Ali Çehreli
Feb 22, 2017
Walter Bright
Feb 24, 2017
Jacob Carlborg
Mar 01, 2017
Kagamin
February 22, 2017
Walter shares a little bit of compiler knowledge, explaining how DMD stuffs string literals into object files.

Blog post:
http://dlang.org/blog/2017/02/22/snowflake-strings/

Reddit:
https://www.reddit.com/r/programming/comments/5viixe/snowflake_strings_walter_bright_on_how_the_dmd_d/
February 22, 2017
On Wednesday, 22 February 2017 at 13:08:13 UTC, Mike Parker wrote:
> Blog post:
> http://dlang.org/blog/2017/02/22/snowflake-strings/
>

Thanks for a wonder article.

PS: The blog UI may need to be corrected for browsing from mobiles[1].

[1] http://imgur.com/a/7IPkm
February 22, 2017
On 02/22/2017 05:08 AM, Mike Parker wrote:
> Walter shares a little bit of compiler knowledge, explaining how DMD
> stuffs string literals into object files.
>
> Blog post:
> http://dlang.org/blog/2017/02/22/snowflake-strings/
>
> Reddit:
> https://www.reddit.com/r/programming/comments/5viixe/snowflake_strings_walter_bright_on_how_the_dmd_d/
>

Thanks! Two improvements:

- People outside of the D (and C++) community may not know who "Andrei" is.

- Assuming they are line numbers, the 2 and 3 below should be 3 and 4:

    (i < 3 || _d_assertp(TMP, 2))
    (j & 1 || _d_assertp(TMP, 3))

Ali

February 22, 2017
On 02/22/2017 02:26 PM, Ali Çehreli wrote:

> - Assuming they are line numbers, the 2 and 3 below should be 3 and 4:
>
>     (i < 3 || _d_assertp(TMP, 2))
>     (j & 1 || _d_assertp(TMP, 3))

Ooh! I take it back. They are correct in the original source...

Ali

February 22, 2017
Thanks, Mike!
February 24, 2017
On 2017-02-22 14:08, Mike Parker wrote:
> Walter shares a little bit of compiler knowledge, explaining how DMD
> stuffs string literals into object files.
>
> Blog post:
> http://dlang.org/blog/2017/02/22/snowflake-strings/
>
> Reddit:
> https://www.reddit.com/r/programming/comments/5viixe/snowflake_strings_walter_bright_on_how_the_dmd_d/

It doesn't mention that MS-COFF is available for 32bit as well.

-- 
/Jacob Carlborg
March 01, 2017
In case strings hash to the same value, the linkers (ld and ms) have an option to detect discrepancy in content.