diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2e1f0e9..030695f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -16,7 +16,7 @@
# along with this program. If not, see .
# ======================================================================================================================
-cmake_minimum_required(VERSION 3.30)
+cmake_minimum_required(VERSION 3.28)
project(fennec)
set(FENNEC_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
@@ -114,6 +114,7 @@ add_library(fennec STATIC
include/fennec/containers/object_pool.h
include/fennec/containers/optional.h
include/fennec/containers/pair.h
+ include/fennec/containers/priority_queue.h
include/fennec/containers/rdtree.h
include/fennec/containers/sequence.h
include/fennec/containers/set.h
@@ -226,6 +227,9 @@ add_library(fennec STATIC
include/fennec/langproc/filesystem/file.h source/langproc/filesystem/file.cpp
include/fennec/langproc/filesystem/path.h source/langproc/filesystem/path.cpp
+ # Compile
+ include/fennec/langproc/compile/tokenizer.h
+
# PLATFORM =============================================================================================================
@@ -233,13 +237,13 @@ add_library(fennec STATIC
include/fennec/platform/interface/platform.h source/platform/interface/platform.cpp
include/fennec/platform/interface/window.h
+# RENDERER =============================================================================================================
+
+ include/fennec/renderers/interface/gfxresourcepool.h
# EXTRA SOURCES ========================================================================================================
${FENNEC_EXTRA_SOURCES}
- include/fennec/renderers/interface/gfxresourcepool.h
- include/fennec/langproc/format/tokenizer.h
- include/fennec/containers/priority_queue.h
)
add_dependencies(fennec metaprogramming fennec-dependencies)
diff --git a/cmake/compiler.cmake b/cmake/compiler.cmake
index 176966f..b7e1f33 100644
--- a/cmake/compiler.cmake
+++ b/cmake/compiler.cmake
@@ -18,7 +18,9 @@
# this script finds the compiler being used
+message(STATUS "Compiler: ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}")
+
if(${CMAKE_CXX_COMPILER_ID} MATCHES "GNU")
set(FENNEC_COMPILER "GCC")
include("${FENNEC_SOURCE_DIR}/cmake/gcc.cmake")
-endif()
\ No newline at end of file
+endif()
diff --git a/cmake/gcc.cmake b/cmake/gcc.cmake
index 3d49b31..74fc81d 100644
--- a/cmake/gcc.cmake
+++ b/cmake/gcc.cmake
@@ -18,8 +18,8 @@
# this script sets flags and variables for gnu and gnu-like compilers
-add_compile_options("-mxsave" "-Wall" "-Wextra" "-pedantic" "-Werror")
+add_compile_options("-Wall" "-Wextra" "-pedantic" "-Werror")
fennec_add_link_options("-nostdlib" "-fno-exceptions" "-fno-rtti" "-fdiagnostics-all-candidates")
-fennec_add_definitions(_GLIBCXX_INCLUDE_NEXT_C_HEADERS=1 FENNEC_COMPILER_GCC=1 FENNEC_NO_INLINE=[[gnu::noinline]])
\ No newline at end of file
+fennec_add_definitions(_GLIBCXX_INCLUDE_NEXT_C_HEADERS=1 FENNEC_COMPILER_GCC=1 FENNEC_NO_INLINE=[[gnu::noinline]])
diff --git a/include/fennec/lang/integer.h b/include/fennec/lang/integer.h
index 99ca549..b20d5d5 100644
--- a/include/fennec/lang/integer.h
+++ b/include/fennec/lang/integer.h
@@ -51,25 +51,25 @@
#undef ULLONG_MIN
#undef ULLONG_MAX
-#define CHAR_IS_SIGNED true
+#define CHAR_IS_SIGNED false
#define CHAR_ROUNDS 0x0
-#define CHAR_RADIX_DIG 0x7
+#define CHAR_RADIX_DIG 0x8
#define CHAR_DIG 0x2
#define CHAR_DECIMAL_DIG 0x0
#define CHAR_RADIX 0x2
#define CHAR_TRAPS 0xtrue
-#define CHAR_MIN 0x80
-#define CHAR_MAX 0x7f
+#define CHAR_MIN 0x0
+#define CHAR_MAX 0xff
-#define WCHAR_IS_SIGNED true
+#define WCHAR_IS_SIGNED false
#define WCHAR_ROUNDS 0x0
-#define WCHAR_RADIX_DIG 0x1f
+#define WCHAR_RADIX_DIG 0x20
#define WCHAR_DIG 0x9
#define WCHAR_DECIMAL_DIG 0x0
#define WCHAR_RADIX 0x2
#define WCHAR_TRAPS 0xtrue
-#define WCHAR_MIN 0x80000000
-#define WCHAR_MAX 0x7fffffff
+#define WCHAR_MIN 0x0
+#define WCHAR_MAX 0xffffffff
#define SCHAR_ROUNDS 0x0
#define SCHAR_RADIX_DIG 0x7
diff --git a/include/fennec/lang/type_traits.h b/include/fennec/lang/type_traits.h
index 1d297d4..eacab7b 100644
--- a/include/fennec/lang/type_traits.h
+++ b/include/fennec/lang/type_traits.h
@@ -106,6 +106,7 @@
///
///
+#include
#include
#include
@@ -181,7 +182,7 @@ template constexpr bool_t is_null_pointer_v = is_null_pointer::va
// fennec::is_array ====================================================================================================
-#if FENNEC_HAS_BUILTIN_IS_ARRAY
+#ifdef FENNEC_BUILTIN_IS_ARRAY
///
/// \brief check if \p T is of an array type
diff --git a/include/fennec/langproc/compile/tokenizer.h b/include/fennec/langproc/compile/tokenizer.h
index 50c223a..bbcefaf 100644
--- a/include/fennec/langproc/compile/tokenizer.h
+++ b/include/fennec/langproc/compile/tokenizer.h
@@ -80,17 +80,17 @@ struct tokenizer {
using token = pair;
private:
- list operator()(const string& line) {
- list res;
-
- for (size_t i = 0; i < )
-
- return res;
- }
+// list operator()(const string& line) {
+// list res;
+//
+// for (size_t i = 0; i < )
+//
+// return res;
+// }
private:
};
}
-#endif // FENNEC_LANGPROC_FORMAT_TOKENIZER_H
\ No newline at end of file
+#endif // FENNEC_LANGPROC_FORMAT_TOKENIZER_H
diff --git a/metaprogramming/CMakeLists.txt b/metaprogramming/CMakeLists.txt
index b2324a5..5c1a710 100644
--- a/metaprogramming/CMakeLists.txt
+++ b/metaprogramming/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.30)
+cmake_minimum_required(VERSION 3.28)
project(fennec-metaprogramming)
set(CMAKE_CXX_STANDARD 23)
@@ -18,4 +18,4 @@ add_custom_command(
add_custom_target(
metaprogramming
DEPENDS .metaprogramming
-)
\ No newline at end of file
+)
diff --git a/source/langproc/filesystem/file.cpp b/source/langproc/filesystem/file.cpp
index ee5782e..f5cebc8 100644
--- a/source/langproc/filesystem/file.cpp
+++ b/source/langproc/filesystem/file.cpp
@@ -1040,7 +1040,7 @@ bool file::putc(char c) {
}
int res;
- if ((res = fputc(c, _handle)) != c && res != EOF) {
+ if ((char)(res = fputc(c, _handle)) != c && res != EOF) {
_error = strerror(errno);
return true;
}
@@ -1058,7 +1058,7 @@ bool file::putwc(wchar_t c) {
}
int res;
- if ((res = fputc(c, _handle)) != c && res != EOF) {
+ if ((wchar_t)(res = fputwc(c, _handle)) != c && res != EOF) {
_error = strerror(errno);
return true;
}
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 8c633a3..07d1762 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.30)
+cmake_minimum_required(VERSION 3.28)
project(fennec-test)
set(CMAKE_CXX_STANDARD 23)
@@ -19,4 +19,4 @@ target_link_libraries(fennec-test PRIVATE
-Wl,--whole-archive
fennec
-Wl,--no-whole-archive
-)
\ No newline at end of file
+)
diff --git a/test/tests/langproc/test_format.h b/test/tests/langproc/test_format.h
index cf4d964..78e7090 100644
--- a/test/tests/langproc/test_format.h
+++ b/test/tests/langproc/test_format.h
@@ -30,7 +30,7 @@
#ifndef FENNEC_TEST_LANGPROC_FORMAT_H
#define FENNEC_TEST_LANGPROC_FORMAT_H
-#include
+#include
namespace fennec
{
@@ -40,24 +40,24 @@ namespace test
inline void fennec_test_langproc_format() {
- tokenizer math = {
- .delimiter { " " },
- .operators {"+-/*="},
- .braces { "()" },
- .escapes { "" },
- .terminator { "" },
- };
-
- const auto res = math.parse("1 + 2 = 3");
- fennec_test_run(res.size(), size_t(5));
-
- for (const auto& token : res) {
- std::cout << token.second << ", ";
- }
+// tokenizer math = {
+// .delimiter { " " },
+// .operators {"+-/*="},
+// .braces { "()" },
+// .escapes { "" },
+// .terminator { "" },
+// };
+//
+// const auto res = math.parse("1 + 2 = 3");
+// fennec_test_run(res.size(), size_t(5));
+//
+// for (const auto& token : res) {
+// std::cout << token.second << ", ";
+// }
}
}
}
-#endif // FENNEC_TEST_LANGPROC_FORMAT_H
\ No newline at end of file
+#endif // FENNEC_TEST_LANGPROC_FORMAT_H