Author: Krzysztof Parzyszek Date: 2020-08-10T10:37:24-05:00 New Revision: 7406eb4f6afd8df9bd4dbb918f5e7005ba71d58c
URL: https://github.com/llvm/llvm-project/commit/7406eb4f6afd8df9bd4dbb918f5e7005ba71d58c DIFF: https://github.com/llvm/llvm-project/commit/7406eb4f6afd8df9bd4dbb918f5e7005ba71d58c.diff LOG: [Hexagon] Avoid creating an empty target feature If the CPU string is empty, the target feature map may end up having an empty string inserted to it. The symptom of the problem is a warning message: '+' is not a recognized feature for this target (ignoring feature) Also, the target-features attribute in the module will have an empty string in it. Added: clang/test/CodeGen/hexagon-empty-cpu-feature.c Modified: clang/lib/Basic/Targets/Hexagon.cpp Removed: ################################################################################ diff --git a/clang/lib/Basic/Targets/Hexagon.cpp b/clang/lib/Basic/Targets/Hexagon.cpp index 205601c359d0..a8b4380b6a87 100644 --- a/clang/lib/Basic/Targets/Hexagon.cpp +++ b/clang/lib/Basic/Targets/Hexagon.cpp @@ -98,7 +98,8 @@ bool HexagonTargetInfo::initFeatureMap( StringRef CPUFeature = CPU; CPUFeature.consume_front("hexagon"); CPUFeature.consume_back("t"); - Features[CPUFeature] = true; + if (!CPUFeature.empty()) + Features[CPUFeature] = true; Features["long-calls"] = false; diff --git a/clang/test/CodeGen/hexagon-empty-cpu-feature.c b/clang/test/CodeGen/hexagon-empty-cpu-feature.c new file mode 100644 index 000000000000..3a9e5a80118f --- /dev/null +++ b/clang/test/CodeGen/hexagon-empty-cpu-feature.c @@ -0,0 +1,4 @@ +// RUN: %clang_cc1 %s -triple hexagon-unknown-elf -emit-llvm -o - 2>&1 | FileCheck %s +// CHECK-NOT: '+' is not a recognized feature for this target + +// Empty _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits