82 lines
1.5 KiB
C++
82 lines
1.5 KiB
C++
|
|
||
|
#include "libshared.h"
|
||
|
|
||
|
#include "libstatic.h"
|
||
|
|
||
|
// #define BUILD_FAIL
|
||
|
|
||
|
#ifndef BUILD_FAIL
|
||
|
#define DOES_NOT_BUILD(function)
|
||
|
#else
|
||
|
#define DOES_NOT_BUILD(function) function
|
||
|
#endif
|
||
|
|
||
|
int main()
|
||
|
{
|
||
|
{
|
||
|
Libshared l;
|
||
|
l.libshared();
|
||
|
l.libshared_exported();
|
||
|
l.libshared_deprecated();
|
||
|
l.libshared_not_exported();
|
||
|
|
||
|
DOES_NOT_BUILD(l.libshared_excluded();)
|
||
|
}
|
||
|
|
||
|
{
|
||
|
LibsharedNotExported l;
|
||
|
DOES_NOT_BUILD(l.libshared();)
|
||
|
l.libshared_exported();
|
||
|
l.libshared_deprecated();
|
||
|
DOES_NOT_BUILD(l.libshared_not_exported();)
|
||
|
DOES_NOT_BUILD(l.libshared_excluded();)
|
||
|
}
|
||
|
|
||
|
{
|
||
|
LibsharedExcluded l;
|
||
|
DOES_NOT_BUILD(l.libshared();)
|
||
|
l.libshared_exported();
|
||
|
l.libshared_deprecated();
|
||
|
DOES_NOT_BUILD(l.libshared_not_exported();)
|
||
|
DOES_NOT_BUILD(l.libshared_excluded();)
|
||
|
}
|
||
|
|
||
|
libshared_exported();
|
||
|
libshared_deprecated();
|
||
|
DOES_NOT_BUILD(libshared_not_exported();)
|
||
|
DOES_NOT_BUILD(libshared_excluded();)
|
||
|
|
||
|
{
|
||
|
Libstatic l;
|
||
|
l.libstatic();
|
||
|
l.libstatic_exported();
|
||
|
l.libstatic_deprecated();
|
||
|
l.libstatic_not_exported();
|
||
|
l.libstatic_excluded();
|
||
|
}
|
||
|
|
||
|
{
|
||
|
LibstaticNotExported l;
|
||
|
l.libstatic();
|
||
|
l.libstatic_exported();
|
||
|
l.libstatic_deprecated();
|
||
|
l.libstatic_not_exported();
|
||
|
l.libstatic_excluded();
|
||
|
}
|
||
|
|
||
|
{
|
||
|
LibstaticExcluded l;
|
||
|
l.libstatic();
|
||
|
l.libstatic_exported();
|
||
|
l.libstatic_deprecated();
|
||
|
l.libstatic_not_exported();
|
||
|
l.libstatic_excluded();
|
||
|
}
|
||
|
|
||
|
libstatic_exported();
|
||
|
libstatic_deprecated();
|
||
|
libstatic_not_exported();
|
||
|
libstatic_excluded();
|
||
|
|
||
|
return 0;
|
||
|
}
|