[*] Dumb fucks: Daniel Griffing, Thomas Köppe, et al

Dumbshit MSVC devs: https://developercommunity.visualstudio.com/t/Support-__builtin_memcpy-and-__builtin_m/1046483?ftype=problem
Read this dumbfuck babble: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0806r2.html
The skill-sets: https://github.com/tkoeppe?tab=repositories
Blogging through news media: https://www.textilwirtschaft.de/business/news/die-ueberraschungsausgabe-ki-ist-wie-derschritt-von-der-sense-zum-maehdrescher-232732

Thomas "Köppe" is such a retard he doesnt even know what a copy of a pointer is. he thinks to copy a pointer is to copy the object.
He thinks you can somehow reference a this register. even if it was on some value stack, which im sure some configurations are like this, it wouldnt fucking matter, because the "&" would need to keep a memory view of the call-frame to work as expected, and that "this" is an immutable keyword you cant overwrite to begin with.
bb-b-but muh &*this
b-but MUH HISTORY
BUT THIS PREDATES REFERENCES
He has nothing to add other than german babble over his visits to marks and spencers.

On the topic of MSFT twats, this is yet another -2 downvoted thing of their devs making dumbfuck statements while failing at their jerbs on the devenv forums.
This commit is contained in:
Reece Wilson 2024-07-31 03:12:53 +01:00
parent 8b8aadaa86
commit 717e61f6e0

View File

@ -100,6 +100,28 @@ local function configureProjectForCompiler()
filter {"toolset:msc", "files:**.cpp or files:**.cc or files:**.cxx"}
buildoptions {"/experimental:module-", "/Zc:__cplusplus"}
filter {}
filter {"toolset:clang"}
disablewarnings { "implicit-function-declaration", "deprecated-non-prototype" }
filter {}
filter {"toolset:clang", "files:**.cpp or files:**.cc or files:**.cxx"}
disablewarnings { "dynamic-class-memaccess", "deprecated-this-capture" }
filter {}
filter { "toolset:msc" }
defines {"AURORA_RUNTIME_MEMCMP=__builtin_memcmp"}
defines {"AURORA_RUNTIME_MEMCMP_=1"}
filter {}
filter { "toolset:clang" }
defines {"AURORA_RUNTIME_MEMSET=__builtin_memset"}
defines {"AURORA_RUNTIME_MEMCPY=__builtin_memcpy"}
defines {"AURORA_RUNTIME_MEMCMP=__builtin_memcmp"}
defines {"AURORA_RUNTIME_MEMSET_=1"}
defines {"AURORA_RUNTIME_MEMCPY_=1"}
defines {"AURORA_RUNTIME_MEMCMP_=1"}
filter {}
end
local function configureProjectForPlatform(platform, projectType)
@ -158,28 +180,22 @@ local function configureProjectForPlatforms(projType)
end
local function configureProjectCPUTarget()
filter { "toolset:msc", "architecture:x86_64"}
buildoptions { "/arch:AVX" }
filter {}
filter { "toolset:clang", "architecture:x86_64"}
-- Some discount VPSes might be running on this dead architecture
-- Haswell introduced AVX2.
-- clang cpu levels: x86_64-v4 contains meme avx512 instructions and beyond, x86_64-v3 includes AVX1+2, x86_64-v2 doesn't have any AVX whatsoever.
-- Dunno if intentional because SSE4.1 >= AVX, but either way, let's get some modern CPU features in an otherwise widely supported binary.
-- Lets sit between v2 and v3 by a single intel generation.
buildoptions { "-march=ivybridge" }
disablewarnings { "dynamic-class-memaccess" }
defines {"AURORA_RUNTIME_MEMSET=__builtin_memset"}
defines {"AURORA_RUNTIME_MEMCPY=__builtin_memcpy"}
defines {"AURORA_RUNTIME_MEMSET_=1"}
defines {"AURORA_RUNTIME_MEMCPY_=1"}
buildoptions { "-march=ivybridge", "-maes" }
filter {}
filter { "toolset:clang", "architecture:x86"}
-- Let Linux x86_32 support Intel Core+ (2006) CPUs
buildoptions { "-march=core2" }
disablewarnings { "dynamic-class-memaccess" }
defines {"AURORA_RUNTIME_MEMSET=__builtin_memset"}
defines {"AURORA_RUNTIME_MEMCPY=__builtin_memcpy"}
defines {"AURORA_RUNTIME_MEMSET_=1"}
defines {"AURORA_RUNTIME_MEMCPY_=1"}
filter {}
end