From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#9960: Compiling Emacs trunk with MSVC Date: Sun, 06 Nov 2011 01:37:44 -0400 Message-ID: References: <83sjy5279e.fsf@gnu.org> <8339e2lsu7.fsf@gnu.org> <83zkgakdby.fsf@gnu.org> <4EB5320F.5090800@gmail.com> <83vcqyk8k3.fsf@gnu.org> <4EB540F4.7080106@gmail.com> <83r51mk62f.fsf@gnu.org> <86wrbeo7p5.fsf@googlemail.com> <83k47ejyyt.fsf@gnu.org> <86sjm2o559.fsf@googlemail.com> <86obwqo2hl.fsf@googlemail.com> <86ipmynwds.fsf@googlemail.com> <838vnujm3z.fsf@gnu.org> <868vnunr83.fsf@googlemail.com> Reply-To: Eli Zaretskii NNTP-Posting-Host: lo.gmane.org X-Trace: dough.gmane.org 1320557909 21312 80.91.229.12 (6 Nov 2011 05:38:29 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 6 Nov 2011 05:38:29 +0000 (UTC) Cc: 9960@debbugs.gnu.org To: Christoph Scholtes Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Nov 06 06:38:25 2011 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RMvR1-00051D-M9 for geb-bug-gnu-emacs@m.gmane.org; Sun, 06 Nov 2011 06:38:23 +0100 Original-Received: from localhost ([::1]:56303 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RMvR0-0005mh-QX for geb-bug-gnu-emacs@m.gmane.org; Sun, 06 Nov 2011 01:38:22 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:37047) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RMvQx-0005mc-R5 for bug-gnu-emacs@gnu.org; Sun, 06 Nov 2011 01:38:20 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RMvQw-0000LH-AP for bug-gnu-emacs@gnu.org; Sun, 06 Nov 2011 01:38:19 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:35250) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RMvQw-0000LC-5y for bug-gnu-emacs@gnu.org; Sun, 06 Nov 2011 01:38:18 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1RMvTZ-0004yR-Tt for bug-gnu-emacs@gnu.org; Sun, 06 Nov 2011 01:41:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 06 Nov 2011 05:41:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 9960 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 9960-submit@debbugs.gnu.org id=B9960.132055803119073 (code B ref 9960); Sun, 06 Nov 2011 05:41:01 +0000 Original-Received: (at 9960) by debbugs.gnu.org; 6 Nov 2011 05:40:31 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RMvT4-0004xa-SF for submit@debbugs.gnu.org; Sun, 06 Nov 2011 01:40:31 -0400 Original-Received: from fencepost.gnu.org ([140.186.70.10]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RMvT2-0004xR-Lv for 9960@debbugs.gnu.org; Sun, 06 Nov 2011 01:40:29 -0400 Original-Received: from eliz by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1RMvQO-00010x-3R; Sun, 06 Nov 2011 01:37:44 -0400 In-reply-to: <868vnunr83.fsf@googlemail.com> (message from Christoph Scholtes on Sat, 05 Nov 2011 16:23:40 -0600) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Sun, 06 Nov 2011 01:41:01 -0400 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:53586 Archived-At: > From: Christoph Scholtes > Cc: 9960@debbugs.gnu.org > Date: Sat, 05 Nov 2011 16:23:40 -0600 > > Eli Zaretskii writes: > > > That comes from Fabrice, assuming that removing `static' doesn't help. > > No, it does not. > > > Does it fail even if you take (1 << 3) in one more level of > > parentheses? > > Yes. > > > What about an intermediate macro, as in > > > > #define FOO (1 << GCTYPEBITS) > > static int __declspec(align(FOO)) test = 1; > > > > ? > > Not working. I tried all of these cases in my simple example. It does > seem to like the shift operator. I guess Fabrice will have to figure this out. I'm puzzled how it worked for him a year ago. > > Does this go away if you add "#define snprintf _snprintf" to > > src/s/ms-w32.h, for MSVC only? > > Yes. > > > These are because xdisp.c defines window_box_right `inline'. (This is > > an optimized build, right? if not, does it mean that MSVC inlines > > functions even for a non-optimized builds?) I would suggest to make > > that `inline' conditional on _MSC_VER being undefined. > > That worked. > > > Add "#define strtoimax _strtoi64" to src/s/ms-w32.h, conditioned on > > _MSC_VER. > > Worked. Please install the 1st and the 3rd of these 3. I'm about to start a discussion regarding the 2nd one. > > Make this (from src/s/ms-w32.h): > > > > #if !defined (_MSC_VER) || (_MSC_VER < 1400) > > #define tzname _tzname > > > > be defined unconditionally. (But leave the "utime" part under the > > same condition it is today.) > > This is a problem. The ensuing error is: > > C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\INCLUDE\time.h(281) : erro > r C2090: function returns array > > >From time.h: > _CRT_INSECURE_DEPRECATE_GLOBALS(_get_tzname) _CRTIMP extern char * tzname[2]; How about using _get_tzname to set up our own private array akin to tzname[]? Here's the plan: . in src/s/ms-w32.h, "#define tzname msvc_tzname" (for _MSC_VER >= 1400) . in w32.c:sys_localtime, when _MSC_VER >= 1400, call _get_tzname twice to populate tzname[] with 2 values as expected . reinstate HAVE_TZNAME for MSVC Does this work, i.e. link without errors? Thanks.