bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#29040: Emacs 25 hangs on windows arbitrarily during search of a unic


From: Paul Eggert
Subject: bug#29040: Emacs 25 hangs on windows arbitrarily during search of a unicode file
Date: Wed, 1 Nov 2017 23:02:39 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0

+#define THREAD_ALIGNMENT COMMON_MULTIPLE (alignof (max_align_t), GCALIGNMENT)
+
+static struct thread_state alignas (THREAD_ALIGNMENT) main_thread;

Three questions:

The Gnulib manual <https://www.gnu.org/software/gnulib/manual/html_node/stdalign_002eh.html> says, "Some compilers require the operand of _Alignas/alignas to be a single integer constant, not an expression: MSVC 7.0 through at least 10.0." (Also, <https://stackoverflow.com/questions/7895869/cross-platform-alignx-macro> suggests that this issue may also occur with VS2013, though VS2015 should be OK since it supports alignas.) Are any of these older compilers of concern when building Emacs? If so, the above change won't work for them.

Why does the above code use 'alignof (max_align_t)' rather than 'alignof (struct thread_state)'? Doesn't the latter suffice?

C11 requires that a compiler must issue a diagnostic for a declaration like 'struct thread_state alignas (8) foo;' if the alignment of plain 'struct state' is greater than 8. Can I take it from this bug report that the Microsoft compilers do not conform to that part of the standard? If so, we should add checks to verify this requirement where it is assumed elsewhere.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]