En un proyecto C++ con Makefile, Eclipse no reconocía la parte de la librería estándar correspondiente a C++11.
Abriendo el fichero /usr/include/c++/4.8.2/mutex se comprueba que el problema es el valor definido para __cplusplus que Eclipse proporciona al analizador del código.
Para hacer que Eclipse le diga a su analizador que el código es C++11 hay que hacerlo en la configuración de rutas y macros del preprocesador (Project->Properties->C/C++ General->Preprocessor Include Paths, Macros, etc.: Pestaña «Providers»). Allí hay que añadir el parámetro -std=c++11 al comando utilizado para obtener las características del compilador.
Una vez añadido, el valor de __cplusplus será 201103L, con lo que se activarán los includes de la librería estándar correspondientes a C++11.
Edición 5 de enero de 2018:
En los proyectos C++ con Makefile generado por Eclipse también es necesario indicar la versión C++ si esta no es ISO C++98. Si utilizamos código C++11 sin haber configurado el proyecto Eclipse para soportar esta versión nos dará el correspondiente error en la compilación:
Para indicarle en esta ocasión al compilador (en el otro caso se indicaba explícitamente en el Makefile) que el código es ISO C++11 se debe acceder a la configuración de las herramientas de construcción del binario (Project -> Properties -> C/C++ Build ->Settings: Pestaña «Tool Settings»). Allí, hay una entrada para seleccionar el «dialecto» que debe entender el compilador, donde habrá que seleccionar ISO C++11 (-std=c++0x) o el que corresponda.
Referencias:
C++11 standard library indexing fails, __cplusplus recognized with wrong value