[previous] 1483 [next] Enum object or constant passed as argument to function declared in K&R style.
K+R compatibility REFERENCE - ISO:C90-6.5.2.2 Enumeration Specifiers

An enum object or constant is being passed as an argument to a function which has been declared with an old style function declaration.

With old-style functions, all arguments of enum type undergo default argument promotion.

For example:


/*PRQA S 1303,2017,2201,2211,2213,3001,3408,3447,3448,3602 ++*/

typedef enum SIZE { SMALL, MEDIUM, LARGE } TS;

extern void test();             /* Old style function declaration */
extern TS   es;

extern void foo(void)
{
   test(SMALL);                 /* Message 1483 */
   test(es);                    /* Message 1483 */

   return ;
}

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