| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #include "ppapi/native_client/src/trusted/plugin/pnacl_options.h" | |
| 6 | |
| 7 #include <iterator> | |
| 8 #include <vector> | |
| 9 | |
| 10 #include "native_client/src/include/nacl_string.h" | |
| 11 | |
| 12 namespace plugin { | |
| 13 | |
| 14 PnaclOptions::PnaclOptions() | |
| 15 : translate_(false), | |
| 16 is_debug_(false), | |
| 17 opt_level_(2) { | |
| 18 } | |
| 19 | |
| 20 PnaclOptions::~PnaclOptions() { | |
| 21 } | |
| 22 | |
| 23 void PnaclOptions::set_opt_level(int32_t l) { | |
| 24 if (l <= 0) { | |
| 25 opt_level_ = 0; | |
| 26 return; | |
| 27 } | |
| 28 // Currently only allow 0 or 2, since that is what we test. | |
| 29 opt_level_ = 2; | |
| 30 } | |
| 31 | |
| 32 std::vector<char> PnaclOptions::GetOptCommandline() const { | |
| 33 std::vector<char> result; | |
| 34 nacl::string str; | |
| 35 | |
| 36 nacl::stringstream ss; | |
| 37 ss << "-O" << opt_level_; | |
| 38 str = ss.str(); | |
| 39 std::copy(str.begin(), str.end(), std::back_inserter(result)); | |
| 40 result.push_back('\x00'); | |
| 41 // Debug info is only available in LLVM format pexes, | |
| 42 // not in PNaCl format pexes. | |
| 43 if (is_debug_) { | |
| 44 str = "-bitcode-format=llvm"; | |
| 45 std::copy(str.begin(), str.end(), std::back_inserter(result)); | |
| 46 result.push_back('\x00'); | |
| 47 } | |
| 48 | |
| 49 return result; | |
| 50 } | |
| 51 | |
| 52 } // namespace plugin | |
| OLD | NEW |