+2002-06-28 Neil Booth <neil@daikokuya.co.uk>
+
+ PR preprocessor/7138
+ * cpplib.c (_cpp_handle_directive): Do traditional
+ preparation after setting state.angled_headers.
+ * cpptrad.c (scan_out_logical_line): Fix potential
+ quote bug.
+
2002-06-27 Aldy Hernandez <aldyh@redhat.com>
* config/rs6000/rs6000.c (rs6000_override_options): Move
"style of line directive is a GCC extension");
}
- pfile->directive = dir;
- if (CPP_OPTION (pfile, traditional))
- prepare_directive_trad (pfile);
-
if (dir)
{
/* If we have a directive that is not an opening conditional,
cpp_token_as_text (pfile, dname));
}
+ pfile->directive = dir;
+ if (CPP_OPTION (pfile, traditional))
+ prepare_directive_trad (pfile);
+
if (dir)
{
/* If we are processing a `#define' directive and we have been
const uchar *cur;
uchar *out;
struct fun_macro fmacro;
- unsigned int c, paren_depth = 0, quote = 0;
+ unsigned int c, paren_depth = 0, quote;
enum ls lex_state = ls_none;
fmacro.buff = NULL;
start_logical_line:
+ quote = 0;
CUR (pfile->context) = pfile->buffer->cur;
RLIMIT (pfile->context) = pfile->buffer->rlimit;
pfile->out.cur = pfile->out.base;
quote = '>';
break;
case '>':
- if (pfile->state.angled_headers && c == quote)
+ if (c == quote)
{
pfile->state.angled_headers = false;
quote = 0;