diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6ea6255d..c6f18ac4 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -46,6 +46,8 @@ jobs: run: python3 scripts/run_tests.py - name: Benchmark run: python3 scripts/run_tests.py benchmark + - name: GCC Build Test + run: g++ -o pocketpy --std=c++17 src/main.cpp build_macos: runs-on: macos-latest steps: diff --git a/src/io.h b/src/io.h index 2ae87595..b93803eb 100644 --- a/src/io.h +++ b/src/io.h @@ -31,16 +31,16 @@ struct FileIO { bool is_text() const { return mode != "rb" && mode != "wb" && mode != "ab"; } FileIO(VM* vm, Str file, Str mode): file(file), mode(mode) { - std::ios_base::openmode extra = 0; + std::ios_base::openmode extra = static_cast(0); if(mode == "rb" || mode == "wb" || mode == "ab"){ extra |= std::ios::binary; } if(mode == "rt" || mode == "r" || mode == "rb"){ - _fs.open(file.sv(), std::ios::in | extra); + _fs.open(file.str(), std::ios::in | extra); }else if(mode == "wt" || mode == "w" || mode == "wb"){ - _fs.open(file.sv(), std::ios::out | extra); + _fs.open(file.str(), std::ios::out | extra); }else if(mode == "at" || mode == "a" || mode == "ab"){ - _fs.open(file.sv(), std::ios::app | extra); + _fs.open(file.str(), std::ios::app | extra); }else{ vm->ValueError("invalid mode"); }