Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.old-deja/g++.law/cvt2.C @ 158:494b0b89df80 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 18:13:55 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
// { dg-do run } // GROUPS passed conversions #include <cstdio> #include <cstdlib> #include <cstring> #include <iostream> #include <fstream> class cvec { public: ~cvec(){ delete s; } cvec(const char*x) { s = new char[std::strlen(x)+1]; std::strcpy(s, x); } cvec(const cvec& c) { s = new char[std::strlen(c.s)+1]; std::strcpy(s, c.s); } operator const char*() { return s; } private: char *s; }; cvec B(const char* a) { return a; } void A(const char* s) { // s still ok here std::ifstream inf(s); if (std::strncmp ("aaa", s, 3)) { std::printf ("FAIL\n"); std::exit (1); } else std::printf ("PASS\n"); } int main() { A(B("aaa")); }