This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: GCC 7.2 build bugs on Windows 8.1 and Windows 10


On 2017/10/25 18:35, Jonathan Wakely wrote:
Is this because -std=c99 sets __STRICT_ANSI__?
 > The C++ runtime is not built with -std=c99, of course.

>


No. It will not compile despite the `-std=` option, because `_aligned_{malloc,free}` are conditionally `#ifdef`'d out by the following code (and that is why I think it is a bug because avoidance of spurious `collisions` results in no declarations at all):

```
/* Make sure that X86intrin.h doesn't produce here collisions.  */
#if (!defined (_XMMINTRIN_H_INCLUDED) && !defined (_MM_MALLOC_H_INCLUDED)) || defined(_aligned_malloc)
#define __DO_ALIGN_DEFINES
#endif

(... abridged ...)

#ifdef __DO_ALIGN_DEFINES
  _CRTIMP void __cdecl _aligned_free(void *_Memory);
  _CRTIMP void *__cdecl _aligned_malloc(size_t _Size,size_t _Alignment);
#endif
```

I don't really care whether _aligned_malloc works in arbitrary C
programs, what I care about is whether it works in
libsupc++/new_opa.cc when _GLIBCXX_HAVE__ALIGNED_MALLOC is defined.

I assume new_opa.cc does build for MinGW-w64, but does it build for
MinGW? That still seems to be stuck on GCC 4.x


Yeah this reminds me that the bulk of the community is still having problems with distinguishing MinGW-w64 from MinGW. Unless the OP clarify which one he/she is using exactly, this discussion is much likely going to be meaningless. o_O


--
Best regards,
LH_Mouse


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]