Re: gcc 4.3 warnings

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Matthew Saltzman wrote:
On Wed, 2008-08-06 at 22:34 -0700, Skunk Worx wrote:
Matthew Saltzman wrote:
On Tue, 2008-08-05 at 19:49 -0700, Skunk Worx wrote:
$ gcc foo.c
foo.c:1:16: warning: missing terminating " character

$ cat foo.c
#define DQUOTE "
main() {}

A few people at work have mentioned it seems unusual for a preprocessor to complain about simple macros this way.

What do others think of this?
A macro definition has to consist of a sequence of tokens.  A string
constant (sequence of characters enclosed in double quotes) is a token,
but the double quote by itself is not.

If you are trying to construct strings containing macro defs, look at
the stringize operator (#) and token merge operator (##)in the
preprocessor documentation.

Exactly. This code was written circa 1991 and the warnings came with the change to Fedora 9.

The preprocessor is being used to generate html code documentation in the build, including named anchors (#).

A further review of K&R, and other sources on the web, show the use of the preprocessor for this kind of task is not recommended.

I imagine it would be some effort to integrate in legacy code, but if I
understand what you're trying to do, it sounds like Doxygen might do
what you want.  There are other, similar systems out there as well.
They generally use formatted comments and a separate processor to
generate documentation in various formats.


We use doxygen in the newer parts of the tree. A few minor adjustments eliminated 3/4ths of the warnings so we're moving on for now.

Regards,
John

--
fedora-list mailing list
fedora-list@xxxxxxxxxx
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [Fedora Magazine]     [Fedora News]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Maintainers]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [Fedora Fonts]     [ATA RAID]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [SSH]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Tux]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Asterisk PBX]     [Fedora Sparc]     [Fedora Universal Network Connector]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux