beautypg.com

Echelon Neuron User Manual

Page 77

background image

Neuron Tools Errors Guide

69

NCC#

Description

188

Cannot modify a constant object [NCC#188]

The Neuron C compiler enforces the const keyword strictly. In addition,

data or objects declared using const might be placed in read-only memory
areas by the compiler. However, const network input variables are not

placed in read-only memory, because their values are updated by network

variable messages from other devices. Furthermore, note that constant
configuration parameters are placed in read-only memory unless the

directive #pragma codegen put_read_only_cps_in_data_memory is used.

189

Cannot modify via pointer-to-constant-object [NCC#189]

To prevent data that is declared const from being modified, Neuron C will
not permit constant objects to appear on the left-hand side of an

assignment statement, nor will it permit modification of the constant object

by a pointer with the const attribute, or by the ++ or - - operators.

Note that, in the case of network variables, a network variable declared as

const (or config, which implies const) cannot be modified in the device

where it is so declared, but it

can

be modified by other nodes in the

network.

190

Object is not a suitable assignment target [NCC#190]

The left-hand side of assignment operators, and the target of increment or

decrement operators must be nonconstant variables, or fields of
nonconstant structures or unions, or elements of arrays.

191

Object of call is not a function [NCC#191]

The syntax encountered is function call syntax, for example:

expression ( [ expression-list ] )

however, the

expression

being called is not a function (or a pointer to a

function). Note that this error could occur by omitting an operator.
If the following were intended:

int a, b, c, d;
a = b * (c + d);

but the following were actually written (omitting the multiplication
operator):

int a, b, c, d;
a = b (c + d);

This would appear to be a function call, but b is not a function.

192

Call to function without prototype [NCC#192]

Neuron C is more restrictive than ANSI C in this area. The Neuron Chip's

hardware architecture does not permit calling undeclared functions with

unknown numbers of parameters.