From 14d3f36402b9a80ef66aa9a66b722f40617cde9f Mon Sep 17 00:00:00 2001 From: Jason Eckhardt Date: Thu, 7 Aug 2003 19:20:45 +0000 Subject: 2003-08-07 Jason Eckhardt * config/tc-i860.c (i860_check_label): New function. * config/tc-i860.h (i860_check_label): New prototype. (tc_check_label): Define macro as i860_check_label. --- gas/ChangeLog | 6 ++++++ gas/config/tc-i860.c | 16 ++++++++++++++++ gas/config/tc-i860.h | 5 +++++ 3 files changed, 27 insertions(+) (limited to 'gas') diff --git a/gas/ChangeLog b/gas/ChangeLog index 34e8800..bc9f751 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2003-08-07 Jason Eckhardt + + * config/tc-i860.c (i860_check_label): New function. + * config/tc-i860.h (i860_check_label): New prototype. + (tc_check_label): Define macro as i860_check_label. + 2003-08-06 Jason Eckhardt * config/tc-i860.c (s_align_wrapper): New function and prototype. diff --git a/gas/config/tc-i860.c b/gas/config/tc-i860.c index f5e4457..8ee4c07 100644 --- a/gas/config/tc-i860.c +++ b/gas/config/tc-i860.c @@ -1527,3 +1527,19 @@ i860_handle_align (fragS *fragp) fragp->fr_var = 4; } +/* This is called after a user-defined label is seen. We check + if the label has a double colon (valid in Intel syntax mode only), + in which case it should be externalized. */ + +void +i860_check_label (symbolS *labelsym) +{ + /* At this point, the current line pointer is sitting on the character + just after the first colon on the label. */ + if (target_intel_syntax && *input_line_pointer == ':') + { + S_SET_EXTERNAL (labelsym); + input_line_pointer++; + } +} + diff --git a/gas/config/tc-i860.h b/gas/config/tc-i860.h index c5c39b4..4d0229d 100644 --- a/gas/config/tc-i860.h +++ b/gas/config/tc-i860.h @@ -86,6 +86,11 @@ extern int target_big_endian; visible symbols can be overridden. */ #define EXTERN_FORCE_RELOC 0 +/* Bits for post-processing of a user defined label to check if + it has a double colon (Intel syntax only). */ +extern void i860_check_label (symbolS *labelsym); +#define tc_check_label(ls) i860_check_label (ls) + /* Bits for filling in rs_align_code fragments with NOPs. */ extern void i860_handle_align (struct frag *); #define HANDLE_ALIGN(fragp) i860_handle_align (fragp) -- cgit v1.1