https://llvm.org/bugs/show_bug.cgi?id=30508

            Bug ID: 30508
           Summary: modulemap umbrellas check for folder existence
           Product: clang
           Version: unspecified
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Modules
          Assignee: unassignedclangb...@nondot.org
          Reporter: vvasi...@cern.ch
                CC: dgre...@apple.com, llvm-bugs@lists.llvm.org
    Classification: Unclassified

cat T.cxx 
#include "A.h"
int i;

cat includes/A.h 
cat includes/module.modulemap 
module NonExistent1 {
  umbrella "NonExistent"
  module * { export * }
}

module NonExistent2 {
  module H1 { header "NonExistent/H1" export * }
  module H2 { header "NonExistent/H2" export * }
}

clang++ -I includes -fmodules -fsyntax-only T.cxx 
includes/module.modulemap:2:12: error: umbrella directory 'NonExistent' not
found umbrella "NonExistent"

If I comment out module NonExistent1 but leave NonExistent2 it compiles just
fine, even if the folder NonExistent does not exist.

IMO, the umbrella module NonExistent1 should behave as NonExistent2, i.e. not
complain if the folder doesn't exist.

This would help users (including our frameworks) shorten the modulemaps, adding
umbrella modules for optional components.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to