Merge pull request #25686 from Kumataro:fix25674

Suppress build warnings for GCC14 #25686

Close #25674

### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [x] There is a reference to the original bug report and related work
- [ ] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [ ] The feature is well documented and sample code can be built with the project CMake
pull/25690/head
Kumataro 6 months ago committed by GitHub
parent 1db6a8a1f3
commit 1bd5ca1ebe
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 2
      modules/core/test/test_mat.cpp
  2. 2
      modules/dnn/src/tensorflow/tf_importer.cpp
  3. 2
      modules/dnn/src/torch/torch_importer.cpp
  4. 2
      modules/gapi/src/compiler/passes/exec.cpp
  5. 2
      modules/gapi/src/streaming/onevpl/file_data_provider.hpp
  6. 11
      modules/ts/include/opencv2/ts/ts_gtest.h

@ -601,7 +601,7 @@ static void setValue(SparseMat& M, const int* idx, double value, RNG& rng)
CV_Error(cv::Error::StsUnsupportedFormat, "");
}
#if defined(__GNUC__) && (__GNUC__ == 11 || __GNUC__ == 12 || __GNUC__ == 13)
#if defined(__GNUC__) && (__GNUC__ >= 11)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Warray-bounds"
#endif

@ -260,7 +260,7 @@ const tensorflow::AttrValue& getLayerAttr(const tensorflow::NodeDef &layer, cons
return layer.attr().at(name);
}
#if defined(__GNUC__) && (__GNUC__ == 13)
#if defined(__GNUC__) && (__GNUC__ >= 13)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wdangling-reference"
#endif

@ -902,7 +902,7 @@ struct TorchImporter
{
readTorchTable(scalarParams, tensorParams);
float power;
float power = 1.0f;
if (nnName == "Square") power = 2.0f;
else if (nnName == "Sqrt") power = 0.5f;
else if (nnName == "Power") power = scalarParams.get<float>("pow", 1.0f);

@ -158,7 +158,7 @@ namespace
std::unordered_set<CycleCausers, CycleHasher> cycle_causers;
};
#if defined(__GNUC__) && (__GNUC__ == 13)
#if defined(__GNUC__) && (__GNUC__ >= 13)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wdangling-reference"
#endif

@ -21,7 +21,7 @@ namespace onevpl {
// With gcc13, std::unique_ptr(FILE, decltype(&fclose)> causes ignored-attributes warning.
// See https://stackoverflow.com/questions/76849365/can-we-add-attributes-to-standard-function-declarations-without-breaking-standar
#if defined(__GNUC__) && (__GNUC__ == 13)
#if defined(__GNUC__) && (__GNUC__ >= 13)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wignored-attributes"
#endif

@ -21317,6 +21317,13 @@ AssertionResult CmpHelperEQFailure(const char* lhs_expression,
false);
}
// See https://github.com/opencv/opencv/issues/25674
// Disable optimization for workaround to mis-branch for GCC14.
#if defined(__GNUC__) && (__GNUC__ == 14)
#pragma GCC push_options
#pragma GCC optimize ("O0")
#endif
// The helper function for {ASSERT|EXPECT}_EQ.
template <typename T1, typename T2>
AssertionResult CmpHelperEQ(const char* lhs_expression,
@ -21330,6 +21337,10 @@ AssertionResult CmpHelperEQ(const char* lhs_expression,
return CmpHelperEQFailure(lhs_expression, rhs_expression, lhs, rhs);
}
#if defined(__GNUC__) && (__GNUC__ == 14)
#pragma GCC pop_options
#endif
// With this overloaded version, we allow anonymous enums to be used
// in {ASSERT|EXPECT}_EQ when compiled with gcc 4, as anonymous enums
// can be implicitly cast to BiggestInt.

Loading…
Cancel
Save