1.
Go to Project->properties->C/C++ General->Preprocessor Include Paths. Click the Providers tab.
Click CDT GCC Built-in Compiler settings
Click Move Up button on the right.
Under Language Settings Provider Options
Click off Use Global provider shared between projects
Add -std=c++1y to the end of the command line in Command to get compiler specs.
Step 2 gets the compiler working
Go to Project->properties->C/C++ Build->Settings.
Go to Tool Settings tab.
Expand GCC C++ Compiler
Click Dialect Pick the C++ Standard you wish to target from the Language Standard drop-down.
2. (if needed)
add under Project > Properties > C/C++ Build > Settings then on the Tool Settings tab GCC C++ Compiler > Miscellaneous the -std=c++11 flag,
then under Window > Preferences > C/C++ > Build > Settings on the Discovery tab chose CDT GCC Built-in Compiler Settings and add the -std=c++11 flag to Command to get compiler specs. On my machine it looks like this after the change:
${COMMAND} -E -P -v -dD -std=c++11 "${INPUTS}"
clean and rebuild both your project and your index (Project > C/C++ Index > Rebuild) as Eclipse tends to cache error messages and show them even though they are gone after changing the settings.