[previous] 1257 [next] An integer constant suffixed with L or LL is being converted to a type of lower rank on assignment.
Arithmetic type - Assignment

This message is issued whenever a suffixed integer constant undergoes an assigning conversion to an integral type of lower rank. Consider removing (some) suffixes.

For example:


/*PRQA S 1-9999 ++*/
/*PRQA S 1257 --*/
/**********************************
 * OPTIONS: -ex LONGLONG
 *********************************/

extern int                sia;
extern unsigned int       uia;

extern long               sla;
extern unsigned long      ula;

void foo (int a);

int f1257 (void)
{
  sia = 5L;                 /* 1257 */
  uia = 5L;                 /* 1257 */

  sia = 5UL;                /* 1257 */
  uia = 5UL;                /* 1257 */

  sia = 5LL;                /* 1257 */
  uia = 5LL;                /* 1257 */
  sla = 5LL;                /* 1257 */
  ula = 5LL;                /* 1257 */

  sia = 5ULL;               /* 1257 */
  uia = 5ULL;               /* 1257 */
  sla = 5ULL;               /* 1257 */
  ula = 5ULL;               /* 1257 */

  foo (5LL);                /* 1257 */
    
  return 5L;                /* 1257 */
}

QA·C Source Code Analyser 8.1.2
© 2013 Programming Research.
www.programmingresearch.com
Personality Groups | Glossary | Message Index Contents