fcml  1.2.2
fcml_errors.h
Go to the documentation of this file.
1 /*
2  * FCML - Free Code Manipulation Library.
3  * Copyright (C) 2010-2020 Slawomir Wojtasiak
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18  */
19 
26 #ifndef FCML_ASM_ERRORS_H_
27 #define FCML_ASM_ERRORS_H_
28 
29 #include "fcml_lib_export.h"
30 
31 #include "fcml_types.h"
32 
93  /* Decorator is invalid. For example wrong register type is used in
94  * opmask decorator. */
95  FCML_CEH_GEC_INVALID_OPERAND_DECORATOR = 24
96 };
97 
143 };
144 
151 };
152 
156 typedef fcml_uint16_t fcml_ceh_error;
157 
166 
168 typedef struct fcml_st_ceh_error_info {
172  fcml_string message;
178 
186 
187 #endif /* FCML_ASM_ERRORS_H_ */
Error returned by parsers when there is undefined symbol used.
Definition: fcml_errors.h:84
Value out of range, for example 32 bit value used as segment selector.
Definition: fcml_errors.h:130
fcml_en_ceh_error_level
Error levels.
Definition: fcml_errors.h:159
Expression attempts to divide by 0.
Definition: fcml_errors.h:124
Gap between operands found.
Definition: fcml_errors.h:92
Required operand decorator is missing.
Definition: fcml_errors.h:88
Invalid addressing mode.
Definition: fcml_errors.h:150
struct fcml_st_ceh_error_info * next_error
Next error/warning on the list.
Definition: fcml_errors.h:170
Value out of range.
Definition: fcml_errors.h:148
Invalid vector length size.
Definition: fcml_errors.h:142
Parsed line exceed maximal allowed length.
Definition: fcml_errors.h:140
There is not enough memory to complete operation.
Definition: fcml_errors.h:44
Unsupported operating mode.
Definition: fcml_errors.h:60
User chosen unsupported addressing form.
Definition: fcml_errors.h:75
Syntax error from parser.
Definition: fcml_errors.h:132
Assembler can return this error code if there is not allowed prefix defined for given instruction...
Definition: fcml_errors.h:78
Chosen operation is not supported in case of given configuration.
Definition: fcml_errors.h:57
Container for all collected errors and warnings.
Definition: fcml_errors.h:180
Instruction do not support one of the defined operands.
Definition: fcml_errors.h:67
Chosen addressing form can not be encoded as for example ModR/M field.
Definition: fcml_errors.h:62
Invalid function arguments.
Definition: fcml_errors.h:46
Wrong value type used in given context.
Definition: fcml_errors.h:127
fcml_en_ceh_error_globals
All global error codes are placed here.
Definition: fcml_errors.h:40
Handles Win32 DLL symbols importing/exporting.
Address size (Address size attribute) is not allowed in given context.
Definition: fcml_errors.h:73
Used mainly in case of integers and offsets.
Definition: fcml_errors.h:55
Labels are not supported.
Definition: fcml_errors.h:86
Segment register can not be overridden.
Definition: fcml_errors.h:114
fcml_en_ceh_message_warnings
Codes for textual warnings.
Definition: fcml_errors.h:146
Component hasn't been initialized yet.
Definition: fcml_errors.h:51
Operand size (Operand size attribute) is not allowed in given context.
Definition: fcml_errors.h:71
Unsupported instruction form (Instruction may be supported, but not with given set of operands)...
Definition: fcml_errors.h:65
Warnings are reported when processing does not need to be stopped.
Definition: fcml_errors.h:161
Unknown mnemonic.
Definition: fcml_errors.h:69
fcml_en_ceh_error_level level
Error level.
Definition: fcml_errors.h:176
fcml_ceh_error code
Error code.
Definition: fcml_errors.h:174
Wrong register type used in place of segment register.
Definition: fcml_errors.h:134
Wrong register.
Definition: fcml_errors.h:82
To many operands passed to parser.
Definition: fcml_errors.h:116
Given operand decorator is not supported by operand.
Definition: fcml_errors.h:90
Unsupported pseudo-op value.
Definition: fcml_errors.h:118
HLE prefix is not allowed in given context.
Definition: fcml_errors.h:120
An internal error occurred.
Definition: fcml_errors.h:49
There is more than one HLE prefix.
Definition: fcml_errors.h:122
Symbol is undefined.
Definition: fcml_errors.h:138
fcml_string message
Error message.
Definition: fcml_errors.h:172
Operation succeed.
Definition: fcml_errors.h:42
Incomplete instruction.
Definition: fcml_errors.h:53
struct fcml_st_ceh_error_container fcml_st_ceh_error_container
Container for all collected errors and warnings.
Information about one particular error/warning.
Definition: fcml_errors.h:168
Errors are reported when something more important happened and processing should be stopped...
Definition: fcml_errors.h:164
Symbol is already defined in parser's symbol table.
Definition: fcml_errors.h:136
struct fcml_st_ceh_error_info fcml_st_ceh_error_info
Information about one particular error/warning.
fcml_st_ceh_error_info * errors
All errors and warnings going here.
Definition: fcml_errors.h:182
fcml_st_ceh_error_info * last_error
Pointer to the last error/warning on the list.
Definition: fcml_errors.h:184
fcml_uint16_t fcml_ceh_error
All error codes should be held in variables of this type.
Definition: fcml_errors.h:156
Wrong register type.
Definition: fcml_errors.h:80
Types declarations.
fcml_en_ceh_message_errors
Error codes dedicated to textual messages.
Definition: fcml_errors.h:112