|  | @@ -56,19 +56,29 @@ void compare(const char* refName, const char* testName)
 | 
											
												
													
														|  |  int main()
 |  |  int main()
 | 
											
												
													
														|  |  {
 |  |  {
 | 
											
												
													
														|  |    {
 |  |    {
 | 
											
												
													
														|  | -    Libshared l;
 |  | 
 | 
											
												
													
														|  | -    l.libshared();
 |  | 
 | 
											
												
													
														|  | -    l.libshared_exported();
 |  | 
 | 
											
												
													
														|  | -    l.libshared_deprecated();
 |  | 
 | 
											
												
													
														|  | -    l.libshared_not_exported();
 |  | 
 | 
											
												
													
														|  | 
 |  | +    libshared::Class l;
 | 
											
												
													
														|  | 
 |  | +    // l.method(); LINK ERROR
 | 
											
												
													
														|  | 
 |  | +    l.method_exported();
 | 
											
												
													
														|  | 
 |  | +    // l.method_deprecated(); LINK ERROR
 | 
											
												
													
														|  | 
 |  | +    l.method_deprecated_exported();
 | 
											
												
													
														|  | 
 |  | +    // l.method_excluded(); LINK ERROR
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    // use_int(l.data); LINK ERROR
 | 
											
												
													
														|  | 
 |  | +    use_int(l.data_exported);
 | 
											
												
													
														|  | 
 |  | +    // use_int(l.data_excluded); LINK ERROR
 | 
											
												
													
														|  | 
 |  | +  }
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +  {
 | 
											
												
													
														|  | 
 |  | +    libshared::ExportedClass l;
 | 
											
												
													
														|  | 
 |  | +    l.method();
 | 
											
												
													
														|  | 
 |  | +    l.method_deprecated();
 | 
											
												
													
														|  |  #if defined(_WIN32) || defined(__CYGWIN__)
 |  |  #if defined(_WIN32) || defined(__CYGWIN__)
 | 
											
												
													
														|  | -    l.libshared_excluded();
 |  | 
 | 
											
												
													
														|  | 
 |  | +    l.method_excluded();
 | 
											
												
													
														|  |  #else
 |  |  #else
 | 
											
												
													
														|  | -// l.libshared_excluded(); LINK ERROR (NOT WIN32 AND NOT CYGWIN)
 |  | 
 | 
											
												
													
														|  | 
 |  | +// l.method_excluded(); LINK ERROR (NOT WIN32 AND NOT CYGWIN)
 | 
											
												
													
														|  |  #endif
 |  |  #endif
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -    use_int(l.data_exported);
 |  | 
 | 
											
												
													
														|  | -    use_int(l.data_not_exported);
 |  | 
 | 
											
												
													
														|  | 
 |  | +    use_int(l.data);
 | 
											
												
													
														|  |  #if defined(_WIN32) || defined(__CYGWIN__)
 |  |  #if defined(_WIN32) || defined(__CYGWIN__)
 | 
											
												
													
														|  |      use_int(l.data_excluded);
 |  |      use_int(l.data_excluded);
 | 
											
												
													
														|  |  #else
 |  |  #else
 | 
											
										
											
												
													
														|  | @@ -77,71 +87,76 @@ int main()
 | 
											
												
													
														|  |    }
 |  |    }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |    {
 |  |    {
 | 
											
												
													
														|  | -    LibsharedNotExported l;
 |  | 
 | 
											
												
													
														|  | -    // l.libshared(); LINK ERROR
 |  | 
 | 
											
												
													
														|  | -    l.libshared_exported();
 |  | 
 | 
											
												
													
														|  | -    l.libshared_deprecated();
 |  | 
 | 
											
												
													
														|  | -    // l.libshared_not_exported(); LINK ERROR
 |  | 
 | 
											
												
													
														|  | -    // l.libshared_excluded(); LINK ERROR
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -    use_int(l.data_exported);
 |  | 
 | 
											
												
													
														|  | -    // use_int(l.data_not_exported); LINK ERROR
 |  | 
 | 
											
												
													
														|  | -    // use_int(l.data_excluded); LINK ERROR
 |  | 
 | 
											
												
													
														|  | -  }
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -  {
 |  | 
 | 
											
												
													
														|  | -    LibsharedExcluded l;
 |  | 
 | 
											
												
													
														|  | -    // l.libshared(); LINK ERROR
 |  | 
 | 
											
												
													
														|  | -    l.libshared_exported();
 |  | 
 | 
											
												
													
														|  | -    l.libshared_deprecated();
 |  | 
 | 
											
												
													
														|  | -    // l.libshared_not_exported(); LINK ERROR
 |  | 
 | 
											
												
													
														|  | -    // l.libshared_excluded(); LINK ERROR
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | 
 |  | +    libshared::ExcludedClass l;
 | 
											
												
													
														|  | 
 |  | +    // l.method(); LINK ERROR
 | 
											
												
													
														|  | 
 |  | +    l.method_exported();
 | 
											
												
													
														|  | 
 |  | +    // l.method_deprecated(); LINK ERROR
 | 
											
												
													
														|  | 
 |  | +    l.method_deprecated_exported();
 | 
											
												
													
														|  | 
 |  | +    // l.method_excluded(); LINK ERROR
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    // use_int(l.data); LINK ERROR
 | 
											
												
													
														|  |      use_int(l.data_exported);
 |  |      use_int(l.data_exported);
 | 
											
												
													
														|  | -    // use_int(l.data_not_exported); LINK ERROR
 |  | 
 | 
											
												
													
														|  |      // use_int(l.data_excluded); LINK ERROR
 |  |      // use_int(l.data_excluded); LINK ERROR
 | 
											
												
													
														|  |    }
 |  |    }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -  libshared_exported();
 |  | 
 | 
											
												
													
														|  | -  libshared_deprecated();
 |  | 
 | 
											
												
													
														|  | -  // libshared_not_exported(); LINK ERROR
 |  | 
 | 
											
												
													
														|  | -  // libshared_excluded(); LINK ERROR
 |  | 
 | 
											
												
													
														|  | 
 |  | +  // libshared::function(); LINK ERROR
 | 
											
												
													
														|  | 
 |  | +  libshared::function_exported();
 | 
											
												
													
														|  | 
 |  | +  // libshared::function_deprecated(); LINK ERROR
 | 
											
												
													
														|  | 
 |  | +  libshared::function_deprecated_exported();
 | 
											
												
													
														|  | 
 |  | +  // libshared::function_excluded(); LINK ERROR
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -  use_int(data_exported);
 |  | 
 | 
											
												
													
														|  | -  // use_int(data_not_exported); LINK ERROR
 |  | 
 | 
											
												
													
														|  | -  // use_int(data_excluded); LINK ERROR
 |  | 
 | 
											
												
													
														|  | 
 |  | +  // use_int(libshared::data); LINK ERROR
 | 
											
												
													
														|  | 
 |  | +  use_int(libshared::data_exported);
 | 
											
												
													
														|  | 
 |  | +  // use_int(libshared::data_excluded); LINK ERROR
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |    {
 |  |    {
 | 
											
												
													
														|  | -    Libstatic l;
 |  | 
 | 
											
												
													
														|  | -    l.libstatic();
 |  | 
 | 
											
												
													
														|  | -    l.libstatic_exported();
 |  | 
 | 
											
												
													
														|  | -    l.libstatic_deprecated();
 |  | 
 | 
											
												
													
														|  | -    l.libstatic_not_exported();
 |  | 
 | 
											
												
													
														|  | -    l.libstatic_excluded();
 |  | 
 | 
											
												
													
														|  | 
 |  | +    libstatic::Class l;
 | 
											
												
													
														|  | 
 |  | +    l.method();
 | 
											
												
													
														|  | 
 |  | +    l.method_exported();
 | 
											
												
													
														|  | 
 |  | +    l.method_deprecated();
 | 
											
												
													
														|  | 
 |  | +    l.method_deprecated_exported();
 | 
											
												
													
														|  | 
 |  | +    l.method_excluded();
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    use_int(l.data);
 | 
											
												
													
														|  | 
 |  | +    use_int(l.data_exported);
 | 
											
												
													
														|  | 
 |  | +    use_int(l.data_excluded);
 | 
											
												
													
														|  |    }
 |  |    }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |    {
 |  |    {
 | 
											
												
													
														|  | -    LibstaticNotExported l;
 |  | 
 | 
											
												
													
														|  | -    l.libstatic();
 |  | 
 | 
											
												
													
														|  | -    l.libstatic_exported();
 |  | 
 | 
											
												
													
														|  | -    l.libstatic_deprecated();
 |  | 
 | 
											
												
													
														|  | -    l.libstatic_not_exported();
 |  | 
 | 
											
												
													
														|  | -    l.libstatic_excluded();
 |  | 
 | 
											
												
													
														|  | 
 |  | +    libstatic::ExportedClass l;
 | 
											
												
													
														|  | 
 |  | +    l.method();
 | 
											
												
													
														|  | 
 |  | +    l.method_exported();
 | 
											
												
													
														|  | 
 |  | +    l.method_deprecated();
 | 
											
												
													
														|  | 
 |  | +    l.method_deprecated_exported();
 | 
											
												
													
														|  | 
 |  | +    l.method_excluded();
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    use_int(l.data);
 | 
											
												
													
														|  | 
 |  | +    use_int(l.data_exported);
 | 
											
												
													
														|  | 
 |  | +    use_int(l.data_excluded);
 | 
											
												
													
														|  |    }
 |  |    }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |    {
 |  |    {
 | 
											
												
													
														|  | -    LibstaticExcluded l;
 |  | 
 | 
											
												
													
														|  | -    l.libstatic();
 |  | 
 | 
											
												
													
														|  | -    l.libstatic_exported();
 |  | 
 | 
											
												
													
														|  | -    l.libstatic_deprecated();
 |  | 
 | 
											
												
													
														|  | -    l.libstatic_not_exported();
 |  | 
 | 
											
												
													
														|  | -    l.libstatic_excluded();
 |  | 
 | 
											
												
													
														|  | 
 |  | +    libstatic::ExcludedClass l;
 | 
											
												
													
														|  | 
 |  | +    l.method();
 | 
											
												
													
														|  | 
 |  | +    l.method_exported();
 | 
											
												
													
														|  | 
 |  | +    l.method_deprecated();
 | 
											
												
													
														|  | 
 |  | +    l.method_deprecated_exported();
 | 
											
												
													
														|  | 
 |  | +    l.method_excluded();
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    use_int(l.data);
 | 
											
												
													
														|  | 
 |  | +    use_int(l.data_exported);
 | 
											
												
													
														|  | 
 |  | +    use_int(l.data_excluded);
 | 
											
												
													
														|  |    }
 |  |    }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -  libstatic_exported();
 |  | 
 | 
											
												
													
														|  | -  libstatic_deprecated();
 |  | 
 | 
											
												
													
														|  | -  libstatic_not_exported();
 |  | 
 | 
											
												
													
														|  | -  libstatic_excluded();
 |  | 
 | 
											
												
													
														|  | 
 |  | +  libstatic::function();
 | 
											
												
													
														|  | 
 |  | +  libstatic::function_exported();
 | 
											
												
													
														|  | 
 |  | +  libstatic::function_deprecated();
 | 
											
												
													
														|  | 
 |  | +  libstatic::function_deprecated_exported();
 | 
											
												
													
														|  | 
 |  | +  libstatic::function_excluded();
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +  use_int(libstatic::data);
 | 
											
												
													
														|  | 
 |  | +  use_int(libstatic::data_exported);
 | 
											
												
													
														|  | 
 |  | +  use_int(libstatic::data_excluded);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  #if defined(SRC_DIR) && defined(BIN_DIR)
 |  |  #if defined(SRC_DIR) && defined(BIN_DIR)
 | 
											
												
													
														|  |    compare(SRC_DIR "/libshared_export.h",
 |  |    compare(SRC_DIR "/libshared_export.h",
 |