[cfe-dev] BUILD_SHARED_LIBS=True breaks some tests

Joel E. Denny via cfe-dev cfe-dev at lists.llvm.org
Wed Jan 9 13:01:02 PST 2019


On Wed, Jan 9, 2019 at 3:34 PM Kim Gräsman <kim.grasman at gmail.com> wrote:

> On Wed, Jan 9, 2019 at 4:40 PM Joel E. Denny <jdenny.ornl at gmail.com>
> wrote:
> >
> > On Wed, Jan 9, 2019 at 1:59 AM Kim Gräsman <kim.grasman at gmail.com>
> wrote:
> >>
> >> Can you dig out more details around why it fails?
> >
> > Sure, here's the lit output for the first three:
> >
> > ```
> > FAIL: Clang :: CXX/modules-ts/basic/basic.link/p2/module.cpp (1149 of
> 13760)
> > ******************** TEST 'Clang ::
> CXX/modules-ts/basic/basic.link/p2/module.cpp' FAILED ********************
> > Script:
> > --
> > : 'RUN: at line 1';   /home/jdenny/ornl/llvm-mono-git-build/bin/clang
> -cc1 -internal-isystem
> /home/jdenny/ornl/llvm-mono-git-build/lib/clang/8.0.0/include
> -nostdsysteminc -std=c++1z -fmodules-ts
> /home/jdenny/ornl/llvm-mono-git/clang/test/CXX/modules-ts/basic/basic.link/p2/module.cppm
> -emit-module-interface -o
> /home/jdenny/ornl/llvm-mono-git-build/tools/clang/test/CXX/modules-ts/basic/basic.link/p2/Output/module.cpp.tmp
> > : 'RUN: at line 2';   /home/jdenny/ornl/llvm-mono-git-build/bin/clang
> -cc1 -internal-isystem
> /home/jdenny/ornl/llvm-mono-git-build/lib/clang/8.0.0/include
> -nostdsysteminc -std=c++1z -fmodules-ts
> -fmodule-file=/home/jdenny/ornl/llvm-mono-git-build/tools/clang/test/CXX/modules-ts/basic/basic.link/p2/Output/module.cpp.tmp
> /home/jdenny/ornl/llvm-mono-git/clang/test/CXX/modules-ts/basic/basic.link/p2/module.cpp
> -verify
> > --
> > Exit Code: 1
> >
> > Command Output (stderr):
> > --
> > error: 'error' diagnostics seen but not expected:
> >   File
> /home/jdenny/ornl/llvm-mono-git/clang/test/CXX/modules-ts/basic/basic.link/p2/module.cpp
> Line 13: expected ';' after expression
> >   File
> /home/jdenny/ornl/llvm-mono-git/clang/test/CXX/modules-ts/basic/basic.link/p2/module.cpp
> Line 13: use of undeclared identifier 'internal_linkage_class'
> > 2 errors generated.
>
> This doesn't make sense to me -- why would a shared build have
> different runtime behavior from a static build? I was expecting a
> symbol resolution failure of some kind, but this looks like the
> compiler comes out broken somehow.
>

> The IWYU build fails on a plain undefined reference:
>
> https://github.com/include-what-you-use/include-what-you-use/pull/632#issuecomment-452011176
>
> Not sure if these are at all related, but the PCH failures piqued my
> interest.
>

I'm not sure if it helps you at this point, but here's the lit output for
the remaining failures, most of which are PCH, and all of which represent
behavior changes:

```
FAIL: Clang :: Modules/using-directive.cpp (6307 of 13760)
******************** TEST 'Clang :: Modules/using-directive.cpp' FAILED
********************
Script:
--
: 'RUN: at line 1';   /home/jdenny/ornl/llvm-mono-git-build/bin/clang -cc1
-internal-isystem
/home/jdenny/ornl/llvm-mono-git-build/lib/clang/8.0.0/include
-nostdsysteminc -fmodules -fmodules-local-submodule-visibility
-fno-modules-error-recovery -fno-spell-checking -verify
/home/jdenny/ornl/llvm-mono-git/clang/test/Modules/using-directive.cpp
--
Exit Code: 1

Command Output (stderr):
--
error: 'error' diagnostics seen but not expected:
  File
/home/jdenny/ornl/llvm-mono-git/clang/test/Modules/using-directive.cpp Line
41: no member named 'n' in namespace 'c'
  File
/home/jdenny/ornl/llvm-mono-git/clang/test/Modules/using-directive.cpp Line
47: use of undeclared identifier 'n'
  File
/home/jdenny/ornl/llvm-mono-git/clang/test/Modules/using-directive.cpp Line
52: use of undeclared identifier 'n'
  File
/home/jdenny/ornl/llvm-mono-git/clang/test/Modules/using-directive.cpp Line
53: no member named 'n' in the global namespace
  File
/home/jdenny/ornl/llvm-mono-git/clang/test/Modules/using-directive.cpp Line
55: no member named 'n' in namespace 'c'
  File
/home/jdenny/ornl/llvm-mono-git/clang/test/Modules/using-directive.cpp Line
61: use of undeclared identifier 'n'
6 errors generated.

--

********************
FAIL: Clang :: PCH/chain-late-anonymous-namespace.cpp (7180 of 13760)
******************** TEST 'Clang :: PCH/chain-late-anonymous-namespace.cpp'
FAILED ********************
Script:
--
: 'RUN: at line 2';   /home/jdenny/ornl/llvm-mono-git-build/bin/clang -cc1
-internal-isystem
/home/jdenny/ornl/llvm-mono-git-build/lib/clang/8.0.0/include
-nostdsysteminc -include
/home/jdenny/ornl/llvm-mono-git/clang/test/PCH/chain-late-anonymous-namespace.cpp
-include
/home/jdenny/ornl/llvm-mono-git/clang/test/PCH/chain-late-anonymous-namespace.cpp
-fsyntax-only
/home/jdenny/ornl/llvm-mono-git/clang/test/PCH/chain-late-anonymous-namespace.cpp
: 'RUN: at line 4';   /home/jdenny/ornl/llvm-mono-git-build/bin/clang -cc1
-internal-isystem
/home/jdenny/ornl/llvm-mono-git-build/lib/clang/8.0.0/include
-nostdsysteminc -chain-include
/home/jdenny/ornl/llvm-mono-git/clang/test/PCH/chain-late-anonymous-namespace.cpp
-chain-include
/home/jdenny/ornl/llvm-mono-git/clang/test/PCH/chain-late-anonymous-namespace.cpp
-fsyntax-only
/home/jdenny/ornl/llvm-mono-git/clang/test/PCH/chain-late-anonymous-namespace.cpp
: 'RUN: at line 6';   /home/jdenny/ornl/llvm-mono-git-build/bin/clang -cc1
-internal-isystem
/home/jdenny/ornl/llvm-mono-git-build/lib/clang/8.0.0/include
-nostdsysteminc -chain-include
/home/jdenny/ornl/llvm-mono-git/clang/test/PCH/chain-late-anonymous-namespace.cpp
-chain-include
/home/jdenny/ornl/llvm-mono-git/clang/test/PCH/chain-late-anonymous-namespace.cpp
-fsyntax-only -fmodules
/home/jdenny/ornl/llvm-mono-git/clang/test/PCH/chain-late-anonymous-namespace.cpp
--
Exit Code: 1

Command Output (stderr):
--
/home/jdenny/ornl/llvm-mono-git/clang/test/PCH/chain-late-anonymous-namespace.cpp:43:11:
error: use of undeclared identifier 'x'
    (void)x;
          ^
/home/jdenny/ornl/llvm-mono-git/clang/test/PCH/chain-late-anonymous-namespace.cpp:51:9:
error: use of undeclared identifier 'y'
  (void)y;
        ^
/home/jdenny/ornl/llvm-mono-git/clang/test/PCH/chain-late-anonymous-namespace.cpp:59:11:
error: use of undeclared identifier 'z'
    (void)z;
          ^
3 errors generated.

--

********************
FAIL: Clang :: PCH/cxx-namespaces.cpp (7215 of 13760)
******************** TEST 'Clang :: PCH/cxx-namespaces.cpp' FAILED
********************
Script:
--
: 'RUN: at line 2';   /home/jdenny/ornl/llvm-mono-git-build/bin/clang -cc1
-internal-isystem
/home/jdenny/ornl/llvm-mono-git-build/lib/clang/8.0.0/include
-nostdsysteminc -include
/home/jdenny/ornl/llvm-mono-git/clang/test/PCH/cxx-namespaces.h
-fsyntax-only -verify
/home/jdenny/ornl/llvm-mono-git/clang/test/PCH/cxx-namespaces.cpp
: 'RUN: at line 5';   /home/jdenny/ornl/llvm-mono-git-build/bin/clang -cc1
-internal-isystem
/home/jdenny/ornl/llvm-mono-git-build/lib/clang/8.0.0/include
-nostdsysteminc -x c++-header -emit-pch -o
/home/jdenny/ornl/llvm-mono-git-build/tools/clang/test/PCH/Output/cxx-namespaces.cpp.tmp
/home/jdenny/ornl/llvm-mono-git/clang/test/PCH/cxx-namespaces.h
: 'RUN: at line 6';   /home/jdenny/ornl/llvm-mono-git-build/bin/clang -cc1
-internal-isystem
/home/jdenny/ornl/llvm-mono-git-build/lib/clang/8.0.0/include
-nostdsysteminc -include-pch
/home/jdenny/ornl/llvm-mono-git-build/tools/clang/test/PCH/Output/cxx-namespaces.cpp.tmp
-fsyntax-only -verify
/home/jdenny/ornl/llvm-mono-git/clang/test/PCH/cxx-namespaces.cpp
: 'RUN: at line 7';   /home/jdenny/ornl/llvm-mono-git-build/bin/clang -cc1
-internal-isystem
/home/jdenny/ornl/llvm-mono-git-build/lib/clang/8.0.0/include
-nostdsysteminc -include-pch
/home/jdenny/ornl/llvm-mono-git-build/tools/clang/test/PCH/Output/cxx-namespaces.cpp.tmp
-fsyntax-only -ast-dump-lookups -ast-dump-filter N
/home/jdenny/ornl/llvm-mono-git/clang/test/PCH/cxx-namespaces.cpp |
/home/jdenny/ornl/llvm-mono-git-build/bin/FileCheck
/home/jdenny/ornl/llvm-mono-git/clang/test/PCH/cxx-namespaces.cpp
: 'RUN: at line 10';   /home/jdenny/ornl/llvm-mono-git-build/bin/clang -cc1
-internal-isystem
/home/jdenny/ornl/llvm-mono-git-build/lib/clang/8.0.0/include
-nostdsysteminc -fmodules -x c++-header -emit-pch -o
/home/jdenny/ornl/llvm-mono-git-build/tools/clang/test/PCH/Output/cxx-namespaces.cpp.tmp
/home/jdenny/ornl/llvm-mono-git/clang/test/PCH/cxx-namespaces.h
: 'RUN: at line 11';   /home/jdenny/ornl/llvm-mono-git-build/bin/clang -cc1
-internal-isystem
/home/jdenny/ornl/llvm-mono-git-build/lib/clang/8.0.0/include
-nostdsysteminc -fmodules -include-pch
/home/jdenny/ornl/llvm-mono-git-build/tools/clang/test/PCH/Output/cxx-namespaces.cpp.tmp
-fsyntax-only -verify
/home/jdenny/ornl/llvm-mono-git/clang/test/PCH/cxx-namespaces.cpp
: 'RUN: at line 12';   /home/jdenny/ornl/llvm-mono-git-build/bin/clang -cc1
-internal-isystem
/home/jdenny/ornl/llvm-mono-git-build/lib/clang/8.0.0/include
-nostdsysteminc -fmodules -include-pch
/home/jdenny/ornl/llvm-mono-git-build/tools/clang/test/PCH/Output/cxx-namespaces.cpp.tmp
-fsyntax-only -ast-dump-lookups -ast-dump-filter N
/home/jdenny/ornl/llvm-mono-git/clang/test/PCH/cxx-namespaces.cpp |
/home/jdenny/ornl/llvm-mono-git-build/bin/FileCheck
/home/jdenny/ornl/llvm-mono-git/clang/test/PCH/cxx-namespaces.cpp
--
Exit Code: 1

Command Output (stderr):
--
error: 'error' diagnostics seen but not expected:
  File /home/jdenny/ornl/llvm-mono-git/clang/test/PCH/cxx-namespaces.cpp
Line 17: no member named 'x' in namespace 'N'
1 error generated.

--

********************
FAIL: Clang :: PCH/namespaces.cpp (7294 of 13760)
******************** TEST 'Clang :: PCH/namespaces.cpp' FAILED
********************
Script:
--
: 'RUN: at line 2';   /home/jdenny/ornl/llvm-mono-git-build/bin/clang -cc1
-internal-isystem
/home/jdenny/ornl/llvm-mono-git-build/lib/clang/8.0.0/include
-nostdsysteminc -x c++ -include
/home/jdenny/ornl/llvm-mono-git/clang/test/PCH/Inputs/namespaces.h
-fsyntax-only /home/jdenny/ornl/llvm-mono-git/clang/test/PCH/namespaces.cpp
: 'RUN: at line 5';   /home/jdenny/ornl/llvm-mono-git-build/bin/clang -cc1
-internal-isystem
/home/jdenny/ornl/llvm-mono-git-build/lib/clang/8.0.0/include
-nostdsysteminc -x c++ -emit-pch -o
/home/jdenny/ornl/llvm-mono-git-build/tools/clang/test/PCH/Output/namespaces.cpp.tmp
/home/jdenny/ornl/llvm-mono-git/clang/test/PCH/Inputs/namespaces.h
: 'RUN: at line 6';   /home/jdenny/ornl/llvm-mono-git-build/bin/clang -cc1
-internal-isystem
/home/jdenny/ornl/llvm-mono-git-build/lib/clang/8.0.0/include
-nostdsysteminc -x c++ -include-pch
/home/jdenny/ornl/llvm-mono-git-build/tools/clang/test/PCH/Output/namespaces.cpp.tmp
-fsyntax-only /home/jdenny/ornl/llvm-mono-git/clang/test/PCH/namespaces.cpp
--
Exit Code: 1

Command Output (stderr):
--
/home/jdenny/ornl/llvm-mono-git/clang/test/PCH/namespaces.cpp:18:1: error:
unknown type name 't3'; did you mean 'N2::Inner::t3'?
t3 *ip5 = &int_val;
^~
N2::Inner::t3
/home/jdenny/ornl/llvm-mono-git/clang/test/PCH/Inputs/namespaces.h:19:17:
note: 'N2::Inner::t3' declared here
    typedef int t3;
                ^
/home/jdenny/ornl/llvm-mono-git/clang/test/PCH/namespaces.cpp:20:18: error:
use of undeclared identifier 'anon'
void(*funp1)() = anon;
                 ^
/home/jdenny/ornl/llvm-mono-git/clang/test/PCH/namespaces.cpp:25:1: error:
unknown type name 'C'
C* cp1;
^
/home/jdenny/ornl/llvm-mono-git/clang/test/PCH/namespaces.cpp:33:5: error:
no type named 'C' in namespace 'N3'
N3::C *cp2;
~~~~^
4 errors generated.

--
```

Joel


> - Kim
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20190109/946bd1cc/attachment-0001.html>


More information about the cfe-dev mailing list