diff options
author | Marek Polacek <polacek@redhat.com> | 2016-05-03 18:03:42 +0000 |
---|---|---|
committer | Marek Polacek <mpolacek@gcc.gnu.org> | 2016-05-03 18:03:42 +0000 |
commit | 79ce98bcefbcd42548dc596316c27b162cabb610 (patch) | |
tree | 1356923e14f6cfb6e6e6d80ac03712659ba41aa3 /gcc/input.c | |
parent | 402e89f5986220a96898381cc32f7efe76bd092c (diff) | |
download | gcc-79ce98bcefbcd42548dc596316c27b162cabb610.zip gcc-79ce98bcefbcd42548dc596316c27b162cabb610.tar.gz gcc-79ce98bcefbcd42548dc596316c27b162cabb610.tar.bz2 |
re PR c/70859 (Bad column number in type-generic function errors)
PR c/70859
* input.c (expansion_point_location): New function.
* input.h (expansion_point_location): Declare.
* c-common.c (builtin_function_validate_nargs): Add location
parameter. Use it.
(check_builtin_function_arguments): Add location and arguments
parameters. Use them.
* c-common.h (check_builtin_function_arguments): Update declaration.
* c-typeck.c (build_function_call_vec): Pass LOC and ARG_LOC down to
check_builtin_function_arguments.
* call.c (build_cxx_call): Pass location and vNULL down to
check_builtin_function_arguments.
* gcc.dg/pr70859.c: New test.
* gcc.dg/pr70859-2.c: New test.
From-SVN: r235832
Diffstat (limited to 'gcc/input.c')
-rw-r--r-- | gcc/input.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/input.c b/gcc/input.c index 9779198..61b1e44 100644 --- a/gcc/input.c +++ b/gcc/input.c @@ -789,6 +789,16 @@ expansion_point_location_if_in_system_header (source_location location) return location; } +/* If LOCATION is a virtual location for a token coming from the expansion + of a macro, unwind to the location of the expansion point of the macro. */ + +source_location +expansion_point_location (source_location location) +{ + return linemap_resolve_location (line_table, location, + LRK_MACRO_EXPANSION_POINT, NULL); +} + #define ONE_K 1024 #define ONE_M (ONE_K * ONE_K) |