Message ID | 20201028002235.928999-3-andrew@lunn.ch (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | net trigraph fixes for W=1 | expand |
From: Andrew Lunn > Sent: 28 October 2020 00:23 > > net/rose/af_rose.c: In function ‘rose_info_show’: > net/rose/af_rose.c:1413:20: warning: trigraph ??- ignored, use -trigraphs to enable [-Wtrigraphs] > 1413 | callsign = "??????-?"; > > ??- is a trigraph, and should be replaced by a ˜ by the > compiler. However, trigraphs are being ignored in the build. Fix the > warning by escaping the ?? prefix of a trigraph. > > Signed-off-by: Andrew Lunn <andrew@lunn.ch> > --- > net/rose/af_rose.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/net/rose/af_rose.c b/net/rose/af_rose.c > index cf7d974e0f61..2c297834d268 100644 > --- a/net/rose/af_rose.c > +++ b/net/rose/af_rose.c > @@ -1410,7 +1410,7 @@ static int rose_info_show(struct seq_file *seq, void *v) > ax2asc(buf, &rose->dest_call)); > > if (ax25cmp(&rose->source_call, &null_ax25_address) == 0) > - callsign = "??????-?"; > + callsign = "????\?\?-?"; I think I'd just split the string, eg: "?????" "-?". David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)
On Thu, Oct 29, 2020 at 02:19:27PM +0000, David Laight wrote: > From: Andrew Lunn > > Sent: 28 October 2020 00:23 > > > > net/rose/af_rose.c: In function ‘rose_info_show’: > > net/rose/af_rose.c:1413:20: warning: trigraph ??- ignored, use -trigraphs to enable [-Wtrigraphs] > > 1413 | callsign = "??????-?"; > > > > ??- is a trigraph, and should be replaced by a ˜ by the > > compiler. However, trigraphs are being ignored in the build. Fix the > > warning by escaping the ?? prefix of a trigraph. > > > > Signed-off-by: Andrew Lunn <andrew@lunn.ch> > > --- > > net/rose/af_rose.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/net/rose/af_rose.c b/net/rose/af_rose.c > > index cf7d974e0f61..2c297834d268 100644 > > --- a/net/rose/af_rose.c > > +++ b/net/rose/af_rose.c > > @@ -1410,7 +1410,7 @@ static int rose_info_show(struct seq_file *seq, void *v) > > ax2asc(buf, &rose->dest_call)); > > > > if (ax25cmp(&rose->source_call, &null_ax25_address) == 0) > > - callsign = "??????-?"; > > + callsign = "????\?\?-?"; > > I think I'd just split the string, eg: "?????" "-?". Humm. I think we need a language lawyer. Does it concatenate the strings and then evaluate for trigraphs? Or does it evaluate for trigraphs, and then concatenate the strings? Andrew
From: Andrew Lunn > Sent: 29 October 2020 14:31 > On Thu, Oct 29, 2020 at 02:19:27PM +0000, David Laight wrote: > > From: Andrew Lunn > > > Sent: 28 October 2020 00:23 > > > > > > net/rose/af_rose.c: In function ‘rose_info_show’: > > > net/rose/af_rose.c:1413:20: warning: trigraph ??- ignored, use -trigraphs to enable [-Wtrigraphs] > > > 1413 | callsign = "??????-?"; > > > > > > ??- is a trigraph, and should be replaced by a ˜ by the > > > compiler. However, trigraphs are being ignored in the build. Fix the > > > warning by escaping the ?? prefix of a trigraph. > > > > > > Signed-off-by: Andrew Lunn <andrew@lunn.ch> > > > --- > > > net/rose/af_rose.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/net/rose/af_rose.c b/net/rose/af_rose.c > > > index cf7d974e0f61..2c297834d268 100644 > > > --- a/net/rose/af_rose.c > > > +++ b/net/rose/af_rose.c > > > @@ -1410,7 +1410,7 @@ static int rose_info_show(struct seq_file *seq, void *v) > > > ax2asc(buf, &rose->dest_call)); > > > > > > if (ax25cmp(&rose->source_call, &null_ax25_address) == 0) > > > - callsign = "??????-?"; > > > + callsign = "????\?\?-?"; > > > > I think I'd just split the string, eg: "?????" "-?". > > Humm. I think we need a language lawyer. > > Does it concatenate the strings and then evaluate for trigraphs? Or > does it evaluate for trigraphs, and then concatenate the strings? I'm 99.9999% sure trigraphs are evaluated before string concatenation. Although trigraphs are such a stupid idea I'd be tempted to just turn the warning off. There is good reason why they are ignored by default. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)
On Thu, Oct 29, 2020 at 02:52:52PM +0000, David Laight wrote: > From: Andrew Lunn > > Sent: 29 October 2020 14:31 > > On Thu, Oct 29, 2020 at 02:19:27PM +0000, David Laight wrote: > > > From: Andrew Lunn > > > > Sent: 28 October 2020 00:23 > > > > > > > > net/rose/af_rose.c: In function ‘rose_info_show’: > > > > net/rose/af_rose.c:1413:20: warning: trigraph ??- ignored, use -trigraphs to enable [-Wtrigraphs] > > > > 1413 | callsign = "??????-?"; > > > > > > > > ??- is a trigraph, and should be replaced by a ˜ by the > > > > compiler. However, trigraphs are being ignored in the build. Fix the > > > > warning by escaping the ?? prefix of a trigraph. > > > > > > > > Signed-off-by: Andrew Lunn <andrew@lunn.ch> > > > > --- > > > > net/rose/af_rose.c | 2 +- > > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > > > diff --git a/net/rose/af_rose.c b/net/rose/af_rose.c > > > > index cf7d974e0f61..2c297834d268 100644 > > > > --- a/net/rose/af_rose.c > > > > +++ b/net/rose/af_rose.c > > > > @@ -1410,7 +1410,7 @@ static int rose_info_show(struct seq_file *seq, void *v) > > > > ax2asc(buf, &rose->dest_call)); > > > > > > > > if (ax25cmp(&rose->source_call, &null_ax25_address) == 0) > > > > - callsign = "??????-?"; > > > > + callsign = "????\?\?-?"; > > > > > > I think I'd just split the string, eg: "?????" "-?". > > > > Humm. I think we need a language lawyer. > > > > Does it concatenate the strings and then evaluate for trigraphs? Or > > does it evaluate for trigraphs, and then concatenate the strings? > > I'm 99.9999% sure trigraphs are evaluated before string concatenation. > > Although trigraphs are such a stupid idea I'd be tempted to just > turn the warning off. > There is good reason why they are ignored by default. Hi Arnd I think this trigraph issues popped up because of one of the changes you have in your playground, adding more warnings. What do you think of disabling the trigraph warning as well as disabling trigraphs themselves? Andrew
On Thu, Oct 29, 2020 at 4:13 PM Andrew Lunn <andrew@lunn.ch> wrote: > On Thu, Oct 29, 2020 at 02:52:52PM +0000, David Laight wrote: > > From: Andrew Lunn > > > Sent: 29 October 2020 14:31 > > I think this trigraph issues popped up because of one of the changes > you have in your playground, adding more warnings. > > What do you think of disabling the trigraph warning as well as > disabling trigraphs themselves? The trigraph warnings are currently disabled in mainline, and trigraphs themselves are disabled in GCC unless explicitly enabled. My series contained a patch that changes all trigraphs by adding '\' characters, to let us no longer disable the warning and slightly simplify the command line: drivers/atm/idt77252.c | 2 +- drivers/gpu/drm/msm/msm_rd.c | 2 +- drivers/mtd/maps/sun_uflash.c | 2 +- drivers/net/ethernet/marvell/mvneta.c | 2 +- drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 2 +- drivers/s390/block/dasd_proc.c | 2 +- drivers/scsi/imm.c | 4 ++-- drivers/scsi/ppa.c | 4 ++-- drivers/tty/serial/sunsu.c | 2 +- net/rose/af_rose.c | 4 ++-- sound/isa/msnd/msnd.c | 2 +- Sorry you ran into this after you picked up the patches to the Makefile but not my preparation patch. I was unsure about whether this is worth changing, so I did not send that one patch from my series and we can probably just not drop the -Wno-trigraphs flag. Arnd
diff --git a/net/rose/af_rose.c b/net/rose/af_rose.c index cf7d974e0f61..2c297834d268 100644 --- a/net/rose/af_rose.c +++ b/net/rose/af_rose.c @@ -1410,7 +1410,7 @@ static int rose_info_show(struct seq_file *seq, void *v) ax2asc(buf, &rose->dest_call)); if (ax25cmp(&rose->source_call, &null_ax25_address) == 0) - callsign = "??????-?"; + callsign = "????\?\?-?"; else callsign = ax2asc(buf, &rose->source_call);
net/rose/af_rose.c: In function ‘rose_info_show’: net/rose/af_rose.c:1413:20: warning: trigraph ??- ignored, use -trigraphs to enable [-Wtrigraphs] 1413 | callsign = "??????-?"; ??- is a trigraph, and should be replaced by a ˜ by the compiler. However, trigraphs are being ignored in the build. Fix the warning by escaping the ?? prefix of a trigraph. Signed-off-by: Andrew Lunn <andrew@lunn.ch> --- net/rose/af_rose.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)