
    dcc: C programs checker. Copyright 1995 Supelec, France.
    ***** WArning(s)/ERror(s) found in compilation unit "trydcc.c" *****

*/
void __assert (char *__expr, char *__file, int __line);
___^
ERror line 53 of file "dccsyshdrdir:assert.h": ';' expected at end of 
declaration started line 3 of file "trydcc.h".
######
typedef unsigned int bool;
#define FALSE   (0!=0)
____________^
WArning (lvl. 3) line 13: Macro "FALSE" already defined line 245 of file 
"dccsyshdrdir:stdio.h" or just before; new definition ignored.
######
#define FALSE   (0!=0)
#define TRUE    (0==0)
___________^
WArning (lvl. 3) line 14: Macro "TRUE" already defined line 242 of file 
"dccsyshdrdir:stdio.h" or just before; new definition ignored.
######
static char *errMsg[] = {
     "...",        /* AlrdDefId */
__________^
WArning (lvl. 3) line 19: 'const'/'volatile' mismatch in pointers for operator 
'=' (expected type "Ptr/char", expression type "Array[4*1]:const char").
######
     "..."         /* AlrdQual */  /* missing comma */
     "...",        /* ArrExptd */
__________^
WArning (lvl. 3) line 21: 'const'/'volatile' mismatch in pointers for operator 
'=' (expected type "Ptr/char", expression type "Array[7*1]:const char").
######
     "..."         /* ArrToPtr */
  /*~zif __index() != __extent(ErrNb) "Missing message(s) in 'errMsg[]'" */
__________________________________________________________________________^
WArning (lvl. 3) line 23: 'zif' not false; message: "Missing message(s) in 
'errMsg[]'".
######
  /*~zif __index() != __extent(ErrNb) "Missing message(s) in 'errMsg[]'" */
};
^
WArning (lvl. 3) line 24: 'const'/'volatile' mismatch in pointers for operator 
'=' (expected type "Ptr/char", expression type "Array[4*1]:const char").
######
char *tryAtDcc(void)
{
^
WArning (lvl. 1) line 27: Variable/function "tryAtDcc": missing 'static' 
attribute ? (or, if really usable in another compilation unit, should be 
declared as 'extern' in a "trydcc.h" header file, which is to be included).
######
{
  unsigned int a, b=0, *pi=malloc(sizeof(pi));
_____________________________________________^
WArning (lvl. 3) line 28: Wrong 'sizeof' argument? (argument type: "Ptr/unsigned
int"; should be type of object pointed by receiving pointer: "unsigned int").
######
  void *pv;
  Flags fl = {TRUE, FALSE /*~zif !__member(fl3) "Incorrect initialization "
__________________^
WArning (lvl. 2) line 31: Operator '=': bad expression type ("int") for sink 
type "bool".
######
  Flags fl = {TRUE, FALSE /*~zif !__member(fl3) "Incorrect initialization "
                                                                "of flQual" */};
_____________________________________________________________________________^
WArning (lvl. 3) line 32: 'zif' not false; message: "Incorrect initialization of
flQual".
######
  Flags fl = {TRUE, FALSE /*~zif !__member(fl3) "Incorrect initialization "
                                                                "of flQual" */};
______________________________________________________________________________^
WArning (lvl. 2) line 32: Operator '=': bad expression type ("int") for sink 
type "bool".
######
  Flags fl = {TRUE, FALSE /*~zif !__member(fl3) "Incorrect initialization "
                                                                "of flQual" */};
_______________________________________________________________________________^
WArning (lvl. 1) line 32: Initialization of compound automatic objects is to be 
avoided (it uses time and space). Object "fl" should be declared 'static'. If 
really not appropriate, use /*~DynInit*/ d-pragma.
######

  char buf[10], c;
_____________^
WArning (lvl. 1) line 36: Bound of array "buf" should be a named constant (via 
'#define' or enum); name may also be used in array overflow checking.
######
  char buf[10], c;
  short s = 32768;
_________________^
WArning (lvl. 1) line 37: Numeric constants (except 0, 1, -1) should be named 
(via '#define' or enum constant), or else parenthetize them. See also 
/*~LiteralCst*/ d-pragma.
######
  char buf[10], c;
  short s = 32768;
_________________^
WArning (lvl. 2) line 37: Operator '=': overflow (for type "short").
######
  short s = 32768;
  a = a - TWO;
__^
WArning (lvl. 1) line 38: Statements should be separated from declarations by 
white line(s) (or use ";;").
######
  short s = 32768;
  a = a - TWO;
____________^
WArning (lvl. 3) line 38: Variable "a" not initialized.
######
  short s = 32768;
  a = a - TWO;
_____________^
WArning (lvl. 3) line 38: Ill-parenthetized macro body or parameter ? (operator 
'+').
######
  a = a - TWO;
  a = _min(a++,b);
________________^
WArning (lvl. 3) line 39: Side effect via macro parameter used more than once 
(operator '++').
######
  a = a - TWO;
  a = _min(a++,b);
_________________^
WArning (lvl. 2) line 39: Previous value of variable "a" not used.
######
  a = _min(a++,b);
  if (b = 0);
___________^
WArning (lvl. 3) line 40: Missing '==' ? (if in fact correct, compare unequal to
0/NULL/'\0').
######
  a = _min(a++,b);
  if (b = 0);
____________^
WArning (lvl. 2) line 40: Empty loop or 'if'/'else' arm; if really meant, 
replace ';' by empty block.
######
  if (b = 0);
  else _changeSign(a, b);
_______________________^
WArning (lvl. 2) line 41: Second statement included in loop or 'if'/'else' arm? 
(if so, use a block, else put second statement on next line).
######
  else _changeSign(a, b);
  tryAtDcc; b;
__________^
WArning (lvl. 3) line 42: Missing parenthesis after function name ?
######
  else _changeSign(a, b);
  tryAtDcc; b;
_____________^
WArning (lvl. 2) line 42: Value of expression not used.
######
  tryAtDcc; b;
  x = 0;
____^
ERror line 43: Identifier "x" undeclared.
######
  x = 0;
  x++;  /* 'UndecldVar' message not repeated (except if '+zae' option used) */
____^
ERror line 44: Identifier "x" undeclared.
######
  x++;  /* 'UndecldVar' message not repeated (except if '+zae' option used) */
  c = *errMsg[sizeof(errMsg)];
____________________________^
WArning (lvl. 3) line 45: Index value (12) greater or equal to bound (3).
######
  c = *errMsg[sizeof(errMsg)];
  if (a<=0 || a-b>x || a&BIT2==BIT2) return &buf[0];
____________^
WArning (lvl. 2) line 46: Operator '<=': unsigned value cannot be negative.
######
  c = *errMsg[sizeof(errMsg)];
  if (a<=0 || a-b>x || a&BIT2==BIT2) return &buf[0];
_____________________^
ERror line 46: Identifier "x" undeclared.
######
  c = *errMsg[sizeof(errMsg)];
  if (a<=0 || a-b>x || a&BIT2==BIT2) return &buf[0];
_____________________^
WArning (lvl. 2) line 46: Operator '>': comparing expressions involving 
subtraction of 'unsigned' (difference never negative !); rather add to other 
operand or, if correct, use /*~CastTo */ d-pragma.
######
  c = *errMsg[sizeof(errMsg)];
  if (a<=0 || a-b>x || a&BIT2==BIT2) return &buf[0];
___________________________________^
WArning (lvl. 2) line 46: Operator '&': incompatible operand types (left: 
"unsigned int"; right: "bool").
######
  c = *errMsg[sizeof(errMsg)];
  if (a<=0 || a-b>x || a&BIT2==BIT2) return &buf[0];
___________________________________________________^
WArning (lvl. 3) line 46: Attempt to return pointer on 'auto' object.
######
  if (a<=0 || a-b>x || a&BIT2==BIT2) return &buf[0];
  if (a > TEN) a=TEN;
____________^
WArning (lvl. 1) line 47: Numeric constants inside macros should also be named 
(or else parenthetize them).
######
  if (a<=0 || a-b>x || a&BIT2==BIT2) return &buf[0];
  if (a > TEN) a=TEN;
____________^
ERror line 47: Extraneous ';' at end of macro "TEN" ? (defined line 7 or just 
before).
######
  if (a<=0 || a-b>x || a&BIT2==BIT2) return &buf[0];
  if (a > TEN) a=TEN;
____________^
WArning (lvl. 2) line 47: Empty loop or 'if'/'else' arm; if really meant, 
replace ';' by empty block.
######
  if (a<=0 || a-b>x || a&BIT2==BIT2) return &buf[0];
  if (a > TEN) a=TEN;
_____________^
ERror line 47: Statement expected.
######
  if (a<=0 || a-b>x || a&BIT2==BIT2) return &buf[0];
  if (a > TEN) a=TEN;
_____________^
ERror line 47: ';' expected.
######
  for(;;)
    c = 128;
___________^
WArning (lvl. 1) line 49: Numeric constants (except 0, 1, -1) should be named 
(via '#define' or enum constant), or else parenthetize them. See also 
/*~LiteralCst*/ d-pragma.
######
  for(;;)
    c = 128;
___________^
WArning (lvl. 2) line 49: Operator '=': bad expression type ("int") for sink 
type "char".
######
  for(;;)
    c = 128;
___________^
WArning (lvl. 2) line 49: Previous value of variable "c" not used.
######
    c = 128;
  (void)scanf("%d", &s); ;
__^
WArning (lvl. 2) line 50: Useless statement (because unreachable).
######
    c = 128;
  (void)scanf("%d", &s); ;
______________________^
WArning (lvl. 3) line 50: Specification "%d" invalid for type "short".
######
    c = 128;
  (void)scanf("%d", &s); ;
______________________^
WArning (lvl. 2) line 50: Previous value of variable "s" not used.
######
    c = 128;
  (void)scanf("%d", &s); ;
________________________^
ERror line 50: Illegal character: '' (perhaps non-printing). Code: 0x0.
######
  (void)scanf("%d", &s); ;
  pi = pv = &fl;
_______________^
WArning (lvl. 2) line 51: Operator '=': bad expression type ("Ptr/void") for 
sink type "Ptr/unsigned int".
######
  (void)scanf("%d", &s); ;
  pi = pv = &fl;
_______________^
WArning (lvl. 2) line 51: Previous value of variable "pi" not used.
######
  pi = pv = &fl;
  if (pi == NULL) pi = cpi;
__________________________^
WArning (lvl. 3) line 52: 'const'/'volatile' mismatch in pointers for operator 
'=' (expected type "Ptr/unsigned int", expression type "Ptr/const unsigned 
int").
######
    case 0: case 1: b=1;
    default: b = 0;}
__________^
WArning (lvl. 2) line 55: Missing 'break'? (if really meant, use /*~NoBreak*/ 
d-pragma).
######
WArning (lvl. 1): (Final) value of variable "s" not used (variable defined line 
37 or just before).
######
WArning (lvl. 1): (Final) value of variable "c" not used (variable defined line 
36 or just before).
######
WArning (lvl. 1): Variable "buf" useless (defined line 36 or just before).
######
WArning (lvl. 1): (Final) value of variable "pv" not used (variable defined line
30 or just before).
######
WArning (lvl. 1): (Final) value of variable "pi" not used (variable defined line
28 or just before).
######
WArning (lvl. 1): (Final) value of variable "b" not used (variable defined line 
28 or just before).
######
    default: b = 0;}
} 
^
WArning (lvl. 3) line 56: No 'return' at end of function "tryAtDcc".
######
static int tstTypCmbn(int *pi)
{
^
WArning (lvl. 2) line 62: Functions should return information type (e.g. 
"Position"), except if /*~ResultType*/, /*~Generic*/ or /*~Utility*/ d-pragma 
used (return type is representation type "int").
######

  if (pi == NULL) p = v*v;
_________________________^
WArning (lvl. 1) line 65: No /*~TypeCombination*/ provided for "Volt*Volt".
######
  if (pi == NULL) p = v*v;
  return AlrdQual+ArrToPtr;
__________________________^
WArning (lvl. 2) line 66: Operator '+': illegal operand types (left: "enum #12";
right: "enum #12").
######
WArning (lvl. 1): (Final) value of variable "p" not used (variable defined line 
63 or just before).
######
WArning (lvl. 1): Function "tstTypCmbn": pointer "pi" (defined line 62 or just 
before) should point on 'const' element.
######
WArning (lvl. 1): Function "tstTypCmbn" not used (declared/defined line 62 or 
just before).
######
WArning (lvl. 1): Enum constant "ArrExptd" not used (defined on line 17 or just 
before), or missing /*~NotUsed*/ d-pragma ?
######
WArning (lvl. 1): Enum constant "AlrdDefId" not used (defined on line 17 or just
before), or missing /*~NotUsed*/ d-pragma ?
######
WArning (lvl. 2): External variable/function "transfCoo" declared line 2 of file
"trydcc.h" or just before, but not defined.

Compilation unit "trydcc.c": total number of lines processed = 2025
8 error(s) and 58 warning(s) reported (0 message(s) masked).
