Skip to content
This repository was archived by the owner on Jun 25, 2021. It is now read-only.

Commit 04edf10

Browse files
committed
Eliminated warnings for MCBSTM32 solutions (Keil MDK)
Could Not Find xxx.lib Could Not Find xxx.lib.manifest Warning: A1608W: MOV pc,<rn> instruction used, but BX <rn> is preferred Warning: NETMF#177-D: variable "xxx" was declared but never referenced Warning: NETMF#177-D: label "TinyCLR_Cleanup" was declared but never referenced Warning: NETMF#546-D: transfer of control bypasses initialization of... Warning: NETMF#1-D: last line of file ends without a newline Warning: NETMF#69-D: integer conversion resulted in truncation
1 parent 76a8763 commit 04edf10

File tree

9 files changed

+119
-74
lines changed

9 files changed

+119
-74
lines changed

CLR/Libraries/CorLib/corlib_native_System_BitConverter.cpp

Lines changed: 102 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ HRESULT Library_corlib_native_System_BitConverter::get_IsLittleEndian___STATIC__
3434
BYTE* p = reinterpret_cast<BYTE*>(&x);
3535
stack.SetResult_Boolean(*p == 0x78);
3636

37-
TINYCLR_NOCLEANUP();
37+
TINYCLR_NOCLEANUP_NOLABEL();
3838
}
3939

4040
HRESULT Library_corlib_native_System_BitConverter::DoubleToInt64Bits___STATIC__I8__R8( CLR_RT_StackFrame& stack )
@@ -61,9 +61,10 @@ HRESULT Library_corlib_native_System_BitConverter::GetBytes___STATIC__SZARRAY_U1
6161
bool input = stack.Arg0().NumericByRefConst().u1 != 0;
6262

6363
TINYCLR_CHECK_HRESULT(CLR_RT_HeapBlock_Array::CreateInstance(stack.PushValueAndClear(), 1, g_CLR_RT_WellKnownTypes.m_UInt8));
64-
BYTE* p = stack.TopValue().DereferenceArray()->GetFirstElement();
65-
*reinterpret_cast<bool*>(p) = input;
66-
64+
{
65+
BYTE* p = stack.TopValue().DereferenceArray()->GetFirstElement();
66+
*reinterpret_cast<bool*>(p) = input;
67+
}
6768
TINYCLR_NOCLEANUP();
6869
}
6970

@@ -75,9 +76,10 @@ HRESULT Library_corlib_native_System_BitConverter::GetBytes___STATIC__SZARRAY_U1
7576
wchar_t input = stack.Arg0().NumericByRefConst().u2;
7677

7778
TINYCLR_CHECK_HRESULT(CLR_RT_HeapBlock_Array::CreateInstance(stack.PushValueAndClear(), 2, g_CLR_RT_WellKnownTypes.m_UInt8));
78-
BYTE* p = stack.TopValue().DereferenceArray()->GetFirstElement();
79-
*reinterpret_cast<wchar_t*>(p) = input;
80-
79+
{
80+
BYTE* p = stack.TopValue().DereferenceArray()->GetFirstElement();
81+
*reinterpret_cast<wchar_t*>(p) = input;
82+
}
8183
TINYCLR_NOCLEANUP();
8284
}
8385

@@ -93,13 +95,14 @@ HRESULT Library_corlib_native_System_BitConverter::GetBytes___STATIC__SZARRAY_U1
9395
#endif
9496

9597
TINYCLR_CHECK_HRESULT(CLR_RT_HeapBlock_Array::CreateInstance(stack.PushValueAndClear(), 8, g_CLR_RT_WellKnownTypes.m_UInt8));
96-
BYTE* p = stack.TopValue().DereferenceArray()->GetFirstElement();
98+
{
99+
BYTE* p = stack.TopValue().DereferenceArray()->GetFirstElement();
97100
#if !defined(TINYCLR_EMULATED_FLOATINGPOINT)
98-
*reinterpret_cast<double*>(p) = input;
101+
*reinterpret_cast<double*>(p) = input;
99102
#else
100-
*reinterpret_cast<CLR_INT64*>(p) = input;
103+
*reinterpret_cast<CLR_INT64*>(p) = input;
101104
#endif
102-
105+
}
103106
TINYCLR_NOCLEANUP();
104107
}
105108

@@ -115,13 +118,14 @@ HRESULT Library_corlib_native_System_BitConverter::GetBytes___STATIC__SZARRAY_U1
115118
#endif
116119

117120
TINYCLR_CHECK_HRESULT(CLR_RT_HeapBlock_Array::CreateInstance(stack.PushValueAndClear(), 4, g_CLR_RT_WellKnownTypes.m_UInt8));
118-
BYTE* p = stack.TopValue().DereferenceArray()->GetFirstElement();
121+
{
122+
BYTE* p = stack.TopValue().DereferenceArray()->GetFirstElement();
119123
#if !defined(TINYCLR_EMULATED_FLOATINGPOINT)
120-
*reinterpret_cast<float*>(p) = input;
124+
*reinterpret_cast<float*>(p) = input;
121125
#else
122-
*reinterpret_cast<CLR_INT32*>(p) = input;
126+
*reinterpret_cast<CLR_INT32*>(p) = input;
123127
#endif
124-
128+
}
125129
TINYCLR_NOCLEANUP();
126130
}
127131

@@ -133,9 +137,10 @@ HRESULT Library_corlib_native_System_BitConverter::GetBytes___STATIC__SZARRAY_U1
133137
int input = stack.Arg0().NumericByRefConst().s4;
134138

135139
TINYCLR_CHECK_HRESULT(CLR_RT_HeapBlock_Array::CreateInstance(stack.PushValueAndClear(), 4, g_CLR_RT_WellKnownTypes.m_UInt8));
136-
BYTE* p = stack.TopValue().DereferenceArray()->GetFirstElement();
137-
*reinterpret_cast<int*>(p) = input;
138-
140+
{
141+
BYTE* p = stack.TopValue().DereferenceArray()->GetFirstElement();
142+
*reinterpret_cast<int*>(p) = input;
143+
}
139144
TINYCLR_NOCLEANUP();
140145
}
141146

@@ -147,9 +152,10 @@ HRESULT Library_corlib_native_System_BitConverter::GetBytes___STATIC__SZARRAY_U1
147152
__int64 input = stack.Arg0().NumericByRefConst().s8;
148153

149154
TINYCLR_CHECK_HRESULT(CLR_RT_HeapBlock_Array::CreateInstance(stack.PushValueAndClear(), 8, g_CLR_RT_WellKnownTypes.m_UInt8));
150-
BYTE* p = stack.TopValue().DereferenceArray()->GetFirstElement();
151-
*reinterpret_cast<__int64*>(p) = input;
152-
155+
{
156+
BYTE* p = stack.TopValue().DereferenceArray()->GetFirstElement();
157+
*reinterpret_cast<__int64*>(p) = input;
158+
}
153159
TINYCLR_NOCLEANUP();
154160
}
155161

@@ -161,9 +167,10 @@ HRESULT Library_corlib_native_System_BitConverter::GetBytes___STATIC__SZARRAY_U1
161167
short input = stack.Arg0().NumericByRefConst().s2;
162168

163169
TINYCLR_CHECK_HRESULT(CLR_RT_HeapBlock_Array::CreateInstance(stack.PushValueAndClear(), 2, g_CLR_RT_WellKnownTypes.m_UInt8));
164-
BYTE* p = stack.TopValue().DereferenceArray()->GetFirstElement();
165-
*reinterpret_cast<short*>(p) = input;
166-
170+
{
171+
BYTE* p = stack.TopValue().DereferenceArray()->GetFirstElement();
172+
*reinterpret_cast<short*>(p) = input;
173+
}
167174
TINYCLR_NOCLEANUP();
168175
}
169176

@@ -175,9 +182,10 @@ HRESULT Library_corlib_native_System_BitConverter::GetBytes___STATIC__SZARRAY_U1
175182
unsigned int input = stack.Arg0().NumericByRefConst().u4;
176183

177184
TINYCLR_CHECK_HRESULT(CLR_RT_HeapBlock_Array::CreateInstance(stack.PushValueAndClear(), 4, g_CLR_RT_WellKnownTypes.m_UInt8));
178-
BYTE* p = stack.TopValue().DereferenceArray()->GetFirstElement();
179-
*reinterpret_cast<unsigned int*>(p) = input;
180-
185+
{
186+
BYTE* p = stack.TopValue().DereferenceArray()->GetFirstElement();
187+
*reinterpret_cast<unsigned int*>(p) = input;
188+
}
181189
TINYCLR_NOCLEANUP();
182190
}
183191

@@ -189,9 +197,10 @@ HRESULT Library_corlib_native_System_BitConverter::GetBytes___STATIC__SZARRAY_U1
189197
unsigned __int64 input = stack.Arg0().NumericByRefConst().u8;
190198

191199
TINYCLR_CHECK_HRESULT(CLR_RT_HeapBlock_Array::CreateInstance(stack.PushValueAndClear(), 8, g_CLR_RT_WellKnownTypes.m_UInt8));
192-
BYTE* p = stack.TopValue().DereferenceArray()->GetFirstElement();
193-
*reinterpret_cast<unsigned __int64*>(p) = input;
194-
200+
{
201+
BYTE* p = stack.TopValue().DereferenceArray()->GetFirstElement();
202+
*reinterpret_cast<unsigned __int64*>(p) = input;
203+
}
195204
TINYCLR_NOCLEANUP();
196205
}
197206

@@ -203,9 +212,10 @@ HRESULT Library_corlib_native_System_BitConverter::GetBytes___STATIC__SZARRAY_U1
203212
unsigned short input = stack.Arg0().NumericByRefConst().u2;
204213

205214
TINYCLR_CHECK_HRESULT(CLR_RT_HeapBlock_Array::CreateInstance(stack.PushValueAndClear(), 2, g_CLR_RT_WellKnownTypes.m_UInt8));
206-
BYTE* p = stack.TopValue().DereferenceArray()->GetFirstElement();
207-
*reinterpret_cast<unsigned short*>(p) = input;
208-
215+
{
216+
BYTE* p = stack.TopValue().DereferenceArray()->GetFirstElement();
217+
*reinterpret_cast<unsigned short*>(p) = input;
218+
}
209219
TINYCLR_NOCLEANUP();
210220
}
211221

@@ -230,13 +240,16 @@ HRESULT Library_corlib_native_System_BitConverter::ToBoolean___STATIC__BOOLEAN__
230240
NATIVE_PROFILE_CLR_CORE();
231241
TINYCLR_HEADER();
232242

243+
BYTE *p = NULL;
244+
int index = 0;
245+
233246
CLR_RT_HeapBlock_Array* pArray = stack.Arg0().DereferenceArray();
234247
FAULT_ON_NULL_ARG(pArray);
235248

236-
int index = stack.Arg1().NumericByRefConst().s4;
249+
index = stack.Arg1().NumericByRefConst().s4;
237250
if (index < 0 || (unsigned int)index >= pArray->m_numOfElements) TINYCLR_SET_AND_LEAVE(CLR_E_OUT_OF_RANGE);
238251

239-
BYTE* p = pArray->GetFirstElement();
252+
p = pArray->GetFirstElement();
240253
stack.SetResult_Boolean(*reinterpret_cast<bool*>(p + index));
241254

242255
TINYCLR_NOCLEANUP();
@@ -247,14 +260,17 @@ HRESULT Library_corlib_native_System_BitConverter::ToChar___STATIC__CHAR__SZARRA
247260
NATIVE_PROFILE_CLR_CORE();
248261
TINYCLR_HEADER();
249262

263+
BYTE *p = NULL;
264+
int index = 0;
265+
250266
CLR_RT_HeapBlock_Array* pArray = stack.Arg0().DereferenceArray();
251267
FAULT_ON_NULL_ARG(pArray);
252268

253-
int index = stack.Arg1().NumericByRefConst().s4;
269+
index = stack.Arg1().NumericByRefConst().s4;
254270
if (index < 0 || (unsigned int)index >= pArray->m_numOfElements) TINYCLR_SET_AND_LEAVE(CLR_E_OUT_OF_RANGE);
255271
if ((unsigned int)index + 2 > pArray->m_numOfElements) TINYCLR_SET_AND_LEAVE(CLR_E_INVALID_PARAMETER);
256272

257-
BYTE* p = pArray->GetFirstElement();
273+
p = pArray->GetFirstElement();
258274
stack.SetResult(*reinterpret_cast<wchar_t*>(p + index), DATATYPE_CHAR);
259275

260276
TINYCLR_NOCLEANUP();
@@ -265,14 +281,17 @@ HRESULT Library_corlib_native_System_BitConverter::ToDouble___STATIC__R8__SZARRA
265281
NATIVE_PROFILE_CLR_CORE();
266282
TINYCLR_HEADER();
267283

284+
BYTE *p = NULL;
285+
int index = 0;
286+
268287
CLR_RT_HeapBlock_Array* pArray = stack.Arg0().DereferenceArray();
269288
FAULT_ON_NULL_ARG(pArray);
270289

271-
int index = stack.Arg1().NumericByRefConst().s4;
290+
index = stack.Arg1().NumericByRefConst().s4;
272291
if (index < 0 || (unsigned int)index >= pArray->m_numOfElements) TINYCLR_SET_AND_LEAVE(CLR_E_OUT_OF_RANGE);
273292
if ((unsigned int)index + 8 > pArray->m_numOfElements) TINYCLR_SET_AND_LEAVE(CLR_E_INVALID_PARAMETER);
274293

275-
BYTE* p = pArray->GetFirstElement();
294+
p = pArray->GetFirstElement();
276295
#if !defined(TINYCLR_EMULATED_FLOATINGPOINT)
277296
stack.SetResult_R8(*reinterpret_cast<double*>(p + index));
278297
#else
@@ -287,14 +306,17 @@ HRESULT Library_corlib_native_System_BitConverter::ToSingle___STATIC__R4__SZARRA
287306
NATIVE_PROFILE_CLR_CORE();
288307
TINYCLR_HEADER();
289308

309+
BYTE *p = NULL;
310+
int index = 0;
311+
290312
CLR_RT_HeapBlock_Array* pArray = stack.Arg0().DereferenceArray();
291313
FAULT_ON_NULL_ARG(pArray);
292314

293-
int index = stack.Arg1().NumericByRefConst().s4;
315+
index = stack.Arg1().NumericByRefConst().s4;
294316
if (index < 0 || (unsigned int)index >= pArray->m_numOfElements) TINYCLR_SET_AND_LEAVE(CLR_E_OUT_OF_RANGE);
295317
if ((unsigned int)index + 4 > pArray->m_numOfElements) TINYCLR_SET_AND_LEAVE(CLR_E_INVALID_PARAMETER);
296318

297-
BYTE* p = pArray->GetFirstElement();
319+
p = pArray->GetFirstElement();
298320
#if !defined(TINYCLR_EMULATED_FLOATINGPOINT)
299321
stack.SetResult_R4(*reinterpret_cast<float*>(p + index));
300322
#else
@@ -309,14 +331,17 @@ HRESULT Library_corlib_native_System_BitConverter::ToInt16___STATIC__I2__SZARRAY
309331
NATIVE_PROFILE_CLR_CORE();
310332
TINYCLR_HEADER();
311333

334+
BYTE *p = NULL;
335+
int index = 0;
336+
312337
CLR_RT_HeapBlock_Array* pArray = stack.Arg0().DereferenceArray();
313338
FAULT_ON_NULL_ARG(pArray);
314339

315-
int index = stack.Arg1().NumericByRefConst().s4;
340+
index = stack.Arg1().NumericByRefConst().s4;
316341
if (index < 0 || (unsigned int)index >= pArray->m_numOfElements) TINYCLR_SET_AND_LEAVE(CLR_E_OUT_OF_RANGE);
317342
if ((unsigned int)index + 2 > pArray->m_numOfElements) TINYCLR_SET_AND_LEAVE(CLR_E_INVALID_PARAMETER);
318343

319-
BYTE* p = pArray->GetFirstElement();
344+
p = pArray->GetFirstElement();
320345
stack.SetResult(*reinterpret_cast<short*>(p + index), DATATYPE_I2);
321346

322347
TINYCLR_NOCLEANUP();
@@ -327,14 +352,17 @@ HRESULT Library_corlib_native_System_BitConverter::ToInt32___STATIC__I4__SZARRAY
327352
NATIVE_PROFILE_CLR_CORE();
328353
TINYCLR_HEADER();
329354

355+
BYTE *p = NULL;
356+
int index = 0;
357+
330358
CLR_RT_HeapBlock_Array* pArray = stack.Arg0().DereferenceArray();
331359
FAULT_ON_NULL_ARG(pArray);
332360

333-
int index = stack.Arg1().NumericByRefConst().s4;
361+
index = stack.Arg1().NumericByRefConst().s4;
334362
if (index < 0 || (unsigned int)index >= pArray->m_numOfElements) TINYCLR_SET_AND_LEAVE(CLR_E_OUT_OF_RANGE);
335363
if ((unsigned int)index + 4 > pArray->m_numOfElements) TINYCLR_SET_AND_LEAVE(CLR_E_INVALID_PARAMETER);
336364

337-
BYTE* p = pArray->GetFirstElement();
365+
p = pArray->GetFirstElement();
338366
stack.SetResult_I4(*reinterpret_cast<int*>(p + index));
339367

340368
TINYCLR_NOCLEANUP();
@@ -345,14 +373,17 @@ HRESULT Library_corlib_native_System_BitConverter::ToInt64___STATIC__I8__SZARRAY
345373
NATIVE_PROFILE_CLR_CORE();
346374
TINYCLR_HEADER();
347375

376+
BYTE *p = NULL;
377+
int index = 0;
378+
348379
CLR_RT_HeapBlock_Array* pArray = stack.Arg0().DereferenceArray();
349380
FAULT_ON_NULL_ARG(pArray);
350381

351-
int index = stack.Arg1().NumericByRefConst().s4;
382+
index = stack.Arg1().NumericByRefConst().s4;
352383
if (index < 0 || (unsigned int)index >= pArray->m_numOfElements) TINYCLR_SET_AND_LEAVE(CLR_E_OUT_OF_RANGE);
353384
if ((unsigned int)index + 8 > pArray->m_numOfElements) TINYCLR_SET_AND_LEAVE(CLR_E_INVALID_PARAMETER);
354385

355-
BYTE* p = pArray->GetFirstElement();
386+
p = pArray->GetFirstElement();
356387
stack.SetResult_I8(*reinterpret_cast<__int64*>(p + index));
357388

358389
TINYCLR_NOCLEANUP();
@@ -363,14 +394,17 @@ HRESULT Library_corlib_native_System_BitConverter::ToUInt16___STATIC__U2__SZARRA
363394
NATIVE_PROFILE_CLR_CORE();
364395
TINYCLR_HEADER();
365396

397+
BYTE *p = NULL;
398+
int index = 0;
399+
366400
CLR_RT_HeapBlock_Array* pArray = stack.Arg0().DereferenceArray();
367401
FAULT_ON_NULL_ARG(pArray);
368402

369-
int index = stack.Arg1().NumericByRefConst().s4;
403+
index = stack.Arg1().NumericByRefConst().s4;
370404
if (index < 0 || (unsigned int)index >= pArray->m_numOfElements) TINYCLR_SET_AND_LEAVE(CLR_E_OUT_OF_RANGE);
371405
if ((unsigned int)index + 2 > pArray->m_numOfElements) TINYCLR_SET_AND_LEAVE(CLR_E_INVALID_PARAMETER);
372406

373-
BYTE* p = pArray->GetFirstElement();
407+
p = pArray->GetFirstElement();
374408
stack.SetResult(*reinterpret_cast<unsigned short*>(p + index), DATATYPE_U2);
375409

376410
TINYCLR_NOCLEANUP();
@@ -381,14 +415,17 @@ HRESULT Library_corlib_native_System_BitConverter::ToUInt32___STATIC__U4__SZARRA
381415
NATIVE_PROFILE_CLR_CORE();
382416
TINYCLR_HEADER();
383417

418+
BYTE *p = NULL;
419+
int index = 0;
420+
384421
CLR_RT_HeapBlock_Array* pArray = stack.Arg0().DereferenceArray();
385422
FAULT_ON_NULL_ARG(pArray);
386423

387-
int index = stack.Arg1().NumericByRefConst().s4;
424+
index = stack.Arg1().NumericByRefConst().s4;
388425
if (index < 0 || (unsigned int)index >= pArray->m_numOfElements) TINYCLR_SET_AND_LEAVE(CLR_E_OUT_OF_RANGE);
389426
if ((unsigned int)index + 4 > pArray->m_numOfElements) TINYCLR_SET_AND_LEAVE(CLR_E_INVALID_PARAMETER);
390427

391-
BYTE* p = pArray->GetFirstElement();
428+
p = pArray->GetFirstElement();
392429
stack.SetResult_U4(*reinterpret_cast<unsigned int*>(p + index));
393430

394431
TINYCLR_NOCLEANUP();
@@ -399,14 +436,17 @@ HRESULT Library_corlib_native_System_BitConverter::ToUInt64___STATIC__U8__SZARRA
399436
NATIVE_PROFILE_CLR_CORE();
400437
TINYCLR_HEADER();
401438

439+
BYTE *p = NULL;
440+
int index = 0;
441+
402442
CLR_RT_HeapBlock_Array* pArray = stack.Arg0().DereferenceArray();
403443
FAULT_ON_NULL_ARG(pArray);
404444

405-
int index = stack.Arg1().NumericByRefConst().s4;
445+
index = stack.Arg1().NumericByRefConst().s4;
406446
if (index < 0 || (unsigned int)index >= pArray->m_numOfElements) TINYCLR_SET_AND_LEAVE(CLR_E_OUT_OF_RANGE);
407447
if ((unsigned int)index + 8 > pArray->m_numOfElements) TINYCLR_SET_AND_LEAVE(CLR_E_INVALID_PARAMETER);
408448

409-
BYTE* p = pArray->GetFirstElement();
449+
p = pArray->GetFirstElement();
410450
stack.SetResult_U8(*reinterpret_cast<unsigned __int64*>(p + index));
411451

412452
TINYCLR_NOCLEANUP();
@@ -440,10 +480,12 @@ HRESULT Library_corlib_native_System_BitConverter::ToString___STATIC__STRING__SZ
440480
NATIVE_PROFILE_CLR_CORE();
441481
TINYCLR_HEADER();
442482

483+
int index = 0;
484+
443485
CLR_RT_HeapBlock_Array* pArray = stack.Arg0().DereferenceArray();
444486
FAULT_ON_NULL_ARG(pArray);
445487

446-
int index = stack.Arg1().NumericByRefConst().s4;
488+
index = stack.Arg1().NumericByRefConst().s4;
447489
if (pArray->m_numOfElements == 0 && index == 0)
448490
{
449491
TINYCLR_CHECK_HRESULT(stack.SetResult_String(""));
@@ -466,11 +508,14 @@ HRESULT Library_corlib_native_System_BitConverter::ToString___STATIC__STRING__SZ
466508
NATIVE_PROFILE_CLR_CORE();
467509
TINYCLR_HEADER();
468510

511+
int index = 0;
512+
int length = 0;
513+
469514
CLR_RT_HeapBlock_Array* pArray = stack.Arg0().DereferenceArray();
470515
FAULT_ON_NULL_ARG(pArray);
471516

472-
int index = stack.Arg1().NumericByRefConst().s4;
473-
int length = stack.Arg2().NumericByRefConst().s4;
517+
index = stack.Arg1().NumericByRefConst().s4;
518+
length = stack.Arg2().NumericByRefConst().s4;
474519
if (pArray->m_numOfElements == 0 && index == 0 && length == 0)
475520
{
476521
TINYCLR_CHECK_HRESULT(stack.SetResult_String(""));
@@ -487,4 +532,4 @@ HRESULT Library_corlib_native_System_BitConverter::ToString___STATIC__STRING__SZ
487532
}
488533

489534
TINYCLR_NOCLEANUP();
490-
}
535+
}

0 commit comments

Comments
 (0)