This is an archive of the discontinued LLVM Phabricator instance.

redefinition of '__true_type' struct __true_type {}; - Bug 27991
ClosedPublic

Authored by CrisCristescu on Jun 15 2016, 10:17 AM.

Details

Reviewers
rsmith
Summary

There is an error when building self-hosted clang with modules:
/home/biancacr/clang_build_/src/tools/clang/test/Modules/Inputs/PR27991/vector:2:8: error: redefinition of 'true_type'
struct
true_type {};

^

This is cause by include cycles when building the module.
This patch solves the issue by creating only one module which contains both the files that created the cycle includes.

Diff Detail

Repository
rL LLVM

Event Timeline

CrisCristescu retitled this revision from to redefinition of '__true_type' struct __true_type {}; - Bug 27991.
CrisCristescu updated this object.
CrisCristescu set the repository for this revision to rL LLVM.
CrisCristescu added a project: Restricted Project.
CrisCristescu changed the visibility from "Public (No Login Required)" to "Custom Policy".
CrisCristescu changed the edit policy from "All Users" to "Custom Policy".
CrisCristescu changed the visibility from "Custom Policy" to "Public (No Login Required)".Jun 15 2016, 1:34 PM
CrisCristescu changed the edit policy from "Custom Policy" to "All Users".
rsmith accepted this revision.Jun 15 2016, 4:26 PM
rsmith added a reviewer: rsmith.

Makes sense to me.

This revision is now accepted and ready to land.Jun 15 2016, 4:26 PM
rsmith added inline comments.Jun 15 2016, 4:27 PM
include/llvm/module.modulemap
121–126

You should be able to remove all of these too.

v.g.vassilev closed this revision.Jun 16 2016, 1:08 AM

Landed in r272877.

include/llvm/module.modulemap
121–126

Done.