public inbox for gcc-prs@sourceware.org help / color / mirror / Atom feed
From: Danny Smith <dannysmith@clear.net.nz> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, Subject: Re: c/8859: [CygWin] Initializer element allegedly not constant Date: Mon, 07 Apr 2003 21:56:00 -0000 [thread overview] Message-ID: <20030407215600.12468.qmail@sources.redhat.com> (raw) The following reply was made to PR c/8859; it has been noted by GNATS. From: Danny Smith <dannysmith@clear.net.nz> To: mlt@bredband.net, gcc-gnats@gcc.gnu.org, gcc-bugs@gcc.gnu.org, nobody@gcc.gnu.org, gcc-prs@gcc.gnu.org Cc: Subject: Re: c/8859: [CygWin] Initializer element allegedly not constant Date: Mon, 07 Apr 2003 22:49:35 +0100 http://gcc.gnu.org/cgi-bin/gnatseb.pl?cmd=view%20audit-trail&database=gc c&pr=8859 This is not a a regression, but YA "dllimport" expectation that the MS native compiler fulfills, but GCC does not. The dllimport attribute, does this in config/i386/winnt.c (i386_pe_mark_dllimport): at line 343, config/i386/winnt.c: /* Can't treat a pointer to this as a constant address */ DECL_NON_ADDR_CONST_P (decl) = 1; This is because: __attribute__((dllimport)) int foo; really means something like: extern int* _imp__foo; #define foo *_imp__foo Because of this, the assignment error in the PR is actually valid: in C it is illegal to assign to non-constant at global scope. in C++ it works but requires dynamic global initialisation. Apparently, the native MS compiler ignores the the dllimport attribute in (some/all??) cases of assignment at global scope. Golly, I wonder if these MS rules are documented somewhere. I haven't found all the rules yet. Danny
next reply other threads:[~2003-04-07 21:56 UTC|newest] Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top 2003-04-07 21:56 Danny Smith [this message] -- strict thread matches above, loose matches on Subject: below -- 2003-04-07 13:52 bangerth
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20030407215600.12468.qmail@sources.redhat.com \ --to=dannysmith@clear.net.nz \ --cc=gcc-prs@gcc.gnu.org \ --cc=nobody@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).