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

Reply via email to