 |
|
 |
RENESAS TOOL NEWS on December 16, 2004: RSO-SQMlint_1-041216D
A Note on Using the SQMlint
(the MISRA C Rule Checker)
--On Using the __sectop() and __secend() Operators--
|
Please take note of the following problem in using the SQMlint (the MISRA C
rule checker, which extends the functionality of our compilers):
- On using the __sectop() and __secend() operators
- Versions Concerned
The SQMlint V.1.00 Release 1 and V.1.01 Release 00
- Description
Using the __sectop() or __secend() operator as the initial value of
a pointer pointing to a function violates Rule 1, displaying the message
"not assignable type (void *) for type (void (*)(void))"
- 2.1 Conditions
- This problem occurs if the following conditions are all satisfied:
| (1) | A pointer pointing to a function is declared. |
| (2) |
The __sectop() or __secend() operator is used as the initial value of the pointer in (1). |
- 2.2 Example
---------------------------------------------------------------------
extern void func(void);
void (*fp_array[])(void) = {
func,
__secend("S")
};
-----------------------------------------------------------------------
- Workaround
Neglect the message provided when either operator in 2.1 (2) is used.
- Schedule of Fixing the Problem
We plan to fix this problem in our next release of the product.
|
 |