aboutsummaryrefslogtreecommitdiff
path: root/lib/compilers
diff options
context:
space:
mode:
Diffstat (limited to 'lib/compilers')
-rw-r--r--lib/compilers/argument-parsers.js49
-rw-r--r--lib/compilers/default.js5
2 files changed, 27 insertions, 27 deletions
diff --git a/lib/compilers/argument-parsers.js b/lib/compilers/argument-parsers.js
index 3be006e5e..241ba2bb2 100644
--- a/lib/compilers/argument-parsers.js
+++ b/lib/compilers/argument-parsers.js
@@ -22,31 +22,32 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
-const _ = require('underscore-node'),
- logger = require('../logger').logger,
- utils = require('../utils');
+const _ = require('underscore-node'),
+ logger = require('../logger').logger,
+ utils = require('../utils');
-const getOptions = function(compiler, helpArg) {
+const getOptions = function (compiler, helpArg) {
+ "use strict";
return compiler.exec(compiler.compiler.exe, [helpArg])
- .then(_.bind(function (result) {
- var options = {};
- if (result.code === 0) {
- var splitness = /--?[-a-zA-Z]+( ?[-a-zA-Z]+)/;
-
- utils.eachLine(result.stdout + result.stderr, function (line) {
- var match = line.match(splitness);
- if (!match) return;
- options[match[0]] = true;
- });
- }
- compiler.compiler.supportedOptions = options;
- logger.debug("compiler options: ", compiler.compiler.supportedOptions);
- return compiler;
+ .then(_.bind(function (result) {
+ let options = {};
+ if (result.code === 0) {
+ let optionFinder = /^\s+(--?[-a-zA-Z]+)/;
+
+ utils.eachLine(result.stdout + result.stderr, function (line) {
+ var match = line.match(optionFinder);
+ if (!match) return;
+ options[match[1]] = true;
+ });
+ }
+ compiler.compiler.supportedOptions = options;
+ logger.debug("compiler options: ", compiler.compiler.supportedOptions);
+ return compiler;
}));
};
-const gccparser = function(compiler) {
- return getOptions(compiler, "--target-help").then(function(compiler) {
+const gccparser = function (compiler) {
+ return getOptions(compiler, "--target-help").then(function (compiler) {
if (compiler.compiler.supportedOptions['-masm']) {
compiler.compiler.intelAsm = "-masm=intel";
compiler.compiler.supportsIntel = true;
@@ -55,8 +56,8 @@ const gccparser = function(compiler) {
});
};
-const clangparser = function(compiler) {
- return getOptions(compiler, "--help").then(function(compiler) {
+const clangparser = function (compiler) {
+ return getOptions(compiler, "--help").then(function (compiler) {
if (compiler.compiler.supportedOptions['-fsave-optimization-record']) {
compiler.compiler.optArg = "-fsave-optimization-record";
compiler.compiler.supportsOptOutput = true;
@@ -67,6 +68,6 @@ const clangparser = function(compiler) {
module.exports = {
- "clang": clangparser,
- "gcc": gccparser
+ clang: clangparser,
+ gcc: gccparser
}; \ No newline at end of file
diff --git a/lib/compilers/default.js b/lib/compilers/default.js
index fe55b9998..759d2bbe8 100644
--- a/lib/compilers/default.js
+++ b/lib/compilers/default.js
@@ -22,10 +22,9 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
-const Compile = require('../base-compiler'),
- argumentParsers = require("./argument-parsers");
+const Compile = require('../base-compiler');
module.exports = function (info, env) {
var comp = new Compile(info, env);
- return comp.initialise(argumentParsers[info.type]);
+ return comp.initialise();
}; \ No newline at end of file