r212060 - Consider module depedencies when checking a preamble in libclang
Ulrich Weigand
Ulrich.Weigand at de.ibm.com
Mon Jul 7 08:17:59 PDT 2014
Ben Langmuir wrote:
+TEST_F(LibclangReparseTest, ReparseWithModule) {
This new test has been failing for me on powerpc64-linux:
[ RUN ] LibclangReparseTest.ReparseWithModule
/home/uweigand/llvm/llvm-head/tools/clang/unittests/libclang/LibclangTest.cpp:454:
Failure
Value of: clang_getNumDiagnostics(ClangTU)
Actual: 1
Expected: 0U
Which is: 0
[ FAILED ] LibclangReparseTest.ReparseWithModule (74 ms)
When I look at the diagnostics, I get:
"/tmp/libclang-test-6a8ede/MFile.m:2: error: variable has incomplete type
'struct Foo'"
And indeed running clang directly against the temporary files created by
the test case I get:
uweigand at bns:~> ./llvm/build/llvm-head-debug/Debug+Asserts/bin/clang
-fmodules -I /tmp/libclang-test-6a8ede /tmp/libclang-test-6a8ede/MFile.m
/tmp/libclang-test-6a8ede/MFile.m:2:25: error: variable has incomplete type
'struct Foo'
int main() { struct Foo foo; foo.bar = 7; foo.baz = 8; }
^
/tmp/libclang-test-6a8ede/MFile.m:2:21: note: forward declaration of
'struct Foo'
int main() { struct Foo foo; foo.bar = 7; foo.baz = 8; }
^
1 error generated.
Note that when I omit the -fmodules flag, I get another error, which is
presumably the one the test actually expects:
uweigand at bns:~> ./llvm/build/llvm-head-debug/Debug+Asserts/bin/clang
-I /tmp/libclang-test-6a8ede /tmp/libclang-test-6a8ede/MFile.m
/tmp/libclang-test-6a8ede/MFile.m:2:47: error: no member named 'baz' in
'struct Foo'; did you mean 'bar'?
int main() { struct Foo foo; foo.bar = 7; foo.baz = 8; }
^~~
bar
/tmp/libclang-test-6a8ede/HeaderFile.h:3:18: note: 'bar' declared here
struct Foo { int bar;
^
1 error generated.
I have no idea why this behavior would be in any way platform-specific ...
any thoughts?
Mit freundlichen Gruessen / Best Regards
Ulrich Weigand
--
Dr. Ulrich Weigand | Phone: +49-7031/16-3727
STSM, GNU/Linux compilers and toolchain
IBM Deutschland Research & Development GmbH
Vorsitzende des Aufsichtsrats: Martina Koederitz | Geschäftsführung: Dirk
Wittkopp
Sitz der Gesellschaft: Böblingen | Registergericht: Amtsgericht
Stuttgart, HRB 243294
More information about the cfe-commits
mailing list