summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.txt5
-rw-r--r--GNUmakefile4
-rw-r--r--test.cc120
-rw-r--r--zap/include/zap/base.h12
-rw-r--r--zap/src/fndbyte.c2
-rw-r--r--zap/src/fndchr.c2
-rw-r--r--zap/src/memcmp.c4
-rw-r--r--zap/src/strcmp.c4
-rw-r--r--zap/src/strdup.c2
9 files changed, 75 insertions, 80 deletions
diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index e3e2f73..af69d4d 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -1,3 +1,8 @@
+| C
+
+- Fix install target;
+- Remove type literals;
+
| B
- memdup: Use sus_unlikely instead of __builtin_expect;
diff --git a/GNUmakefile b/GNUmakefile
index 5376911..0f24883 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -59,9 +59,9 @@ $(LIB): $(OBJS)
ar r $@ $^
install: $(LIB)
- mkdir -pm755 $(HDRDIR)
+ mkdir -pm755 $(HDRDIR)/zap
mkdir -pm755 $(LIBDIR)
- install -Dm644 zap/include/zap.h $(HDRDIR)
+ install -Dm644 zap/include/zap/base.h $(HDRDIR)/zap
install -Dm755 $(LIB) $(LIBDIR)/$(LIB)
clean:
diff --git a/test.cc b/test.cc
index 7d4799e..baf0c5e 100644
--- a/test.cc
+++ b/test.cc
@@ -13,54 +13,54 @@ int main(void) {
::std::fprintf(stderr,"fast: %s\n",::zap_fastimpl ? "yes" : "no");
::std::fprintf(stderr,"\n");
{
- constexpr auto arrsz {zap_typlit_usz(0x8)};
- ::std::uint_least64_t arr0[arrsz] {zap_typlit_u40(0x0)};
- ::zap_memfill(arr0,arrsz * sizeof (::std::uint_least64_t),zap_typlit_u8(0x0));
- ::std::fprintf(stderr,"arr0[0]: %" PRIX64 "\n",arr0[zap_typlit_usz(0x0)]);
- ::std::fprintf(stderr,"arr0[1]: %" PRIX64 "\n",arr0[zap_typlit_usz(0x1)]);
- ::std::fprintf(stderr,"arr0[2]: %" PRIX64 "\n",arr0[zap_typlit_usz(0x2)]);
- ::std::fprintf(stderr,"arr0[3]: %" PRIX64 "\n",arr0[zap_typlit_usz(0x3)]);
- ::std::fprintf(stderr,"arr0[4]: %" PRIX64 "\n",arr0[zap_typlit_usz(0x4)]);
- ::std::fprintf(stderr,"arr0[5]: %" PRIX64 "\n",arr0[zap_typlit_usz(0x5)]);
- ::std::fprintf(stderr,"arr0[6]: %" PRIX64 "\n",arr0[zap_typlit_usz(0x6)]);
- assert(arr0[zap_typlit_usz(0x0)] == zap_typlit_u40(0x0));
- assert(arr0[zap_typlit_usz(0x1)] == zap_typlit_u40(0x0));
- assert(arr0[zap_typlit_usz(0x2)] == zap_typlit_u40(0x0));
- assert(arr0[zap_typlit_usz(0x3)] == zap_typlit_u40(0x0));
- assert(arr0[zap_typlit_usz(0x4)] == zap_typlit_u40(0x0));
- assert(arr0[zap_typlit_usz(0x5)] == zap_typlit_u40(0x0));
- assert(arr0[zap_typlit_usz(0x6)] == zap_typlit_u40(0x0));
- ::zap_memfill(arr0,arrsz * sizeof (::std::uint_least64_t),zap_typlit_u8(0x7F));
- ::std::fprintf(stderr,"arr0[0]: %" PRIX64 "\n",arr0[zap_typlit_usz(0x0)]);
- ::std::fprintf(stderr,"arr0[1]: %" PRIX64 "\n",arr0[zap_typlit_usz(0x1)]);
- ::std::fprintf(stderr,"arr0[2]: %" PRIX64 "\n",arr0[zap_typlit_usz(0x2)]);
- ::std::fprintf(stderr,"arr0[3]: %" PRIX64 "\n",arr0[zap_typlit_usz(0x3)]);
- ::std::fprintf(stderr,"arr0[4]: %" PRIX64 "\n",arr0[zap_typlit_usz(0x4)]);
- ::std::fprintf(stderr,"arr0[5]: %" PRIX64 "\n",arr0[zap_typlit_usz(0x5)]);
- ::std::fprintf(stderr,"arr0[6]: %" PRIX64 "\n",arr0[zap_typlit_usz(0x6)]);
- assert(arr0[zap_typlit_usz(0x0)] == zap_typlit_u40(0x7F7F7F7F7F7F7F7F));
- assert(arr0[zap_typlit_usz(0x1)] == zap_typlit_u40(0x7F7F7F7F7F7F7F7F));
- assert(arr0[zap_typlit_usz(0x2)] == zap_typlit_u40(0x7F7F7F7F7F7F7F7F));
- assert(arr0[zap_typlit_usz(0x3)] == zap_typlit_u40(0x7F7F7F7F7F7F7F7F));
- assert(arr0[zap_typlit_usz(0x4)] == zap_typlit_u40(0x7F7F7F7F7F7F7F7F));
- assert(arr0[zap_typlit_usz(0x5)] == zap_typlit_u40(0x7F7F7F7F7F7F7F7F));
- assert(arr0[zap_typlit_usz(0x6)] == zap_typlit_u40(0x7F7F7F7F7F7F7F7F));
- ::std::uint_least64_t arr1[arrsz] {zap_typlit_u40(0x0)};
+ constexpr ::std::size_t arrsz {0x8u};
+ ::std::uint_least64_t arr0[arrsz] {0x0u};
+ ::zap_memfill(arr0,arrsz * sizeof (::std::uint_least64_t),0x0u);
+ ::std::fprintf(stderr,"arr0[0]: %" PRIX64 "\n",arr0[0x0u]);
+ ::std::fprintf(stderr,"arr0[1]: %" PRIX64 "\n",arr0[0x1u]);
+ ::std::fprintf(stderr,"arr0[2]: %" PRIX64 "\n",arr0[0x2u]);
+ ::std::fprintf(stderr,"arr0[3]: %" PRIX64 "\n",arr0[0x3u]);
+ ::std::fprintf(stderr,"arr0[4]: %" PRIX64 "\n",arr0[0x4u]);
+ ::std::fprintf(stderr,"arr0[5]: %" PRIX64 "\n",arr0[0x5u]);
+ ::std::fprintf(stderr,"arr0[6]: %" PRIX64 "\n",arr0[0x6u]);
+ assert(arr0[0x0u] == 0x0u);
+ assert(arr0[0x1u] == 0x0u);
+ assert(arr0[0x2u] == 0x0u);
+ assert(arr0[0x3u] == 0x0u);
+ assert(arr0[0x4u] == 0x0u);
+ assert(arr0[0x5u] == 0x0u);
+ assert(arr0[0x6u] == 0x0u);
+ ::zap_memfill(arr0,arrsz * sizeof (::std::uint_least64_t),0x7Fu);
+ ::std::fprintf(stderr,"arr0[0]: %" PRIX64 "\n",arr0[0x0u]);
+ ::std::fprintf(stderr,"arr0[1]: %" PRIX64 "\n",arr0[0x1u]);
+ ::std::fprintf(stderr,"arr0[2]: %" PRIX64 "\n",arr0[0x2u]);
+ ::std::fprintf(stderr,"arr0[3]: %" PRIX64 "\n",arr0[0x3u]);
+ ::std::fprintf(stderr,"arr0[4]: %" PRIX64 "\n",arr0[0x4u]);
+ ::std::fprintf(stderr,"arr0[5]: %" PRIX64 "\n",arr0[0x5u]);
+ ::std::fprintf(stderr,"arr0[6]: %" PRIX64 "\n",arr0[0x6u]);
+ assert(arr0[0x0u] == 0x7F7F7F7F7F7F7F7Fu);
+ assert(arr0[0x1u] == 0x7F7F7F7F7F7F7F7Fu);
+ assert(arr0[0x2u] == 0x7F7F7F7F7F7F7F7Fu);
+ assert(arr0[0x3u] == 0x7F7F7F7F7F7F7F7Fu);
+ assert(arr0[0x4u] == 0x7F7F7F7F7F7F7F7Fu);
+ assert(arr0[0x5u] == 0x7F7F7F7F7F7F7F7Fu);
+ assert(arr0[0x6u] == 0x7F7F7F7F7F7F7F7Fu);
+ ::std::uint_least64_t arr1[arrsz] {0x0u};
::zap_memcpy(arr0,arrsz * sizeof (::std::uint_least64_t),arr1);
- ::std::fprintf(stderr,"arr1[0]: %" PRIX64 "\n",arr1[zap_typlit_usz(0x0)]);
- ::std::fprintf(stderr,"arr1[1]: %" PRIX64 "\n",arr1[zap_typlit_usz(0x1)]);
- ::std::fprintf(stderr,"arr1[2]: %" PRIX64 "\n",arr1[zap_typlit_usz(0x2)]);
- ::std::fprintf(stderr,"arr1[3]: %" PRIX64 "\n",arr1[zap_typlit_usz(0x3)]);
- ::std::fprintf(stderr,"arr1[4]: %" PRIX64 "\n",arr1[zap_typlit_usz(0x4)]);
- ::std::fprintf(stderr,"arr1[5]: %" PRIX64 "\n",arr1[zap_typlit_usz(0x5)]);
- ::std::fprintf(stderr,"arr1[6]: %" PRIX64 "\n",arr1[zap_typlit_usz(0x6)]);
- assert(arr1[zap_typlit_usz(0x0)] == arr0[zap_typlit_usz(0x0)]);
- assert(arr1[zap_typlit_usz(0x1)] == arr0[zap_typlit_usz(0x1)]);
- assert(arr1[zap_typlit_usz(0x2)] == arr0[zap_typlit_usz(0x2)]);
- assert(arr1[zap_typlit_usz(0x3)] == arr0[zap_typlit_usz(0x3)]);
- assert(arr1[zap_typlit_usz(0x4)] == arr0[zap_typlit_usz(0x4)]);
- assert(arr1[zap_typlit_usz(0x5)] == arr0[zap_typlit_usz(0x5)]);
- assert(arr1[zap_typlit_usz(0x6)] == arr0[zap_typlit_usz(0x6)]);
+ ::std::fprintf(stderr,"arr1[0]: %" PRIX64 "\n",arr1[0x0u]);
+ ::std::fprintf(stderr,"arr1[1]: %" PRIX64 "\n",arr1[0x1u]);
+ ::std::fprintf(stderr,"arr1[2]: %" PRIX64 "\n",arr1[0x2u]);
+ ::std::fprintf(stderr,"arr1[3]: %" PRIX64 "\n",arr1[0x3u]);
+ ::std::fprintf(stderr,"arr1[4]: %" PRIX64 "\n",arr1[0x4u]);
+ ::std::fprintf(stderr,"arr1[5]: %" PRIX64 "\n",arr1[0x5u]);
+ ::std::fprintf(stderr,"arr1[6]: %" PRIX64 "\n",arr1[0x6u]);
+ assert(arr1[0x0u] == arr0[0x0u]);
+ assert(arr1[0x1u] == arr0[0x1u]);
+ assert(arr1[0x2u] == arr0[0x2u]);
+ assert(arr1[0x3u] == arr0[0x3u]);
+ assert(arr1[0x4u] == arr0[0x4u]);
+ assert(arr1[0x5u] == arr0[0x5u]);
+ assert(arr1[0x6u] == arr0[0x6u]);
auto const eq {::zap_memeq(arr1,arrsz,arr0)};
::std::fprintf(stderr,"eq: %u\n",eq);
assert(eq);
@@ -71,7 +71,7 @@ int main(void) {
::std::fprintf(stderr,"str: \"%s\"\n",str);
auto const strsz {::zap_strlen(str)};
::std::fprintf(stderr,"strsz: %zX\n",strsz);
- assert(strsz == zap_typlit_usz(0x1C));
+ assert(strsz == 0x1Cu);
}
::std::fprintf(stderr,"\n");
{
@@ -83,23 +83,23 @@ int main(void) {
::std::size_t pos1 = ::zap_fndbyte(str,len,(::std::uint_least8_t)' ');
::std::fprintf(stderr,"pos0: %zX\n",pos0);
::std::fprintf(stderr,"pos1: %zX\n",pos1);
- assert(pos0 == zap_typlit_usz(0x2));
+ assert(pos0 == 0x2u);
assert(pos1 == pos0);
- str += pos0 + zap_typlit_usz(0x1);
+ str += pos0 + 0x1u;
len = ::zap_strlen(str);
pos0 = ::zap_fndchr(str,' ');
pos1 = ::zap_fndbyte(str,len,(::std::uint_least8_t)' ');
::std::fprintf(stderr,"pos0: %zX\n",pos0);
::std::fprintf(stderr,"pos1: %zX\n",pos1);
- assert(pos0 == zap_typlit_usz(0x2));
+ assert(pos0 == 0x2u);
assert(pos1 == pos0);
- str += pos0 + zap_typlit_usz(0x1);
+ str += pos0 + 0x1u;
len = ::zap_strlen(str);
pos0 = ::zap_fndchr(str,' ');
pos1 = ::zap_fndbyte(str,len,(::std::uint_least8_t)' ');
::std::fprintf(stderr,"pos0: %zX\n",pos0);
::std::fprintf(stderr,"pos1: %zX\n",pos1);
- assert(pos0 == (::std::size_t)-0x1);
+ assert(pos0 == -0x1u);
assert(pos1 == pos0);
}
::std::fprintf(stderr,"\n");
@@ -125,7 +125,7 @@ int main(void) {
char const str0[] = "What in the world are you doing?";
::std::fprintf(stderr,"str0: \"%s\"\n",str0);
char str1[sizeof (str0)];
- assert(::zap_strcpy(str0,str1) == zap_typlit_usz(0x20));
+ assert(::zap_strcpy(str0,str1) == 0x20u);
::std::fprintf(stderr,"str1: \"%s\"\n",str1);
assert(::zap_streq(str0,str1));
}
@@ -148,12 +148,12 @@ int main(void) {
::std::fprintf(stderr,"cmp3: %i\n",cmp3);
::std::fprintf(stderr,"cmp4: %i\n",cmp4);
::std::fprintf(stderr,"cmp5: %i\n",cmp5);
- assert(cmp0 > zap_typlit_s8(0x0));
- assert(cmp1 == zap_typlit_s8(0x0));
- assert(cmp2 < zap_typlit_s8(0x0));
- assert(cmp3 > zap_typlit_s8(0x0));
- assert(cmp4 == zap_typlit_s8(0x0));
- assert(cmp5 < zap_typlit_s8(0x0));
+ assert(cmp0 > 0x0);
+ assert(cmp1 == 0x0);
+ assert(cmp2 < 0x0);
+ assert(cmp3 > 0x0);
+ assert(cmp4 == 0x0);
+ assert(cmp5 < 0x0);
}
::std::fprintf(stderr,"\n");
::std::fprintf(stderr,"All tests have passed!\n");
diff --git a/zap/include/zap/base.h b/zap/include/zap/base.h
index 48e0fb1..f909a45 100644
--- a/zap/include/zap/base.h
+++ b/zap/include/zap/base.h
@@ -12,17 +12,7 @@
#if !defined(zap_hdr_base)
#define zap_hdr_base
-#define zap_typlit_s10(_lit) ((int_least16_t)( _lit))
-#define zap_typlit_s20(_lit) ((int_least32_t)( _lit))
-#define zap_typlit_s40(_lit) ((int_least64_t)( _lit))
-#define zap_typlit_s8( _lit) ((int_least8_t)( _lit))
-#define zap_typlit_u10(_lit) ((uint_least16_t)(_lit))
-#define zap_typlit_u20(_lit) ((uint_least32_t)(_lit))
-#define zap_typlit_u40(_lit) ((uint_least64_t)(_lit))
-#define zap_typlit_u8( _lit) ((uint_least8_t)( _lit))
-#define zap_typlit_usz(_lit) ((size_t)( _lit))
-
-#define zap_ver zap_typlit_u64(0xB)
+#define zap_ver ((uint_Least64_t)0xCu)
#if defined(sus_lang_asm)
diff --git a/zap/src/fndbyte.c b/zap/src/fndbyte.c
index 85fc14d..917aeff 100644
--- a/zap/src/fndbyte.c
+++ b/zap/src/fndbyte.c
@@ -72,6 +72,6 @@ size_t zap_fndbyte(void const * const _ptr,size_t const _num,uint_least8_t const
uint_least8_t const * ptr = (uint_least8_t const *)_ptr;
uint_least8_t const * const afterbuf = ptr + _num;
for (;ptr != afterbuf;++ptr) {sus_unlikely (*ptr == _byte) {return ptr - (uint_least8_t const *)_ptr;}}
- return zap_typlit_usz(-0x1);
+ return -0x1u;
}
#endif
diff --git a/zap/src/fndchr.c b/zap/src/fndchr.c
index cd5458f..6af1b73 100644
--- a/zap/src/fndchr.c
+++ b/zap/src/fndchr.c
@@ -64,7 +64,7 @@ size_t zap_fndchr(char const * const _str,char const _chr) {
for (;;++pos) {
char const chr = *pos;
sus_unlikely (chr == _chr) {return (size_t)(pos - _str);}
- sus_unlikely (chr == '\x0') {return zap_typlit_usz(-0x1);}
+ sus_unlikely (chr == '\x0') {return -0x1u;}
}
sus_unreach();
}
diff --git a/zap/src/memcmp.c b/zap/src/memcmp.c
index 810bab0..31e5161 100644
--- a/zap/src/memcmp.c
+++ b/zap/src/memcmp.c
@@ -15,7 +15,7 @@ int_least8_t zap_memcmp(void const * const _lstr,size_t const _num,void const *
for (;lpos != afterlbuf;++lpos,++rpos) {
unsigned char const lbyte = *lpos;
unsigned char const rbyte = *rpos;
- sus_likely (lbyte != rbyte) {return lbyte < rbyte ? (int_least8_t)INT8_MIN : (int_least8_t)INT8_MAX;}
+ sus_likely (lbyte != rbyte) {return lbyte < rbyte ? INT8_MIN : INT8_MAX;}
}
- return zap_typlit_s8(0x0);
+ return 0x0;
}
diff --git a/zap/src/strcmp.c b/zap/src/strcmp.c
index 9e11601..101f7dc 100644
--- a/zap/src/strcmp.c
+++ b/zap/src/strcmp.c
@@ -14,8 +14,8 @@ int_least8_t zap_strcmp(char const * const _lstr,char const * const _rstr) {
for (;;++lpos,++rpos) {
unsigned char const lchr = *lpos;
unsigned char const rchr = *rpos;
- sus_likely (lchr != rchr) {return lchr < rchr ? (int_least8_t)INT8_MIN : (int_least8_t)INT8_MAX;}
- sus_unlikely (lchr == (unsigned char)0x0) {return zap_typlit_s8(0x0);}
+ sus_likely (lchr != rchr) {return lchr < rchr ? INT8_MIN : INT8_MAX;}
+ sus_unlikely (lchr == (unsigned char)0x0) {return 0x0;}
}
sus_unreach();
}
diff --git a/zap/src/strdup.c b/zap/src/strdup.c
index 785a93b..a7ab6e6 100644
--- a/zap/src/strdup.c
+++ b/zap/src/strdup.c
@@ -10,7 +10,7 @@
char * zap_strdup(sus_attr_unused char const * const _str) {
#if !defined(zap_priv_nostdlib)
- return zap_memdup(_str,zap_strlen(_str) + zap_typlit_usz(0x1));
+ return zap_memdup(_str,zap_strlen(_str) + 0x1u);
#else
return NULL;
#endif