diff --git a/bin/compiler_flags.txt b/bin/compiler_flags.txt index f64d365..c1c7c4e 100644 --- a/bin/compiler_flags.txt +++ b/bin/compiler_flags.txt @@ -2,6 +2,7 @@ cl>-nologo cl>-FC cl>-MP +cl>-W4 -wd4201 -wd4996 -wd4505 ###### Clang Compiler ######################################################### diff --git a/docs/metadesk_reference.mdesk b/docs/metadesk_reference.mdesk index aa942dd..db40f6c 100644 --- a/docs/metadesk_reference.mdesk +++ b/docs/metadesk_reference.mdesk @@ -621,8 +621,6 @@ The @code node_count and @code total_size are automatically maintained by the he string: MD_String8, @doc("The raw string of the token labeling this node.") raw_string: MD_String8, - @doc("A hash of the string field using the metadesk built in hash function.") - string_hash: MD_u64, @doc("The raw string of the comment token before this node, if there is one.") prev_comment: MD_String8, @@ -1986,22 +1984,6 @@ MD_MakeNodeError: return: *MD_Message } -@send(Parsing) @func -@doc("Allocates and initializes an MD_Message associated with a user-controlled pointer.") -@see(MD_Message) -MD_MakeDetachedError: -{ - @doc("The arena onto which the returned message should be allocated.") - arena: *MD_Arena, - @doc("The node associated with the message.") - node: *MD_Node; - @doc("The message kind, encoding its severity.") - kind: MD_MessageKind; - @doc("The string for the message.") - str: MD_String8; - return: *MD_Message -} - @send(Parsing) @func @doc("Allocates and initializes an MD_Message associated with a particular MD_Token.") @see(MD_Message) @@ -2100,6 +2082,7 @@ MD_MessageListConcat: @doc("Creates a new reference node, pointing at @code 'target', and links it up as a child of @code 'list'.") @func MD_PushNewReference: { + arena: *M_Arena, list: *MD_Node, target: *MD_Node, return: *MD_Node, @@ -2254,7 +2237,7 @@ MD_MessageListConcat: @doc("Controls what is considered a string match, when finding the appropriate tag.") tag_str_flags: MD_MatchFlags, @doc("The string that the found tag argument should match.") - arg_string: int, + arg_string: MD_String8, @doc("Controls what is considered a string match, when finding the appropriate tag argument.") arg_str_flags: MD_MatchFlags, @doc("The found node, or a nil node pointer if no such node was found.") diff --git a/source/md.c b/source/md.c index 0bf27cf..69676b0 100644 --- a/source/md.c +++ b/source/md.c @@ -210,7 +210,9 @@ MD_WIN32_FileIterNext(MD_Arena *arena, MD_FileIter *it) MD_u16 *filename_base = (MD_u16*)find_data->cFileName; MD_u16 *ptr = filename_base; for (;*ptr != 0; ptr += 1); - MD_String16 filename16 = {filename_base, (MD_u64)(ptr - filename_base)}; + MD_String16 filename16 = {0}; + filename16.str = filename_base; + filename16.size = (MD_u64)(ptr - filename_base); result.filename = MD_S8FromS16(arena, filename16); result.file_size = ((((MD_u64)find_data->nFileSizeHigh) << 32) | ((MD_u64)find_data->nFileSizeLow)); @@ -266,6 +268,7 @@ MD_WIN32_Decommit(void *ptr, MD_u64 size) static void MD_WIN32_Release(void *ptr, MD_u64 size) { + (void)size; VirtualFree(ptr, 0, MEM_RELEASE); } @@ -574,6 +577,7 @@ MD_ArenaDefaultPopTo(MD_ArenaDefault *arena, MD_u64 pos) { // pop chunks in the chain MD_u64 pos_clamped = MD_ClampBot(MD_IMPL_ArenaMinPos, pos); + (void)pos_clamped; { MD_ArenaDefault *node = arena->current; for (MD_ArenaDefault *prev = 0; @@ -958,7 +962,7 @@ MD_S8Match(MD_String8 a, MD_String8 b, MD_MatchFlags flags) if(a.size == b.size || flags & MD_StringMatchFlag_RightSideSloppy) { result = 1; - for(MD_u64 i = 0; i < a.size; i += 1) + for(MD_u64 i = 0; i < a.size && i < b.size; i += 1) { MD_b32 match = (a.str[i] == b.str[i]); if(flags & MD_StringMatchFlag_CaseInsensitive) @@ -1024,7 +1028,7 @@ MD_S8FmtV(MD_Arena *arena, char *fmt, va_list args) result.str = MD_PushArray(arena, MD_u8, needed_bytes); result.size = needed_bytes - 1; result.str[needed_bytes-1] = 0; - MD_IMPL_Vsnprintf((char*)result.str, needed_bytes, fmt, args2); + MD_IMPL_Vsnprintf((char*)result.str, (int)needed_bytes, fmt, args2); return result; } @@ -1162,8 +1166,8 @@ MD_S8ListJoin(MD_Arena *arena, MD_String8List list, MD_StringJoin *join_ptr) ptr += join.mid.size; } } - MD_MemoryCopy(ptr, join.pre.str, join.pre.size); - ptr += join.pre.size; + MD_MemoryCopy(ptr, join.post.str, join.post.size); + ptr += join.post.size; return(result); } @@ -1358,7 +1362,9 @@ MD_DecodeCodepointFromUtf8(MD_u8 *str, MD_u64 max) { if (3 <= max) { - MD_u8 cont_byte[2] = {str[1], str[2]}; + MD_u8 cont_byte[2] = {0}; + cont_byte[0] = str[1]; + cont_byte[1] = str[2]; if (md_utf8_class[cont_byte[0] >> 3] == 0 && md_utf8_class[cont_byte[1] >> 3] == 0) { @@ -1374,7 +1380,10 @@ MD_DecodeCodepointFromUtf8(MD_u8 *str, MD_u64 max) { if (4 <= max) { - MD_u8 cont_byte[3] = {str[1], str[2], str[3]}; + MD_u8 cont_byte[3] = {0}; + cont_byte[0] = str[1]; + cont_byte[1] = str[2]; + cont_byte[2] = str[3]; if (md_utf8_class[cont_byte[0] >> 3] == 0 && md_utf8_class[cont_byte[1] >> 3] == 0 && md_utf8_class[cont_byte[2] >> 3] == 0) @@ -1460,7 +1469,7 @@ MD_Utf16FromCodepoint(MD_u16 *out, MD_u32 codepoint) else { MD_u64 v = codepoint - 0x10000; - out[0] = 0xD800 + (v >> 10); + out[0] = (MD_u16)(0xD800 + (v >> 10)); out[1] = 0xDC00 + (v & MD_bitmask10); advance = 2; } @@ -1504,7 +1513,9 @@ MD_S16FromS8(MD_Arena *arena, MD_String8 in) } str[size] = 0; MD_ArenaPutBack(arena, 2*(cap - size)); // := 2*((cap + 1) - (size + 1)) - MD_String16 result = {str, size}; + MD_String16 result = {0}; + result.str = str; + result.size = size; return(result); } @@ -1516,7 +1527,6 @@ MD_S8FromS32(MD_Arena *arena, MD_String32 in) MD_u32 *ptr = in.str; MD_u32 *opl = ptr + in.size; MD_u64 size = 0; - MD_DecodedCodepoint consume; for (;ptr < opl; ptr += 1) { size += MD_Utf8FromCodepoint(str + size, *ptr); @@ -1544,7 +1554,9 @@ MD_S32FromS8(MD_Arena *arena, MD_String8 in) } str[size] = 0; MD_ArenaPutBack(arena, 4*(cap - size)); // := 4*((cap + 1) - (size + 1)) - MD_String32 result = {str, size}; + MD_String32 result = {0}; + result.str = str; + result.size = size; return(result); } @@ -1681,7 +1693,7 @@ MD_StringIsCStyleInt(MD_String8 string) for (;ptr < opl && (*ptr == '+' || *ptr == '-'); ptr += 1); // radix from prefix - MD_u64 radix = 10; + MD_u32 radix = 10; if (ptr < opl) { MD_u8 c0 = *ptr; @@ -1749,7 +1761,7 @@ MD_CStyleIntFromString(MD_String8 string) } // radix from prefix - MD_u64 radix = 10; + MD_u32 radix = 10; if (p < string.size) { MD_u8 c0 = string.str[p]; @@ -3404,7 +3416,7 @@ MD_NodeDeepMatch(MD_Node *a, MD_Node *b, MD_MatchFlags flags) MD_FUNCTION void MD_ExprOprPush(MD_Arena *arena, MD_ExprOprList *list, - MD_ExprOprKind kind, MD_u64 precedence, MD_String8 string, + MD_ExprOprKind kind, MD_u32 precedence, MD_String8 string, MD_u32 op_id, void *op_ptr) { MD_ExprOpr *op = MD_PushArrayZero(arena, MD_ExprOpr, 1); @@ -3518,11 +3530,11 @@ MD_ExprBakeOprTableFromList(MD_Arena *arena, MD_ExprOprList *list) // save list else { - MD_ExprOprList *list = result.table + op_kind; + MD_ExprOprList *saved_list = result.table + op_kind; MD_ExprOpr *op_node_copy = MD_PushArray(arena, MD_ExprOpr, 1); *op_node_copy = *op; - MD_QueuePush(list->first, list->last, op_node_copy); - list->count += 1; + MD_QueuePush(saved_list->first, saved_list->last, op_node_copy); + saved_list->count += 1; } } @@ -3786,12 +3798,12 @@ MD_ExprParse_MinPrecedence(MD_Arena *arena, MD_ExprParseCtx *ctx, i_op < MD_ArrayCount(ctx->accel.postfix_set_ops); ++i_op) { - MD_ExprOpr *op = ctx->accel.postfix_set_ops[i_op]; - if(op && op->precedence >= min_precedence && + MD_ExprOpr *op2 = ctx->accel.postfix_set_ops[i_op]; + if(op2 && op2->precedence >= min_precedence && node->flags == ctx->accel.postfix_set_flags[i_op]) { *iter = MD_NodeNextWithLimit(*iter, opl); - result = MD_Expr_NewOpr(arena, op, node, result, 0); + result = MD_Expr_NewOpr(arena, op2, node, result, 0); found_postfix_setlike_operator = 1; break; } @@ -3858,7 +3870,7 @@ MD_S8ListPush(arena, out, indent_string);\ MD_S8ListPush(arena, out, tag->string); if(flags & MD_GenerateFlag_TagArguments && !MD_NodeIsNil(tag->first_child)) { - int tag_arg_indent = indent + 1 + tag->string.size + 1; + int tag_arg_indent = (int)(indent + 1 + tag->string.size + 1); MD_S8ListPush(arena, out, MD_S8Lit("(")); for(MD_EachNode(child, tag->first_child)) { @@ -3897,7 +3909,7 @@ MD_S8ListPush(arena, out, indent_string);\ MD_PrintIndent(indent); MD_ArenaTemp scratch = MD_GetScratch(&arena, 1); MD_String8List flag_strs = MD_StringListFromNodeFlags(scratch.arena, node->flags); - MD_StringJoin join = { MD_S8Lit(""), MD_S8Lit("|"), MD_S8Lit("") }; + MD_StringJoin join = { MD_S8LitComp(""), MD_S8LitComp("|"), MD_S8LitComp("") }; MD_String8 flag_str = MD_S8ListJoin(arena, flag_strs, &join); MD_S8ListPush(arena, out, MD_S8Lit("// flags: \"")); MD_S8ListPush(arena, out, flag_str); @@ -4025,7 +4037,7 @@ MD_S8ListPush(arena, out, indent_string);\ MD_S8ListPush(arena, out, tag->string); if(!MD_NodeIsNil(tag->first_child)) { - int tag_arg_indent = indent + 1 + tag->string.size + 1; + int tag_arg_indent = (int)(indent + 1 + tag->string.size + 1); MD_S8ListPush(arena, out, MD_S8Lit("(")); MD_u32 last_line = MD_CodeLocFromNode(tag).line; for(MD_EachNode(child, tag->first_child)) diff --git a/source/md.h b/source/md.h index e8dad54..ff44627 100644 --- a/source/md.h +++ b/source/md.h @@ -1097,8 +1097,6 @@ MD_FUNCTION MD_Node* MD_MakeErrorMarkerNode(MD_Arena *arena, MD_String8 parse_ MD_FUNCTION MD_Message*MD_MakeNodeError(MD_Arena *arena, MD_Node *node, MD_MessageKind kind, MD_String8 str); -MD_FUNCTION MD_Message*MD_MakeDetachedError(MD_Arena *arena, MD_MessageKind kind, - MD_String8 str, void *ptr); MD_FUNCTION MD_Message*MD_MakeTokenError(MD_Arena *arena, MD_String8 parse_contents, MD_Token token, MD_MessageKind kind, MD_String8 str); @@ -1181,7 +1179,7 @@ MD_FUNCTION MD_b32 MD_NodeDeepMatch(MD_Node *a, MD_Node *b, MD_MatchFlags flags) //~ Expression Parsing MD_FUNCTION void MD_ExprOprPush(MD_Arena *arena, MD_ExprOprList *list, - MD_ExprOprKind kind, MD_u64 precedence, + MD_ExprOprKind kind, MD_u32 precedence, MD_String8 op_string, MD_u32 op_id, void *op_ptr); diff --git a/source/md_stb_sprintf.h b/source/md_stb_sprintf.h index c5b5fcc..4758435 100644 --- a/source/md_stb_sprintf.h +++ b/source/md_stb_sprintf.h @@ -585,7 +585,7 @@ cl = lg; \ //- rjf: get string length s = (char *)str.str; sn = (const char *)(str.str + str.size); - l = str.size; + l = (int)str.size; //- rjf: clamp to precision lead[0] = 0; diff --git a/tests/expression_tests.c b/tests/expression_tests.c index 00d645f..8e4d38f 100644 --- a/tests/expression_tests.c +++ b/tests/expression_tests.c @@ -3,7 +3,7 @@ #include "md.h" #include "md.c" -MD_Arena *arena = 0; +MD_Arena *g_arena = 0; typedef enum{ ExpressionErrorKind_Null, @@ -233,7 +233,7 @@ static void reset_global_messages() static void bake_operator_error_handler(MD_MessageKind kind, MD_String8 s) { // NOTE: Append error to global error list - MD_Message *message = MD_PushArrayZero(arena, MD_Message, 1); + MD_Message *message = MD_PushArrayZero(g_arena, MD_Message, 1); message->kind = kind; message->string = s; MD_MessageListPush(&global_message_list, message); @@ -249,7 +249,7 @@ operator_array[Op_##name].op = (MD_ExprOpr){ .op_id = Op_##name, .kind = MD_Expr OPERATORS #undef X - arena = MD_ArenaAlloc(); + g_arena = MD_ArenaAlloc(); /* NOTE: Operator table bake errors */ { @@ -259,79 +259,79 @@ operator_array[Op_##name].op = (MD_ExprOpr){ .op_id = Op_##name, .kind = MD_Expr MD_String8 plus = MD_S8Lit("+"); MD_String8 minus = MD_S8Lit("-"); MD_String8 cast = MD_S8Lit("()"); - MD_Node *plus_node = MD_MakeNode(arena, MD_NodeKind_Main, plus, plus, 0); - MD_Node *cast_node = MD_MakeNode(arena, MD_NodeKind_Main, cast, cast, 0); - MD_Node *minus_node = MD_MakeNode(arena, MD_NodeKind_Main, minus, minus, 0); - MD_Node *plus_node_bis = MD_MakeNode(arena, MD_NodeKind_Main, plus, plus, 0); + MD_Node *plus_node = MD_MakeNode(g_arena, MD_NodeKind_Main, plus, plus, 0); + MD_Node *cast_node = MD_MakeNode(g_arena, MD_NodeKind_Main, cast, cast, 0); + MD_Node *minus_node = MD_MakeNode(g_arena, MD_NodeKind_Main, minus, minus, 0); + MD_Node *plus_node_bis = MD_MakeNode(g_arena, MD_NodeKind_Main, plus, plus, 0); MD_ExprSetBakeOperatorErrorHandler(bake_operator_error_handler); // NOTE: Wrong operator kind reset_global_messages(); operator_list = (MD_ExprOprList){0}; - MD_ExprOprPush(arena, &operator_list, MD_ExprOprKind_Null, 1, MD_S8Lit("+"), + MD_ExprOprPush(g_arena, &operator_list, MD_ExprOprKind_Null, 1, MD_S8Lit("+"), Op_Addition, plus_node); - op_table = MD_ExprBakeOprTableFromList(arena, &operator_list); + op_table = MD_ExprBakeOprTableFromList(g_arena, &operator_list); MD_Assert(global_max_message_kind == MD_MessageKind_Warning && global_message_list.node_count == 1); // NOTE: () not as unary postfix operator_list = (MD_ExprOprList){0}; reset_global_messages(); - MD_ExprOprPush(arena, &operator_list, MD_ExprOprKind_Prefix, 1, MD_S8Lit("()"), + MD_ExprOprPush(g_arena, &operator_list, MD_ExprOprKind_Prefix, 1, MD_S8Lit("()"), 23 /* arbitrary MD_ExprOprKind */, cast_node); - op_table = MD_ExprBakeOprTableFromList(arena, &operator_list); + op_table = MD_ExprBakeOprTableFromList(g_arena, &operator_list); MD_Assert(global_max_message_kind == MD_MessageKind_Warning && global_message_list.node_count == 1); // NOTE: Repeat operator operator_list = (MD_ExprOprList){0}; reset_global_messages(); - MD_ExprOprPush(arena, &operator_list, MD_ExprOprKind_Binary, 1, MD_S8Lit("+"), + MD_ExprOprPush(g_arena, &operator_list, MD_ExprOprKind_Binary, 1, MD_S8Lit("+"), Op_Addition, plus_node); - MD_ExprOprPush(arena, &operator_list, MD_ExprOprKind_Binary, 1, MD_S8Lit("+"), + MD_ExprOprPush(g_arena, &operator_list, MD_ExprOprKind_Binary, 1, MD_S8Lit("+"), Op_Addition, plus_node_bis); - op_table = MD_ExprBakeOprTableFromList(arena, &operator_list); + op_table = MD_ExprBakeOprTableFromList(g_arena, &operator_list); MD_Assert(global_max_message_kind == MD_MessageKind_Warning && global_message_list.node_count == 1); operator_list = (MD_ExprOprList){0}; reset_global_messages(); // NOTE: Binary-postfix operator conflict - MD_ExprOprPush(arena, &operator_list, MD_ExprOprKind_Binary, 1, MD_S8Lit("+"), + MD_ExprOprPush(g_arena, &operator_list, MD_ExprOprKind_Binary, 1, MD_S8Lit("+"), Op_Addition, plus_node); - MD_ExprOprPush(arena, &operator_list, MD_ExprOprKind_Postfix, 1, MD_S8Lit("+"), + MD_ExprOprPush(g_arena, &operator_list, MD_ExprOprKind_Postfix, 1, MD_S8Lit("+"), Op_Addition, plus_node_bis); - op_table = MD_ExprBakeOprTableFromList(arena, &operator_list); + op_table = MD_ExprBakeOprTableFromList(g_arena, &operator_list); MD_Assert(global_max_message_kind == MD_MessageKind_Warning && global_message_list.node_count == 1); operator_list = (MD_ExprOprList){0}; reset_global_messages(); // NOTE: Same precedence difference associativity conflict - MD_ExprOprPush(arena, &operator_list, MD_ExprOprKind_Binary, 1, MD_S8Lit("+"), + MD_ExprOprPush(g_arena, &operator_list, MD_ExprOprKind_Binary, 1, MD_S8Lit("+"), Op_Addition, plus_node); - MD_ExprOprPush(arena, &operator_list, MD_ExprOprKind_BinaryRightAssociative, 1, MD_S8Lit("-"), + MD_ExprOprPush(g_arena, &operator_list, MD_ExprOprKind_BinaryRightAssociative, 1, MD_S8Lit("-"), Op_Addition, minus_node); - op_table = MD_ExprBakeOprTableFromList(arena, &operator_list); + op_table = MD_ExprBakeOprTableFromList(g_arena, &operator_list); MD_Assert(global_max_message_kind == MD_MessageKind_Warning && global_message_list.node_count == 1); // NOTE: Multitoken operator reset_global_messages(); operator_list = (MD_ExprOprList){0}; - MD_ExprOprPush(arena, &operator_list, MD_ExprOprKind_Prefix, 1, MD_S8Lit("+ +"), + MD_ExprOprPush(g_arena, &operator_list, MD_ExprOprKind_Prefix, 1, MD_S8Lit("+ +"), 23 /* arbitrary MD_ExprOprKind */, plus_node); - op_table = MD_ExprBakeOprTableFromList(arena, &operator_list); + op_table = MD_ExprBakeOprTableFromList(g_arena, &operator_list); MD_Assert(global_max_message_kind == MD_MessageKind_Warning && global_message_list.node_count == 1); // NOTE: Wrong token kind operator reset_global_messages(); operator_list = (MD_ExprOprList){0}; - MD_ExprOprPush(arena, &operator_list, MD_ExprOprKind_Prefix, 1, MD_S8Lit("123"), + MD_ExprOprPush(g_arena, &operator_list, MD_ExprOprKind_Prefix, 1, MD_S8Lit("123"), 23 /* arbitrary MD_ExprOprKind */, plus_node); - op_table = MD_ExprBakeOprTableFromList(arena, &operator_list); + op_table = MD_ExprBakeOprTableFromList(g_arena, &operator_list); MD_Assert(global_max_message_kind == MD_MessageKind_Warning && global_message_list.node_count == 1); } @@ -341,12 +341,12 @@ operator_array[Op_##name].op = (MD_ExprOpr){ .op_id = Op_##name, .kind = MD_Expr for(Op op = Op_Null+1; op < Op_COUNT; ++op) { OperatorDescription *desc = operator_array + op; - MD_Node *node = MD_MakeNode(arena, MD_NodeKind_Main, desc->s, desc->s, 0); - MD_ExprOprPush(arena, &operator_list, desc->op.kind, desc->op.precedence, desc->s, + MD_Node *node = MD_MakeNode(g_arena, MD_NodeKind_Main, desc->s, desc->s, 0); + MD_ExprOprPush(g_arena, &operator_list, desc->op.kind, desc->op.precedence, desc->s, op, node); } - MD_ExprOprTable op_table = MD_ExprBakeOprTableFromList(arena, &operator_list); + MD_ExprOprTable op_table = MD_ExprBakeOprTableFromList(g_arena, &operator_list); // NOTE(mal): I'm trying something different for expression parser tests. Normally one would take the // output of MD_ExprParse and compare it against the expected output expression tree. @@ -417,13 +417,13 @@ operator_array[Op_##name].op = (MD_ExprOpr){ .op_id = Op_##name, .kind = MD_Expr MD_String8 q = MD_S8CString(test.q); MD_String8 a = MD_S8CString(test.a); - MD_ParseResult parse = MD_ParseWholeString(arena, MD_S8Lit("test"), q); + MD_ParseResult parse = MD_ParseWholeString(g_arena, MD_S8Lit("test"), q); if(parse.errors.max_message_kind == MD_MessageKind_Null) { - MD_ExprParseResult expr_parse = MD_ExprParse(arena, &op_table, parse.node->first_child, MD_NilNode()); + MD_ExprParseResult expr_parse = MD_ExprParse(g_arena, &op_table, parse.node->first_child, MD_NilNode()); if(expr_parse.errors.max_message_kind == MD_MessageKind_Null) { - MD_String8 parser_answer = parenthesize(arena, operator_array, expr_parse.expr); + MD_String8 parser_answer = parenthesize(g_arena, operator_array, expr_parse.expr); if(!MD_S8Match(parser_answer, a, 0)) { printf("Example %d : Expected answer for %.*s is %.*s. Got %.*s\n", diff --git a/tests/sanity_tests.c b/tests/sanity_tests.c index 060163d..bda41f9 100644 --- a/tests/sanity_tests.c +++ b/tests/sanity_tests.c @@ -15,13 +15,13 @@ test_ctx; static void BeginTest(char *name) { - int length = MD_CalculateCStringLength(name); - int spaces = 25 - length; + MD_u64 length = MD_CalculateCStringLength(name); + MD_u64 spaces = 25 - length; if(spaces < 0) { spaces = 0; } - printf("\"%s\" %.*s [", name, spaces, "------------------------------"); + printf("\"%s\" %.*s [", name, (int)spaces, "------------------------------"); test_ctx.number_of_tests = 0; test_ctx.number_passed = 0; } @@ -389,7 +389,7 @@ int main(void) Test("Errors") { - struct { char *s; int columns[2]; } tests[] = { + struct { char *s; MD_u64 columns[2]; } tests[] = { {"{", {1}}, {"}", {1}}, {"'", {1}}, @@ -438,9 +438,9 @@ int main(void) { MD_String8 key_strings[] = { - MD_S8Lit("\xed\x80\x73\x71\x78\xba\xff\xd6\x87\x83\xcd\x20\x28\xf7\x1c\xc1\x5f\xca\x98\x9c\x5a\xab\x0c\xae\x9a\x60\x57\x03\xeb\x1f\xde\x99"), - MD_S8Lit("\x4c\x80\xb7\x8b\xbf\x65\x5a\x4b\xc1\x2a\xc3\x5f\xe1\x66\xfb\x0d\x72\x83\x1c\x63\xba\xb5\x97\x02\x3f\x6a\xe0\x2a\x1b\x82\x07\x76"), - MD_S8Lit("\xd8\xfd\x11\x4b\x04\xdf\xe5\x20\x5b\xd6\x4f\x87\x00\x70\x6a\xc8\xde\xed\xc7\x79\xdb\x87\x24\x36\xa8\x7a\x31\x41\x00\x57\xbd\x8d"), + MD_S8LitComp("\xed\x80\x73\x71\x78\xba\xff\xd6\x87\x83\xcd\x20\x28\xf7\x1c\xc1\x5f\xca\x98\x9c\x5a\xab\x0c\xae\x9a\x60\x57\x03\xeb\x1f\xde\x99"), + MD_S8LitComp("\x4c\x80\xb7\x8b\xbf\x65\x5a\x4b\xc1\x2a\xc3\x5f\xe1\x66\xfb\x0d\x72\x83\x1c\x63\xba\xb5\x97\x02\x3f\x6a\xe0\x2a\x1b\x82\x07\x76"), + MD_S8LitComp("\xd8\xfd\x11\x4b\x04\xdf\xe5\x20\x5b\xd6\x4f\x87\x00\x70\x6a\xc8\xde\xed\xc7\x79\xdb\x87\x24\x36\xa8\x7a\x31\x41\x00\x57\xbd\x8d"), }; MD_MapKey keys[MD_ArrayCount(key_strings)*2]; @@ -479,12 +479,12 @@ int main(void) Test("String Inner & Outer") { MD_String8 samples[6] = { - MD_S8Lit("'foo-bar'"), - MD_S8Lit("'''foo-bar'''"), - MD_S8Lit("\"foo-bar\""), - MD_S8Lit("\"\"\"foo-bar\"\"\""), - MD_S8Lit("`foo-bar`"), - MD_S8Lit("```foo-bar```"), + MD_S8LitComp("'foo-bar'"), + MD_S8LitComp("'''foo-bar'''"), + MD_S8LitComp("\"foo-bar\""), + MD_S8LitComp("\"\"\"foo-bar\"\"\""), + MD_S8LitComp("`foo-bar`"), + MD_S8LitComp("```foo-bar```"), }; MD_Node *nodes[MD_ArrayCount(samples)]; @@ -734,10 +734,10 @@ int main(void) MD_String8 file_name = MD_S8Lit("raw_text"); MD_String8 test_strings[] = { - MD_S8Lit("0765"), - MD_S8Lit("0xABC"), - MD_S8Lit("0x123"), - MD_S8Lit("0b010"), + MD_S8LitComp("0765"), + MD_S8LitComp("0xABC"), + MD_S8LitComp("0x123"), + MD_S8LitComp("0b010"), }; MD_String8 *string = test_strings; @@ -755,15 +755,15 @@ int main(void) MD_String8 file_name = MD_S8Lit("raw_text"); MD_String8 test_strings[] = { - MD_S8Lit("0"), - MD_S8Lit("1"), - MD_S8Lit("0.5"), - MD_S8Lit("1e2"), - MD_S8Lit("1e+2"), - MD_S8Lit("1e-2"), - MD_S8Lit("1.5e2"), - MD_S8Lit("1.5e+2"), - MD_S8Lit("1.5e-2"), + MD_S8LitComp("0"), + MD_S8LitComp("1"), + MD_S8LitComp("0.5"), + MD_S8LitComp("1e2"), + MD_S8LitComp("1e+2"), + MD_S8LitComp("1e-2"), + MD_S8LitComp("1.5e2"), + MD_S8LitComp("1.5e+2"), + MD_S8LitComp("1.5e-2"), }; MD_String8 *string = test_strings; diff --git a/tests/unicode_test.c b/tests/unicode_test.c index 881683f..507d7fd 100644 --- a/tests/unicode_test.c +++ b/tests/unicode_test.c @@ -21,7 +21,7 @@ int main(void) // TODO(allen): throw more at this. char test_string_c[] = "Foo bar; test the unicode\n\t\0Etc"; - MD_String8 test_string = MD_S8(test_string_c, sizeof(test_string_c) - 1); + MD_String8 test_string = MD_S8((MD_u8 *)test_string_c, sizeof(test_string_c) - 1); run_test_on_string(test_string);