From 982dca7e5e67675ee62406ab916893185a1bbc2b Mon Sep 17 00:00:00 2001 From: Allen Webster Date: Mon, 26 Jun 2017 22:47:00 -0400 Subject: [PATCH] Got custom and app layers building on Mac --- 4coder_build_commands.cpp | 4 +- 4coder_lib/4coder_string.h | 58 +++++++++--- 4coder_project_commands.cpp | 8 +- buildsuper.sh | 40 ++++++-- meta/4ed_metagen.cpp | 1 - meta/4tech_file_moving.h | 141 +---------------------------- meta/build.cpp | 27 ++++-- meta/fsm_table_generator.cpp | 2 +- power/custom_4coder.so | Bin 0 -> 272828 bytes readlink_f_simulator.sh | 2 + string/4coder_string_build_num.txt | 2 +- string/build.sh | 1 + string/internal_4coder_string.cpp | 26 +++--- string/string_builder.cpp | 3 +- 14 files changed, 121 insertions(+), 194 deletions(-) create mode 100755 power/custom_4coder.so create mode 100755 readlink_f_simulator.sh diff --git a/4coder_build_commands.cpp b/4coder_build_commands.cpp index a3896a87..054a6fc2 100644 --- a/4coder_build_commands.cpp +++ b/4coder_build_commands.cpp @@ -119,9 +119,9 @@ execute_standard_build_search(Application_Links *app, View_Summary *view, return(result); } -#elif defined(__linux__) +#elif defined(__linux__) || (defined(__APPLE__) && defined(__MACH__)) -// NOTE(allen): Build search rule for linux. +// NOTE(allen): Build search rule for linux and mac. static int32_t execute_standard_build_search(Application_Links *app, View_Summary *view, Buffer_Summary *active_buffer, String *dir, String *command, bool32 perform_backup){ char dir_space[512]; diff --git a/4coder_lib/4coder_string.h b/4coder_lib/4coder_string.h index 4ecec8c0..4d856f1d 100644 --- a/4coder_lib/4coder_string.h +++ b/4coder_lib/4coder_string.h @@ -1,5 +1,5 @@ /* -4coder_string.h - Version 1.0.74 +4coder_string.h - Version 1.0.80 no warranty implied; use at your own risk This software is in the public domain. Where that dedication is not @@ -12,7 +12,37 @@ To use in C mode: #define FSTRING_C // TOP +// 4tech_standard_preamble.h +#if !defined(FTECH_INTEGERS) +#define FTECH_INTEGERS +#include +typedef int8_t i8_4tech; +typedef int16_t i16_4tech; +typedef int32_t i32_4tech; +typedef int64_t i64_4tech; +typedef uint8_t u8_4tech; +typedef uint16_t u16_4tech; +typedef uint32_t u32_4tech; +typedef uint64_t u64_4tech; + +#if defined(FTECH_32_BIT) +typedef u32_4tech umem_4tech; +#else +typedef u64_4tech umem_4tech; +#endif + +typedef float f32_4tech; +typedef double f64_4tech; + +typedef int8_t b8_4tech; +typedef int32_t b32_4tech; +#endif + +#if !defined(Assert) +# define Assert(n) do{ if (!(n)) *(int*)0 = 0xA11E; }while(0) +#endif +// standard preamble end #if !defined(FSTRING_LINK) # define FSTRING_LINK static @@ -285,7 +315,7 @@ char_is_upper(char c) FSTRING_INLINE b32_4tech char_is_upper_utf8(char c) { - return (c >= 'A' && c <= 'Z' || (unsigned char)c >= 128); + return ((c >= 'A' && c <= 'Z') || (unsigned char)c >= 128); } #endif @@ -301,7 +331,7 @@ char_is_lower(char c) FSTRING_INLINE b32_4tech char_is_lower_utf8(u8_4tech c) { - return (c >= 'a' && c <= 'z' || (unsigned char)c >= 128); + return ((c >= 'a' && c <= 'z') || (unsigned char)c >= 128); } #endif @@ -333,7 +363,7 @@ char_is_whitespace(char c) FSTRING_INLINE b32_4tech char_is_alpha_numeric(char c) { - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c <= '9' || c == '_'); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || c == '_'); } #endif @@ -341,7 +371,7 @@ char_is_alpha_numeric(char c) FSTRING_INLINE b32_4tech char_is_alpha_numeric_utf8(u8_4tech c) { - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c <= '9' || c == '_' || (unsigned char)c >= 128); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || c == '_' || (unsigned char)c >= 128); } #endif @@ -349,7 +379,7 @@ char_is_alpha_numeric_utf8(u8_4tech c) FSTRING_INLINE b32_4tech char_is_alpha_numeric_true(char c) { - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c <= '9'); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9')); } #endif @@ -357,7 +387,7 @@ char_is_alpha_numeric_true(char c) FSTRING_INLINE b32_4tech char_is_alpha_numeric_true_utf8(u8_4tech c) { - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c <= '9' || (unsigned char)c >= 128); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || (unsigned char)c >= 128); } #endif @@ -365,7 +395,7 @@ char_is_alpha_numeric_true_utf8(u8_4tech c) FSTRING_INLINE b32_4tech char_is_alpha(char c) { - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c == '_'); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || c == '_'); } #endif @@ -373,7 +403,7 @@ char_is_alpha(char c) FSTRING_INLINE b32_4tech char_is_alpha_utf8(u8_4tech c) { - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c == '_' || (unsigned char)c >= 128); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || c == '_' || (unsigned char)c >= 128); } #endif @@ -381,7 +411,7 @@ char_is_alpha_utf8(u8_4tech c) FSTRING_INLINE b32_4tech char_is_alpha_true(char c) { - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z'); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')); } #endif @@ -389,7 +419,7 @@ char_is_alpha_true(char c) FSTRING_INLINE b32_4tech char_is_alpha_true_utf8(u8_4tech c) { - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || (unsigned char)c >= 128); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (unsigned char)c >= 128); } #endif @@ -397,7 +427,7 @@ char_is_alpha_true_utf8(u8_4tech c) FSTRING_INLINE b32_4tech char_is_hex(char c) { - return (c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f'); + return ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f')); } #endif @@ -405,7 +435,7 @@ char_is_hex(char c) FSTRING_INLINE b32_4tech char_is_hex_utf8(u8_4tech c) { - return (c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f' || (unsigned char)c >= 128); + return ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f') || (unsigned char)c >= 128); } #endif @@ -421,7 +451,7 @@ char_is_numeric(char c) FSTRING_INLINE b32_4tech char_is_numeric_utf8(u8_4tech c) { - return (c >= '0' && c <= '9' || (unsigned char)c >= 128); + return ((c >= '0' && c <= '9') || (unsigned char)c >= 128); } #endif diff --git a/4coder_project_commands.cpp b/4coder_project_commands.cpp index 3876b581..ab502d50 100644 --- a/4coder_project_commands.cpp +++ b/4coder_project_commands.cpp @@ -252,11 +252,13 @@ load_project_from_config_data(Application_Links *app, Partition *part, char *con { #if defined(_WIN32) -#define FKEY_COMMAND "fkey_command_win" +# define FKEY_COMMAND "fkey_command_win" #elif defined(__linux__) -#define FKEY_COMMAND "fkey_command_linux" +# define FKEY_COMMAND "fkey_command_linux" +#elif defined(__APPLE__) && defined(__MACH__) +# define FKEY_COMMAND "fkey_command_mac" #else -#error no project configuration names for this platform +# error no project configuration names for this platform #endif int32_t index = 0; diff --git a/buildsuper.sh b/buildsuper.sh index db6ef1ba..bd9a20ec 100755 --- a/buildsuper.sh +++ b/buildsuper.sh @@ -1,19 +1,43 @@ #!/bin/bash -# NOTE(allen): This code here is pulled from stack exchange, it could totally be wrong -# but I just don't know. The goal is to get the path to the buildsuper.sh script so that -# path can be used as an include path which allows a file in any folder to be built in place. -SCRIPT_FILE=$(readlink -f "$0") +echo "Building custom_4coders.so from $SOURCE ..." + +# Find the code home folder + +# NOTE(allen): Copied from stack exchange, hope it's reasonable -- readlink doesn't work on mac +TARGET_FILE="$0" +cd `dirname $TARGET_FILE` +TARGET_FILE=`basename $TARGET_FILE` +while [ -L "$TARGET_FILE" ] +do + TARGET_FILE=`readlink $TARGET_FILE` + cd `dirname $TARGET_FILE` + TARGET_FILE=`basename $TARGET_FILE` +done +PHYS_DIR=`pwd -P` +SCRIPT_FILE=$PHYS_DIR/$TARGET_FILE CODE_HOME=$(dirname "$SCRIPT_FILE") +# Find the most reasonable candidate build file + SOURCE="$1" if [ -z "$SOURCE" ]; then SOURCE="$CODE_HOME/4coder_default_bindings.cpp" fi -echo "Building custom_4coders.so from $SOURCE ..." +# NOTE(allen): Copied from stack exchange, hope it's reasonable -- readlink doesn't work on mac +TARGET_FILE="$SOURCE" +cd `dirname $TARGET_FILE` +TARGET_FILE=`basename $TARGET_FILE` +while [ -L "$TARGET_FILE" ] +do + TARGET_FILE=`readlink $TARGET_FILE` + cd `dirname $TARGET_FILE` + TARGET_FILE=`basename $TARGET_FILE` +done +PHYS_DIR=`pwd -P` +SOURCE=$PHYS_DIR/$TARGET_FILE -SOURCE=$(readlink -f "$SOURCE") - -g++ -I"$CODE_HOME" -Wno-write-strings -std=gnu++0x "$SOURCE" -shared -o custom_4coder.so -fPIC +FLAGS="-Wno-write-strings -Wno-null-dereference -Wno-comment -Wno-switch -Wno-writable-strings" +g++ -I"$CODE_HOME" $FLAGS -std=gnu++0x "$SOURCE" -shared -o custom_4coder.so -fPIC diff --git a/meta/4ed_metagen.cpp b/meta/4ed_metagen.cpp index 776f0d67..b1eb6f9d 100644 --- a/meta/4ed_metagen.cpp +++ b/meta/4ed_metagen.cpp @@ -317,7 +317,6 @@ generate_style(){ ////////////////////////////////////////////////////////////////////////////////////////////////// - // // Meta Parse Rules // diff --git a/meta/4tech_file_moving.h b/meta/4tech_file_moving.h index c13ee36d..370a9350 100644 --- a/meta/4tech_file_moving.h +++ b/meta/4tech_file_moving.h @@ -216,8 +216,7 @@ make_folder_if_missing(char *dir, char *folder){ static void clear_folder(char *folder){ - systemf("del /S /Q /F %s\\* & rmdir /S /Q %s & mkdir %s", - folder, folder, folder); + systemf("del /S /Q /F %s\\* & rmdir /S /Q %s & mkdir %s", folder, folder, folder); } static void @@ -276,7 +275,7 @@ zip(char *parent, char *folder, char *dest){ systemf("copy %s\\4tech_gobble.zip %s & del %s\\4tech_gobble.zip", cdir, dest, cdir); } -#elif defined(IS_LINUX) +#elif defined(IS_LINUX) || defined(IS_MAC) #include #include @@ -413,142 +412,6 @@ zip(char *parent, char *folder, char *file){ popdir(temp); } -#elif defined(IS_MAC) - -#include -#include - -static Temp_Dir -pushdir(char *dir){ - Temp_Dir temp; - char *result = getcwd(temp.dir, sizeof(temp.dir)); - int32_t chresult = chdir(dir); - if (result == 0 || chresult != 0){ - printf("trying pushdir %s\n", dir); - Assert(result != 0); - Assert(chresult == 0); - } - return(temp); -} - -static void -popdir(Temp_Dir temp){ - chdir(temp.dir); -} - -static void -init_time_system(){ - // NOTE(allen): do nothing -} - -static uint64_t -get_time(){ - struct timespec spec; - uint64_t result; - clock_gettime(CLOCK_MONOTONIC, &spec); - result = (spec.tv_sec * (uint64_t)(1000000)) + (spec.tv_nsec / (uint64_t)(1000)); - return(result); -} - -static int32_t -get_current_directory(char *buffer, int32_t max){ - int32_t result = 0; - char *d = getcwd(buffer, max); - if (d == buffer){ - result = strlen(buffer); - } - return(result); -} - -static void -execute_in_dir(char *dir, char *str, char *args){ - if (dir){ - if (args){ - Temp_Dir temp = pushdir(dir); - systemf("%s %s", str, args); - popdir(temp); - } - else{ - Temp_Dir temp = pushdir(dir); - systemf("%s", str); - popdir(temp); - } - } - else{ - if (args){ - systemf("%s %s", str, args); - } - else{ - systemf("%s", str); - } - } -} - -static void -slash_fix(char *path){} - -static void -make_folder_if_missing(char *dir, char *folder){ - if (folder){ - systemf("mkdir -p %s/%s", dir, folder); - } - else{ - systemf("mkdir -p %s", dir); - } -} - -static void -clear_folder(char *folder){ - systemf("rm -rf %s*", folder); -} - -static void -delete_file(char *file){ - systemf("rm %s", file); -} - -static void -copy_file(char *path, char *file, char *folder1, char *folder2, char *newname){ - if (!newname){ - newname = file; - } - - if (path){ - if (folder2){ - systemf("cp %s/%s %s/%s/%s", path, file, folder1, folder2, newname); - } - else{ - systemf("cp %s/%s %s/%s", path, file, folder1, newname); - } - } - else{ - if (folder2){ - systemf("cp %s %s/%s/%s", file, folder1, folder2, newname); - } - else{ - systemf("cp %s %s/%s", file, folder1, newname); - } - } -} - -static void -copy_all(char *source, char *tag, char *folder){ - if (source){ - systemf("cp -f %s/%s %s", source, tag, folder); - } - else{ - systemf("cp -f %s %s", tag, folder); - } -} - -static void -zip(char *parent, char *folder, char *file){ - Temp_Dir temp = pushdir(parent); - printf("PARENT DIR: %s\n", parent); - systemf("zip -r %s %s", file, folder); - popdir(temp); -} - #else #error This OS is not supported yet #endif diff --git a/meta/build.cpp b/meta/build.cpp index bc76ab2b..4d86cae7 100644 --- a/meta/build.cpp +++ b/meta/build.cpp @@ -32,7 +32,7 @@ #if defined(IS_WINDOWS) #define EXE ".exe" -#elif defined(IS_LINUX) +#elif defined(IS_LINUX) || defined(IS_MAC) #define EXE "" #else #error No EXE format specified for this OS @@ -40,26 +40,26 @@ #if defined(IS_WINDOWS) #define PDB ".pdb" -#elif defined(IS_LINUX) +#elif defined(IS_LINUX) || defined(IS_MAC) #define PDB "" #else -#error No EXE format specified for this OS +#error No PDB format specified for this OS #endif #if defined(IS_WINDOWS) #define DLL ".dll" -#elif defined(IS_LINUX) +#elif defined(IS_LINUX) || defined(IS_MAC) #define DLL ".so" #else -#error No EXE format specified for this OS +#error No DLL format specified for this OS #endif #if defined(IS_WINDOWS) #define BAT ".bat" -#elif defined(IS_LINUX) +#elif defined(IS_LINUX) || defined(IS_MAC) #define BAT ".sh" #else -#error No EXE format specified for this OS +#error No BAT format specified for this OS #endif static void @@ -246,8 +246,10 @@ build_cl(u32 flags, char *code_path, char *code_file, char *out_path, char *out_ } -#define GCC_OPTS \ -"-Wno-write-strings -D_GNU_SOURCE -fPIC " \ +#define GCC_OPTS \ +"-Wno-write-strings -Wno-comment -Wno-switch " \ +"-Wno-null-dereference " \ +"-D_GNU_SOURCE -fPIC " \ "-fno-threadsafe-statics -pthread" #define GCC_X86 "-m32" @@ -327,7 +329,8 @@ build_gcc(u32 flags, char *code_path, char *code_file, char *out_path, char *out build_ap(line, "-DFRED_KEEP_ASSERT"); } - build_ap(line, "%s/%s", code_path, code_file); + build_ap(line, "-I\"%s\"", code_path); + build_ap(line, "\"%s/%s\"", code_path, code_file); if (flags & LIBS){ build_ap(line, GCC_LIBS); @@ -380,6 +383,8 @@ buildsuper(char *code_path, char *out_path, char *filename, b32 x86_build){ #define PLAT_LAYER "win32_4ed.cpp" #elif defined(IS_LINUX) #define PLAT_LAYER "linux_4ed.cpp" +#elif defined(IS_MAC) +#define PLAT_LAYER "mac_4ed.m" #else #error No platform layer defined for this OS. #endif @@ -560,6 +565,8 @@ get_4coder_dist_name(String *zip_file, b32 OS_specific, char *folder, char *tier append_sc(zip_file, "-win"); #elif defined(IS_LINUX) && defined(IS_64BIT) append_sc(zip_file, "-linux"); +#elif defined(IS_MAC) && defined(IS_64BIT) + append_sc(zip_file, "-mac"); #else #error No OS string for zips on this OS #endif diff --git a/meta/fsm_table_generator.cpp b/meta/fsm_table_generator.cpp index 6ed167c7..3ee4d6d2 100644 --- a/meta/fsm_table_generator.cpp +++ b/meta/fsm_table_generator.cpp @@ -572,7 +572,7 @@ main_fsm(Cpp_Lex_FSM fsm, uint8_t pp_state, uint8_t c, bool32 ignore_string_deli case LS_hex: { - int is_hex = c >= '0' && c <= '9' || c >= 'a' && c <= 'f' || c >= 'A' && c <= 'F' || c >= 128; + int is_hex = (c >= '0' && c <= '9') || (c >= 'a' && c <= 'f') || (c >= 'A' && c <= 'F') || c >= 128; if (!is_hex){ fsm.emit_token = true; } diff --git a/power/custom_4coder.so b/power/custom_4coder.so new file mode 100755 index 0000000000000000000000000000000000000000..3339169f2904fd9ab8382b5f517df69c5eec877c GIT binary patch literal 272828 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 literal 0 HcmV?d00001 diff --git a/readlink_f_simulator.sh b/readlink_f_simulator.sh new file mode 100755 index 00000000..13f47935 --- /dev/null +++ b/readlink_f_simulator.sh @@ -0,0 +1,2 @@ +#!/bin/sh + diff --git a/string/4coder_string_build_num.txt b/string/4coder_string_build_num.txt index 37d2f1ab..5017890a 100644 --- a/string/4coder_string_build_num.txt +++ b/string/4coder_string_build_num.txt @@ -1,5 +1,5 @@ 1 0 -76 +86 diff --git a/string/build.sh b/string/build.sh index 0a380ee1..b56cb914 100755 --- a/string/build.sh +++ b/string/build.sh @@ -8,3 +8,4 @@ g++ $WARNINGS $FLAGS ../code/string/string_builder.cpp -g -o ../build/string_bui pushd string ../../build/string_builder popd + diff --git a/string/internal_4coder_string.cpp b/string/internal_4coder_string.cpp index 85cad789..5758b559 100644 --- a/string/internal_4coder_string.cpp +++ b/string/internal_4coder_string.cpp @@ -66,7 +66,7 @@ char_is_upper(char c) API_EXPORT_INLINE FSTRING_INLINE b32_4tech char_is_upper_utf8(char c) /* DOC(If c is an uppercase letter this call returns true.) */{ - return (c >= 'A' && c <= 'Z' || (unsigned char)c >= 128); + return ((c >= 'A' && c <= 'Z') || (unsigned char)c >= 128); } API_EXPORT_INLINE FSTRING_INLINE b32_4tech @@ -78,7 +78,7 @@ char_is_lower(char c) API_EXPORT_INLINE FSTRING_INLINE b32_4tech char_is_lower_utf8(u8_4tech c) /* DOC(If c is a lower letter this call returns true.) */{ - return (c >= 'a' && c <= 'z' || (unsigned char)c >= 128); + return ((c >= 'a' && c <= 'z') || (unsigned char)c >= 128); } API_EXPORT_INLINE FSTRING_INLINE char @@ -102,61 +102,61 @@ char_is_whitespace(char c) API_EXPORT_INLINE FSTRING_INLINE b32_4tech char_is_alpha_numeric(char c) /* DOC(This call returns non-zero if c is any alphanumeric character including underscore.) */{ - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c <= '9' || c == '_'); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || c == '_'); } API_EXPORT_INLINE FSTRING_INLINE b32_4tech char_is_alpha_numeric_utf8(u8_4tech c) /* DOC(This call returns non-zero if c is any alphanumeric character including underscore, or is a part of a UTF8 sequence outside of ASCII.) */{ - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c <= '9' || c == '_' || (unsigned char)c >= 128); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || c == '_' || (unsigned char)c >= 128); } API_EXPORT_INLINE FSTRING_INLINE b32_4tech char_is_alpha_numeric_true(char c) /* DOC(This call returns non-zero if c is any alphanumeric character no including underscore.) */{ - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c <= '9'); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9')); } API_EXPORT_INLINE FSTRING_INLINE b32_4tech char_is_alpha_numeric_true_utf8(u8_4tech c) /* DOC(This call returns non-zero if c is any alphanumeric character no including underscore.) */{ - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c <= '9' || (unsigned char)c >= 128); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || (unsigned char)c >= 128); } API_EXPORT_INLINE FSTRING_INLINE b32_4tech char_is_alpha(char c) /* DOC(This call returns non-zero if c is any alphabetic character including underscore.) */{ - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c == '_'); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || c == '_'); } API_EXPORT_INLINE FSTRING_INLINE b32_4tech char_is_alpha_utf8(u8_4tech c) /* DOC(This call returns non-zero if c is any alphabetic character including underscore, or is a part of a UTF8 sequence outside of ASCII.) */{ - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c == '_' || (unsigned char)c >= 128); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || c == '_' || (unsigned char)c >= 128); } API_EXPORT_INLINE FSTRING_INLINE b32_4tech char_is_alpha_true(char c) /* DOC(This call returns non-zero if c is any alphabetic character.) */{ - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z'); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')); } API_EXPORT_INLINE FSTRING_INLINE b32_4tech char_is_alpha_true_utf8(u8_4tech c) /* DOC(This call returns non-zero if c is any alphabetic character, or is a part of a UTF8 sequence outside of ASCII.) */{ - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || (unsigned char)c >= 128); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (unsigned char)c >= 128); } API_EXPORT_INLINE FSTRING_INLINE b32_4tech char_is_hex(char c) /* DOC(This call returns non-zero if c is any valid hexadecimal digit.) */{ - return (c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f'); + return ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f')); } API_EXPORT_INLINE FSTRING_INLINE b32_4tech char_is_hex_utf8(u8_4tech c) /* DOC(This call returns non-zero if c is any valid hexadecimal digit, or is a part of a UTF8 sequence outside of ASCII.) */{ - return (c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f' || (unsigned char)c >= 128); + return ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f') || (unsigned char)c >= 128); } API_EXPORT_INLINE FSTRING_INLINE b32_4tech @@ -168,7 +168,7 @@ char_is_numeric(char c) API_EXPORT_INLINE FSTRING_INLINE b32_4tech char_is_numeric_utf8(u8_4tech c) /* DOC(This call returns non-zero if c is any valid decimal digit, or is a part of a UTF8 sequence outside of ASCII.) */{ - return (c >= '0' && c <= '9' || (unsigned char)c >= 128); + return ((c >= '0' && c <= '9') || (unsigned char)c >= 128); } diff --git a/string/string_builder.cpp b/string/string_builder.cpp index 9dd1d219..88b7d69a 100644 --- a/string/string_builder.cpp +++ b/string/string_builder.cpp @@ -425,9 +425,8 @@ int main(){ else if (token->type == CPP_PP_INCLUDE){ token = get_next_token(&pcontext); - if (token && token->type == CPP_PP_INCLUDE_FILE){ - lexeme = get_lexeme(*token, pcontext.data);; + lexeme = get_lexeme(*token, pcontext.data); lexeme.size -= 2; lexeme.str += 1;