Echelon Neuron User Manual

Page 76

Advertising
background image

68

Neuron C Compiler Errors (NCC)

NCC#

Description

182

No declaration for formal parameter - int assumed [NCC#182]

The definition of ANSI C permits a declaration at file scope without a type.

Likewise, functions may be declared without a return type. Also, it is
possible to construct a typecast that does not actually contain a type. Such

declarations must default to int, by the ANSI C definition. However, such

declarations are poor programming practice, and may even indicate an
error, thus the compiler issues a warning diagnostic.
Consider the following example:

unsigned long x1, x2; x3;

Note the semicolon following x2. This is most likely a typo, however, ANSI
C permits this and results in x3 being declared by default as an int. Due to

white space rules, this appears the same to the compiler as the following

declaration:

unsigned long x1, x2;
x3;

This is almost certainly

not

what the programmer intended, yet most C

compilers do not issue a warning in these circumstances.

183

Mixing function prototypes and old-style parameter list not allowed [NCC#183]

Pre-ANSI-C C function declaration syntax is supported, but it is not

recommended. Do not combine these two styles within a single function
definition.

184

No formal parameter matches the parameter declaration [NCC#184]

This diagnostic results from an error of the form shown below, where there

is no declaration for the parameter named b.

void f(a,b) int a; { <fn body> }

185

Invalid parameter declaration in function [NCC#185]

This diagnostic results from certain errors in function definition syntax

such as in the example below:

void f(int, long) { <fn body> }

186

Cannot have a 'timeout' pin on 'neurowire master' object [NCC#186]

The neurowire slave I/O object declaration permits a timeout value. The

neurowire master I/O object declaration does not.

187

Expression must evaluate to a constant [NCC#187]

Expressions in certain Neuron C declarations and initialization statements
must evaluate to compile-time integer constants.

Advertising