Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv
Commits
6773b938
Commit
6773b938
authored
Nov 14, 2019
by
Alexander Alekhin
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #15896 from alalek:build_gcc_9
parents
94f1c3d1
7ecdcf6c
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
38 additions
and
3 deletions
+38
-3
CMakeLists.txt
3rdparty/protobuf/CMakeLists.txt
+1
-0
OpenCVUtils.cmake
cmake/OpenCVUtils.cmake
+1
-0
solvepnp.cpp
modules/calib3d/src/solvepnp.cpp
+1
-1
upnp.cpp
modules/calib3d/src/upnp.cpp
+7
-1
upnp.h
modules/calib3d/src/upnp.h
+4
-0
persistence.hpp
modules/core/include/opencv2/core/persistence.hpp
+5
-0
persistence_cpp.cpp
modules/core/src/persistence_cpp.cpp
+9
-0
window_gtk.cpp
modules/highgui/src/window_gtk.cpp
+4
-1
fixedpoint.inl.hpp
modules/imgproc/src/fixedpoint.inl.hpp
+6
-0
No files found.
3rdparty/protobuf/CMakeLists.txt
View file @
6773b938
...
...
@@ -22,6 +22,7 @@ else()
-Wenum-compare-switch
-Wsuggest-override -Winconsistent-missing-override
-Wimplicit-fallthrough
-Warray-bounds
# GCC 9+
)
endif
()
if
(
CV_ICC
)
...
...
cmake/OpenCVUtils.cmake
View file @
6773b938
...
...
@@ -377,6 +377,7 @@ macro(ocv_clear_vars)
endmacro
()
set
(
OCV_COMPILER_FAIL_REGEX
"argument '.*' is not valid"
# GCC 9+
"command line option .* is valid for .* but not for C
\\
+
\\
+"
# GNU
"command line option .* is valid for .* but not for C"
# GNU
"unrecognized .*option"
# GNU
...
...
modules/calib3d/src/solvepnp.cpp
View file @
6773b938
...
...
@@ -41,7 +41,7 @@
//M*/
#include "precomp.hpp"
#include "upnp.h"
//
#include "upnp.h"
#include "dls.h"
#include "epnp.h"
#include "p3p.h"
...
...
modules/calib3d/src/upnp.cpp
View file @
6773b938
...
...
@@ -49,6 +49,8 @@
#include "upnp.h"
#include <limits>
#if 0 // fix buffer overflow first (FIXIT mark in .cpp file)
using namespace std;
using namespace cv;
...
...
@@ -313,7 +315,9 @@ void upnp::compute_ccs(const double * betas, const double * ut)
const double * v = ut + 12 * (9 + i);
for(int j = 0; j < 4; ++j)
for(int k = 0; k < 3; ++k)
ccs
[
j
][
k
]
+=
betas
[
i
]
*
v
[
3
*
j
+
k
];
ccs[j][k] += betas[i] * v[3 * j + k]; // FIXIT: array subscript 144 is outside array bounds of 'double [144]' [-Warray-bounds]
// line 109: double ut[12 * 12]
// line 359: double u[12*12]
}
for (int i = 0; i < 4; ++i) ccs[i][2] *= fu;
...
...
@@ -821,3 +825,5 @@ void upnp::qr_solve(Mat * A, Mat * b, Mat * X)
pX[i] = (pb[i] - sum) / A2[i];
}
}
#endif
modules/calib3d/src/upnp.h
View file @
6773b938
...
...
@@ -52,6 +52,8 @@
#include "opencv2/core/core_c.h"
#include <iostream>
#if 0 // fix buffer overflow first (FIXIT mark in .cpp file)
class upnp
{
public:
...
...
@@ -133,4 +135,6 @@ private:
double * A1, * A2;
};
#endif
#endif // OPENCV_CALIB3D_UPNP_H_
modules/core/include/opencv2/core/persistence.hpp
View file @
6773b938
...
...
@@ -526,6 +526,8 @@ public:
*/
FileNode
(
const
FileNode
&
node
);
FileNode
&
operator
=
(
const
FileNode
&
node
);
/** @brief Returns element of a mapping node or a sequence node.
@param nodename Name of an element in the mapping node.
@returns Returns the element with the given identifier.
...
...
@@ -645,6 +647,8 @@ public:
*/
FileNodeIterator
(
const
FileNodeIterator
&
it
);
FileNodeIterator
&
operator
=
(
const
FileNodeIterator
&
it
);
//! returns the currently observed element
FileNode
operator
*
()
const
;
//! accesses the currently observed element methods
...
...
@@ -1326,6 +1330,7 @@ inline FileNode FileStorage::getFirstTopLevelNode() const { FileNode r = root();
inline
FileNode
::
FileNode
()
:
fs
(
0
),
node
(
0
)
{}
inline
FileNode
::
FileNode
(
const
CvFileStorage
*
_fs
,
const
CvFileNode
*
_node
)
:
fs
(
_fs
),
node
(
_node
)
{}
inline
FileNode
::
FileNode
(
const
FileNode
&
_node
)
:
fs
(
_node
.
fs
),
node
(
_node
.
node
)
{}
inline
FileNode
&
FileNode
::
operator
=
(
const
FileNode
&
_node
)
{
fs
=
_node
.
fs
;
node
=
_node
.
node
;
return
*
this
;
}
inline
bool
FileNode
::
empty
()
const
{
return
node
==
0
;
}
inline
bool
FileNode
::
isNone
()
const
{
return
type
()
==
NONE
;
}
inline
bool
FileNode
::
isSeq
()
const
{
return
type
()
==
SEQ
;
}
...
...
modules/core/src/persistence_cpp.cpp
View file @
6773b938
...
...
@@ -328,6 +328,15 @@ FileNodeIterator::FileNodeIterator(const FileNodeIterator& it)
remaining
=
it
.
remaining
;
}
FileNodeIterator
&
FileNodeIterator
::
operator
=
(
const
FileNodeIterator
&
it
)
{
fs
=
it
.
fs
;
container
=
it
.
container
;
reader
=
it
.
reader
;
remaining
=
it
.
remaining
;
return
*
this
;
}
FileNodeIterator
&
FileNodeIterator
::
operator
++
()
{
if
(
remaining
>
0
)
...
...
modules/highgui/src/window_gtk.cpp
View file @
6773b938
...
...
@@ -634,10 +634,13 @@ CV_IMPL int cvStartWindowThread(){
cvInitSystem
(
0
,
NULL
);
if
(
!
thread_started
)
{
if
(
!
g_thread_supported
())
{
#if !GLIB_CHECK_VERSION(2, 32, 0) // https://github.com/GNOME/glib/blame/b4d58a7105bb9d75907233968bb534b38f9a6e43/glib/deprecated/gthread.h#L274
if
(
!
g_thread_supported
())
{
/* the GThread system wasn't inited, so init it */
g_thread_init
(
NULL
);
}
#endif
(
void
)
getWindowMutex
();
// force mutex initialization
...
...
modules/imgproc/src/fixedpoint.inl.hpp
View file @
6773b938
...
...
@@ -22,6 +22,7 @@ private:
public
:
typedef
fixedpoint64
WT
;
CV_ALWAYS_INLINE
fixedpoint64
()
{
val
=
0
;
}
CV_ALWAYS_INLINE
fixedpoint64
(
const
fixedpoint64
&
v
)
{
val
=
v
.
val
;
}
CV_ALWAYS_INLINE
fixedpoint64
(
const
int8_t
&
_val
)
{
val
=
((
int64_t
)
_val
)
<<
fixedShift
;
}
CV_ALWAYS_INLINE
fixedpoint64
(
const
uint8_t
&
_val
)
{
val
=
((
int64_t
)
_val
)
<<
fixedShift
;
}
CV_ALWAYS_INLINE
fixedpoint64
(
const
int16_t
&
_val
)
{
val
=
((
int64_t
)
_val
)
<<
fixedShift
;
}
...
...
@@ -104,6 +105,7 @@ private:
public
:
typedef
ufixedpoint64
WT
;
CV_ALWAYS_INLINE
ufixedpoint64
()
{
val
=
0
;
}
CV_ALWAYS_INLINE
ufixedpoint64
(
const
ufixedpoint64
&
v
)
{
val
=
v
.
val
;
}
CV_ALWAYS_INLINE
ufixedpoint64
(
const
uint8_t
&
_val
)
{
val
=
((
uint64_t
)
_val
)
<<
fixedShift
;
}
CV_ALWAYS_INLINE
ufixedpoint64
(
const
uint16_t
&
_val
)
{
val
=
((
uint64_t
)
_val
)
<<
fixedShift
;
}
CV_ALWAYS_INLINE
ufixedpoint64
(
const
uint32_t
&
_val
)
{
val
=
((
uint64_t
)
_val
)
<<
fixedShift
;
}
...
...
@@ -169,6 +171,7 @@ private:
public
:
typedef
fixedpoint64
WT
;
CV_ALWAYS_INLINE
fixedpoint32
()
{
val
=
0
;
}
CV_ALWAYS_INLINE
fixedpoint32
(
const
fixedpoint32
&
v
)
{
val
=
v
.
val
;
}
CV_ALWAYS_INLINE
fixedpoint32
(
const
int8_t
&
_val
)
{
val
=
((
int32_t
)
_val
)
<<
fixedShift
;
}
CV_ALWAYS_INLINE
fixedpoint32
(
const
uint8_t
&
_val
)
{
val
=
((
int32_t
)
_val
)
<<
fixedShift
;
}
CV_ALWAYS_INLINE
fixedpoint32
(
const
int16_t
&
_val
)
{
val
=
((
int32_t
)
_val
)
<<
fixedShift
;
}
...
...
@@ -222,6 +225,7 @@ private:
public
:
typedef
ufixedpoint64
WT
;
CV_ALWAYS_INLINE
ufixedpoint32
()
{
val
=
0
;
}
CV_ALWAYS_INLINE
ufixedpoint32
(
const
ufixedpoint32
&
v
)
{
val
=
v
.
val
;
}
CV_ALWAYS_INLINE
ufixedpoint32
(
const
uint8_t
&
_val
)
{
val
=
((
uint32_t
)
_val
)
<<
fixedShift
;
}
CV_ALWAYS_INLINE
ufixedpoint32
(
const
uint16_t
&
_val
)
{
val
=
((
uint32_t
)
_val
)
<<
fixedShift
;
}
CV_ALWAYS_INLINE
ufixedpoint32
(
const
cv
::
softdouble
&
_val
)
{
val
=
_val
.
getSign
()
?
0
:
(
uint32_t
)
cvRound
(
_val
*
cv
::
softdouble
((
1
<<
fixedShift
)));
}
...
...
@@ -271,6 +275,7 @@ private:
public
:
typedef
fixedpoint32
WT
;
CV_ALWAYS_INLINE
fixedpoint16
()
{
val
=
0
;
}
CV_ALWAYS_INLINE
fixedpoint16
(
const
fixedpoint16
&
v
)
{
val
=
v
.
val
;
}
CV_ALWAYS_INLINE
fixedpoint16
(
const
int8_t
&
_val
)
{
val
=
((
int16_t
)
_val
)
<<
fixedShift
;
}
CV_ALWAYS_INLINE
fixedpoint16
(
const
cv
::
softdouble
&
_val
)
{
val
=
(
int16_t
)
cvRound
(
_val
*
cv
::
softdouble
((
1
<<
fixedShift
)));
}
CV_ALWAYS_INLINE
fixedpoint16
&
operator
=
(
const
int8_t
&
_val
)
{
val
=
((
int16_t
)
_val
)
<<
fixedShift
;
return
*
this
;
}
...
...
@@ -317,6 +322,7 @@ private:
public
:
typedef
ufixedpoint32
WT
;
CV_ALWAYS_INLINE
ufixedpoint16
()
{
val
=
0
;
}
CV_ALWAYS_INLINE
ufixedpoint16
(
const
ufixedpoint16
&
v
)
{
val
=
v
.
val
;
}
CV_ALWAYS_INLINE
ufixedpoint16
(
const
uint8_t
&
_val
)
{
val
=
((
uint16_t
)
_val
)
<<
fixedShift
;
}
CV_ALWAYS_INLINE
ufixedpoint16
(
const
cv
::
softdouble
&
_val
)
{
val
=
_val
.
getSign
()
?
0
:
(
uint16_t
)
cvRound
(
_val
*
cv
::
softdouble
((
int32_t
)(
1
<<
fixedShift
)));
}
CV_ALWAYS_INLINE
ufixedpoint16
&
operator
=
(
const
uint8_t
&
_val
)
{
val
=
((
uint16_t
)
_val
)
<<
fixedShift
;
return
*
this
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment