aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBasile Starynkevitch <basile@starynkevitch.net>2010-11-08 06:08:44 +0000
committerBasile Starynkevitch <bstarynk@gcc.gnu.org>2010-11-08 06:08:44 +0000
commitb1d2d6b16e278aab10f457b61e2389cc4602b651 (patch)
treef1b58d453a9b7e3523e625da05a686a86f6ce15d
parentf3824a8b6cd929c0e29440387a5066b8b71da346 (diff)
downloadgcc-b1d2d6b16e278aab10f457b61e2389cc4602b651.zip
gcc-b1d2d6b16e278aab10f457b61e2389cc4602b651.tar.gz
gcc-b1d2d6b16e278aab10f457b61e2389cc4602b651.tar.bz2
gengtype (main): Get here's position using POS_HERE macro for do*typedef calls.
2010-11-08 Basile Starynkevitch <basile@starynkevitch.net> * gengtype (main): Get here's position using POS_HERE macro for do*typedef calls. From-SVN: r166428
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/gengtype.c37
2 files changed, 20 insertions, 22 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4088046..7e88a63 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2010-11-08 Basile Starynkevitch <basile@starynkevitch.net>
+
+ * gengtype (main): Get here's position using POS_HERE macro for
+ do*typedef calls.
+
2010-11-07 Ian Lance Taylor <iant@google.com>
PR target/46089
diff --git a/gcc/gengtype.c b/gcc/gengtype.c
index 7f956cf..55f9a78 100644
--- a/gcc/gengtype.c
+++ b/gcc/gengtype.c
@@ -4531,28 +4531,21 @@ main (int argc, char **argv)
/* These types are set up with #define or else outside of where
we can see them. We should initialize them before calling
read_input_list. */
- pos.file = this_file;
- pos.line = __LINE__ + 1;
- do_scalar_typedef ("CUMULATIVE_ARGS", &pos);
- pos.line++;
- do_scalar_typedef ("REAL_VALUE_TYPE", &pos);
- pos.line++;
- do_scalar_typedef ("FIXED_VALUE_TYPE", &pos);
- pos.line++;
- do_scalar_typedef ("double_int", &pos);
- pos.line++;
- do_scalar_typedef ("uint64_t", &pos);
- pos.line++;
- do_scalar_typedef ("uint8", &pos);
- pos.line++;
- do_scalar_typedef ("jword", &pos);
- pos.line++;
- do_scalar_typedef ("JCF_u2", &pos);
- pos.line++;
- do_scalar_typedef ("void", &pos);
- pos.line++;
- do_typedef ("PTR", create_pointer (resolve_typedef ("void", &pos)),
- &pos);
+#define POS_HERE(Call) do { pos.file = this_file; pos.line = __LINE__; \
+ Call;} while(0)
+ POS_HERE (do_scalar_typedef ("CUMULATIVE_ARGS", &pos));
+ POS_HERE (do_scalar_typedef ("REAL_VALUE_TYPE", &pos));
+ POS_HERE (do_scalar_typedef ("FIXED_VALUE_TYPE", &pos));
+ POS_HERE (do_scalar_typedef ("double_int", &pos));
+ POS_HERE (do_scalar_typedef ("uint64_t", &pos));
+ POS_HERE (do_scalar_typedef ("uint8", &pos));
+ POS_HERE (do_scalar_typedef ("jword", &pos));
+ POS_HERE (do_scalar_typedef ("JCF_u2", &pos));
+ POS_HERE (do_scalar_typedef ("void", &pos));
+ POS_HERE (do_typedef ("PTR",
+ create_pointer (resolve_typedef ("void", &pos)),
+ &pos));
+#undef POS_HERE
read_input_list (inputlist);
for (i = 0; i < num_gt_files; i++)
{