Add the GenerateExportMacro with unit tests.

Reviewed-by: Marcus D. Hanwell <marcus.hanwell@kitware.com>
This commit is contained in:
Stephen Kelly
2011-07-13 02:13:33 +02:00
parent 955d5133ab
commit 30880707c0
17 changed files with 1016 additions and 0 deletions

View File

@@ -0,0 +1,82 @@
#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;
}