From 717e61f6e0741e6a554fb6dacd85940f037270dd Mon Sep 17 00:00:00 2001 From: J Reece Wilson Date: Wed, 31 Jul 2024 03:12:53 +0100 Subject: [PATCH] =?UTF-8?q?[*]=20Dumb=20fucks:=20Daniel=20Griffing,=20Thom?= =?UTF-8?q?as=20K=C3=B6ppe,=20et=20al=20Dumbshit=20MSVC=20devs:=20https://?= =?UTF-8?q?developercommunity.visualstudio.com/t/Support-=5F=5Fbuiltin=5Fm?= =?UTF-8?q?emcpy-and-=5F=5Fbuiltin=5Fm/1046483=3Fftype=3Dproblem=20Read=20?= =?UTF-8?q?this=20dumbfuck=20babble:=20https://www.open-std.org/jtc1/sc22/?= =?UTF-8?q?wg21/docs/papers/2018/p0806r2.html=20The=20skill-sets:=20https:?= =?UTF-8?q?//github.com/tkoeppe=3Ftab=3Drepositories=20Blogging=20through?= =?UTF-8?q?=20news=20media:=20https://www.textilwirtschaft.de/business/new?= =?UTF-8?q?s/die-ueberraschungsausgabe-ki-ist-wie-derschritt-von-der-sense?= =?UTF-8?q?-zum-maehdrescher-232732?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- Core/project.lua | 38 +++++++++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/Core/project.lua b/Core/project.lua index a47ebde..59803eb 100644 --- a/Core/project.lua +++ b/Core/project.lua @@ -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