gas: don't get confused by .asci{i,z} after .struct
While not allowed, this certainly shouldn't result in confusing the programmer (by skipping lines in unexpected ways): Without returning, demand_empty_rest_of_line() (at the end of the function) will demand the _next_ line to be empty, and without the conditional we would ignore the next line.
This commit is contained in:
parent
fbdf9406b0
commit
35c1a43964
|
@ -1,3 +1,8 @@
|
|||
2015-12-08 Jan Beulich <jbeulich@suse.com>
|
||||
|
||||
* read.c (stringer): Move absolute section check up. Return
|
||||
right away.
|
||||
|
||||
2015-12-08 Jan Beulich <jbeulich@suse.com>
|
||||
|
||||
* config/obj-elf.c (elf_file_symbol): Tighten condition for
|
||||
|
|
17
gas/read.c
17
gas/read.c
|
@ -5310,6 +5310,15 @@ stringer (int bits_appendzero)
|
|||
md_cons_align (1);
|
||||
#endif
|
||||
|
||||
/* If we have been switched into the abs_section then we
|
||||
will not have an obstack onto which we can hang strings. */
|
||||
if (now_seg == absolute_section)
|
||||
{
|
||||
as_bad (_("strings must be placed into a section"));
|
||||
ignore_rest_of_line ();
|
||||
return;
|
||||
}
|
||||
|
||||
/* The following awkward logic is to parse ZERO or more strings,
|
||||
comma separated. Recall a string expression includes spaces
|
||||
before the opening '\"' and spaces after the closing '\"'.
|
||||
|
@ -5324,14 +5333,6 @@ stringer (int bits_appendzero)
|
|||
{
|
||||
c = ','; /* Do loop. */
|
||||
}
|
||||
/* If we have been switched into the abs_section then we
|
||||
will not have an obstack onto which we can hang strings. */
|
||||
if (now_seg == absolute_section)
|
||||
{
|
||||
as_bad (_("strings must be placed into a section"));
|
||||
c = 0;
|
||||
ignore_rest_of_line ();
|
||||
}
|
||||
|
||||
while (c == ',' || c == '<' || c == '"')
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue