<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p><br>
    </p>
    <br>
    <div class="moz-cite-prefix">Le 23/07/2017 à 18:34, Richard Smith a
      écrit :<br>
    </div>
    <blockquote
cite="mid:CAOfiQqkvDJ0cU22FpsF58EuRQ7vsFP6gaBN4E+vp3bWvr7w6aA@mail.gmail.com"
      type="cite">
      <div dir="auto">
        <div>
          <div class="gmail_extra">
            <div class="gmail_quote">On 22 Jul 2017 12:52 pm, "zosrothko
              via cfe-dev" <<a moz-do-not-send="true"
                href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a>>
              wrote:<br type="attribution">
              <blockquote class="quote" style="margin:0 0 0
                .8ex;border-left:1px #ccc solid;padding-left:1ex">
                <div bgcolor="#FFFFFF" text="#000000">
                  <div class="quoted-text">
                    <p><br>
                    </p>
                    <br>
                    <div class="m_-6104735786181288816moz-cite-prefix">Le
                      22/07/2017 à 15:07, Richard Smith a écrit :<br>
                    </div>
                    <blockquote type="cite">
                      <div dir="auto">Based on the errors, I would guess
                        that the offsetof macro is not defined. Maybe
                        there's something wrong with your include path?</div>
                    </blockquote>
                  </div>
                  Thanks for answering, but this code compiles fine with
                  this command below, thus I do not understand your
                  point on the include path? (there is no private
                  includes in this code)<br>
                  <br>
                  clang++-3.8 -std=c++11 bug.cpp</div>
              </blockquote>
            </div>
          </div>
        </div>
        <div dir="auto"><br>
        </div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">Include path problems can show up with
          -stdlib=libc++ because it changes the include path, and
          because libc++ makes different use of #include_next than
          libstdc++. Please add -v to the failing command and tell us
          the include path that is printed.</div>
      </div>
    </blockquote>
    <br>
    The verbose option on the command that is ok.<br>
    fandre@ubuntu-trusty-64:~/clang$ clang++-3.8 -std=c++11 -v  bug.cpp<br>
    clang version 3.8.0-2ubuntu3~trusty4 (tags/RELEASE_380/final)<br>
    Target: x86_64-unknown-linux-gnu<br>
    Thread model: posix<br>
    InstalledDir: /usr/bin<br>
    Found candidate GCC installation:
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8<br>
    Found candidate GCC installation:
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8.5<br>
    Found candidate GCC installation:
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9<br>
    Found candidate GCC installation:
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9.4<br>
    Found candidate GCC installation:
    /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.1<br>
    Found candidate GCC installation:
    /usr/bin/../lib/gcc/x86_64-linux-gnu/7.1.0<br>
    Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8<br>
    Found candidate GCC installation:
    /usr/lib/gcc/x86_64-linux-gnu/4.8.5<br>
    Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9<br>
    Found candidate GCC installation:
    /usr/lib/gcc/x86_64-linux-gnu/4.9.4<br>
    Found candidate GCC installation:
    /usr/lib/gcc/x86_64-linux-gnu/5.4.1<br>
    Found candidate GCC installation:
    /usr/lib/gcc/x86_64-linux-gnu/7.1.0<br>
    Selected GCC installation:
    /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.1<br>
    Candidate multilib: .;@m64<br>
    Selected multilib: .;@m64<br>
     "/usr/lib/llvm-3.8/bin/clang" -cc1 -triple x86_64-unknown-linux-gnu
    -emit-obj -mrelax-all -disable-free -disable-llvm-verifier
    -main-file-name bug.cpp -mrelocation-model static -mthread-model
    posix -mdisable-fp-elim -fmath-errno -masm-verbose
    -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu
    x86-64 -v -dwarf-column-info -debugger-tuning=gdb -resource-dir
    /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0 -internal-isystem
    /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.1/../../../../include/c++/5.4.1
    -internal-isystem
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.1/../../../../include/x86_64-linux-gnu/c++/5.4.1
    -internal-isystem
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.1/../../../../include/x86_64-linux-gnu/c++/5.4.1
    -internal-isystem
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.1/../../../../include/c++/5.4.1/backward
    -internal-isystem /usr/local/include -internal-isystem
    /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include
    -internal-externc-isystem /usr/include/x86_64-linux-gnu
    -internal-externc-isystem /include -internal-externc-isystem
    /usr/include -std=c++11 -fdeprecated-macro -fdebug-compilation-dir
    /home/fandre/clang -ferror-limit 19 -fmessage-length 158
    -fobjc-runtime=gcc -fcxx-exceptions -fexceptions
    -fdiagnostics-show-option -fcolor-diagnostics -o /tmp/bug-70ad74.o
    -x c++ bug.cpp<br>
    clang -cc1 version 3.8.0 based upon LLVM 3.8.0 default target
    x86_64-unknown-linux-gnu<br>
    ignoring nonexistent directory "/include"<br>
    ignoring duplicate directory
"/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.1/../../../../include/x86_64-linux-gnu/c++/5.4.1"<br>
    #include "..." search starts here:<br>
    #include <...> search starts here:<br>
 /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.1/../../../../include/c++/5.4.1<br>
 /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.1/../../../../include/x86_64-linux-gnu/c++/5.4.1<br>
 /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.1/../../../../include/c++/5.4.1/backward<br>
     /usr/local/include<br>
     /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include<br>
     /usr/include/x86_64-linux-gnu<br>
     /usr/include<br>
    End of search list.<br>
     "/usr/bin/ld" -z relro --hash-style=gnu --build-id --eh-frame-hdr
    -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o a.out
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.1/../../../x86_64-linux-gnu/crt1.o
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.1/../../../x86_64-linux-gnu/crti.o
    /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.1/crtbegin.o
    -L/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.1
    -L/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.1/../../../x86_64-linux-gnu
    -L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu
    -L/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.1/../../..
    -L/usr/lib/llvm-3.8/bin/../lib -L/lib -L/usr/lib /tmp/bug-70ad74.o
    -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc
    /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.1/crtend.o
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.1/../../../x86_64-linux-gnu/crtn.o<br>
    fandre@ubuntu-trusty-64:~/clang$<br>
    <br>
    <blockquote
cite="mid:CAOfiQqkvDJ0cU22FpsF58EuRQ7vsFP6gaBN4E+vp3bWvr7w6aA@mail.gmail.com"
      type="cite">
      <div dir="auto">
        <div dir="auto">
          <div class="gmail_extra">
            <div class="gmail_quote">
              <blockquote class="quote" style="margin:0 0 0
                .8ex;border-left:1px #ccc solid;padding-left:1ex">
                <div bgcolor="#FFFFFF" text="#000000">
                  <div class="elided-text">
                    <blockquote type="cite">
                      <div class="gmail_extra">
                        <div class="gmail_quote">On 22 Jul 2017 3:54 am,
                          "zosrothko via cfe-dev" <<a
                            moz-do-not-send="true"
                            href="mailto:cfe-dev@lists.llvm.org"
                            target="_blank">cfe-dev@lists.llvm.org</a>>
                          wrote:<br type="attribution">
                          <blockquote class="gmail_quote"
                            style="margin:0 0 0 .8ex;border-left:1px
                            #ccc solid;padding-left:1ex">
                            <div bgcolor="#FFFFFF" text="#000000"> Hello
                              CFE list<br>
                              <br>
                              Sorry to post again this post, but I am
                              really stacked on this problem.<br>
                              <br>
                              I have an issue compiling a small c++
                              program with clang++-3.8 on Ubuntu trusty<br>
                              <br>
                              Using the joined c++ program bug.cpp, <br>
                              <ul>
                                <li>clang++-3.8 -std=c++11 bug.cpp
                                  compiles fine while</li>
                                <li>clang++-3.8 -std=c++11
                                  -stdlib=libc++ bug.cpp produces
                                  invalid compile errors.</li>
                              </ul>
                              <br>
                              What could be the problem and how can it
                              be solved?<br>
                              <br>
                              TIA<br>
                              <br>
                              fandre@ubuntu-trusty-64:~/clan<wbr>g$
                              uname -a<br>
                              Linux ubuntu-trusty-64 4.4.0-83-generic
                              #106~14.04.1-Ubuntu SMP Mon Jun 26
                              18:10:19 UTC 2017 x86_64 x86_64 x86_64
                              GNU/Linux<br>
                              fandre@ubuntu-trusty-64:~/clan<wbr>g$
                              clang++-3.8 --version<br>
                              clang version 3.8.0-2ubuntu3~trusty4
                              (tags/RELEASE_380/final)<br>
                              Target: x86_64-unknown-linux-gnu<br>
                              Thread model: posix<br>
                              InstalledDir: /usr/bin<br>
                              <br>
                              Below is the console log<br>
                              <br>
                              fandre@ubuntu-trusty-64:~/clan<wbr>g$
                              clang++-3.8 -std=c++11 bug.cpp<br>
                              fandre@ubuntu-trusty-64:~/clan<wbr>g$
                              clang++-3.8 -std=c++11 -stdlib=libc++
                              bug.cpp<br>
                              bug.cpp:56:88: error: 'Header' does not
                              refer to a value<br>
                               typedef poco_static_assert_test<sizeof<wbr>(POCO_STATIC_ASSERTION_FAILURE<wbr><(bool)
                              (offsetof(Header, code) == 0x01)>)>
                              poco_...<br>
                                                            <wbr>                              <wbr>                          
                              ^<br>
                              bug.cpp:45:9: note: declared here<br>
                               struct Header<br>
                                      ^<br>
                              bug.cpp:56:96: error: use of undeclared
                              identifier 'code'<br>
                               typedef poco_static_assert_test<sizeof<wbr>(POCO_STATIC_ASSERTION_FAILURE<wbr><(bool)
                              (offsetof(Header, code) == 0x01)>)>
                              poco_...<br>
                                                            <wbr>                              <wbr>                              <wbr>    
                              ^<br>
                              bug.cpp:56:111: error: type name requires
                              a specifier or qualifier<br>
                               typedef poco_static_assert_test<sizeof<wbr>(POCO_STATIC_ASSERTION_FAILURE<wbr><(bool)
                              (offsetof(Header, code) == 0x01)>)>
                              poco_...<br>
                                                            <wbr>                              <wbr>                              <wbr>                   
                              ^<br>
                              bug.cpp:57:88: error: 'Header' does not
                              refer to a value<br>
                               typedef poco_static_assert_test<sizeof<wbr>(POCO_STATIC_ASSERTION_FAILURE<wbr><(bool)
                              (offsetof(Header, checksum) ==
                              0x02)>)> p...<br>
                                                            <wbr>                              <wbr>                          
                              ^<br>
                              bug.cpp:45:9: note: declared here<br>
                               struct Header<br>
                                      ^<br>
                              bug.cpp:57:96: error: use of undeclared
                              identifier 'checksum'<br>
                               typedef poco_static_assert_test<sizeof<wbr>(POCO_STATIC_ASSERTION_FAILURE<wbr><(bool)
                              (offsetof(Header, checksum) ==
                              0x02)>)> p...<br>
                                                            <wbr>                              <wbr>                              <wbr>    
                              ^<br>
                              bug.cpp:57:115: error: type name requires
                              a specifier or qualifier<br>
                                ...poco_static_assert_test<siz<wbr>eof(POCO_STATIC_ASSERTION_FAIL<wbr>URE<(bool)
                              (offsetof(Header, checksum) ==
                              0x02)>)> poco_stati...<br>
                                                            <wbr>                              <wbr>                              <wbr>                   
                              ^<br>
                              bug.cpp:58:88: error: 'Header' does not
                              refer to a value<br>
                               typedef poco_static_assert_test<sizeof<wbr>(POCO_STATIC_ASSERTION_FAILURE<wbr><(bool)
                              (offsetof(Header, id) == 0x04)>)>
                              poco_st...<br>
                                                            <wbr>                              <wbr>                          
                              ^<br>
                              bug.cpp:45:9: note: declared here<br>
                               struct Header<br>
                                      ^<br>
                              bug.cpp:58:96: error: use of undeclared
                              identifier 'id'<br>
                               typedef poco_static_assert_test<sizeof<wbr>(POCO_STATIC_ASSERTION_FAILURE<wbr><(bool)
                              (offsetof(Header, id) == 0x04)>)>
                              poco_st...<br>
                                                            <wbr>                              <wbr>                              <wbr>    
                              ^<br>
                              bug.cpp:58:109: error: type name requires
                              a specifier or qualifier<br>
                               typedef poco_static_assert_test<sizeof<wbr>(POCO_STATIC_ASSERTION_FAILURE<wbr><(bool)
                              (offsetof(Header, id) == 0x04)>)>
                              poco_st...<br>
                                                            <wbr>                              <wbr>                              <wbr>                 
                              ^<br>
                              bug.cpp:59:88: error: 'Header' does not
                              refer to a value<br>
                               typedef poco_static_assert_test<sizeof<wbr>(POCO_STATIC_ASSERTION_FAILURE<wbr><(bool)
                              (offsetof(Header, seq) == 0x06)>)>
                              poco_s...<br>
                                                            <wbr>                              <wbr>                          
                              ^<br>
                              bug.cpp:45:9: note: declared here<br>
                               struct Header<br>
                                      ^<br>
                              bug.cpp:59:96: error: use of undeclared
                              identifier 'seq'<br>
                               typedef poco_static_assert_test<sizeof<wbr>(POCO_STATIC_ASSERTION_FAILURE<wbr><(bool)
                              (offsetof(Header, seq) == 0x06)>)>
                              poco_s...<br>
                                                            <wbr>                              <wbr>                              <wbr>    
                              ^<br>
                              bug.cpp:59:110: error: type name requires
                              a specifier or qualifier<br>
                               typedef poco_static_assert_test<sizeof<wbr>(POCO_STATIC_ASSERTION_FAILURE<wbr><(bool)
                              (offsetof(Header, seq) == 0x06)>)>
                              poco_s...<br>
                                                            <wbr>                              <wbr>                              <wbr>                  
                              ^<br>
                              12 errors generated.<br>
                              fandre@ubuntu-trusty-64:~/clan<wbr>g$ cp
                              bug.cpp ../shared<br>
                              fandre@ubuntu-trusty-64:~/clan<wbr>g$
                              clang++-3.8 -std=c++11 bug.cpp<br>
                              fandre@ubuntu-trusty-64:~/clan<wbr>g$
                              clang++-3.8 -std=c++11 -stdlib=libc++
                              bug.cpp<br>
                              bug.cpp:56:88: error: 'Header' does not
                              refer to a value<br>
                               typedef poco_static_assert_test<sizeof<wbr>(POCO_STATIC_ASSERTION_FAILURE<wbr><(bool)
                              (offsetof(Header, code) == 0x01)>)>
                              poco_...<br>
                                                            <wbr>                              <wbr>                          
                              ^<br>
                              bug.cpp:45:9: note: declared here<br>
                               struct Header<br>
                                      ^<br>
                              bug.cpp:56:96: error: use of undeclared
                              identifier 'code'<br>
                               typedef poco_static_assert_test<sizeof<wbr>(POCO_STATIC_ASSERTION_FAILURE<wbr><(bool)
                              (offsetof(Header, code) == 0x01)>)>
                              poco_...<br>
                                                            <wbr>                              <wbr>                              <wbr>    
                              ^<br>
                              bug.cpp:56:111: error: type name requires
                              a specifier or qualifier<br>
                               typedef poco_static_assert_test<sizeof<wbr>(POCO_STATIC_ASSERTION_FAILURE<wbr><(bool)
                              (offsetof(Header, code) == 0x01)>)>
                              poco_...<br>
                                                            <wbr>                              <wbr>                              <wbr>                   
                              ^<br>
                              bug.cpp:57:88: error: 'Header' does not
                              refer to a value<br>
                               typedef poco_static_assert_test<sizeof<wbr>(POCO_STATIC_ASSERTION_FAILURE<wbr><(bool)
                              (offsetof(Header, checksum) ==
                              0x02)>)> p...<br>
                                                            <wbr>                              <wbr>                          
                              ^<br>
                              bug.cpp:45:9: note: declared here<br>
                               struct Header<br>
                                      ^<br>
                              bug.cpp:57:96: error: use of undeclared
                              identifier 'checksum'<br>
                               typedef poco_static_assert_test<sizeof<wbr>(POCO_STATIC_ASSERTION_FAILURE<wbr><(bool)
                              (offsetof(Header, checksum) ==
                              0x02)>)> p...<br>
                                                            <wbr>                              <wbr>                              <wbr>    
                              ^<br>
                              bug.cpp:57:115: error: type name requires
                              a specifier or qualifier<br>
                                ...poco_static_assert_test<siz<wbr>eof(POCO_STATIC_ASSERTION_FAIL<wbr>URE<(bool)
                              (offsetof(Header, checksum) ==
                              0x02)>)> poco_stati...<br>
                                                            <wbr>                              <wbr>                              <wbr>                   
                              ^<br>
                              bug.cpp:58:88: error: 'Header' does not
                              refer to a value<br>
                               typedef poco_static_assert_test<sizeof<wbr>(POCO_STATIC_ASSERTION_FAILURE<wbr><(bool)
                              (offsetof(Header, id) == 0x04)>)>
                              poco_st...<br>
                                                            <wbr>                              <wbr>                          
                              ^<br>
                              bug.cpp:45:9: note: declared here<br>
                               struct Header<br>
                                      ^<br>
                              bug.cpp:58:96: error: use of undeclared
                              identifier 'id'<br>
                               typedef poco_static_assert_test<sizeof<wbr>(POCO_STATIC_ASSERTION_FAILURE<wbr><(bool)
                              (offsetof(Header, id) == 0x04)>)>
                              poco_st...<br>
                                                            <wbr>                              <wbr>                              <wbr>    
                              ^<br>
                              bug.cpp:58:109: error: type name requires
                              a specifier or qualifier<br>
                               typedef poco_static_assert_test<sizeof<wbr>(POCO_STATIC_ASSERTION_FAILURE<wbr><(bool)
                              (offsetof(Header, id) == 0x04)>)>
                              poco_st...<br>
                                                            <wbr>                              <wbr>                              <wbr>                 
                              ^<br>
                              bug.cpp:59:88: error: 'Header' does not
                              refer to a value<br>
                               typedef poco_static_assert_test<sizeof<wbr>(POCO_STATIC_ASSERTION_FAILURE<wbr><(bool)
                              (offsetof(Header, seq) == 0x06)>)>
                              poco_s...<br>
                                                            <wbr>                              <wbr>                          
                              ^<br>
                              bug.cpp:45:9: note: declared here<br>
                               struct Header<br>
                                      ^<br>
                              bug.cpp:59:96: error: use of undeclared
                              identifier 'seq'<br>
                               typedef poco_static_assert_test<sizeof<wbr>(POCO_STATIC_ASSERTION_FAILURE<wbr><(bool)
                              (offsetof(Header, seq) == 0x06)>)>
                              poco_s...<br>
                                                            <wbr>                              <wbr>                              <wbr>    
                              ^<br>
                              bug.cpp:59:110: error: type name requires
                              a specifier or qualifier<br>
                               typedef poco_static_assert_test<sizeof<wbr>(POCO_STATIC_ASSERTION_FAILURE<wbr><(bool)
                              (offsetof(Header, seq) == 0x06)>)>
                              poco_s...<br>
                                                            <wbr>                              <wbr>                              <wbr>                  
                              ^<br>
                              12 errors generated.<br>
                              fandre@ubuntu-trusty-64:~/clan<wbr>g$<br>
                              <br>
                            </div>
                            <br>
                            ______________________________<wbr>_________________<br>
                            cfe-dev mailing list<br>
                            <a moz-do-not-send="true"
                              href="mailto:cfe-dev@lists.llvm.org"
                              target="_blank">cfe-dev@lists.llvm.org</a><br>
                            <a moz-do-not-send="true"
                              href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev"
                              rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/cfe-dev</a><br>
                            <br>
                          </blockquote>
                        </div>
                      </div>
                    </blockquote>
                    <br>
                  </div>
                </div>
                <br>
                ______________________________<wbr>_________________<br>
                cfe-dev mailing list<br>
                <a moz-do-not-send="true"
                  href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a><br>
                <a moz-do-not-send="true"
                  href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev"
                  rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/cfe-dev</a><br>
                <br>
              </blockquote>
            </div>
            <br>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
  </body>
</html>