Thu 22 May 2014 08:30:43 AM UTC, comment #11:
Thanks for your source code improvement.
|
Tue 20 May 2014 10:32:24 AM UTC, comment #10:
Fixed again (changed H_ to _H).
Everyone satisfied? :-)
|
Tue 20 May 2014 10:23:57 AM UTC, comment #9:
> The remaining usage of double underscores does not fit to C++ naming conventions
Yeah, I though so, too. Just was too lazy to do the 2nd renaming...
|
Mon 19 May 2014 09:10:35 PM UTC, comment #8:
Comment #7:
> ... I used "LWIP_HDR_xxx_H__" to create the include guards ...
http://git.savannah.gnu.org/cgit/lwip.git/commit/?id=dbd125c714f27254991cf85fa6a5a3626d2650fa
The remaining usage of double underscores does not fit to C++ naming conventions.
http://stackoverflow.com/questions/228783/what-are-the-rules-about-using-an-underscore-in-a-c-identifier#answer-228797
|
Mon 19 May 2014 08:26:32 PM UTC, comment #7:
> A little late here
Not at all too late (not until it's released, anyway).
However, the intention of the bug/change was to not collide with reserved identifiers. And using three underscores is not in the spirit of the reserved identifiers, as I read it...
Anyway:
a) I used "LWIP_HDR_xxx_H__" to create the include guards and
b) if it really collides with something, it won't compile, so people can either change their files or come back here... :-)
Sorry if this sounds harsh, it's not meant to. I just don't see a clean way out of this when lwIP is supposed to be a library but is effectively somewhere between user code (no underscores) and standard code (one or more underscores...)
|
Mon 19 May 2014 08:12:51 PM UTC, comment #6:
A little late here but without underscores there's a risk of colliding with user's names with this change that could impact existing code. I myself use LWIP_xxxx for my own LWIP defines.
Since you are reserving these for the lwIP code base I would have suggested 3 underscores then to keep the change completely transparent.
|
Mon 19 May 2014 07:59:35 PM UTC, comment #5:
Done. Hope I caught them all...
|
Tue 27 Mar 2012 05:51:39 PM UTC, comment #4:
Being like that, I'd target this for 1.5.0 (not that high prio to me, or did you have actual problems with the identifiers as they are now?).
Working on it, I'd love to restructure all defines to begin with "LWIP_" to prevent possible future portability problems.
|
Sun 18 Mar 2012 09:15:38 PM UTC, comment #3:
Re Simon's comment about C++ and C99 standards, it is worth pointing out that identifiers beginning with double underscore or underscore followed by an uppercase letter are also reserved by the ANSI/ISO C-1990 standard (see section 7.1.3), which is the basis of most embedded C compilers. This is not a new restriction in C99.
|
Sun 18 Mar 2012 04:53:44 PM UTC, comment #2:
Would you like to integrate the appended adjustments into your source code repository?
(file #25394, file #25395)
|
Sun 18 Mar 2012 12:33:48 PM UTC, comment #1:
I don't really know if the cited standards (C++, C99) apply to us as lwIP does not use C++ and most embedded compilers no nothing about C99, however, I guess it wouldn't hurt to change these identifiers...
Would you mind creating a patch against git master?
|
Sat 17 Mar 2012 02:40:19 PM UTC, original submission:
I suggest to try the search pattern "\<_(?:(?:_(.*))|([A-Z]+))" on source files.
Some places will be found where names begin with two underscores or an underscore and an uppercase letter.
Examples:
This usage does not fit to the expected naming conventions of the C/C++ language standard.
I recommend to adjust your selection for unique names.
|