diff options
author | Zack Weinberg <zack@rabi.columbia.edu> | 1999-04-09 20:02:39 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 1999-04-09 20:02:39 +0000 |
commit | 5e4df1ae8bbcf947c92b03f92cf0bcde335a0844 (patch) | |
tree | 84f40e429501d1446d716f57cc15b439b99aee85 /gcc | |
parent | 2622b9478575059f41687a2f6a820cdc40e40868 (diff) | |
download | gcc-5e4df1ae8bbcf947c92b03f92cf0bcde335a0844.zip gcc-5e4df1ae8bbcf947c92b03f92cf0bcde335a0844.tar.gz gcc-5e4df1ae8bbcf947c92b03f92cf0bcde335a0844.tar.bz2 |
cpphash.c (special_symbol): When expanding __LINE__, use the top file buffer, not the top buffer.
1999-04-09 22:58 -0400 Zack Weinberg <zack@rabi.columbia.edu>
* cpphash.c (special_symbol): When expanding __LINE__, use the
top file buffer, not the top buffer.
From-SVN: r26319
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cpphash.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/990409-1.c | 18 |
3 files changed, 24 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 31196d8..12b0d4d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +1999-04-09 22:58 -0400 Zack Weinberg <zack@rabi.columbia.edu> + + * cpphash.c (special_symbol): When expanding __LINE__, use the + top file buffer, not the top buffer. + Fri Apr 9 13:41:04 1999 Jim Wilson <wilson@cygnus.com> * Makefile.in (check-g++, check-gcc, check-g77, check-objc): Add diff --git a/gcc/cpphash.c b/gcc/cpphash.c index 87946f2..5c2d5f3 100644 --- a/gcc/cpphash.c +++ b/gcc/cpphash.c @@ -991,7 +991,7 @@ special_symbol (hp, pfile) case T_SPECLINE: { long line; - cpp_buf_line_and_col (CPP_BUFFER (pfile), &line, NULL); + cpp_buf_line_and_col (cpp_file_buffer (pfile), &line, NULL); CPP_RESERVE (pfile, 10); sprintf (CPP_PWRITTEN (pfile), "%ld", line); diff --git a/gcc/testsuite/gcc.dg/990409-1.c b/gcc/testsuite/gcc.dg/990409-1.c new file mode 100644 index 0000000..faa37e0 --- /dev/null +++ b/gcc/testsuite/gcc.dg/990409-1.c @@ -0,0 +1,18 @@ +/* Test that __LINE__ works when embedded in a macro. */ +/* { dg-do run } */ + +#define foo() bar(__LINE__) + +void +bar(int x) +{ + if (x != 16) + abort(); +} + +int +main(void) +{ + foo(); /* This is line 16 */ + return 0; +} |