OSDN Git Service
(root)
/
pf3gnuchains
/
gcc-fork.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
* ifcvt.c (cond_exec_find_if_block): Return FALSE if no
[pf3gnuchains/gcc-fork.git]
/
libcpp
/
traditional.c
diff --git
a/libcpp/traditional.c
b/libcpp/traditional.c
index
f4ce9f6
..
a543348
100644
(file)
--- a/
libcpp/traditional.c
+++ b/
libcpp/traditional.c
@@
-1,5
+1,5
@@
/* CPP Library - traditional lexical analysis and macro expansion.
/* CPP Library - traditional lexical analysis and macro expansion.
- Copyright (C) 2002, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2004
, 2005
Free Software Foundation, Inc.
Contributed by Neil Booth, May 2002
This program is free software; you can redistribute it and/or modify it
Contributed by Neil Booth, May 2002
This program is free software; you can redistribute it and/or modify it
@@
-14,7
+14,7
@@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
-Foundation, 5
9 Temple Place - Suite 330, Boston, MA 02111-1307
, USA. */
+Foundation, 5
1 Franklin Street, Fifth Floor, Boston, MA 02110-1301
, USA. */
#include "config.h"
#include "system.h"
#include "config.h"
#include "system.h"
@@
-76,7
+76,7
@@
enum ls {ls_none = 0, /* Normal state. */
ls_predicate, /* After the predicate, maybe paren? */
ls_answer}; /* In answer to predicate. */
ls_predicate, /* After the predicate, maybe paren? */
ls_answer}; /* In answer to predicate. */
-/* Lexing TODO: Maybe handle space in escaped newlines. Stop
cpp
lex.c
+/* Lexing TODO: Maybe handle space in escaped newlines. Stop lex.c
from recognizing comments and directives during its lexing pass. */
static const uchar *skip_whitespace (cpp_reader *, const uchar *, int);
from recognizing comments and directives during its lexing pass. */
static const uchar *skip_whitespace (cpp_reader *, const uchar *, int);
@@
-107,7
+107,7
@@
check_output_buffer (cpp_reader *pfile, size_t n)
size_t size = pfile->out.cur - pfile->out.base;
size_t new_size = (size + n) * 3 / 2;
size_t size = pfile->out.cur - pfile->out.base;
size_t new_size = (size + n) * 3 / 2;
- pfile->out.base =
xrealloc (
pfile->out.base, new_size);
+ pfile->out.base =
XRESIZEVEC (unsigned char,
pfile->out.base, new_size);
pfile->out.limit = pfile->out.base + new_size;
pfile->out.cur = pfile->out.base + size;
}
pfile->out.limit = pfile->out.base + new_size;
pfile->out.cur = pfile->out.base + size;
}
@@
-701,6
+701,7
@@
push_replacement_text (cpp_reader *pfile, cpp_hashnode *node)
cpp_macro *macro = node->value.macro;
macro->used = 1;
text = macro->exp.text;
cpp_macro *macro = node->value.macro;
macro->used = 1;
text = macro->exp.text;
+ macro->traditional = 1;
len = macro->count;
}
len = macro->count;
}
@@
-934,6
+935,7
@@
save_replacement_text (cpp_reader *pfile, cpp_macro *macro,
memcpy (exp, pfile->out.base, len);
exp[len] = '\n';
macro->exp.text = exp;
memcpy (exp, pfile->out.base, len);
exp[len] = '\n';
macro->exp.text = exp;
+ macro->traditional = 1;
macro->count = len;
}
else
macro->count = len;
}
else
@@
-949,6
+951,7
@@
save_replacement_text (cpp_reader *pfile, cpp_macro *macro,
exp = BUFF_FRONT (pfile->a_buff);
block = (struct block *) (exp + macro->count);
macro->exp.text = exp;
exp = BUFF_FRONT (pfile->a_buff);
block = (struct block *) (exp + macro->count);
macro->exp.text = exp;
+ macro->traditional = 1;
/* Write out the block information. */
block->text_len = len;
/* Write out the block information. */
block->text_len = len;
@@
-1066,7
+1069,7
@@
bool
_cpp_expansions_different_trad (const cpp_macro *macro1,
const cpp_macro *macro2)
{
_cpp_expansions_different_trad (const cpp_macro *macro1,
const cpp_macro *macro2)
{
- uchar *p1 =
xmalloc (
macro1->count + macro2->count);
+ uchar *p1 =
XNEWVEC (uchar,
macro1->count + macro2->count);
uchar *p2 = p1 + macro1->count;
uchar quote1 = 0, quote2 = 0;
bool mismatch;
uchar *p2 = p1 + macro1->count;
uchar quote1 = 0, quote2 = 0;
bool mismatch;