blob: b0ded6c335e568bfc99bca145e9ef16d123e5893 [file] [log] [blame]
//!ASMDeclarationTest
//%CPP
asm("movl %1, %%eax;");
//!FunctionDefinitionTest
//%CPP
int foo()
{
return 1;
}
//!SimpleDeclarationTest
//%CPP
int i = 2, y = 3;
int b = 0;
//!ExplicitTemplateInstantion
//%CPP
template class vector<int>;
//!GPPExplicitTemplateInstantion
//%CPP GNU
static template class vector<int>;
inline template class vector<int>;
inline template class vector<int>;
//!LinkageSpecification
//%CPP
extern "C" typedef void FUNC();
//!NamespaceAlias
//%CPP
namespace kurz = somenamespace;
//!NamespaceDefinition
//%CPP
namespace somenamespace
{
}
//!TemplateDeclaration
//%CPP
template<class T> class vector
{
};
//!NestedTemplateDeclaration
//%CPP
template<template <class T> class K> class vector
{
};
//!TemplateSpecialization
//%CPP
template<typename T> class MyQueue;
template<> class MyQueue<double>
{
std::vector<double> data;
public:
void Add(const double&);
void Remove();
void Print();
};
//!UsingDeclaration
//%CPP
struct A
{
void f();
enum E{ e};
union
{
int u;
};
};
struct B : A
{
using A::f;
using typename A::e;
using A::u;
};
//!UsingDirective
//%CPP
using namespace B;
//!VisibilityLabel
//%CPP
class A
{
public:
int hello();
protected:
int b, c;
private:
int p;
};
//!CommentBeforeSimpleDeclaration
//%CPP
//Comment
int i = 2;
//!Typename qualifier
//%CPP
typename T::A* a6;
//!Variadic Template
//%CPP
template<typename... T> struct Tpl
{
};
template<typename... T>
void foo(Tpl<T...>)
{
}