Compiler error messages

Previous



Message

Comment

1

Unexpected character in source code: %s


2

User error

This is generated by a $UERROR

3

Undefined identifier


4

Duplicated identifier or attribute


5

Type mismatch


6

No enough space to allocate unbanked RAM area for a variable


7

No enough space to allocate RAM area for a variable


8

No enough space to allocate EEPROM area for a variable


9

Bad processor RAM address

The given address is not in the current processor's RAM

10

Bad processor ROM address

The given address is not in the current processor's ROM

11

Out of processor RAM space

There is no more RAM available to allocate a variable

12

Unresolved forward label

A label targeted by a goto statement has not been found.

13

Unresolved forward reference

A procedure or function declared as "forward" has not been found; also a pointer declaration to a forward type has not been solved.

14

Divide by zero


15

Illegal string operation

An operator or function is not allowed on a string.

16

Illegal array operation

An operator or function is not allowed on an array.

17

Index out of bounds

The given index is out of the array/string bounds.

18

Bit number out of bounds

The given bit number is outside of the variable.

19

Constant out of bounds

The given constant expression is outside the expected domain.

20

Syntax error in include file

An error occurred while processing an include file directive.

21

I'm afraid that I'm not able to open this file!


22

Obsolete

Obsolete.

23

Bad delay value: µs

The given number of µs cannot be generated in the current processor / frequency domain.

24

Exit not allowed here

An EXIT statement cannot be used here.

25

Return not allowed here

A RETURN statement cannot be used here (only in functions).

26

Break not allowed here

A BREAK statement cannot be used here.

27

Continue not allowed here

A CONTINUE statement cannot be used here.

28

An interrupt procedure cannot be called


29

Range mismatch

The given value / index is not in the target domain.

30

Declaration differs from previous one


31

Only one interrupt procedure is allowed

The $INTERRUPTS UNIQUE has been used, but there was already another interrupt procedure.

32

Obsolete

Obsolete.

33

Interrupt procedure cannot have parameters


34

Illegal function return type

The given identifier is not a type or is unknown or is not legal for a function result in the current version of PMP.

35

Illegal type declaration


36

SFR declaration may be used only for one variable


37

Illegal type


38

Array is too large

The declared ARRAY is too large. An array may have up to 256 elements / occupy up to 256 bytes for baseline and mid-range processors and 64k for other processors.

39

Only one variable at a time can be declared absolute


40

Record not allowed


41

Initialized EEPROM records not allowed


42

CONFIG syntax error


43

CONFIG cannot be defined here


44

Processor cannot be redefined at this point


45

It will be hard to find a quartz!

Fun: The given FREQUENCY is far outside the MCHP processors domain…

46

Illegal variables start address

The given address is outside the processor domain.

47

Illegal variables top address

The given address is outside the processor domain.

48

Illegal EEPROM start address

The given address is outside the processor domain.

49

Illegal EEPROM top address

The given address is outside the processor domain.

50

Bad processor EEPROM address

The given address is outside the processor domain.

51

Bad identifier

The identifier does not match PMP's Pascal rules.

52

Illegal directive

Syntax error in the directive.

53

Unterminated conditional compilation block


54

%s expected

The given element was expected by the compiler.

55

I'm afraid that this processor has no interrupt functions

The processor's database reports that there's no interrupts in this processor.

56

Interrupt procedure cannot be declared in interface section


57

External procedure / function cannot be declared in interface section

58

Forward procedure / function cannot be declared in interface section

59

Unit not compiled

The UNIT has not been compiled due to errors in the USES section.

60

Processor type mismatch


61

Processor frequency mismatch


62

Obsolete

Obsolete.

63

Frequency should be defined before


64

Obsolete

Obsolete.

65

Unit circular reference


66

File circular reference


67

I'm afraid that this baud rate cannot be accurately defined at the current processor speed

68

Illegal command line

Internal use.

69

File create or write error


70

I'm afraid that I got an internal error


71

This function is not allowed here (reserved to $IF conditional block)


72

Cannot assign to constant


73

Cannot assign to code data


74

Pointer not allowed


75

This directive is not allowed in units


76

Not implemented for now


77

Not implemented for this processor


78

I'm afraid that this device has no EEPROM area

The processor's database reports that there's no EEPROM in this processor.

79

Cannot redefine a reserved word


80

Program / unit name mismatches previous declaration or file name

The program name must match its file name; unit name must match its file name or match the name declared in the uses section.

81

Internal boolean stack overflow; expression is too complex

The internal boolean stack is 8-bit. This gives space for 7 levels of parenthesis.

82

Variable in high bank; needs $POINTERS LARGE option


83

This IDLOC has no defined value

Attempting to access an IDLOC constant that was not defined.

84

IDLOCS cannot be defined here


85

Illegal floating point operation

The given operator / function is not applicable.

86

Illegal I/O channel

The given communication channel does not exist.

87

Illegal I/O channel assignment: expecting procedure(char), function:char or NIL

Attempt to ASSIGN a mismatching value to a communication channel.

88

VECTORS cannot be defined here


89

I'm afraid that this RAM area is already used

Attempt to define a variable at an already used location.

90

I'm afraid that this EEPROM area is already used

Attempt to define a variable at an already used location.

91

Illegal string size

String size is 0..255.

92

Cannot redefine a globally defined symbol

Attempt to $DEFINE an identifier that was fixed in the main program or in the project's options.

93

Integer overflow


94

Obsolete

Obsolete.

95

Floating point overflow


96

MODx pseudo variable cannot be used here due to lack of previous DIV or optimization

97

TO or DOWNTO expected


98

Interrupts directive not allowed (interrupt procedure already defined)

99

Interrupts are disabled but an interrupt procedure has been defined


100

Initializations cannot be redefined at this point


101

I'm afraid that this processor has no OSCCAL function

The processor's database reports that there's no oscillator calibration register in this processor.

102

Obsolete

Obsolete.

103

Bits slice cannot cross a byte boundary

Due to previous boolean or slice fields, the current slice not would use  plain bytes and would be defined cross one or several bytes. Use a different field arrangement.

104

Cannot assign to loop variable

FOR loop control variable cannot be assigned.

105

Aborted by user


106

A method cannot be an interrupt procedure


107

A method cannot be declared forward


108

A dynamic record cannot be defined as local to a procedure or function

109

Undefined or not a dynamic record


110

Cannot define fields after methods


111

Not allowed here


112

cannot have parameters in this case


113

Cannot assign to/from an open array

Open arrays may be accessed only by elements.

114

Cannot assign a procedure with optimized parameters (use $OPTIMIZE_PARAMS OFF)

115

Cannot call a forward procedure or function within an interrupt procedure in $INTERRUPT UNIQUE mode

Due to PMP's optimization schemes.

116

Pascal extensions are not enabled

Attempt to use an extended syntax feature while they are not enabled.

117

HIGH and LOW interrupts cannot be mixed in FAST mode


118

Cannot do that in EEPROM


119

Conflicting attribute


120

FP not supported for this processor

Attempt to use some floating point operation in a base line processor.

121

Cannot overload such a procedure or function

Future use.

122

Must be overloaded in the interface section

Future use.

123

An absolute variable inherits its attributes from the host variable

Attempt to define some attribute that is normally inherited from the host variable.

124

Illegal baud option: nothing, RX or TX


125

Too many arguments


126

Too few arguments


127

Obsolete

Obsolete.

128

Cannot do inline generation of such a procedure or function

Future use.

129

This directive cannot be used at this point


130

The array must have a number of elements multiple of 8

For shift-in shift-out functions.

131

Duplicated or conflicting directive options


132

Bad or conflicting interrupt vector


133

Unknown processor

The given processor name does not exist in the database.

134

Unexpected %s

The given symbol / keyword was not expected here.

135

Such a variable cannot have an initial value


136

Cannot have a "normal" parameter after one that has a default value

If a function / procedure parameter has a default value, all the subsequent parameters must have one.

137

Duplicated enumeration value


138

Cannot make a task with such a procedure

Future use.

139

Tasks cannot be declared in the interface section

Future use.

140

A method cannot be a task procedure

Future use.

141

A task procedure cannot be called

Future use.

142

Defining a task needs $INTERRUPTS MULTIPLE

Future use.

143

Must be in a task procedure to do that

Future use.

144

Cannot do that with such a variable


145

Private or public clauses are only allowed within dynamic records


146

Private members can only be accessed within a record method


147

Read only property


148

Write only property


149

Unmatched $PUSH directive


150

Open array is not allowed here


151

Set is too large; max is 256 elements


152

Too much elements