I compiled the sources of GCC 4.7.2 available for download here at this Intel page. I can perfectly run the compiler, however it doesn't seem to understand the -fmpx flag: it throws me an "unrecognized command line option" error.
The build was configured with --enable-mpx as described in this GCC wiki, but that article seems to be outdated - the code there is apparently broken with a libc++ incompatibility (I'm on OS X Mavericks and this is currently the system's default C++ library, which replaced libstdc++).
Could anyone please point to me what I am missing?
Thank you, Leandro
ps: In the case it's useful, here is my configure call: configured by ../gcc-4.7.2/configure, generated by GNU Autoconf 2.64,
with options \" '--enable-mpx' '--enable-language=c,c++' '--enable-interwork' '--target=x86_64-apple-darwin13' '--host=x86_64-apple-darwin13' '--build=x86_64-apple-darwin13' 'build_alias=x86_64-apple-darwin13' 'host_alias=x86_64-apple-darwin13' 'target_alias=x86_64-apple-darwin13' \" . Is this expected to work with Mach-O?
- Intel® Advanced Vector Extensions (Intel® AVX)
- Intel® Streaming SIMD Extensions
- Parallel Computing
I later realized that the correct sources should have been gcc-sources.tar.gz. However, that didn't help me either. In fact, I took a quick look at this but could find no apparently complete MPX implementation. Actually, there are no mpx (what gets passed by the driver through -fmpx) flag available in gcc/config/i386/i386.opt, where I would expect it to be.
Has anyone succeeded compile those sources available for download? I would really appreciate if someone could shed a light into this...
Currently we support MPX in GCC for Linux only. Also I advise to not use old sources/binaries because we don’t support them anymore. You don't need to pass --enable-mpx with the current version to get MPX support in the compiler. There is also no -fmpx anymore. GCC Wiki page you mentioned is actually up-to-date and have proper sources link and flags description.