Home | History | Annotate | Download | only in Modules
      1 // RUN: rm -rf %t
      2 
      3 // Build PCH using A from path 1
      4 // RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -I %S/Inputs/modules-with-same-name/DependsOnA -I %S/Inputs/modules-with-same-name/path1/A -emit-pch -o %t-A.pch %s
      5 
      6 // Use the PCH with the same header search options; should be fine
      7 // RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -I %S/Inputs/modules-with-same-name/DependsOnA -I %S/Inputs/modules-with-same-name/path1/A -include-pch %t-A.pch %s -fsyntax-only -Werror
      8 
      9 // Different -W options are ok
     10 // RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -I %S/Inputs/modules-with-same-name/DependsOnA -I %S/Inputs/modules-with-same-name/path1/A -include-pch %t-A.pch %s -fsyntax-only -Werror -Wauto-import
     11 
     12 // Use the PCH with no way to resolve DependsOnA
     13 // RUN: not %clang_cc1 -fmodules -fmodules-cache-path=%t -include-pch %t-A.pch %s -fsyntax-only 2>&1 | FileCheck -check-prefix=CHECK-NODOA %s
     14 // CHECK-NODOA: module 'DependsOnA' imported by AST file '{{.*A.pch}}' not found
     15 
     16 // Use the PCH with no way to resolve A
     17 // RUN: not %clang_cc1 -fmodules -fmodules-cache-path=%t -I %S/Inputs/modules-with-same-name/DependsOnA -include-pch %t-A.pch %s -fsyntax-only 2>&1 | FileCheck -check-prefix=CHECK-NOA %s
     18 // CHECK-NOA: module 'A' imported by AST file '{{.*DependsOnA.*pcm}}' not found
     19 
     20 // Use the PCH and have it resolve the the other A
     21 // RUN: not %clang_cc1 -fmodules -fmodules-cache-path=%t -I %S/Inputs/modules-with-same-name/DependsOnA -I %S/Inputs/modules-with-same-name/path2/A -include-pch %t-A.pch %s -fsyntax-only 2>&1 | FileCheck -check-prefix=CHECK-WRONGA %s
     22 // CHECK-WRONGA: module 'A' imported by AST file '{{.*DependsOnA.*pcm}}' found in a different module map file ({{.*path2.*}}) than when the importing AST file was built ({{.*path1.*}})
     23 
     24 #ifndef HEADER
     25 #define HEADER
     26 @import DependsOnA;
     27 #endif
     28