From 5ad228b25b70c20921978718ec18c75cb1a67dc2 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://archive.is/S00W3=20https://www.texti?= =?UTF-8?q?lwirtschaft.de/business/news/die-ueberraschungsausgabe-ki-ist-w?= =?UTF-8?q?ie-derschritt-von-der-sense-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. I think this is an obvious case of being a worthless parasite trying to leach resources from a company big enough to pay out the ass without checking what you actually do, in addition to providing you a fucking visa on a silver platter. 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