Skip to content

Commit

Permalink
Merge branch 'master' into autobuild/alpha
Browse files Browse the repository at this point in the history
  • Loading branch information
c-lipka committed Dec 3, 2016
2 parents 7d65912 + 015e45b commit 588df5b
Show file tree
Hide file tree
Showing 1,461 changed files with 57,495 additions and 27,303 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ our _master branch_ is reported as follows:
- [![Build Status](https://semaphoreci.com/api/v1/pov-ray/povray/branches/master/shields_badge.svg)](https://semaphoreci.com/pov-ray/povray)
(Semaphore: Ubuntu 14.04 LTE 64-bit with gcc 4.8)
- [![Build Status](https://travis-ci.org/POV-Ray/povray.svg?branch=master)](https://travis-ci.org/POV-Ray/povray)
(Travis CI: Ubuntu 12.04 LTE 64-bit with gcc 4.6 and with clang 4.2; OS X 10.11 with gcc 4.2 and with clang 4.2)
(Travis CI: Ubuntu 12.04 LTE 64-bit with gcc 4.6; OS X 10.11 with clang 4.2)

License
--------------------------------------
Expand Down
158 changes: 6 additions & 152 deletions changes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,12 @@ Changed Behaviour
referred to as "IFF-ILBM") is now associated with the `.lbm` file extension,
in addition to the `.iff` extension.

- The "Compression" setting now affects more file types: Specifying
"Compression=1" with file type "T" (Targa) will now generate compressed Targa
(same as file type "C"), and explicitly specifying "Compression=0" with file
type "P"(Netpbm PPM/PGM) will generate "plain" (ASCII) Netpbm rather than
"raw" (binary).

- A long-standing undocumented inconsistency in the treatment of backslashes
in string literals, in which backslashes were essentially _not_ interpreted
as escape characters _if_ the parser expected a filename, has been cleaned
Expand Down Expand Up @@ -204,158 +210,6 @@ Miscellaneous Improvements
- Colour maps, pigment maps and the like are no longer limited to 256 entries.
- The number of components ber blob is no longer artificially limited.

Fixed or Mitigated Issues Reported by Static Code Analysis
----------------------------------------------------------

Coverity Scan defects targeted deliberately:

- CID 967251: 'Constant' variable guards dead code
- CID 967254: 'Constant' variable guards dead code
- CID 967261: Logically dead code
- CID 967262: Logically dead code
- CID 967273: Explicit null dereferenced
- CID 967296: Parse Warning
- CID 967297: Parse Warning
- CID 967377: Uninitialized pointer field
- CID 967400: Uninitialized pointer field
- CID 967410: Structurally dead code
- CID 967412: Structurally dead code
- CID 1129008: Division or modulo by zero
- CID 1129016: Uninitialized pointer read
- CID 1129017: Uninitialized scalar variable
- CID 1372548: Non-virtual destructor
- CID 1372552: Unchecked return value
- CID 1372555: Operands don't affect result
- CID 1372556: Wrong operator used
- CID 1372557: Wrong operator used
- CID 1372558: Resource leak in object
- CID 1372560: Logically dead code
- CID 1372562: Non-array delete for scalars
- CID 1372566: Unchecked dynamic_cast
- CID 1372567: Unchecked dynamic_cast
- CID 1372603: Resource leak
- CID 1372604: Dereference before null check
- CID 1372605: Dereference before null check
- CID 1372606: Dereference before null check
- CID 1372607: Dereference before null check
- CID 1372608: Sizeof not portable
- CID 1372626: Uninitialized scalar variable
- CID 1372636: Uninitialized pointer field
- CID 1372639: Uninitialized scalar field
- CID 1372641: Uninitialized pointer field
- CID 1372642: Uninitialized pointer field
- CID 1372643: Uninitialized scalar field
- CID 1372644: Uninitialized pointer field
- CID 1372646: Uninitialized pointer field
- CID 1372647: Uninitialized pointer field
- CID 1372648: Uninitialized scalar field
- CID 1372650: Uninitialized pointer field
- CID 1372651: Uninitialized pointer field
- CID 1372653: Uninitialized pointer field
- CID 1372654: Structurally dead code
- CID 1372655: Structurally dead code
- CID 1372656: Structurally dead code
- CID 1372657: Unused value
- CID 1373648: Out-of-bounds access
- CID 1373649: Free of address-of expression
- CID 1373651: Logically dead code
- CID 1373652: Dereference before null check
- CID 1373653: Write to pointer after free
- CID 1373654: Use after free

Coverity Scan defects eliminated in passing:

- CID 967238: Unchecked return value from library
- CID 967239: Unchecked return value from library
- CID 967252: Logically dead code
- CID 967255: Logically dead code
- CID 967266: Division or modulo by float zero
- CID 967267: Division or modulo by float zero
- CID 967272: Dereference after null check
- CID 967284: Unsigned compared against 0
- CID 967286: Various
- CID 967290: Dereference null return value
- CID 967291: Out-of-bounds write
- CID 967292: Out-of-bounds access
- CID 967293: Out-of-bounds access
- CID 967294: Out-of-bounds access
- CID 967305: Dereference before null check
- CID 967306: Dereference before null check
- CID 967307: Dereference before null check
- CID 967310: Sizeof not portable
- CID 967333: Uninitialized scalar variable
- CID 967334: Uninitialized scalar variable
- CID 967335: Uninitialized scalar variable
- CID 967336: Uninitialized scalar variable
- CID 967337: Uninitialized scalar variable
- CID 967338: Uninitialized scalar variable
- CID 967339: Uninitialized scalar variable
- CID 967340: Uninitialized scalar variable
- CID 967341: Uninitialized scalar variable
- CID 967342: Uninitialized scalar variable
- CID 967343: Uninitialized scalar variable
- CID 967344: Uninitialized scalar variable
- CID 967345: Uninitialized scalar variable
- CID 967346: Uninitialized scalar variable
- CID 967347: Uninitialized scalar variable
- CID 967348: Uninitialized scalar variable
- CID 967349: Uninitialized scalar variable
- CID 967350: Uninitialized pointer read
- CID 967351: Uninitialized scalar variable
- CID 967352: Uninitialized scalar variable
- CID 967353: Uninitialized scalar variable
- CID 967354: Uninitialized scalar variable
- CID 967355: Uninitialized scalar variable
- CID 967356: Uninitialized scalar variable
- CID 967357: Uninitialized scalar variable
- CID 967366: Uninitialized scalar variable
- CID 967367: Uninitialized scalar variable
- CID 967368: Uninitialized scalar variable
- CID 967369: Uninitialized pointer field
- CID 967370: Uninitialized scalar field
- CID 967371: Uninitialized pointer field
- CID 967372: Uninitialized pointer field
- CID 967373: Uninitialized pointer field
- CID 967374: Uninitialized pointer field
- CID 967375: Uninitialized pointer field
- CID 967376: Uninitialized pointer field
- CID 967385: Uninitialized pointer field
- CID 967387: Uninitialized scalar field
- CID 967392: Uninitialized pointer field
- CID 967398: Uninitialized pointer field
- CID 967408: Uninitialized pointer field
- CID 986459: Logically dead code
- CID 986460: Dereference before null check
- CID 986461: Uninitialized scalar variable
- CID 1129012: Out-of-bounds write
- CID 1129013: Out-of-bounds read
- CID 1372531: Calling risky function
- CID 1372532: Division or modulo by float zero
- CID 1372534: Out-of-bounds access
- CID 1372535: Out-of-bounds access
- CID 1372536: Out-of-bounds access
- CID 1372537: Out-of-bounds access
- CID 1372538: Dereference before null check
- CID 1372539: String not null terminated
- CID 1372540: Uninitialized pointer field
- CID 1372545: Unused value
- CID 1372565: Unchecked dynamic_cast
- CID 1372575: Unchecked dynamic_cast
- CID 1372599: Dereference null return value
- CID 1372613: Uninitialized scalar variable
- CID 1372614: Uninitialized scalar variable
- CID 1372615: Uninitialized scalar variable
- CID 1372616: Uninitialized scalar variable
- CID 1372617: Uninitialized scalar variable
- CID 1372619: Uninitialized scalar variable
- CID 1372620: Uninitialized scalar variable
- CID 1372621: Uninitialized scalar variable
- CID 1372622: Uninitialized scalar variable
- CID 1372623: Uninitialized scalar variable
- CID 1372624: Uninitialized scalar variable
- CID 1372625: Uninitialized scalar variable
- CID 1372627: Uninitialized scalar variable

Fixed or Mitigated Bugs
-----------------------

Expand Down
4 changes: 2 additions & 2 deletions distribution/scenes/camera/mesh_camera/meshcam_ortho_demo.pov
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@
// create a mesh simulating an orthographic camera, with optional load/save mechanism
#if (meshcam_file>0)
// get the file name
#declare prefix="meshcam-ortho_";
#declare mesh_file=concat(concat(concat(concat(prefix,str(image_width,0,0)),"x"),str(image_height,0,0)),".inc");
#declare Prefix="meshcam-ortho_";
#declare mesh_file=concat(concat(concat(concat(Prefix,str(image_width,0,0)),"x"),str(image_height,0,0)),".inc");
#else
// ..wich should be empty to turn the mesh file off
#declare mesh_file="";
Expand Down
6 changes: 3 additions & 3 deletions distribution/scenes/camera/mesh_camera/meshcam_persp_demo.pov
Original file line number Diff line number Diff line change
Expand Up @@ -54,11 +54,11 @@
#if (meshcam_file>0)
// get the file name
#if (use_distortion=0)
#declare prefix="meshcam-pinhole_";
#declare Prefix="meshcam-pinhole_";
#else
#declare prefix="meshcam-lens_";
#declare Prefix="meshcam-lens_";
#end
#declare mesh_file=concat(concat(concat(concat(concat(concat(prefix,str(image_width,0,0)),"x"),str(image_height,0,0)),"-angle_"),str(c_angle,0,0)),".inc");
#declare mesh_file=concat(concat(concat(concat(concat(concat(Prefix,str(image_width,0,0)),"x"),str(image_height,0,0)),"-angle_"),str(c_angle,0,0)),".inc");
#else
// ..wich should be empty to turn the mesh file off
#declare mesh_file="";
Expand Down
4 changes: 3 additions & 1 deletion libraries/boost/boost/algorithm/algorithm.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
#ifndef BOOST_ALGORITHM_HPP
#define BOOST_ALGORITHM_HPP

#include <functional> // for plus and multiplies

#include <boost/utility/enable_if.hpp> // for boost::disable_if
#include <boost/type_traits/is_integral.hpp>

Expand Down Expand Up @@ -56,7 +58,7 @@ power (T x, Integer n) {

/// \fn power ( T x, Integer n, Operation op )
/// \return the value "x" raised to the power "n"
/// using the operaton "op".
/// using the operation "op".
///
/// \param x The value to be exponentiated
/// \param n The exponent (must be >= 0)
Expand Down
3 changes: 0 additions & 3 deletions libraries/boost/boost/algorithm/cxx11/all_of.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
#ifndef BOOST_ALGORITHM_ALL_OF_HPP
#define BOOST_ALGORITHM_ALL_OF_HPP

#include <algorithm> // for std::all_of, if available
#include <boost/range/begin.hpp>
#include <boost/range/end.hpp>

Expand All @@ -27,8 +26,6 @@ namespace boost { namespace algorithm {
/// \param p A predicate for testing the elements of the sequence
///
/// \note This function is part of the C++2011 standard library.
/// We will use the standard one if it is available,
/// otherwise we have our own implementation.
template<typename InputIterator, typename Predicate>
bool all_of ( InputIterator first, InputIterator last, Predicate p )
{
Expand Down
1 change: 0 additions & 1 deletion libraries/boost/boost/algorithm/cxx11/any_of.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
#ifndef BOOST_ALGORITHM_ANY_OF_HPP
#define BOOST_ALGORITHM_ANY_OF_HPP

#include <algorithm> // for std::any_of, if available
#include <boost/range/begin.hpp>
#include <boost/range/end.hpp>

Expand Down
4 changes: 1 addition & 3 deletions libraries/boost/boost/algorithm/cxx11/copy_if.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
#ifndef BOOST_ALGORITHM_COPY_IF_HPP
#define BOOST_ALGORITHM_COPY_IF_HPP

#include <algorithm> // for std::copy_if, if available
#include <utility> // for std::pair, std::make_pair
#include <boost/range/begin.hpp>
#include <boost/range/end.hpp>

Expand All @@ -28,8 +28,6 @@ namespace boost { namespace algorithm {
/// \param result An output iterator to write the results into
/// \param p A predicate for testing the elements of the range
/// \note This function is part of the C++2011 standard library.
/// We will use the standard one if it is available,
/// otherwise we have our own implementation.
template<typename InputIterator, typename OutputIterator, typename Predicate>
OutputIterator copy_if ( InputIterator first, InputIterator last, OutputIterator result, Predicate p )
{
Expand Down
4 changes: 0 additions & 4 deletions libraries/boost/boost/algorithm/cxx11/copy_n.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@
#ifndef BOOST_ALGORITHM_COPY_N_HPP
#define BOOST_ALGORITHM_COPY_N_HPP

#include <algorithm> // for std::copy_n, if available

namespace boost { namespace algorithm {

/// \fn copy_n ( InputIterator first, Size n, OutputIterator result )
Expand All @@ -25,8 +23,6 @@ namespace boost { namespace algorithm {
/// \param n The number of elements to copy
/// \param result An output iterator to write the results into
/// \note This function is part of the C++2011 standard library.
/// We will use the standard one if it is available,
/// otherwise we have our own implementation.
template <typename InputIterator, typename Size, typename OutputIterator>
OutputIterator copy_n ( InputIterator first, Size n, OutputIterator result )
{
Expand Down
4 changes: 0 additions & 4 deletions libraries/boost/boost/algorithm/cxx11/find_if_not.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@
#ifndef BOOST_ALGORITHM_FIND_IF_NOT_HPP
#define BOOST_ALGORITHM_FIND_IF_NOT_HPP

#include <algorithm> // for std::find_if_not, if it exists

#include <boost/range/begin.hpp>
#include <boost/range/end.hpp>

Expand All @@ -27,8 +25,6 @@ namespace boost { namespace algorithm {
/// \param last One past the end of the input sequence
/// \param p A predicate for testing the elements of the range
/// \note This function is part of the C++2011 standard library.
/// We will use the standard one if it is available,
/// otherwise we have our own implementation.
template<typename InputIterator, typename Predicate>
InputIterator find_if_not ( InputIterator first, InputIterator last, Predicate p )
{
Expand Down
4 changes: 0 additions & 4 deletions libraries/boost/boost/algorithm/cxx11/iota.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@
#ifndef BOOST_ALGORITHM_IOTA_HPP
#define BOOST_ALGORITHM_IOTA_HPP

#include <numeric>

#include <boost/range/begin.hpp>
#include <boost/range/end.hpp>

Expand All @@ -26,8 +24,6 @@ namespace boost { namespace algorithm {
/// \param last One past the end of the input sequence
/// \param value The initial value of the sequence to be generated
/// \note This function is part of the C++2011 standard library.
/// We will use the standard one if it is available,
/// otherwise we have our own implementation.
template <typename ForwardIterator, typename T>
void iota ( ForwardIterator first, ForwardIterator last, T value )
{
Expand Down
4 changes: 0 additions & 4 deletions libraries/boost/boost/algorithm/cxx11/is_partitioned.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@
#ifndef BOOST_ALGORITHM_IS_PARTITIONED_HPP
#define BOOST_ALGORITHM_IS_PARTITIONED_HPP

#include <algorithm> // for std::is_partitioned, if available

#include <boost/range/begin.hpp>
#include <boost/range/end.hpp>

Expand All @@ -26,8 +24,6 @@ namespace boost { namespace algorithm {
/// \param last One past the end of the input sequence
/// \param p The predicate to test the values with
/// \note This function is part of the C++2011 standard library.
/// We will use the standard one if it is available,
/// otherwise we have our own implementation.
template <typename InputIterator, typename UnaryPredicate>
bool is_partitioned ( InputIterator first, InputIterator last, UnaryPredicate p )
{
Expand Down
8 changes: 2 additions & 6 deletions libraries/boost/boost/algorithm/cxx11/is_permutation.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
#ifndef BOOST_ALGORITHM_IS_PERMUTATION11_HPP
#define BOOST_ALGORITHM_IS_PERMUTATION11_HPP

#include <algorithm> // for std::less, tie, mismatch and is_permutation (if available)
#include <utility> // for std::make_pair
#include <algorithm> // for std::find_if, count_if, mismatch
#include <utility> // for std::pair
#include <functional> // for std::equal_to
#include <iterator>

Expand Down Expand Up @@ -108,8 +108,6 @@ namespace detail {
/// \param p The predicate to compare elements with
///
/// \note This function is part of the C++2011 standard library.
/// We will use the standard one if it is available,
/// otherwise we have our own implementation.
template< class ForwardIterator1, class ForwardIterator2, class BinaryPredicate >
bool is_permutation ( ForwardIterator1 first1, ForwardIterator1 last1,
ForwardIterator2 first2, BinaryPredicate p )
Expand All @@ -135,8 +133,6 @@ bool is_permutation ( ForwardIterator1 first1, ForwardIterator1 last1,
/// \param last2 One past the end of the input sequence
/// \param first2 The start of the second sequence
/// \note This function is part of the C++2011 standard library.
/// We will use the standard one if it is available,
/// otherwise we have our own implementation.
template< class ForwardIterator1, class ForwardIterator2 >
bool is_permutation ( ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2 )
{
Expand Down
1 change: 0 additions & 1 deletion libraries/boost/boost/algorithm/cxx11/is_sorted.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
#ifndef BOOST_ALGORITHM_ORDERED_HPP
#define BOOST_ALGORITHM_ORDERED_HPP

#include <algorithm>
#include <functional>
#include <iterator>

Expand Down
7 changes: 3 additions & 4 deletions libraries/boost/boost/algorithm/cxx11/none_of.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
#ifndef BOOST_ALGORITHM_NONE_OF_HPP
#define BOOST_ALGORITHM_NONE_OF_HPP

#include <algorithm> // for std::none_of, if available
#include <boost/range/begin.hpp>
#include <boost/range/end.hpp>

Expand All @@ -29,9 +28,9 @@ namespace boost { namespace algorithm {
template<typename InputIterator, typename Predicate>
bool none_of ( InputIterator first, InputIterator last, Predicate p )
{
for ( ; first != last; ++first )
if ( p(*first))
return false;
for ( ; first != last; ++first )
if ( p(*first))
return false;
return true;
}

Expand Down
Loading

0 comments on commit 588df5b

Please sign in to comment.