diff options
author | Nathan Sidwell <nathan@codesourcery.com> | 2003-07-01 09:00:45 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@gcc.gnu.org> | 2003-07-01 09:00:45 +0000 |
commit | 5b030314afd5f84d30e79594db48bb76da28e36a (patch) | |
tree | 1ab2a373f3e8ac65651f191c54f58b1023039ddc /gcc/cp/decl.c | |
parent | c9bdad35171f64bcabad635254fa9f3dfc05a376 (diff) | |
download | gcc-5b030314afd5f84d30e79594db48bb76da28e36a.zip gcc-5b030314afd5f84d30e79594db48bb76da28e36a.tar.gz gcc-5b030314afd5f84d30e79594db48bb76da28e36a.tar.bz2 |
c-tree.h (define_label): Replace filename and lineno arguments with a location_t.
* c-tree.h (define_label): Replace filename and lineno arguments
with a location_t.
* c-decl.c (poplevel): Adjust define_label call.
(pop_label_level): Likewise.
(define_label): Replace filename and lineno arguments with a
location_t.
(store_parm_decls): Use DECL_SOURCE_LOCATION.
* c-parse.in (label): Adjust define_label call.
* cp/cp-tree.h (define_label): Replace filename and lineno
arguments with a location_t.
* cp/decl.c (pop_label): Adjust define_label call.
(define_label): Replace filename and lineno arguments with a
location_t.
* cp/semantics.c (finish_label): Adjust define_label call.
* java/decl.c (poplevel): Adjust define_label call.
From-SVN: r68766
Diffstat (limited to 'gcc/cp/decl.c')
-rw-r--r-- | gcc/cp/decl.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 67babc2..24e8f78 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -1175,9 +1175,13 @@ pop_label (tree label, tree old_value) { if (DECL_INITIAL (label) == NULL_TREE) { + location_t location; + cp_error_at ("label `%D' used but not defined", label); + location.file = input_filename; + location.line = 0; /* Avoid crashing later. */ - define_label (input_filename, 1, DECL_NAME (label)); + define_label (location, DECL_NAME (label)); } else if (warn_unused_label && !TREE_USED (label)) cp_warning_at ("label `%D' defined but not used", label); @@ -4939,7 +4943,7 @@ check_goto (tree decl) Otherwise return 0. */ tree -define_label (const char* filename, int line, tree name) +define_label (location_t location, tree name) { tree decl = lookup_label (name); struct named_label_list *ent; @@ -4968,8 +4972,7 @@ define_label (const char* filename, int line, tree name) /* Mark label as having been defined. */ DECL_INITIAL (decl) = error_mark_node; /* Say where in the source. */ - DECL_SOURCE_FILE (decl) = filename; - DECL_SOURCE_LINE (decl) = line; + DECL_SOURCE_LOCATION (decl) = location; if (ent) { ent->names_in_scope = current_binding_level->names; |