]> granicus.if.org Git - clang/commit
[modules] Fix a #include cycle when building a module for our builtin headers.
authorRichard Smith <richard-llvm@metafoo.co.uk>
Thu, 14 May 2015 00:45:20 +0000 (00:45 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Thu, 14 May 2015 00:45:20 +0000 (00:45 +0000)
commit560b361a406f10fcddd36007ce5ae6ded3558ded
tree0c576ddb2134c8077eb723e4bf5c3253279e84c0
parent94f811d5b2a39f6e91d3671e16bc9614f6c8a061
[modules] Fix a #include cycle when building a module for our builtin headers.

xmmintrin.h includes emmintrin.h and vice versa if SSE2 is enabled. We break
this cycle for a modules build, and instead make the xmmintrin.h module
re-export the immintrin.h module. Also included is a fix for an assert in the
serialization code if a module exports another module that was declared later
in the same module map.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@237321 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Headers/module.modulemap
lib/Headers/xmmintrin.h
lib/Serialization/ASTWriter.cpp
test/Headers/Inputs/include/stdlib.h [new file with mode: 0644]
test/Headers/xmmintrin.c