close.pass.cpp revision 06d8bf6ce2008526732ae40ad46f7ff031c409e7
12f3dc9dc4c970bd066be329a842a791d91f524e2reed@google.com//===----------------------------------------------------------------------===// 2ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com// 3ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com// The LLVM Compiler Infrastructure 4ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com// 5ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com// This file is dual licensed under the MIT and the University of Illinois Open 6ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com// Source Licenses. See LICENSE.TXT for details. 72f3dc9dc4c970bd066be329a842a791d91f524e2reed@google.com// 82f3dc9dc4c970bd066be329a842a791d91f524e2reed@google.com//===----------------------------------------------------------------------===// 92f3dc9dc4c970bd066be329a842a791d91f524e2reed@google.com 10ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com// <fstream> 112f3dc9dc4c970bd066be329a842a791d91f524e2reed@google.com 122f3dc9dc4c970bd066be329a842a791d91f524e2reed@google.com// template <class charT, class traits = char_traits<charT> > 132f3dc9dc4c970bd066be329a842a791d91f524e2reed@google.com// class basic_ofstream 14e9bbc81c7ef498f84f93819212e61627c1d08e52reed@google.com 152f3dc9dc4c970bd066be329a842a791d91f524e2reed@google.com// void close(); 1603b87812506ee7054f282b84fb8e15eb885fb289reed@google.com 1703b87812506ee7054f282b84fb8e15eb885fb289reed@google.com#include <fstream> 1803b87812506ee7054f282b84fb8e15eb885fb289reed@google.com#include <cassert> 1903b87812506ee7054f282b84fb8e15eb885fb289reed@google.com#include "platform_support.h" 2003b87812506ee7054f282b84fb8e15eb885fb289reed@google.com 2103b87812506ee7054f282b84fb8e15eb885fb289reed@google.comint main() 2203b87812506ee7054f282b84fb8e15eb885fb289reed@google.com{ 2303b87812506ee7054f282b84fb8e15eb885fb289reed@google.com std::string temp = get_temp_file_name(); 2403b87812506ee7054f282b84fb8e15eb885fb289reed@google.com { 2503b87812506ee7054f282b84fb8e15eb885fb289reed@google.com std::ofstream fs; 2603b87812506ee7054f282b84fb8e15eb885fb289reed@google.com assert(!fs.is_open()); 2703b87812506ee7054f282b84fb8e15eb885fb289reed@google.com fs.open(temp.c_str()); 2803b87812506ee7054f282b84fb8e15eb885fb289reed@google.com assert(fs.is_open()); 2903b87812506ee7054f282b84fb8e15eb885fb289reed@google.com fs.close(); 3003b87812506ee7054f282b84fb8e15eb885fb289reed@google.com assert(!fs.is_open()); 31a02bc1519cf49afa31fb38bed097dd5014880d04bungeman@google.com } 32a02bc1519cf49afa31fb38bed097dd5014880d04bungeman@google.com std::remove(temp.c_str()); 33a02bc1519cf49afa31fb38bed097dd5014880d04bungeman@google.com { 342f3dc9dc4c970bd066be329a842a791d91f524e2reed@google.com std::wofstream fs; 352f3dc9dc4c970bd066be329a842a791d91f524e2reed@google.com assert(!fs.is_open()); 362f3dc9dc4c970bd066be329a842a791d91f524e2reed@google.com fs.open(temp.c_str()); 372f3dc9dc4c970bd066be329a842a791d91f524e2reed@google.com assert(fs.is_open()); 382f3dc9dc4c970bd066be329a842a791d91f524e2reed@google.com fs.close(); 392f3dc9dc4c970bd066be329a842a791d91f524e2reed@google.com assert(!fs.is_open()); 402f3dc9dc4c970bd066be329a842a791d91f524e2reed@google.com } 41a02bc1519cf49afa31fb38bed097dd5014880d04bungeman@google.com std::remove(temp.c_str()); 42a02bc1519cf49afa31fb38bed097dd5014880d04bungeman@google.com} 43a02bc1519cf49afa31fb38bed097dd5014880d04bungeman@google.com