Revision: 19114
http://sourceforge.net/p/edk2/code/19114
Author: lgao4
Date: 2015-12-04 03:15:08 +0000 (Fri, 04 Dec 2015)
Log Message:
-----------
MdeModulePkg: Fix VS2015 warning C4311 & C4312 in RegularExpressionDxe
warning C4311: pointer truncation from 'void *' to 'unsigned long'
warning C4312: conversion from 'unsigned long' to 'void *' of greater size
Update code to convert type to UINTN first, then convert it to other type.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <[email protected]>
Reviewed-by: Samer El-Haj-Mahmoud <[email protected]>
Acked-by: Michael Kinney <[email protected]>
Modified Paths:
--------------
trunk/edk2/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/enc/unicode.c
trunk/edk2/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regexec.c
trunk/edk2/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regint.h
trunk/edk2/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regparse.c
Modified:
trunk/edk2/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/enc/unicode.c
===================================================================
---
trunk/edk2/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/enc/unicode.c
2015-12-04 03:14:14 UTC (rev 19113)
+++
trunk/edk2/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/enc/unicode.c
2015-12-04 03:15:08 UTC (rev 19114)
@@ -10920,12 +10920,12 @@
if (ONIG_IS_NULL(FoldTable)) return ONIGERR_MEMORY;
for (i = 0; i < (int )(sizeof(CaseFold)/sizeof(CaseFold_11_Type)); i++) {
p = &CaseFold[i];
- st_add_direct(FoldTable, (st_data_t )p->from, (st_data_t )&(p->to));
+ st_add_direct(FoldTable, (st_data_t )p->from, (st_data_t )(UINTN)&(p->to));
}
for (i = 0; i < (int )(sizeof(CaseFold_Locale)/sizeof(CaseFold_11_Type));
i++) {
p = &CaseFold_Locale[i];
- st_add_direct(FoldTable, (st_data_t )p->from, (st_data_t )&(p->to));
+ st_add_direct(FoldTable, (st_data_t )p->from, (st_data_t )(UINTN)&(p->to));
}
Unfold1Table = st_init_numtable_with_size(1000);
@@ -10934,13 +10934,13 @@
for (i = 0; i < (int )(sizeof(CaseUnfold_11)/sizeof(CaseUnfold_11_Type));
i++) {
p1 = &CaseUnfold_11[i];
- st_add_direct(Unfold1Table, (st_data_t )p1->from, (st_data_t )&(p1->to));
+ st_add_direct(Unfold1Table, (st_data_t )p1->from, (st_data_t
)(UINTN)&(p1->to));
}
for (i = 0;
i < (int )(sizeof(CaseUnfold_11_Locale)/sizeof(CaseUnfold_11_Type));
i++) {
p1 = &CaseUnfold_11_Locale[i];
- st_add_direct(Unfold1Table, (st_data_t )p1->from, (st_data_t )&(p1->to));
+ st_add_direct(Unfold1Table, (st_data_t )p1->from, (st_data_t
)(UINTN)&(p1->to));
}
Unfold2Table = st_init_table_with_size(&type_code2_hash, 200);
@@ -10949,13 +10949,13 @@
for (i = 0; i < (int )(sizeof(CaseUnfold_12)/sizeof(CaseUnfold_12_Type));
i++) {
p2 = &CaseUnfold_12[i];
- st_add_direct(Unfold2Table, (st_data_t )p2->from, (st_data_t )(&p2->to));
+ st_add_direct(Unfold2Table, (st_data_t )(UINTN)p2->from, (st_data_t
)(UINTN)(&p2->to));
}
for (i = 0;
i < (int )(sizeof(CaseUnfold_12_Locale)/sizeof(CaseUnfold_12_Type));
i++) {
p2 = &CaseUnfold_12_Locale[i];
- st_add_direct(Unfold2Table, (st_data_t )p2->from, (st_data_t )(&p2->to));
+ st_add_direct(Unfold2Table, (st_data_t )(UINTN)p2->from, (st_data_t
)(UINTN)(&p2->to));
}
Unfold3Table = st_init_table_with_size(&type_code3_hash, 30);
@@ -10964,7 +10964,7 @@
for (i = 0; i < (int )(sizeof(CaseUnfold_13)/sizeof(CaseUnfold_13_Type));
i++) {
p3 = &CaseUnfold_13[i];
- st_add_direct(Unfold3Table, (st_data_t )p3->from, (st_data_t )(&p3->to));
+ st_add_direct(Unfold3Table, (st_data_t )(UINTN)p3->from, (st_data_t
)(UINTN)(&p3->to));
}
@@ -11265,7 +11265,7 @@
}
}
- if (onig_st_lookup(Unfold2Table, (st_data_t )to->code,
+ if (onig_st_lookup(Unfold2Table, (st_data_t )(UINTN)to->code,
(void* )&z2) != 0) {
for (i = 0; i < z2->n; i++) {
if (z2->code[i] == code) continue;
@@ -11291,7 +11291,7 @@
}
}
- if (onig_st_lookup(Unfold3Table, (st_data_t )to->code,
+ if (onig_st_lookup(Unfold3Table, (st_data_t )(UINTN)to->code,
(void* )&z2) != 0) {
for (i = 0; i < z2->n; i++) {
if (z2->code[i] == code) continue;
@@ -11336,7 +11336,7 @@
clen = enclen(enc, p);
len += clen;
- if (onig_st_lookup(Unfold2Table, (st_data_t )codes, (void* )&z2) != 0) {
+ if (onig_st_lookup(Unfold2Table, (st_data_t )(UINTN)codes, (void* )&z2)
!= 0) {
for (i = 0; i < z2->n; i++) {
items[n].byte_len = len;
items[n].code_len = 1;
@@ -11357,7 +11357,7 @@
clen = enclen(enc, p);
len += clen;
- if (onig_st_lookup(Unfold3Table, (st_data_t )codes,
+ if (onig_st_lookup(Unfold3Table, (st_data_t )(UINTN)codes,
(void* )&z2) != 0) {
for (i = 0; i < z2->n; i++) {
items[n].byte_len = len;
Modified:
trunk/edk2/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regexec.c
===================================================================
--- trunk/edk2/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regexec.c
2015-12-04 03:14:14 UTC (rev 19113)
+++ trunk/edk2/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regexec.c
2015-12-04 03:15:08 UTC (rev 19114)
@@ -863,7 +863,7 @@
if (BIT_STATUS_AT(reg->bt_mem_end, k->u.mem.num))\
endp = STACK_AT(k->u.mem.end)->u.mem.pstr;\
else\
- endp = (UChar* )k->u.mem.end;\
+ endp = (UChar* )(UINTN)k->u.mem.end;\
if (STACK_AT(k->u.mem.start)->u.mem.pstr != endp) {\
(isnull) = 0; break;\
}\
@@ -904,7 +904,7 @@
if (BIT_STATUS_AT(reg->bt_mem_end, k->u.mem.num))\
endp = STACK_AT(k->u.mem.end)->u.mem.pstr;\
else\
- endp = (UChar* )k->u.mem.end;\
+ endp = (UChar* )(UINTN)k->u.mem.end;\
if (STACK_AT(k->u.mem.start)->u.mem.pstr != endp) {\
(isnull) = 0; break;\
}\
@@ -1344,11 +1344,11 @@
if (BIT_STATUS_AT(reg->bt_mem_start, i))
rmt[i].rm_so =
(regoff_t)(STACK_AT(mem_start_stk[i])->u.mem.pstr - str);
else
- rmt[i].rm_so = (regoff_t)((UChar* )((void*
)(mem_start_stk[i])) - str);
+ rmt[i].rm_so = (regoff_t)((UChar* )((void*
)(UINTN)(mem_start_stk[i])) - str);
rmt[i].rm_eo = (regoff_t)((BIT_STATUS_AT(reg->bt_mem_end, i)
? STACK_AT(mem_end_stk[i])->u.mem.pstr
- : (UChar* )((void* )mem_end_stk[i])) - str);
+ : (UChar* )((void* )(UINTN)mem_end_stk[i])) -
str);
}
else {
rmt[i].rm_so = rmt[i].rm_eo = ONIG_REGION_NOTPOS;
@@ -1364,11 +1364,11 @@
if (BIT_STATUS_AT(reg->bt_mem_start, i))
region->beg[i] = (int)(STACK_AT(mem_start_stk[i])->u.mem.pstr
- str);
else
- region->beg[i] = (int)((UChar* )((void* )mem_start_stk[i]) -
str);
+ region->beg[i] = (int)((UChar* )((void*
)(UINTN)mem_start_stk[i]) - str);
region->end[i] = (int)((BIT_STATUS_AT(reg->bt_mem_end, i)
? STACK_AT(mem_end_stk[i])->u.mem.pstr
- : (UChar* )((void* )mem_end_stk[i])) - str);
+ : (UChar* )((void* )(UINTN)mem_end_stk[i])) -
str);
}
else {
region->beg[i] = region->end[i] = ONIG_REGION_NOTPOS;
@@ -2082,7 +2082,7 @@
case OP_MEMORY_START: MOP_IN(OP_MEMORY_START);
GET_MEMNUM_INC(mem, p);
- mem_start_stk[mem] = (OnigStackIndex )((void* )s);
+ mem_start_stk[mem] = (OnigStackIndex )(UINTN)((void* )s);
MOP_OUT;
continue;
break;
@@ -2096,7 +2096,7 @@
case OP_MEMORY_END: MOP_IN(OP_MEMORY_END);
GET_MEMNUM_INC(mem, p);
- mem_end_stk[mem] = (OnigStackIndex )((void* )s);
+ mem_end_stk[mem] = (OnigStackIndex )(UINTN)((void* )s);
MOP_OUT;
continue;
break;
@@ -2113,13 +2113,13 @@
case OP_MEMORY_END_REC: MOP_IN(OP_MEMORY_END_REC);
GET_MEMNUM_INC(mem, p);
- mem_end_stk[mem] = (OnigStackIndex )((void* )s);
+ mem_end_stk[mem] = (OnigStackIndex )(UINTN)((void* )s);
STACK_GET_MEM_START(mem, stkp);
if (BIT_STATUS_AT(reg->bt_mem_start, mem))
mem_start_stk[mem] = GET_STACK_INDEX(stkp);
else
- mem_start_stk[mem] = (OnigStackIndex )((void* )stkp->u.mem.pstr);
+ mem_start_stk[mem] = (OnigStackIndex )(UINTN)((void* )stkp->u.mem.pstr);
STACK_PUSH_MEM_END_MARK(mem);
MOP_OUT;
@@ -2153,11 +2153,11 @@
if (BIT_STATUS_AT(reg->bt_mem_start, mem))
pstart = STACK_AT(mem_start_stk[mem])->u.mem.pstr;
else
- pstart = (UChar* )((void* )mem_start_stk[mem]);
+ pstart = (UChar* )((void* )(UINTN)mem_start_stk[mem]);
pend = (BIT_STATUS_AT(reg->bt_mem_end, mem)
? STACK_AT(mem_end_stk[mem])->u.mem.pstr
- : (UChar* )((void* )mem_end_stk[mem]));
+ : (UChar* )((void* )(UINTN)mem_end_stk[mem]));
n = (int)(pend - pstart);
DATA_ENSURE(n);
sprev = s;
@@ -2185,11 +2185,11 @@
if (BIT_STATUS_AT(reg->bt_mem_start, mem))
pstart = STACK_AT(mem_start_stk[mem])->u.mem.pstr;
else
- pstart = (UChar* )((void* )mem_start_stk[mem]);
+ pstart = (UChar* )((void* )(UINTN)mem_start_stk[mem]);
pend = (BIT_STATUS_AT(reg->bt_mem_end, mem)
? STACK_AT(mem_end_stk[mem])->u.mem.pstr
- : (UChar* )((void* )mem_end_stk[mem]));
+ : (UChar* )((void* )(UINTN)mem_end_stk[mem]));
n = (int)(pend - pstart);
DATA_ENSURE(n);
sprev = s;
@@ -2217,11 +2217,11 @@
if (BIT_STATUS_AT(reg->bt_mem_start, mem))
pstart = STACK_AT(mem_start_stk[mem])->u.mem.pstr;
else
- pstart = (UChar* )((void* )mem_start_stk[mem]);
+ pstart = (UChar* )((void* )(UINTN)mem_start_stk[mem]);
pend = (BIT_STATUS_AT(reg->bt_mem_end, mem)
? STACK_AT(mem_end_stk[mem])->u.mem.pstr
- : (UChar* )((void* )mem_end_stk[mem]));
+ : (UChar* )((void* )(UINTN)mem_end_stk[mem]));
n = (int)(pend - pstart);
DATA_ENSURE(n);
sprev = s;
@@ -2256,11 +2256,11 @@
if (BIT_STATUS_AT(reg->bt_mem_start, mem))
pstart = STACK_AT(mem_start_stk[mem])->u.mem.pstr;
else
- pstart = (UChar* )((void* )mem_start_stk[mem]);
+ pstart = (UChar* )((void* )(UINTN)mem_start_stk[mem]);
pend = (BIT_STATUS_AT(reg->bt_mem_end, mem)
? STACK_AT(mem_end_stk[mem])->u.mem.pstr
- : (UChar* )((void* )mem_end_stk[mem]));
+ : (UChar* )((void* )(UINTN)mem_end_stk[mem]));
n = (int)(pend - pstart);
DATA_ENSURE(n);
sprev = s;
Modified:
trunk/edk2/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regint.h
===================================================================
--- trunk/edk2/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regint.h
2015-12-04 03:14:14 UTC (rev 19113)
+++ trunk/edk2/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regint.h
2015-12-04 03:15:08 UTC (rev 19114)
@@ -233,13 +233,13 @@
#define GET_ALIGNMENT_PAD_SIZE(addr,pad_size) do {\
(pad_size) = WORD_ALIGNMENT_SIZE \
- - ((unsigned int )(addr) % WORD_ALIGNMENT_SIZE);\
+ - ((unsigned int )(UINTN)(addr) % WORD_ALIGNMENT_SIZE);\
if ((pad_size) == WORD_ALIGNMENT_SIZE) (pad_size) = 0;\
} while (0)
#define ALIGNMENT_RIGHT(addr) do {\
(addr) += (WORD_ALIGNMENT_SIZE - 1);\
- (addr) -= ((unsigned int )(addr) % WORD_ALIGNMENT_SIZE);\
+ (addr) -= ((unsigned int )(UINTN)(addr) % WORD_ALIGNMENT_SIZE);\
} while (0)
#endif /* PLATFORM_UNALIGNED_WORD_ACCESS */
Modified:
trunk/edk2/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regparse.c
===================================================================
--- trunk/edk2/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regparse.c
2015-12-04 03:14:14 UTC (rev 19113)
+++ trunk/edk2/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regparse.c
2015-12-04 03:15:08 UTC (rev 19114)
@@ -369,7 +369,7 @@
key.s = (UChar* )str_key;
key.end = (UChar* )end_key;
- return onig_st_lookup(table, (st_data_t )(&key), value);
+ return onig_st_lookup(table, (st_data_t )(UINTN)(&key), value);
}
extern int
@@ -382,7 +382,7 @@
key = (st_str_end_key* )xmalloc(sizeof(st_str_end_key));
key->s = (UChar* )str_key;
key->end = (UChar* )end_key;
- result = onig_st_insert(table, (st_data_t )key, value);
+ result = onig_st_insert(table, (st_data_t )(UINTN)key, value);
if (result) {
xfree(key);
}
@@ -534,7 +534,7 @@
narg.reg = reg;
narg.arg = arg;
narg.enc = reg->enc; /* should be pattern encoding. */
- onig_st_foreach(t, i_names, (HashDataType )&narg);
+ onig_st_foreach(t, i_names, (HashDataType )(UINTN)&narg);
}
return narg.ret;
}
@@ -562,7 +562,7 @@
NameTable* t = (NameTable* )reg->name_table;
if (IS_NOT_NULL(t)) {
- onig_st_foreach(t, i_renumber_name, (HashDataType )map);
+ onig_st_foreach(t, i_renumber_name, (HashDataType )(UINTN)map);
}
return 0;
}
@@ -742,7 +742,7 @@
xfree(e); return ONIGERR_MEMORY;
}
onig_st_insert_strend(t, e->name, (e->name + (name_end - name)),
- (HashDataType )e);
+ (HashDataType )(UINTN)e);
e->name_len = (int)(name_end - name);
e->back_num = 0;
@@ -5217,7 +5217,7 @@
}
}
else {
- if (onig_st_lookup(OnigTypeCClassTable, (st_data_t )&key,
+ if (onig_st_lookup(OnigTypeCClassTable, (st_data_t )(UINTN)&key,
(st_data_t* )np)) {
THREAD_ATOMIC_END;
break;
@@ -5235,8 +5235,8 @@
NCCLASS_SET_SHARE(cc);
new_key = (type_cclass_key* )xmalloc(sizeof(type_cclass_key));
xmemcpy(new_key, &key, sizeof(type_cclass_key));
- onig_st_add_direct(OnigTypeCClassTable, (st_data_t )new_key,
- (st_data_t )*np);
+ onig_st_add_direct(OnigTypeCClassTable, (st_data_t )(UINTN)new_key,
+ (st_data_t )(UINTN)*np);
THREAD_ATOMIC_END;
}
------------------------------------------------------------------------------
Go from Idea to Many App Stores Faster with Intel(R) XDK
Give your users amazing mobile app experiences with Intel(R) XDK.
Use one codebase in this all-in-one HTML5 development environment.
Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits