mirror of
https://github.com/netwide-assembler/nasm.git
synced 2024-12-09 08:51:18 +08:00
d60059ef41
Add new function "local_scope" to label subsystem to return the previous non-local label for a given local label, and invoke this funcion in eval.c to display the fully qualified name in the "not defined" error message.
31 lines
1.1 KiB
C
31 lines
1.1 KiB
C
/* labels.h header file for labels.c
|
|
*
|
|
* The Netwide Assembler is copyright (C) 1996 Simon Tatham and
|
|
* Julian Hall. All rights reserved. The software is
|
|
* redistributable under the license given in the file "LICENSE"
|
|
* distributed in the NASM archive.
|
|
*/
|
|
|
|
#ifndef LABELS_H
|
|
#define LABELS_H
|
|
|
|
extern char lprefix[PREFIX_MAX];
|
|
extern char lpostfix[PREFIX_MAX];
|
|
|
|
bool lookup_label(char *label, int32_t *segment, int64_t *offset);
|
|
bool is_extern(char *label);
|
|
void define_label(char *label, int32_t segment, int64_t offset, char *special,
|
|
bool is_norm, bool isextrn, struct ofmt *ofmt,
|
|
efunc error);
|
|
void redefine_label(char *label, int32_t segment, int64_t offset, char *special,
|
|
bool is_norm, bool isextrn, struct ofmt *ofmt,
|
|
efunc error);
|
|
void define_common(char *label, int32_t segment, int32_t size, char *special,
|
|
struct ofmt *ofmt, efunc error);
|
|
void declare_as_global(char *label, char *special, efunc error);
|
|
int init_labels(void);
|
|
void cleanup_labels(void);
|
|
char *local_scope(char *label);
|
|
|
|
#endif /* LABELS_H */
|