diff options
author | Thomas Lively <7121787+tlively@users.noreply.github.com> | 2019-04-12 18:27:13 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-12 18:27:13 -0700 |
commit | 9495b338121140d585648d64fb99e8ef7f92f867 (patch) | |
tree | 57418b1f685a4a5a43ee291759f64e9a763b1245 /src/passes/StripTargetFeatures.cpp | |
parent | 883d14de7157950063f74b81658d00df0d53be8d (diff) | |
download | binaryen-9495b338121140d585648d64fb99e8ef7f92f867.tar.gz binaryen-9495b338121140d585648d64fb99e8ef7f92f867.tar.bz2 binaryen-9495b338121140d585648d64fb99e8ef7f92f867.zip |
Move features from passOptions to Module (#2001)
This allows us to emit a (potentially modified) target features
section and conditionally emit other sections such as the DataCount
section based on the presence of features.
Diffstat (limited to 'src/passes/StripTargetFeatures.cpp')
-rw-r--r-- | src/passes/StripTargetFeatures.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/passes/StripTargetFeatures.cpp b/src/passes/StripTargetFeatures.cpp new file mode 100644 index 000000000..645fbb11c --- /dev/null +++ b/src/passes/StripTargetFeatures.cpp @@ -0,0 +1,33 @@ +/* + * Copyright 2019 WebAssembly Community Group participants + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "pass.h" + +using namespace std; + +namespace wasm { + +struct StripTargetFeatures : public Pass { + void run(PassRunner* runner, Module* module) override { + module->hasFeaturesSection = false; + } +}; + +Pass *createStripTargetFeaturesPass() { + return new StripTargetFeatures(); +} + +} // namespace wasm |