aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-avr.c
diff options
context:
space:
mode:
Diffstat (limited to 'gas/config/tc-avr.c')
-rw-r--r--gas/config/tc-avr.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/gas/config/tc-avr.c b/gas/config/tc-avr.c
index 40dcce7..e731ea9 100644
--- a/gas/config/tc-avr.c
+++ b/gas/config/tc-avr.c
@@ -157,7 +157,9 @@ static struct avr_opcodes_s *avr_gccisr_opcode;
const char comment_chars[] = ";";
const char line_comment_chars[] = "#";
-const char line_separator_chars[] = "$";
+
+const char *avr_line_separator_chars = "$";
+static const char *avr_line_separator_chars_no_dollar = "";
const char *md_shortopts = "m:";
struct mcu_type_s
@@ -565,7 +567,8 @@ enum options
OPTION_ISA_RMW,
OPTION_LINK_RELAX,
OPTION_NO_LINK_RELAX,
- OPTION_HAVE_GCCISR
+ OPTION_HAVE_GCCISR,
+ OPTION_NO_DOLLAR_LINE_SEPARATOR,
};
struct option md_longopts[] =
@@ -578,6 +581,7 @@ struct option md_longopts[] =
{ "mlink-relax", no_argument, NULL, OPTION_LINK_RELAX },
{ "mno-link-relax", no_argument, NULL, OPTION_NO_LINK_RELAX },
{ "mgcc-isr", no_argument, NULL, OPTION_HAVE_GCCISR },
+ { "mno-dollar-line-separator", no_argument, NULL, OPTION_NO_DOLLAR_LINE_SEPARATOR },
{ NULL, no_argument, NULL, 0 }
};
@@ -687,6 +691,8 @@ md_show_usage (FILE *stream)
" -mlink-relax generate relocations for linker relaxation (default)\n"
" -mno-link-relax don't generate relocations for linker relaxation.\n"
" -mgcc-isr accept the __gcc_isr pseudo-instruction.\n"
+ " -mno-dollar-line-separator\n"
+ " do not treat the $ character as a line separator.\n"
));
show_mcu_list (stream);
}
@@ -756,6 +762,10 @@ md_parse_option (int c, const char *arg)
case OPTION_HAVE_GCCISR:
avr_opt.have_gccisr = 1;
return 1;
+ case OPTION_NO_DOLLAR_LINE_SEPARATOR:
+ avr_line_separator_chars = avr_line_separator_chars_no_dollar;
+ lex_type['$'] = LEX_NAME | LEX_BEGIN_NAME;
+ return 1;
}
return 0;