r12436, unnecessary warning for side-effects (csmith)
ID0000771:
**This issue was created automatically from Mantis Issue 771. Further discussion may take place here.**
---
| **Id** | **Project** | **Category** | **View** | **Due Date** | **Updated** |
| --- | --- | --- | --- | --- | --- |
| ID0000771 | Frama-C | Kernel | public | 2011-03-30 | 2014-02-12 |
| | | | | | |
| --- | --- | --- | --- | --- | --- |
| **Reporter** | pascal | **Assigned To** | virgile | **Resolution** | fixed |
| **Priority** | normal | **Severity** | minor | **Reproducibility** | always |
| **Platform** | - | **OS** | - | **OS Version** | - |
| **Product Version** | Frama-C GIT, precise the release id | **Target Version** | - | **Fixed in Version** | Frama-C Nitrogen-20111001 |
### Description :
The command below leads the value analysis to check whether *g_19 can be in alias with g_20. They can be, so the value analysis emits an alarm, but I fail to see why this should be checked. The functions called have no side-effects. In fact, there are no side-effects in the whole assignment, except the side-effect of the assignment.
This is likely to be related to 676: the display below is very strange, with some statements displayed as empty lines (and still having inputs !!).
__
bin/toplevel.opt -unspecified-access se.i
____
assert.30103607.7.c:632:[kernel] warning: Unspecified sequence with side effect:
/* <- */
tmp = safe_add_func_uint16_t_u_u(p_69.f2,(unsigned short )l_80);
/* <-
*/
tmp_0 = safe_lshift_func_uint8_t_u_u((unsigned char )p_70.f0,
(unsigned int )l_85);
/* <- p_70.f3 */
/* <-
*/
tmp_1 = safe_sub_func_uint32_t_u_u((unsigned int )l_90[0][0][1],
(unsigned int )*g_19);
/* <- */
tmp_2 = safe_sub_func_uint32_t_u_u(tmp_1,(unsigned int )p_70.f3);
/* <- l_80 g_14 */
/* <- */
tmp_3 = safe_rshift_func_int8_t_s_s((signed char )p_70.f3,g_20);
/* <- g_20 */
/* <-
*/
tmp_4 = safe_add_func_int8_t_s_s((signed char )((int )tmp_3 >= g_20),
(signed char )((long )(l_80 < (int32_t )g_14) <= 0xC7L));
/* <-
*/
tmp_5 = safe_add_func_int8_t_s_s(tmp_4,
(signed char )((uint32_t )((int )tmp != (int )tmp_0) <= tmp_2));
/* <- g_14 */
/* *g_19 <-
*/
*g_19 = (int32_t )safe_mul_func_int8_t_s_s((signed char )g_14,
(signed char )(1U != (unsigned int )tmp_5));
______
## Attachments
- [se.i](/uploads/7b3e9708421a0440524a591ed89764fd/se.i)
issue