From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1643) id 1BE10385B515; Fri, 13 Jan 2023 08:26:01 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1BE10385B515 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1673598361; bh=mj/MX6E8LADfBYCaj/9hHSizCNGkjXtxpbmhZbog7D8=; h=From:To:Subject:Date:From; b=eokwS13y2mqTFIkDkPUSVMBFr7qRPmBJWJ2C1zFFzAeJOyuIW8M41u2UVNNkD2IKN oiqtJ9UxXCPVMaqMk4L9b8SSH7ObQv0EK5c4Hq4RZP/6lFABuIfVnVQ2B7sLXZqBii NvbRNG8RbsWZLf8JWd+6L24CRO4F9YRvc+4slPT0= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Thomas Schwinge To: gcc-cvs@gcc.gnu.org Subject: [gcc/devel/rust/master] Merge #1733 X-Act-Checkin: gcc X-Git-Author: bors[bot] <26634292+bors[bot]@users.noreply.github.com> X-Git-Refname: refs/heads/devel/rust/master X-Git-Oldrev: 0030bead12ee37e820e97939b29d9088b9f884e8 X-Git-Newrev: 2f9f77f9dd6330fe60554400133d7217f78afa43 Message-Id: <20230113082601.1BE10385B515@sourceware.org> Date: Fri, 13 Jan 2023 08:26:01 +0000 (GMT) List-Id: https://gcc.gnu.org/g:2f9f77f9dd6330fe60554400133d7217f78afa43 commit 2f9f77f9dd6330fe60554400133d7217f78afa43 Merge: 0030bead12e 68839a57ea5 Author: bors[bot] <26634292+bors[bot]@users.noreply.github.com> Date: Thu Jan 12 13:54:04 2023 +0000 Merge #1733 1733: diagnostics: Add underline for tokens in diagnostics. r=CohenArthur a=TuringKi Currently, the diagnostics only point to the corresponding token's start position by carets, and lack of underlines for full token. This commit add support for such underlines in diagnostics by encoding range information in location_t. the results like this: ``` ../gcc/testsuite/rust/compile/bad_as_bool_char.rs:5:14: error: invalid cast 'bool' to 'f32' [E0054] 5 | let fone = t as f32; // { dg-error "invalid cast" } | ^ ~~~ ../gcc/testsuite/rust/compile/bad_as_bool_char.rs:6:15: error: invalid cast 'bool' to 'f64' [E0054] 6 | let fzero = f as f64; // { dg-error "invalid cast" } | ^ ~~~ ../gcc/testsuite/rust/compile/bad_as_bool_char.rs:8:12: error: invalid cast 'u8' to 'bool' [E0054] 8 | let nb = 0u8 as bool; // { dg-error "invalid cast .u8. to .bool. \\\[E0054\\\]" } | ^~~ ~~~~ ../gcc/testsuite/rust/compile/bad_as_bool_char.rs:9:12: error: invalid cast 'bool' to 'char' [E0054] 9 | let nc = true as char; // { dg-error "invalid cast" } | ^~~~ ~~~~ ../gcc/testsuite/rust/compile/bad_as_bool_char.rs:13:12: error: invalid cast 'char' to 'f32' [E0054] 13 | let fa = a as f32; // { dg-error "invalid cast" } | ^ ~~~ ../gcc/testsuite/rust/compile/bad_as_bool_char.rs:14:12: error: invalid cast 'char' to 'bool' [E0054] 14 | let bb = b as bool; // { dg-error "invalid cast .char. to .bool. \\\[E0054\\\]" } | ^ ~~~~ ../gcc/testsuite/rust/compile/bad_as_bool_char.rs:17:12: error: invalid cast 'u32' to 'char' [E0054] 17 | let ab = t32 as char; // { dg-error "invalid cast" } | ^~~ ~~~~ ``` This commit is split from pr #1718. Signed-off-by: Xiao Ma Co-authored-by: mxlol233 Diff: gcc/rust/lex/rust-lex.cc | 57 ++++++++++++++++++++++ gcc/testsuite/rust/compile/diagnostic_underline.rs | 15 ++++++ 2 files changed, 72 insertions(+)