Issue 164029
Summary Framework modules cannot have textual headers in umbrella directories
Labels clang:modules
Assignees
Reporter Bigcheese
    Given:

```
framework module FW {
  umbrella "Headers"
  module * { export * }
  textual header "ignore.h"
}
```

Where the framework’s `Headers` directory contains `ignore.h` and other headers. Clang will still include `ignore.h` in the `<module-includes>` buffer. Non-framework modules do not have this issue.

This causes problems when other parts of the framework include `ignore.h`, as you can get duplicate definitions.

This may be caused by framework modules having more complicated semantics around the module directory. `header` decls are relative to the `Headers` directory, but `umbrella "Headers"` is relative to the framework directory.

Encountered as part of https://github.com/llvm/llvm-project/issues/158249
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to