The standard defines headers such as <array>, <regex>, <tuple>, etc. When using std::tr1::array<T, n> the developer must include <tr1/array>. It seems like this is not consistent with the standard which would indicate that <array> is the correct include path.
When writing a cross project for GCC / DevStudio the developer is forced to do something like this: #if defined(_MSC_VER) #include <array> #elif defined(__GNUC__) #include <tr1/array> #endif It's ugly! And I suspect that GCC might actually have the wrong include location for std::tr1 headers. The community does not want this kind of difference. Furthermore it is unacceptable to extend the compiler include path with some sort of a -I command line argument because this would simply lead to non-portable build mechanisms. Rather, the problem should be resolved by changing the compiler's internal include path. Thank you. Sincerely, Chris. -- Summary: std::tr1 Header Location Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: christopher dot kormanyos at al-lighting dot com GCC host triplet: i686-pc-cygwin http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36428