mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-10-28 19:17:28 +01:00
build with clang
Linux CI switches to clang 22; fixes what that exposed - export on out-of-line member definitions, missing std includes, missing glm imports. GCC 16 still builds.
This commit is contained in:
@@ -121,7 +121,7 @@ export inline float Dot(const float4 &q1, const float4 &q2);
|
||||
export inline float4 &operator*=(float4 &v1, float const d);
|
||||
export inline float4 Slerp(const float4 &q0, const float4 &q1, float t);
|
||||
export inline float3 operator*(const float4x4 &m, const float3 &v);
|
||||
inline glm::vec3 operator*(const float4x4 &m, const glm::vec3 &v);
|
||||
export inline glm::vec3 operator*(const float4x4 &m, const glm::vec3 &v);
|
||||
export inline float4x4 operator*(const float4x4 &m1, const float4x4 &m2);
|
||||
export inline float Det2x2(float a, float b, float c, float d);
|
||||
export inline float Det3x3(float a1, float a2, float a3, float b1, float b2, float b3, float c1, float c2, float c3);
|
||||
@@ -302,7 +302,7 @@ export inline float3 operator*(const float4x4 &m, const float3 &v) {
|
||||
v.x * m[0][2] + v.y * m[1][2] + v.z * m[2][2] + m[3][2]);
|
||||
}
|
||||
|
||||
inline glm::vec3 operator*(const float4x4 &m, const glm::vec3 &v) {
|
||||
export inline glm::vec3 operator*(const float4x4 &m, const glm::vec3 &v) {
|
||||
return glm::vec3(
|
||||
v.x * m[0][0] + v.y * m[1][0] + v.z * m[2][0] + m[3][0],
|
||||
v.x * m[0][1] + v.y * m[1][1] + v.z * m[2][1] + m[3][1],
|
||||
|
||||
@@ -385,6 +385,8 @@ struct global_settings {
|
||||
export_as_text( std::ostream &Output, std::string const Key, Type_ const &Value ) const;
|
||||
};
|
||||
|
||||
} // export -- out-of-line member definitions are not namespace-scope
|
||||
// declarations, so they cannot carry `export`; the class itself is exported.
|
||||
template <typename Type_>
|
||||
void
|
||||
global_settings::export_as_text( std::ostream &Output, std::string const Key, Type_ const &Value ) const {
|
||||
@@ -392,9 +394,6 @@ global_settings::export_as_text( std::ostream &Output, std::string const Key, Ty
|
||||
Output << Key << " " << Value << "\n";
|
||||
}
|
||||
|
||||
} // export -- out-of-line member definitions and explicit
|
||||
// specialisations are not namespace-scope declarations, so they cannot
|
||||
// carry `export`; the class itself is exported and that is what counts.
|
||||
template <>
|
||||
void
|
||||
global_settings::export_as_text( std::ostream &Output, std::string const Key, std::string const &Value ) const;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
module;
|
||||
#include <memory>
|
||||
#include "utilities/Globals_macros.h"
|
||||
#include <cstring>
|
||||
#include <array>
|
||||
|
||||
Reference in New Issue
Block a user