#40315: c++17 std::aligned_alloc Open Date: 2020-04-10 13:55 Last Update: 2020-04-11 22:40 URL for this Ticket: https://osdn.net//projects/mingw/ticket/40315 RSS feed for this Ticket: https://osdn.net/ticket/ticket_rss.php?group_id=3917&tid=40315 --------------------------------------------------------------------- Last Changes/Comment on this Ticket: 2020-04-11 22:40 Updated by: drakbar Comment: Reply To keith After downloading a legit version of mingw, using mingw-get, I got the same result. Okay, in that case we should follow up, although I suspect you may need to refer the issue upstream, on GCC BugZilla. A possible issue could be that Microsoft's MSVCRT.DLL implementations of aligned allocation functions are utterly incompatible with ISO-C99 (and later), and the G++ infrastructure may depend on conformance. FWIW, cppreference.com is not a reliable documentation source, for MS-Windows programming, due to Microsoft's wilful violation of standards. I am not sure if this helps, but it seems that GCC version 7.4 implemented this. Now I realize that a GCC in a browser is different than a GCC on windows, but I guess I am a bit confused. I was under the impression that upstream GCC wouldn't be concerned if it works on windows. --------------------------------------------------------------------- Ticket Status: Reporter: drakbar Owner: (None) Type: Issues Status: Open Priority: 5 - Medium MileStone: (None) Component: GCC Severity: 5 - Medium Resolution: None --------------------------------------------------------------------- Ticket details: According to cppreference, the function std::aligned_alloc is apart of C++17. When trying to compile the example code found at that page, the following compilation error occurs: src code 1. #include <cstdio> 2. #include <cstdlib> 3. 4. int main() 5. { 6. int* p1 = static_cast<int*>(std::malloc(10*sizeof *p1)); 7. std::printf("default-aligned address: %p\n", static_cast<void*>(p1)); 8. std::free(p1); 9. 10. int* p2 = static_cast<int*>(std::aligned_alloc(1024, 1024)); 11. std::printf("1024-byte aligned address: %p\n", static_cast<void*>(p2)); 12. std::free(p2); 13. } compilation output $g++ -std=c++17 alignment.cpp -o main alignment.cpp: In function 'int main()': alignment.cpp:10:38: error: 'aligned_alloc' is not a member of 'std' 10 | int* p2 = static_cast<int*>(std::aligned_alloc(1024, 1024)); gcc version Target: x86_64-w64-mingw32 Configured with: ../gcc-9.3.0/configure --prefix=/mingw64 --with-local-prefix=/mingw64/local --build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --with-native-system-header-dir=/mingw64/x86_64-w64-mingw32/include --libexecdir=/mingw64/lib --enable-bootstrap --with-arch=x86-64 --with-tune=generic --enable-languages=c,lto,c++,fortran,ada,objc,obj-c++ --enable-shared --enable-static --enable-libatomic --enable-threads=posix --enable-graphite --enable-fully-dynamic-string --enable-libstdcxx-filesystem-ts=yes --enable-libstdcxx-time=yes --disable-libstdcxx-pch --disable-libstdcxx-debug --disable-isl-version-check --enable-lto --enable-libgomp --disable-multilib --enable-checking=release --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --enable-plugin --with-libiconv --with-system-zlib --with-gmp=/mingw64 --with-mpfr=/mingw64 --with-mpc=/mingw64 --with-isl=/mingw64 --with-pkgversion='Rev1, Built by MSYS2 project' --with-bugurl=https://sourceforge.net/projects/msys2 --with-gnu-as --with-gnu-ld Thread model: posix gcc version 9.3.0 (Rev1, Built by MSYS2 project) platform Windows 10 Build: 18362.720 linker version GNU ld (GNU Binutils) 2.34 mingw version not quite sure which number is the relevant one in _mingw.h ?? build environment I have tested using both windows command prompt and the msys-w64 shell, and both yield the same result MINGW64_NT-10.0-18362 3.0.7-338.x86_64 2019-07-11 10:58 UTC x86_64 Msys -- Ticket information of MinGW - Minimalist GNU for Windows project MinGW - Minimalist GNU for Windows Project is hosted on OSDN Project URL: https://osdn.net/projects/mingw/ OSDN: https://osdn.net URL for this Ticket: https://osdn.net/projects/mingw/ticket/40315 RSS feed for this Ticket: https://osdn.net/ticket/ticket_rss.php?group_id=3917&tid=40315