1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
/**
* @file Bug_3709_Regression_Test.cpp
*
* Reproduces the problems reported in bug 3709
* http://bugzilla.dre.vanderbilt.edu/show_bug.cgi?id=3709
*/
#include "test_config.h"
#include "ace/ACE.h"
#include "ace/OS_NS_stdio.h"
#include <vector>
using namespace std;
// MSVC_71_OR_OLDER
#if defined(_MSC_VER) && _MSC_VER < 1400
#define BROKEN_TEMPLATE_TEMPLATE
#endif
#ifdef __SUNPRO_CC
#define BROKEN_TEMPLATE_TEMPLATE
#endif
// HP aC++ 03.x fails this
#if defined(__HP_aCC) && (__HP_aCC < 40000)
#define BROKEN_TEMPLATE_TEMPLATE
#endif
#ifndef BROKEN_TEMPLATE_TEMPLATE
template<template<typename U, typename = std::allocator<U> > class container, typename DT>
container<DT> initializer(const DT &d)
{
container<DT> t ;
t.insert(t.end(), d);
return t;
}
#endif
int
run_main (int, ACE_TCHAR *[])
{
ACE_START_TEST (ACE_TEXT ("Bug_3709_Regression_Test"));
#ifndef BROKEN_TEMPLATE_TEMPLATE
vector<int> v = initializer<vector>(5);
v.clear ();
#endif
ACE_END_TEST;
return 0;
}
|