Home | History | Annotate | Download | only in Modules
      1 // RUN: rm -rf %t
      2 // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -x objective-c++ -Eonly -fmodules-cache-path=%t -I %S/Inputs/submodules %s -verify
      3 // FIXME: When we have a syntax for modules in C++, use that.
      4 
      5 @import std.vector;
      6 
      7 #ifndef HAVE_VECTOR
      8 #  error HAVE_VECTOR macro is not available (but should be)
      9 #endif
     10 
     11 #ifdef HAVE_TYPE_TRAITS
     12 #  error HAVE_TYPE_TRAITS_MAP macro is available (but shouldn't be)
     13 #endif
     14 
     15 #ifdef HAVE_HASH_MAP
     16 #  error HAVE_HASH_MAP macro is available (but shouldn't be)
     17 #endif
     18 
     19 @import std.typetraits; // expected-error{{no submodule named 'typetraits' in module 'std'; did you mean 'type_traits'?}}
     20 
     21 #ifndef HAVE_VECTOR
     22 #  error HAVE_VECTOR macro is not available (but should be)
     23 #endif
     24 
     25 #ifndef HAVE_TYPE_TRAITS
     26 #  error HAVE_TYPE_TRAITS_MAP macro is not available (but should be)
     27 #endif
     28 
     29 #ifdef HAVE_HASH_MAP
     30 #  error HAVE_HASH_MAP macro is available (but shouldn't be)
     31 #endif
     32 
     33 @import std.vector.compare; // expected-error{{no submodule named 'compare' in module 'std.vector'}}
     34 
     35 @import std; // import everything in 'std'
     36 
     37 #ifndef HAVE_VECTOR
     38 #  error HAVE_VECTOR macro is not available (but should be)
     39 #endif
     40 
     41 #ifndef HAVE_TYPE_TRAITS
     42 #  error HAVE_TYPE_TRAITS_MAP macro is not available (but should be)
     43 #endif
     44 
     45 #ifdef HAVE_HASH_MAP
     46 #  error HAVE_HASH_MAP macro is available (but shouldn't be)
     47 #endif
     48 
     49 @import std.hash_map;
     50 
     51 #ifndef HAVE_VECTOR
     52 #  error HAVE_VECTOR macro is not available (but should be)
     53 #endif
     54 
     55 #ifndef HAVE_TYPE_TRAITS
     56 #  error HAVE_TYPE_TRAITS_MAP macro is not available (but should be)
     57 #endif
     58 
     59 #ifndef HAVE_HASH_MAP
     60 #  error HAVE_HASH_MAP macro is not available (but should be)
     61 #endif
     62