Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c > #110083
| From | Ben Bacarisse <ben.usenet@bsb.me.uk> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: C Macros Badly Defined? |
| Date | 2017-05-15 22:08 +0100 |
| Organization | A noiseless patient Spider |
| Message-ID | <877f1h7rpy.fsf@bsb.me.uk> (permalink) |
| References | (2 earlier) <LoiSA.2257$mW1.923@fx06.am4> <87tw4m6sbd.fsf@bsb.me.uk> <sBlSA.677$C56.650@fx34.am4> <87inl26j81.fsf@bsb.me.uk> <umnSA.11298$mW1.11029@fx06.am4> |
bartc <bc@freeuk.com> writes: > On 15/05/2017 19:57, Ben Bacarisse wrote: >> bartc <bc@freeuk.com> writes: > >>> then I get yet another assorted bunch of results. More bugs >>> presumably. >> >> I doubt there will be any fewer that's almost certain. But with no idea >> what flags you are using, none of these may be bugs. > > I just don't think that flags have much to do with it. Except for > perhaps for gcc (and clang which uses the same flags), where > apparently they can be used to make gcc do anything. I really don't know why you can't just tell us. Your remark about it not mattering suggest that you are using no flags at all (save for -E) for any of compilers you listed. Is that correct? > And if they do, then they shouldn't. Nonsense. It would be entirely reasonable for a compiler to support some legacy behaviour in either its default mode or with some special flags. <snip> >> No, you are not allowed pp directives in the middle of a macro call[1] >> but I don't see the connection with #12. #12 relies on the fact the the >> replacement list is scanned alone with the remaining tokens: >> >> #define A(x,y) if(x==y) >> #define B A( >> >> so "B 1,2)" expands to "A(| 1,2)" (using | to mark where the replacement >> list ends). This replacement list is scanned along with the remaining >> tokens, so a valid call of A is seen. >> >> [1] 6.10.3 p11: >> >> "The sequence of preprocessing tokens bounded by the outside-most >> matching parentheses forms the list of arguments for the function-like >> macro. The individual arguments within the list are separated by comma >> preprocessing tokens, but comma preprocessing tokens between matching >> inner parentheses do not separate arguments. If there are sequences of >> preprocessing tokens within the list of arguments that would otherwise >> act as preprocessing directives, the behavior is undefined." >> > > If it's so perfectly clear, why do so many compilers have trouble? That's rhetoric. Instead, can you say what you think is unclear about #define A(x,y) if(x==y) #define B A( B 10,20) ? It's entirely possible that the erroneous results you report are not due to misunderstanding but are the consequences of incorrect fixes elsewhere. Or they may simply be due to incorrect implementation (i.e. despite understanding the words in the standard). But I found lccwin64 and PellesC (8.0) get example 12 right. Using no flags and Pelles Compiler Driver, Version 8.00.0 Copyright (c) Pelle Orinius 2002-2015 Logiciels/Informatique lcc-win (64 bits) version 4.1. Compilation date: Oct 27 2016 16:34:50 but even a very old version of lccwin32 gets 12 right. -- Ben.
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
C Macros Badly Defined? bartc <bc@freeuk.com> - 2017-05-15 11:46 +0100
Re: C Macros Badly Defined? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-05-15 12:32 +0100
Re: C Macros Badly Defined? Tim Rentsch <txr@alumni.caltech.edu> - 2017-05-15 06:48 -0700
Re: C Macros Badly Defined? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-05-15 15:18 +0100
Re: C Macros Badly Defined? Tim Rentsch <txr@alumni.caltech.edu> - 2017-05-15 11:22 -0700
Re: C Macros Badly Defined? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-05-15 20:40 +0100
Re: C Macros Badly Defined? Tim Rentsch <txr@alumni.caltech.edu> - 2017-05-16 01:58 -0700
Re: C Macros Badly Defined? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-05-16 13:49 +0100
Re: C Macros Badly Defined? Tim Rentsch <txr@alumni.caltech.edu> - 2017-05-19 21:47 -0700
Re: C Macros Badly Defined? bartc <bc@freeuk.com> - 2017-05-15 14:52 +0100
Re: C Macros Badly Defined? Thiago Adams <thiago.adams@gmail.com> - 2017-05-15 07:11 -0700
Re: C Macros Badly Defined? bartc <bc@freeuk.com> - 2017-05-15 15:29 +0100
Re: C Macros Badly Defined? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-05-15 16:41 +0100
Re: C Macros Badly Defined? supercat@casperkitty.com - 2017-05-15 08:53 -0700
Re: C Macros Badly Defined? Tim Rentsch <txr@alumni.caltech.edu> - 2017-05-24 08:16 -0700
Re: C Macros Badly Defined? supercat@casperkitty.com - 2017-05-24 10:43 -0700
Re: C Macros Badly Defined? Ike Naar <ike@iceland.freeshell.org> - 2017-05-24 19:06 +0000
Re: C Macros Badly Defined? Tim Rentsch <txr@alumni.caltech.edu> - 2017-05-27 06:10 -0700
Re: C Macros Badly Defined? David Kleinecke <dkleinecke@gmail.com> - 2017-05-27 12:02 -0700
Re: C Macros Badly Defined? supercat@casperkitty.com - 2017-05-27 13:42 -0700
Re: C Macros Badly Defined? David Kleinecke <dkleinecke@gmail.com> - 2017-05-27 15:48 -0700
Re: C Macros Badly Defined? supercat@casperkitty.com - 2017-05-28 14:40 -0700
Re: C Macros Badly Defined? Tim Rentsch <txr@alumni.caltech.edu> - 2017-05-29 08:33 -0700
Re: C Macros Badly Defined? Tim Rentsch <txr@alumni.caltech.edu> - 2017-05-29 08:17 -0700
Re: C Macros Badly Defined? bartc <bc@freeuk.com> - 2017-05-29 16:26 +0100
Re: C Macros Badly Defined? Tim Rentsch <txr@alumni.caltech.edu> - 2017-05-30 06:13 -0700
Re: C Macros Badly Defined? Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2017-05-30 09:57 -0700
Re: C Macros Badly Defined? GOTHIER Nathan <nathan.gothier@gmail.com> - 2017-05-30 19:12 +0200
Re: C Macros Badly Defined? David Kleinecke <dkleinecke@gmail.com> - 2017-05-30 14:55 -0700
Re: C Macros Badly Defined? supercat@casperkitty.com - 2017-05-30 15:39 -0700
Re: C Macros Badly Defined? Keith Thompson <kst-u@mib.org> - 2017-05-30 16:03 -0700
Re: C Macros Badly Defined? supercat@casperkitty.com - 2017-05-30 16:50 -0700
Re: C Macros Badly Defined? Keith Thompson <kst-u@mib.org> - 2017-05-30 17:12 -0700
Re: C Macros Badly Defined? supercat@casperkitty.com - 2017-05-31 06:30 -0700
Re: C Macros Badly Defined? Keith Thompson <kst-u@mib.org> - 2017-05-31 09:36 -0700
Re: C Macros Badly Defined? David Kleinecke <dkleinecke@gmail.com> - 2017-05-31 12:08 -0700
Re: C Macros Badly Defined? scott@slp53.sl.home (Scott Lurndal) - 2017-05-31 19:16 +0000
Re: C Macros Badly Defined? David Kleinecke <dkleinecke@gmail.com> - 2017-05-31 12:35 -0700
Re: C Macros Badly Defined? Tim Rentsch <txr@alumni.caltech.edu> - 2017-06-01 04:06 -0700
Re: C Macros Badly Defined? David Kleinecke <dkleinecke@gmail.com> - 2017-06-01 10:33 -0700
Re: C Macros Badly Defined? Keith Thompson <kst-u@mib.org> - 2017-06-01 12:00 -0700
Re: C Macros Badly Defined? David Kleinecke <dkleinecke@gmail.com> - 2017-06-01 15:35 -0700
Re: C Macros Badly Defined? Keith Thompson <kst-u@mib.org> - 2017-06-01 17:26 -0700
Re: C Macros Badly Defined? David Kleinecke <dkleinecke@gmail.com> - 2017-06-01 20:48 -0700
Re: C Macros Badly Defined? Keith Thompson <kst-u@mib.org> - 2017-05-31 12:43 -0700
Re: C Macros Badly Defined? David Kleinecke <dkleinecke@gmail.com> - 2017-05-31 21:50 -0700
Re: C Macros Badly Defined? raltbos@xs4all.nl (Richard Bos) - 2017-06-03 11:36 +0000
Re: C Macros Badly Defined? gazelle@shell.xmission.com (Kenny McCormack) - 2017-06-03 11:44 +0000
Re: C Macros Badly Defined? Keith Thompson <kst-u@mib.org> - 2017-06-03 09:19 -0700
Re: C Macros Badly Defined? gazelle@shell.xmission.com (Kenny McCormack) - 2017-06-03 16:22 +0000
Re: Standards in various formats Noob <root@127.0.0.1> - 2017-06-01 13:24 +0200
Re: C Macros Badly Defined? jadill33@gmail.com - 2017-05-31 13:02 -0700
Re: C Macros Badly Defined? Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2017-05-30 22:06 -0700
Re: C Macros Badly Defined? David Brown <david.brown@hesbynett.no> - 2017-05-31 12:51 +0200
Re: C Macros Badly Defined? supercat@casperkitty.com - 2017-05-31 06:21 -0700
Re: C Macros Badly Defined? David Brown <david.brown@hesbynett.no> - 2017-05-31 17:16 +0200
Re: C Macros Badly Defined? GOTHIER Nathan <nathan.gothier@gmail.com> - 2017-05-31 17:24 +0200
Re: C Macros Badly Defined? "Pascal J. Bourguignon" <pjb@informatimago.com> - 2017-05-31 22:18 +0200
Re: C Macros Badly Defined? GOTHIER Nathan <nathan.gothier@gmail.com> - 2017-05-31 23:09 +0200
Re: C Macros Badly Defined? Jerry Stuckle <jstucklex@attglobal.net> - 2017-05-31 17:32 -0400
Re: C Macros Badly Defined? GOTHIER Nathan <nathan.gothier@gmail.com> - 2017-05-31 23:50 +0200
Re: C Macros Badly Defined? Jerry Stuckle <jstucklex@attglobal.net> - 2017-05-31 18:01 -0400
Re: C Macros Badly Defined? GOTHIER Nathan <nathan.gothier@gmail.com> - 2017-06-01 00:33 +0200
Re: C Macros Badly Defined? Jerry Stuckle <jstucklex@attglobal.net> - 2017-05-31 22:36 -0400
Re: C Macros Badly Defined? GOTHIER Nathan <nathan.gothier@gmail.com> - 2017-06-01 06:08 +0200
Re: C Macros Badly Defined? Jerry Stuckle <jstucklex@attglobal.net> - 2017-06-01 11:08 -0400
Re: C Macros Badly Defined? Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2017-06-01 01:30 -0700
Re: C Macros Badly Defined? GOTHIER Nathan <nathan.gothier@gmail.com> - 2017-06-01 11:38 +0200
Re: C Macros Badly Defined? Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2017-06-01 03:13 -0700
Re: C Macros Badly Defined? GOTHIER Nathan <nathan.gothier@gmail.com> - 2017-06-01 12:25 +0200
Re: C Macros Badly Defined? Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2017-06-01 04:48 -0700
Re: C Macros Badly Defined? GOTHIER Nathan <nathan.gothier@gmail.com> - 2017-06-01 14:27 +0200
Re: C Macros Badly Defined? Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2017-06-01 05:55 -0700
Re: C Macros Badly Defined? Jerry Stuckle <jstucklex@attglobal.net> - 2017-06-01 11:11 -0400
Re: C Macros Badly Defined? GOTHIER Nathan <nathan.gothier@gmail.com> - 2017-06-01 17:40 +0200
Re: C Macros Badly Defined? Ian Collins <ian-news@hotmail.com> - 2017-06-02 08:32 +1200
Re: C Macros Badly Defined? GOTHIER Nathan <nathan.gothier@gmail.com> - 2017-06-01 23:14 +0200
Re: C Macros Badly Defined? jameskuyper@verizon.net - 2017-06-01 14:41 -0700
Re: C Macros Badly Defined? Ian Collins <ian-news@hotmail.com> - 2017-06-02 09:48 +1200
Re: C Macros Badly Defined? David Brown <david.brown@hesbynett.no> - 2017-06-02 00:56 +0200
Re: C Macros Badly Defined? Ian Collins <ian-news@hotmail.com> - 2017-06-02 11:12 +1200
Re: C Macros Badly Defined? raltbos@xs4all.nl (Richard Bos) - 2017-06-03 11:54 +0000
Re: C Macros Badly Defined? Leon Taylor <leontaylor476@gmail.com> - 2017-06-03 05:10 -0700
Re: C Macros Badly Defined? David Brown <david.brown@hesbynett.no> - 2017-06-04 14:32 +0200
Re: C Macros Badly Defined? Melzzzzz <Melzzzzz@zzzzz.com> - 2017-06-01 21:44 +0000
Re: C Macros Badly Defined? raltbos@xs4all.nl (Richard Bos) - 2017-06-03 11:51 +0000
Re: C Macros Badly Defined? gazelle@shell.xmission.com (Kenny McCormack) - 2017-06-01 21:38 +0000
Re: C Macros Badly Defined? Ian Collins <ian-news@hotmail.com> - 2017-06-02 11:10 +1200
Re: C Macros Badly Defined? gazelle@shell.xmission.com (Kenny McCormack) - 2017-06-01 23:34 +0000
Re: C Macros Badly Defined? raltbos@xs4all.nl (Richard Bos) - 2017-06-03 11:48 +0000
Re: C Macros Badly Defined? supercat@casperkitty.com - 2017-06-01 08:56 -0700
Re: C Macros Badly Defined? David Brown <david.brown@hesbynett.no> - 2017-06-02 14:11 +0200
Re: C Macros Badly Defined? supercat@casperkitty.com - 2017-06-02 10:02 -0700
Re: C Macros Badly Defined? raltbos@xs4all.nl (Richard Bos) - 2017-06-03 11:45 +0000
Re: C Macros Badly Defined? Keith Thompson <kst-u@mib.org> - 2017-05-31 09:11 -0700
Re: C Macros Badly Defined? raltbos@xs4all.nl (Richard Bos) - 2017-06-03 11:29 +0000
Re: C Macros Badly Defined? bartc <bc@freeuk.com> - 2017-05-15 18:31 +0100
Re: C Macros Badly Defined? Keith Thompson <kst-u@mib.org> - 2017-05-15 11:56 -0700
Re: C Macros Badly Defined? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-05-15 19:57 +0100
Re: C Macros Badly Defined? bartc <bc@freeuk.com> - 2017-05-15 20:31 +0100
Re: C Macros Badly Defined? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-05-15 22:08 +0100
Re: C Macros Badly Defined? bartc <bc@freeuk.com> - 2017-05-15 23:50 +0100
Re: C Macros Badly Defined? Keith Thompson <kst-u@mib.org> - 2017-05-15 16:13 -0700
Re: C Macros Badly Defined? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-05-16 01:36 +0100
Re: C Macros Badly Defined? bartc <bc@freeuk.com> - 2017-05-16 10:15 +0100
Re: C Macros Badly Defined? Philip Lantz <prl@canterey.us> - 2017-05-16 19:17 -0700
Re: C Macros Badly Defined? Philip Lantz <prl@canterey.us> - 2017-05-16 19:12 -0700
Re: C Macros Badly Defined? supercat@casperkitty.com - 2017-05-17 08:48 -0700
Re: C Macros Badly Defined? Robert Wessel <robertwessel2@yahoo.com> - 2017-05-17 11:19 -0500
Re: C Macros Badly Defined? supercat@casperkitty.com - 2017-05-17 10:22 -0700
Re: C Macros Badly Defined? Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2017-05-18 04:17 +0200
Re: C Macros Badly Defined? Philip Lantz <prl@canterey.us> - 2017-05-18 18:40 -0700
Re: C Macros Badly Defined? Philip Lantz <prl@canterey.us> - 2017-05-18 18:36 -0700
Re: C Macros Badly Defined? bartc <bc@freeuk.com> - 2017-05-16 10:57 +0100
Re: C Macros Badly Defined? Thiago Adams <thiago.adams@gmail.com> - 2017-05-16 07:02 -0700
Re: C Macros Badly Defined? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-05-16 16:26 +0100
Re: C Macros Badly Defined? Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2017-05-18 03:27 +0200
Re: C Macros Badly Defined? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-05-18 03:25 +0100
Re: C Macros Badly Defined? James Kuyper <jameskuyper@verizon.net> - 2017-05-17 22:35 -0400
Re: C Macros Badly Defined? Tim Rentsch <txr@alumni.caltech.edu> - 2017-05-19 18:38 -0700
Re: C Macros Badly Defined? Thiago Adams <thiago.adams@gmail.com> - 2017-05-15 06:00 -0700
Re: C Macros Badly Defined? bartc <bc@freeuk.com> - 2017-05-15 15:05 +0100
Re: C Macros Badly Defined? Thiago Adams <thiago.adams@gmail.com> - 2017-05-24 09:44 -0700
Re: C Macros Badly Defined? Thiago Adams <thiago.adams@gmail.com> - 2017-05-26 17:26 -0700
Re: C Macros Badly Defined? Tim Rentsch <txr@alumni.caltech.edu> - 2017-05-15 06:43 -0700
Re: C Macros Badly Defined? fir <profesor.fir@gmail.com> - 2017-05-15 09:47 -0700
csiph-web