[Bug target/40411] -std=c99 does not enable c99 mode in Solaris C library
--- Comment #14 from heydowns at borg dot com 2009-10-09 19:38 --- Ping - anyone able to comment on or integrate this patch please? Thank you! -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40411
[Bug target/40411] -std=c99 does not enable c99 mode in Solaris C library
--- Comment #13 from heydowns at borg dot com 2009-07-16 21:11 --- Created an attachment (id=18210) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18210action=view) Fix updated for gcc 4.4.0, link xpg6 for c++, and link xpg4 for gnu* Updated patch against gcc 4.4.0. Also add xpg6 for c++ and xpg4 for gnu* as discussed above (this is now easily modified by changing the spec if someone who knows better can say what gnu* should do). -- heydowns at borg dot com changed: What|Removed |Added Attachment #18121|0 |1 is obsolete|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40411
[Bug target/40411] -std=c99 does not enable c99 mode in Solaris C library
--- Comment #7 from heydowns at borg dot com 2009-07-02 14:46 --- Created an attachment (id=18121) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18121action=view) Proposed fix: Changes linking on solaris based on std=X and implements escapes in braced specs Attaching a fix that works here for Solaris 10 and I think would work for other Solaris versions. It changes the spec to account for the other options mentioned in comment 3, to handle the main issue of the bug (link values-xpg6.o in c99 mode), and also adds linking of values-xpg4.o as the Solaris manual suggests should be done. I wasn't sure exactly how to handle the various -std=gnu* modes, so I left those as they were. To enable matching on ':' in std=iso9899:, I had to augment the spec language, as suggested in comment 6. I realize you might want to treat this as a separate issue -- I can open a separate issue for this if you want. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40411
[Bug target/40411] -std=c99 does not enable c99 mode in Solaris C library
--- Comment #5 from heydowns at borg dot com 2009-06-18 21:26 --- Was looking at modifying the spec to produce the desired results and contribute patch, however ran into trouble trying to match options containing literal colons (-std=iso9899:199409) in %{S:X} style spec. Is there a way in the spec language to escape colons? I briefly scanned the spec parsing code and nothing jumped out. If not, is there some other way to match options containing colons (without using greedy * matches, since the part after the colon is significant here...) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40411
[Bug target/40411] -std=c99 does not enable c99 mode in Solaris C library
--- Comment #1 from heydowns at borg dot com 2009-06-17 15:13 --- This also applies to Solaris x86. Additionally, this only applies to Solaris 10 and later. Earlier versions of Solaris did not ship c99-compliant C library and thus do not have the values-xpg6.o object file for enabling c99-compliance. -- heydowns at borg dot com changed: What|Removed |Added GCC build triplet|sparc-sun-solaris2.10 |*-solaris2.10 GCC host triplet|sparc-sun-solaris2.10 |*-solaris2.10 GCC target triplet|sparc-sun-solaris2.10 |*-solaris2.10 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40411
[Bug c/40411] New: -std=c99 does not enable c99 mode in Solaris C library
On Solaris, the C library does not operate in c99 compliant mode by default. If c99 compliant operation is desired, the object file /usr/lib/{32,64}/values-xpg6.o needs to be linked. The details are in the Solaris standards(5) manpage. When linking using gcc -std=c99, gcc does not instruct the linker to include this object file. -- Summary: -std=c99 does not enable c99 mode in Solaris C library Product: gcc Version: 3.4.6 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: heydowns at borg dot com GCC build triplet: sparc-sun-solaris2.10 GCC host triplet: sparc-sun-solaris2.10 GCC target triplet: sparc-sun-solaris2.10 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40411