<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <b>Assumption:</b> Previously build llvm trunk to have a fresh
    clang/clang++ under /usr/local/bin<br>
    <br>
    <b>Libc++ Assumption:</b> Building outside of llvm/clang trunk to
    test build the library.<br>
    <br>
    When I configure cmake and pass clang++ and clang in the standard
    -DCMAKE_CXX_COMPILER=/usr/local/bin/clang++ and
    -DCMAKE_C_COMPILER=/usr/local/bin/clang respectively when building
    the CMakeCache.txt I see a jumping between [a mixed marriage]
    clang+/gcc or c++/clang.<br>
    <br>
    <b>Building Outside of Cmake:</b>  If I go into the libc++ source
    -> lib folder and edit the buildit script with
    /usr/local/bin/clang++ and /usr/local/bin/clang I get a noisy (68
    warning) but success as follows:;<br>
    <br>
    <blockquote type="cite">                                                            
      ^<br>
      ../src/exception.cpp:204:6: warning: exception_ptr not yet
      implemented [-W#warnings]                             <br>
          #warning exception_ptr not yet implemented<br>
           ^<br>
      ../src/exception.cpp:217:6: warning: exception_ptr not yet
      implemented [-W#warnings]                             <br>
          #warning exception_ptr not yet implemented<br>
           ^<br>
      ../src/exception.cpp:210:38: warning: unused parameter 'p'
      [-Wunused-parameter]                                  <br>
      void rethrow_exception(exception_ptr p)<br>
                                           ^<br>
      8 warnings
      generated.                                                                                          
       <br>
      + for FILE in '../src/*.cpp'<br>
      + /usr/local/bin/clang++ -c -g -Os -fPIC -std=c++0x
      -fstrict-aliasing -Wall -Wextra -Wshadow -Wconversion
      -Wnewline-eof -Wpadded -Wmissing-prototypes -Wstrict-aliasing=2
      -Wstrict-overflow=4 -nostdinc++ -I../include ../src/future.cpp<br>
      + for FILE in '../src/*.cpp'<br>
      + /usr/local/bin/clang++ -c -g -Os -fPIC -std=c++0x
      -fstrict-aliasing -Wall -Wextra -Wshadow -Wconversion
      -Wnewline-eof -Wpadded -Wmissing-prototypes -Wstrict-aliasing=2
      -Wstrict-overflow=4 -nostdinc++ -I../include ../src/hash.cpp<br>
      + for FILE in '../src/*.cpp'<br>
      + /usr/local/bin/clang++ -c -g -Os -fPIC -std=c++0x
      -fstrict-aliasing -Wall -Wextra -Wshadow -Wconversion
      -Wnewline-eof -Wpadded -Wmissing-prototypes -Wstrict-aliasing=2
      -Wstrict-overflow=4 -nostdinc++ -I../include ../src/ios.cpp<br>
      + for FILE in '../src/*.cpp'<br>
      + /usr/local/bin/clang++ -c -g -Os -fPIC -std=c++0x
      -fstrict-aliasing -Wall -Wextra -Wshadow -Wconversion
      -Wnewline-eof -Wpadded -Wmissing-prototypes -Wstrict-aliasing=2
      -Wstrict-overflow=4 -nostdinc++ -I../include ../src/iostream.cpp<br>
      + for FILE in '../src/*.cpp'<br>
      + /usr/local/bin/clang++ -c -g -Os -fPIC -std=c++0x
      -fstrict-aliasing -Wall -Wextra -Wshadow -Wconversion
      -Wnewline-eof -Wpadded -Wmissing-prototypes -Wstrict-aliasing=2
      -Wstrict-overflow=4 -nostdinc++ -I../include ../src/locale.cpp<br>
      ../src/locale.cpp:846:48: warning: array subscript is of type
      'char' [-Wchar-subscripts]<br>
          return isascii(c) ? __classic_upper_table()[c] : c;<br>
                                                     ^~<br>
      ../src/locale.cpp:846:25: warning: implicit conversion loses
      integer precision: 'const int' to 'char'            <br>
            [-Wconversion]<br>
          return isascii(c) ? __classic_upper_table()[c] : c;<br>
                            ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~<br>
      ../src/locale.cpp:860:55: warning: array subscript is of type
      'char' [-Wchar-subscripts]                         <br>
              *low = isascii(*low) ? __classic_upper_table()[*low] :
      *low;<br>
                                                            ^~~~~<br>
      ../src/locale.cpp:860:32: warning: implicit conversion loses
      integer precision: 'const int' to 'char_type'       <br>
            (aka 'char') [-Wconversion]<br>
              *low = isascii(*low) ? __classic_upper_table()[*low] :
      *low;<br>
                                   ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
      ../src/locale.cpp:874:48: warning: array subscript is of type
      'char' [-Wchar-subscripts]                         <br>
          return isascii(c) ? __classic_lower_table()[c] : c;<br>
                                                     ^~<br>
      ../src/locale.cpp:874:25: warning: implicit conversion loses
      integer precision: 'const int' to 'char'            <br>
            [-Wconversion]<br>
          return isascii(c) ? __classic_lower_table()[c] : c;<br>
                            ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~<br>
      ../src/locale.cpp:887:55: warning: array subscript is of type
      'char' [-Wchar-subscripts]                         <br>
              *low = isascii(*low) ? __classic_lower_table()[*low] :
      *low;<br>
                                                            ^~~~~<br>
      ../src/locale.cpp:887:32: warning: implicit conversion loses
      integer precision: 'const int' to 'char_type'       <br>
            (aka 'char') [-Wconversion]<br>
              *low = isascii(*low) ? __classic_lower_table()[*low] :
      *low;<br>
                                   ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
      ../src/locale.cpp:1056:34: warning: implicit conversion changes
      signedness: 'char_type' (aka 'wchar_t') to       <br>
            'wint_t' (aka 'unsigned int') [-Wsign-conversion]<br>
          if (m & space && !iswspace_l(c, __l)) result =
      false;<br>
                            ~~~~~~~~~~ ^<br>
      ../src/locale.cpp:1057:34: warning: implicit conversion changes
      signedness: 'char_type' (aka 'wchar_t') to       <br>
            'wint_t' (aka 'unsigned int') [-Wsign-conversion]<br>
          if (m & print && !iswprint_l(c, __l)) result =
      false;<br>
                            ~~~~~~~~~~ ^<br>
      ../src/locale.cpp:1058:34: warning: implicit conversion changes
      signedness: 'char_type' (aka 'wchar_t') to       <br>
            'wint_t' (aka 'unsigned int') [-Wsign-conversion]<br>
          if (m & cntrl && !iswcntrl_l(c, __l)) result =
      false;<br>
                            ~~~~~~~~~~ ^<br>
      ../src/locale.cpp:1059:34: warning: implicit conversion changes
      signedness: 'char_type' (aka 'wchar_t') to       <br>
            'wint_t' (aka 'unsigned int') [-Wsign-conversion]<br>
          if (m & upper && !iswupper_l(c, __l)) result =
      false;<br>
                            ~~~~~~~~~~ ^<br>
      ../src/locale.cpp:1060:34: warning: implicit conversion changes
      signedness: 'char_type' (aka 'wchar_t') to       <br>
            'wint_t' (aka 'unsigned int') [-Wsign-conversion]<br>
          if (m & lower && !iswlower_l(c, __l)) result =
      false;<br>
                            ~~~~~~~~~~ ^<br>
      ../src/locale.cpp:1061:34: warning: implicit conversion changes
      signedness: 'char_type' (aka 'wchar_t') to       <br>
            'wint_t' (aka 'unsigned int') [-Wsign-conversion]<br>
          if (m & alpha && !iswalpha_l(c, __l)) result =
      false;<br>
                            ~~~~~~~~~~ ^<br>
      ../src/locale.cpp:1062:34: warning: implicit conversion changes
      signedness: 'char_type' (aka 'wchar_t') to       <br>
            'wint_t' (aka 'unsigned int') [-Wsign-conversion]<br>
          if (m & digit && !iswdigit_l(c, __l)) result =
      false;<br>
                            ~~~~~~~~~~ ^<br>
      ../src/locale.cpp:1063:34: warning: implicit conversion changes
      signedness: 'char_type' (aka 'wchar_t') to       <br>
            'wint_t' (aka 'unsigned int') [-Wsign-conversion]<br>
          if (m & punct && !iswpunct_l(c, __l)) result =
      false;<br>
                            ~~~~~~~~~~ ^<br>
      ../src/locale.cpp:1064:36: warning: implicit conversion changes
      signedness: 'char_type' (aka 'wchar_t') to       <br>
            'wint_t' (aka 'unsigned int') [-Wsign-conversion]<br>
          if (m & xdigit && !iswxdigit_l(c, __l)) result =
      false;<br>
                             ~~~~~~~~~~~ ^<br>
      ../src/locale.cpp:1065:34: warning: implicit conversion changes
      signedness: 'char_type' (aka 'wchar_t') to       <br>
            'wint_t' (aka 'unsigned int') [-Wsign-conversion]<br>
          if (m & blank && !iswblank_l(c, __l)) result =
      false;<br>
                            ~~~~~~~~~~ ^<br>
      ../src/locale.cpp:1080:28: warning: implicit conversion changes
      signedness: 'const char_type'                    <br>
            (aka 'const wchar_t') to 'wint_t' (aka 'unsigned int')
      [-Wsign-conversion]<br>
                  if (iswspace_l(*low, __l))<br>
                      ~~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1082:28: warning: implicit conversion changes
      signedness: 'const char_type'                    <br>
            (aka 'const wchar_t') to 'wint_t' (aka 'unsigned int')
      [-Wsign-conversion]<br>
                  if (iswprint_l(*low, __l))<br>
                      ~~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1084:28: warning: implicit conversion changes
      signedness: 'const char_type'                    <br>
            (aka 'const wchar_t') to 'wint_t' (aka 'unsigned int')
      [-Wsign-conversion]<br>
                  if (iswcntrl_l(*low, __l))<br>
                      ~~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1086:28: warning: implicit conversion changes
      signedness: 'const char_type'                    <br>
            (aka 'const wchar_t') to 'wint_t' (aka 'unsigned int')
      [-Wsign-conversion]<br>
                  if (iswupper_l(*low, __l))<br>
                      ~~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1088:28: warning: implicit conversion changes
      signedness: 'const char_type'                    <br>
            (aka 'const wchar_t') to 'wint_t' (aka 'unsigned int')
      [-Wsign-conversion]<br>
                  if (iswlower_l(*low, __l))<br>
                      ~~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1090:28: warning: implicit conversion changes
      signedness: 'const char_type'                    <br>
            (aka 'const wchar_t') to 'wint_t' (aka 'unsigned int')
      [-Wsign-conversion]<br>
                  if (iswalpha_l(*low, __l))<br>
                      ~~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1092:28: warning: implicit conversion changes
      signedness: 'const char_type'                    <br>
            (aka 'const wchar_t') to 'wint_t' (aka 'unsigned int')
      [-Wsign-conversion]<br>
                  if (iswdigit_l(*low, __l))<br>
                      ~~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1094:28: warning: implicit conversion changes
      signedness: 'const char_type'                    <br>
            (aka 'const wchar_t') to 'wint_t' (aka 'unsigned int')
      [-Wsign-conversion]<br>
                  if (iswpunct_l(*low, __l))<br>
                      ~~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1096:29: warning: implicit conversion changes
      signedness: 'const char_type'                    <br>
            (aka 'const wchar_t') to 'wint_t' (aka 'unsigned int')
      [-Wsign-conversion]<br>
                  if (iswxdigit_l(*low, __l))<br>
                      ~~~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1112:38: warning: implicit conversion changes
      signedness: 'const char_type'                    <br>
            (aka 'const wchar_t') to 'wint_t' (aka 'unsigned int')
      [-Wsign-conversion]<br>
              if (m & space && !iswspace_l(*low, __l))
      continue;<br>
                                ~~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1113:38: warning: implicit conversion changes
      signedness: 'const char_type'                    <br>
            (aka 'const wchar_t') to 'wint_t' (aka 'unsigned int')
      [-Wsign-conversion]<br>
              if (m & print && !iswprint_l(*low, __l))
      continue;<br>
                                ~~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1114:38: warning: implicit conversion changes
      signedness: 'const char_type'                    <br>
            (aka 'const wchar_t') to 'wint_t' (aka 'unsigned int')
      [-Wsign-conversion]<br>
              if (m & cntrl && !iswcntrl_l(*low, __l))
      continue;<br>
                                ~~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1115:38: warning: implicit conversion changes
      signedness: 'const char_type'                    <br>
            (aka 'const wchar_t') to 'wint_t' (aka 'unsigned int')
      [-Wsign-conversion]<br>
              if (m & upper && !iswupper_l(*low, __l))
      continue;<br>
                                ~~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1116:38: warning: implicit conversion changes
      signedness: 'const char_type'                    <br>
            (aka 'const wchar_t') to 'wint_t' (aka 'unsigned int')
      [-Wsign-conversion]<br>
              if (m & lower && !iswlower_l(*low, __l))
      continue;<br>
                                ~~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1117:38: warning: implicit conversion changes
      signedness: 'const char_type'                    <br>
            (aka 'const wchar_t') to 'wint_t' (aka 'unsigned int')
      [-Wsign-conversion]<br>
              if (m & alpha && !iswalpha_l(*low, __l))
      continue;<br>
                                ~~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1118:38: warning: implicit conversion changes
      signedness: 'const char_type'                    <br>
            (aka 'const wchar_t') to 'wint_t' (aka 'unsigned int')
      [-Wsign-conversion]<br>
              if (m & digit && !iswdigit_l(*low, __l))
      continue;<br>
                                ~~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1119:38: warning: implicit conversion changes
      signedness: 'const char_type'                    <br>
            (aka 'const wchar_t') to 'wint_t' (aka 'unsigned int')
      [-Wsign-conversion]<br>
              if (m & punct && !iswpunct_l(*low, __l))
      continue;<br>
                                ~~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1120:40: warning: implicit conversion changes
      signedness: 'const char_type'                    <br>
            (aka 'const wchar_t') to 'wint_t' (aka 'unsigned int')
      [-Wsign-conversion]<br>
              if (m & xdigit && !iswxdigit_l(*low, __l))
      continue;<br>
                                 ~~~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1121:38: warning: implicit conversion changes
      signedness: 'const char_type'                    <br>
            (aka 'const wchar_t') to 'wint_t' (aka 'unsigned int')
      [-Wsign-conversion]<br>
              if (m & blank && !iswblank_l(*low, __l))
      continue;<br>
                                ~~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1137:37: warning: implicit conversion changes
      signedness: 'const char_type'                    <br>
            (aka 'const wchar_t') to 'wint_t' (aka 'unsigned int')
      [-Wsign-conversion]<br>
              if (m & space && iswspace_l(*low, __l))
      continue;<br>
                               ~~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1138:37: warning: implicit conversion changes
      signedness: 'const char_type'                    <br>
            (aka 'const wchar_t') to 'wint_t' (aka 'unsigned int')
      [-Wsign-conversion]<br>
              if (m & print && iswprint_l(*low, __l))
      continue;<br>
                               ~~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1139:37: warning: implicit conversion changes
      signedness: 'const char_type'                    <br>
            (aka 'const wchar_t') to 'wint_t' (aka 'unsigned int')
      [-Wsign-conversion]<br>
              if (m & cntrl && iswcntrl_l(*low, __l))
      continue;<br>
                               ~~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1140:37: warning: implicit conversion changes
      signedness: 'const char_type'                    <br>
            (aka 'const wchar_t') to 'wint_t' (aka 'unsigned int')
      [-Wsign-conversion]<br>
              if (m & upper && iswupper_l(*low, __l))
      continue;<br>
                               ~~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1141:37: warning: implicit conversion changes
      signedness: 'const char_type'                    <br>
            (aka 'const wchar_t') to 'wint_t' (aka 'unsigned int')
      [-Wsign-conversion]<br>
              if (m & lower && iswlower_l(*low, __l))
      continue;<br>
                               ~~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1142:37: warning: implicit conversion changes
      signedness: 'const char_type'                    <br>
            (aka 'const wchar_t') to 'wint_t' (aka 'unsigned int')
      [-Wsign-conversion]<br>
              if (m & alpha && iswalpha_l(*low, __l))
      continue;<br>
                               ~~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1143:37: warning: implicit conversion changes
      signedness: 'const char_type'                    <br>
            (aka 'const wchar_t') to 'wint_t' (aka 'unsigned int')
      [-Wsign-conversion]<br>
              if (m & digit && iswdigit_l(*low, __l))
      continue;<br>
                               ~~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1144:37: warning: implicit conversion changes
      signedness: 'const char_type'                    <br>
            (aka 'const wchar_t') to 'wint_t' (aka 'unsigned int')
      [-Wsign-conversion]<br>
              if (m & punct && iswpunct_l(*low, __l))
      continue;<br>
                               ~~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1145:39: warning: implicit conversion changes
      signedness: 'const char_type'                    <br>
            (aka 'const wchar_t') to 'wint_t' (aka 'unsigned int')
      [-Wsign-conversion]<br>
              if (m & xdigit && iswxdigit_l(*low, __l))
      continue;<br>
                                ~~~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1146:37: warning: implicit conversion changes
      signedness: 'const char_type'                    <br>
            (aka 'const wchar_t') to 'wint_t' (aka 'unsigned int')
      [-Wsign-conversion]<br>
              if (m & blank && iswblank_l(*low, __l))
      continue;<br>
                               ~~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1156:12: warning: implicit conversion changes
      signedness: 'wint_t' (aka 'unsigned int') to     <br>
            'wchar_t' [-Wsign-conversion]<br>
          return towupper_l(c, __l);<br>
          ~~~~~~ ^~~~~~~~~~~~~~~~~~<br>
      ../src/locale.cpp:1156:23: warning: implicit conversion changes
      signedness: 'char_type' (aka 'wchar_t') to       <br>
            'wint_t' (aka 'unsigned int') [-Wsign-conversion]<br>
          return towupper_l(c, __l);<br>
                 ~~~~~~~~~~ ^<br>
      ../src/locale.cpp:1163:16: warning: implicit conversion changes
      signedness: 'wint_t' (aka 'unsigned int') to     <br>
            'char_type' (aka 'wchar_t') [-Wsign-conversion]<br>
              *low = towupper_l(*low, __l);<br>
                   ~ ^~~~~~~~~~~~~~~~~~~~~<br>
      ../src/locale.cpp:1163:27: warning: implicit conversion changes
      signedness: 'char_type' (aka 'wchar_t') to       <br>
            'wint_t' (aka 'unsigned int') [-Wsign-conversion]<br>
              *low = towupper_l(*low, __l);<br>
                     ~~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1170:12: warning: implicit conversion changes
      signedness: 'wint_t' (aka 'unsigned int') to     <br>
            'wchar_t' [-Wsign-conversion]<br>
          return towlower_l(c, __l);<br>
          ~~~~~~ ^~~~~~~~~~~~~~~~~~<br>
      ../src/locale.cpp:1170:23: warning: implicit conversion changes
      signedness: 'char_type' (aka 'wchar_t') to       <br>
            'wint_t' (aka 'unsigned int') [-Wsign-conversion]<br>
          return towlower_l(c, __l);<br>
                 ~~~~~~~~~~ ^<br>
      ../src/locale.cpp:1177:16: warning: implicit conversion changes
      signedness: 'wint_t' (aka 'unsigned int') to     <br>
            'char_type' (aka 'wchar_t') [-Wsign-conversion]<br>
              *low = towlower_l(*low, __l);<br>
                   ~ ^~~~~~~~~~~~~~~~~~~~~<br>
      ../src/locale.cpp:1177:27: warning: implicit conversion changes
      signedness: 'char_type' (aka 'wchar_t') to       <br>
            'wint_t' (aka 'unsigned int') [-Wsign-conversion]<br>
              *low = towlower_l(*low, __l);<br>
                     ~~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1187:12: warning: implicit conversion changes
      signedness: 'wint_t' (aka 'unsigned int') to     <br>
            'wchar_t' [-Wsign-conversion]<br>
          return __btowc_l(c, __l);<br>
          ~~~~~~ ^~~~~~~~~~~~~~~~~<br>
      ../src/locale.cpp:1198:17: warning: implicit conversion changes
      signedness: 'wint_t' (aka 'unsigned int') to     <br>
            'char_type' (aka 'wchar_t') [-Wsign-conversion]<br>
              *dest = __btowc_l(*low, __l);<br>
                    ~ ^~~~~~~~~~~~~~~~~~~~<br>
      ../src/locale.cpp:1209:23: warning: implicit conversion changes
      signedness: 'char_type' (aka 'wchar_t') to       <br>
            'wint_t' (aka 'unsigned int') [-Wsign-conversion]<br>
          int r = __wctob_l(c, __l);<br>
                  ~~~~~~~~~ ^<br>
      ../src/locale.cpp:1211:14: warning: comparison of integers of
      different signs: 'int' and 'unsigned int'          <br>
            [-Wsign-compare]<br>
          return r != WEOF ? static_cast<char>(r) : dfault;<br>
                 ~ ^  ~~~~<br>
      ../src/locale.cpp:1222:27: warning: implicit conversion changes
      signedness: 'const char_type'                    <br>
            (aka 'const wchar_t') to 'wint_t' (aka 'unsigned int')
      [-Wsign-conversion]<br>
              int r = __wctob_l(*low, __l);<br>
                      ~~~~~~~~~ ^~~~<br>
      ../src/locale.cpp:1224:19: warning: comparison of integers of
      different signs: 'int' and 'unsigned int'          <br>
            [-Wsign-compare]<br>
              *dest = r != WEOF ? static_cast<char>(r) : dfault;<br>
                      ~ ^  ~~~~<br>
      ../src/locale.cpp:1337:53: warning: implicit conversion changes
      signedness: 'long' to 'size_t'                   <br>
            (aka 'unsigned long') [-Wsign-conversion]<br>
              size_t n = __wcsnrtombs_l(to, &frm_nxt, fend-frm,
      to_end-to, &st, __l);<br>
                         ~~~~~~~~~~~~~~               ~~~~^~~~<br>
      ../src/locale.cpp:1337:65: warning: implicit conversion changes
      signedness: 'long' to 'size_t'                   <br>
            (aka 'unsigned long') [-Wsign-conversion]<br>
              size_t n = __wcsnrtombs_l(to, &frm_nxt, fend-frm,
      to_end-to, &st, __l);<br>
                         ~~~~~~~~~~~~~~                        
      ~~~~~~^~~<br>
      ../src/locale.cpp:1406:53: warning: implicit conversion changes
      signedness: 'long' to 'size_t'                   <br>
            (aka 'unsigned long') [-Wsign-conversion]<br>
              size_t n = __mbsnrtowcs_l(to, &frm_nxt, fend-frm,
      to_end-to, &st, __l);<br>
                         ~~~~~~~~~~~~~~               ~~~~^~~~<br>
      ../src/locale.cpp:1406:65: warning: implicit conversion changes
      signedness: 'long' to 'size_t'                   <br>
            (aka 'unsigned long') [-Wsign-conversion]<br>
              size_t n = __mbsnrtowcs_l(to, &frm_nxt, fend-frm,
      to_end-to, &st, __l);<br>
                         ~~~~~~~~~~~~~~                        
      ~~~~~~^~~<br>
      ../src/locale.cpp:1417:50: warning: implicit conversion changes
      signedness: 'long' to 'size_t'                   <br>
            (aka 'unsigned long') [-Wsign-conversion]<br>
                      n = __mbrtowc_l(to_nxt, frm, fend-frm,
      &save_state, __l);<br>
                          ~~~~~~~~~~~              ~~~~^~~~<br>
      ../src/locale.cpp:1522:43: warning: implicit conversion changes
      signedness: 'long' to 'size_t'                   <br>
            (aka 'unsigned long') [-Wsign-conversion]<br>
              size_t n = __mbrlen_l(frm, frm_end-frm, &st, __l);<br>
                         ~~~~~~~~~~      ~~~~~~~^~~~<br>
      ../src/locale.cpp:1548:27: warning: implicit conversion loses
      integer precision:                                 <br>
            'decltype((__ctype_get_mb_cur_max()))' (aka 'unsigned long')
      to 'int' [-Wshorten-64-to-32]<br>
          return __l == 0 ? 1 : __mb_cur_max_l(__l);<br>
                          ~     ^~~~~~~~~~~~~~~~~~~<br>
      68 warnings
      generated.                                                                                         
       <br>
      + for FILE in '../src/*.cpp'<br>
      + /usr/local/bin/clang++ -c -g -Os -fPIC -std=c++0x
      -fstrict-aliasing -Wall -Wextra -Wshadow -Wconversion
      -Wnewline-eof -Wpadded -Wmissing-prototypes -Wstrict-aliasing=2
      -Wstrict-overflow=4 -nostdinc++ -I../include ../src/memory.cpp<br>
      + for FILE in '../src/*.cpp'<br>
      + /usr/local/bin/clang++ -c -g -Os -fPIC -std=c++0x
      -fstrict-aliasing -Wall -Wextra -Wshadow -Wconversion
      -Wnewline-eof -Wpadded -Wmissing-prototypes -Wstrict-aliasing=2
      -Wstrict-overflow=4 -nostdinc++ -I../include ../src/mutex.cpp<br>
      + for FILE in '../src/*.cpp'<br>
      + /usr/local/bin/clang++ -c -g -Os -fPIC -std=c++0x
      -fstrict-aliasing -Wall -Wextra -Wshadow -Wconversion
      -Wnewline-eof -Wpadded -Wmissing-prototypes -Wstrict-aliasing=2
      -Wstrict-overflow=4 -nostdinc++ -I../include ../src/new.cpp<br>
      + for FILE in '../src/*.cpp'<br>
      + /usr/local/bin/clang++ -c -g -Os -fPIC -std=c++0x
      -fstrict-aliasing -Wall -Wextra -Wshadow -Wconversion
      -Wnewline-eof -Wpadded -Wmissing-prototypes -Wstrict-aliasing=2
      -Wstrict-overflow=4 -nostdinc++ -I../include ../src/random.cpp<br>
      + for FILE in '../src/*.cpp'<br>
      + /usr/local/bin/clang++ -c -g -Os -fPIC -std=c++0x
      -fstrict-aliasing -Wall -Wextra -Wshadow -Wconversion
      -Wnewline-eof -Wpadded -Wmissing-prototypes -Wstrict-aliasing=2
      -Wstrict-overflow=4 -nostdinc++ -I../include ../src/regex.cpp<br>
      + for FILE in '../src/*.cpp'<br>
      + /usr/local/bin/clang++ -c -g -Os -fPIC -std=c++0x
      -fstrict-aliasing -Wall -Wextra -Wshadow -Wconversion
      -Wnewline-eof -Wpadded -Wmissing-prototypes -Wstrict-aliasing=2
      -Wstrict-overflow=4 -nostdinc++ -I../include ../src/stdexcept.cpp<br>
      + for FILE in '../src/*.cpp'<br>
      + /usr/local/bin/clang++ -c -g -Os -fPIC -std=c++0x
      -fstrict-aliasing -Wall -Wextra -Wshadow -Wconversion
      -Wnewline-eof -Wpadded -Wmissing-prototypes -Wstrict-aliasing=2
      -Wstrict-overflow=4 -nostdinc++ -I../include ../src/string.cpp<br>
      + for FILE in '../src/*.cpp'<br>
      + /usr/local/bin/clang++ -c -g -Os -fPIC -std=c++0x
      -fstrict-aliasing -Wall -Wextra -Wshadow -Wconversion
      -Wnewline-eof -Wpadded -Wmissing-prototypes -Wstrict-aliasing=2
      -Wstrict-overflow=4 -nostdinc++ -I../include ../src/strstream.cpp<br>
      + for FILE in '../src/*.cpp'<br>
      + /usr/local/bin/clang++ -c -g -Os -fPIC -std=c++0x
      -fstrict-aliasing -Wall -Wextra -Wshadow -Wconversion
      -Wnewline-eof -Wpadded -Wmissing-prototypes -Wstrict-aliasing=2
      -Wstrict-overflow=4 -nostdinc++ -I../include
      ../src/system_error.cpp<br>
      + for FILE in '../src/*.cpp'<br>
      + /usr/local/bin/clang++ -c -g -Os -fPIC -std=c++0x
      -fstrict-aliasing -Wall -Wextra -Wshadow -Wconversion
      -Wnewline-eof -Wpadded -Wmissing-prototypes -Wstrict-aliasing=2
      -Wstrict-overflow=4 -nostdinc++ -I../include ../src/thread.cpp<br>
      + for FILE in '../src/*.cpp'<br>
      + /usr/local/bin/clang++ -c -g -Os -fPIC -std=c++0x
      -fstrict-aliasing -Wall -Wextra -Wshadow -Wconversion
      -Wnewline-eof -Wpadded -Wmissing-prototypes -Wstrict-aliasing=2
      -Wstrict-overflow=4 -nostdinc++ -I../include ../src/typeinfo.cpp<br>
      + for FILE in '../src/*.cpp'<br>
      + /usr/local/bin/clang++ -c -g -Os -fPIC -std=c++0x
      -fstrict-aliasing -Wall -Wextra -Wshadow -Wconversion
      -Wnewline-eof -Wpadded -Wmissing-prototypes -Wstrict-aliasing=2
      -Wstrict-overflow=4 -nostdinc++ -I../include ../src/utility.cpp<br>
      + for FILE in '../src/*.cpp'<br>
      + /usr/local/bin/clang++ -c -g -Os -fPIC -std=c++0x
      -fstrict-aliasing -Wall -Wextra -Wshadow -Wconversion
      -Wnewline-eof -Wpadded -Wmissing-prototypes -Wstrict-aliasing=2
      -Wstrict-overflow=4 -nostdinc++ -I../include ../src/valarray.cpp<br>
      + case $TRIPLE in<br>
      + /usr/local/bin/clang algorithm.o bind.o chrono.o
      condition_variable.o debug.o exception.o future.o hash.o ios.o
      iostream.o locale.o memory.o mutex.o new.o random.o regex.o
      stdexcept.o string.o strstream.o system_error.o thread.o
      typeinfo.o utility.o valarray.o -fPIC -o libc++.so.1.0 -shared
      -nodefaultlibs -Wl,-soname,libc++.so.1 -lpthread -lrt -lc -lstdc++
      -std=c++0x -fstrict-aliasing -Wall -Wextra -Wshadow -Wconversion
      -Wnewline-eof -Wpadded -Wmissing-prototypes -Wstrict-aliasing=2
      -Wstrict-overflow=4<br>
      clang-3: warning: argument unused during compilation:
      '-nodefaultlibs'<br>
      + '[' -z ']'<br>
      + rm algorithm.o bind.o chrono.o condition_variable.o debug.o
      exception.o future.o hash.o ios.o iostream.o locale.o memory.o
      mutex.o new.o random.o regex.o stdexcept.o string.o strstream.o
      system_error.o thread.o typeinfo.o utility.o valarray.o<br>
      mdriftmeyer@horus:~/DeveloperProjects/LLVMProject/libcxx/lib$</blockquote>
    <br>
    <b>Cmake Obstruction:</b> Cmake won't let me pass both clang++ &
    clang together and splits it up as I have stated, with far less
    noise [though I doubt that's helpful], with the following:<br>
    <br>
    <blockquote type="cite">mdriftmeyer@horus:~/DeveloperProjects/LLVMProject/cmake-libcxx$
      cmake ../libcxx<br>
      -- Host triple: x86_64-pc-linux<br>
      -- Target triple: x86_64-pc-linux<br>
      -- Configuring done<br>
      -- Generating done<br>
      -- Build files have been written to:
      /home/mdriftmeyer/DeveloperProjects/LLVMProject/cmake-libcxx<br>
      mdriftmeyer@horus:~/DeveloperProjects/LLVMProject/cmake-libcxx$
      make clean && make -j3<br>
      [  4%] [  8%] [ 12%] Building CXX object
      lib/CMakeFiles/cxx.dir/__/src/stdexcept.cpp.o<br>
      Building CXX object
      lib/CMakeFiles/cxx.dir/__/src/bind.cpp.o                                                   
       <br>
      Building CXX object
      lib/CMakeFiles/cxx.dir/__/src/exception.cpp.o                                              
       <br>
      /home/mdriftmeyer/DeveloperProjects/LLVMProject/libcxx/src/exception.cpp:106:6:
      warning: uncaught_exception not  <br>
            yet implemented [-W#warnings]<br>
          #warning uncaught_exception not yet implemented<br>
           ^<br>
      /home/mdriftmeyer/DeveloperProjects/LLVMProject/libcxx/src/exception.cpp:143:6:
      warning: exception_ptr not yet   <br>
            implemented [-W#warnings]<br>
          #warning exception_ptr not yet implemented<br>
           ^<br>
      /home/mdriftmeyer/DeveloperProjects/LLVMProject/libcxx/src/exception.cpp:154:6:
      warning: exception_ptr not yet   <br>
            implemented [-W#warnings]<br>
          #warning exception_ptr not yet implemented<br>
           ^<br>
      /home/mdriftmeyer/DeveloperProjects/LLVMProject/libcxx/src/exception.cpp:170:6:
      warning: exception_ptr not yet   <br>
            implemented [-W#warnings]<br>
          #warning exception_ptr not yet implemented<br>
           ^<br>
      /home/mdriftmeyer/DeveloperProjects/LLVMProject/libcxx/src/exception.cpp:204:6:
      warning: exception_ptr not yet   <br>
            implemented [-W#warnings]<br>
          #warning exception_ptr not yet implemented<br>
           ^<br>
      /home/mdriftmeyer/DeveloperProjects/LLVMProject/libcxx/src/exception.cpp:217:6:
      warning: exception_ptr not yet   <br>
            implemented [-W#warnings]<br>
          #warning exception_ptr not yet implemented<br>
           ^<br>
      6 warnings
      generated.                                                                                          
       <br>
      [ 16%] Building CXX object
      lib/CMakeFiles/cxx.dir/__/src/algorithm.cpp.o<br>
      [ 20%] Building CXX object
      lib/CMakeFiles/cxx.dir/__/src/mutex.cpp.o                                           
       <br>
      [ 25%] Building CXX object
      lib/CMakeFiles/cxx.dir/__/src/ios.cpp.o                                             
       <br>
      [ 29%] Building CXX object
      lib/CMakeFiles/cxx.dir/__/src/new.cpp.o                                             
       <br>
      [ 33%] Building CXX object
      lib/CMakeFiles/cxx.dir/__/src/strstream.cpp.o                                       
       <br>
      [ 37%] Building CXX object
      lib/CMakeFiles/cxx.dir/__/src/string.cpp.o                                          
       <br>
      [ 41%] Building CXX object
      lib/CMakeFiles/cxx.dir/__/src/thread.cpp.o                                          
       <br>
      [ 45%] Building CXX object
      lib/CMakeFiles/cxx.dir/__/src/iostream.cpp.o                                        
       <br>
      [ 50%] Building CXX object
      lib/CMakeFiles/cxx.dir/__/src/future.cpp.o                                          
       <br>
      [ 54%] Building CXX object
      lib/CMakeFiles/cxx.dir/__/src/chrono.cpp.o                                          
       <br>
      [ 58%] Building CXX object
      lib/CMakeFiles/cxx.dir/__/src/system_error.cpp.o                                    
       <br>
      [ 62%] Building CXX object
      lib/CMakeFiles/cxx.dir/__/src/regex.cpp.o                                           
       <br>
      [ 66%] Building CXX object
      lib/CMakeFiles/cxx.dir/__/src/utility.cpp.o                                         
       <br>
      [ 70%] Building CXX object
      lib/CMakeFiles/cxx.dir/__/src/hash.cpp.o                                            
       <br>
      [ 75%] Building CXX object
      lib/CMakeFiles/cxx.dir/__/src/locale.cpp.o                                          
       <br>
      [ 79%] Building CXX object
      lib/CMakeFiles/cxx.dir/__/src/typeinfo.cpp.o                                        
       <br>
      [ 83%] Building CXX object
      lib/CMakeFiles/cxx.dir/__/src/random.cpp.o                                          
       <br>
      [ 87%] Building CXX object
      lib/CMakeFiles/cxx.dir/__/src/valarray.cpp.o                                        
       <br>
      [ 91%] Building CXX object
      lib/CMakeFiles/cxx.dir/__/src/memory.cpp.o                                          
       <br>
      [ 95%] [100%] Building CXX object
      lib/CMakeFiles/cxx.dir/__/src/debug.cpp.o                                    
       <br>
      Building CXX object
      lib/CMakeFiles/cxx.dir/__/src/condition_variable.cpp.o                                     
       <br>
      Linking CXX shared library
      libc++.so                                                                           
       <br>
      clang-3: warning: argument unused during compilation:
      '-nodefaultlibs'                                           <br>
      [100%] Built target cxx<br>
    </blockquote>
    <br>
    <b>Libc++ under /trunk/llvm/projects:</b> If I bring this back into
    llvm trunk and it's /projects where compiler-rt is also under the
    first time I build llvm/clang [assuming no clang/clang++ generated
    from trunk] I get what I expect [<b>libcxx failing to compile</b> as
    it's building against c++/gcc] so I have to ask:<br>
    <br>
    Won't clang have to be built earlier in the process and then run
    some sort of second pass to build libc++ against the newly built
    clang++/clang and if so it's clear the cmake files presently play
    hide and seek between clang/c++ and clang++/gcc?<br>
    <br>
    For now I'll just build llvm/clang and not even bother with libc++
    under my libcxx path adjacent to my llvm/clang trunk path.<br>
    <br>
    - Marc<br>
    <br>
    <br>
    <div class="moz-signature">-- <br>
      Marc J. Driftmeyer<br>
      Email :: <a href="mailto:mjd@reanimality.com">mjd@reanimality.com</a><br>
      Web :: <a href="http://www.reanimality.com">http://www.reanimality.com</a><br>
      Cell :: (509) 435-5212
    </div>
  </body>
</html>