aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Nemerson <evan@nemerson.com>2017-02-19 01:06:13 -0800
committerEugene Kliuchnikov <eustas@google.com>2017-02-19 10:06:13 +0100
commitd03c38da7fa679776f0c076a01500dacd1ad75f4 (patch)
tree34fdc89ede9796393c86025494410a4c947bca13
parent53366083e069e6eaeef31d525d3fc9d7798a7a74 (diff)
downloadbrotli-d03c38da7fa679776f0c076a01500dacd1ad75f4.zip
brotli-d03c38da7fa679776f0c076a01500dacd1ad75f4.tar.gz
brotli-d03c38da7fa679776f0c076a01500dacd1ad75f4.tar.bz2
Blacklist PGI from using conformant array parameters. (#511)
* Blacklist PGI from using conformant array parameters. There is a bug in pgcc with conformant array parameters where the length argument is a pointer which triggers a compiler error (PGC-S-0094, to be specific). The issue has been reported to PGI and is being tracked internally as TPR 23778. For more information, see https://www.pgroup.com/userforum/viewtopic.php?t=5501 * travis: Add PGI Community Edition build. For details on the installation script, see https://github.com/nemequ/pgi-travis
-rwxr-xr-x.travis.sh7
-rw-r--r--.travis.yml6
-rwxr-xr-xinclude/brotli/types.h2
3 files changed, 14 insertions, 1 deletions
diff --git a/.travis.sh b/.travis.sh
index 83d11f5..cb174c5 100755
--- a/.travis.sh
+++ b/.travis.sh
@@ -21,6 +21,13 @@ case "$1" in
;;
esac
;;
+ "linux")
+ case "${CC}" in
+ "pgcc")
+ wget -q -O /dev/stdout 'https://raw.githubusercontent.com/nemequ/pgi-travis/master/install-pgi.sh' | /bin/sh
+ ;;
+ esac
+ ;;
esac
;;
"script")
diff --git a/.travis.yml b/.travis.yml
index 6fa1780..da4ca63 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -119,6 +119,12 @@ matrix:
- clang-3.5
###
+ ## PGI Community Edition on Linux
+ ###
+ - os: linux
+ env: BUILD_SYSTEM=cmake C_COMPILER=pgcc CXX_COMPILER=pgc++
+
+ ###
## Python build on Linux
###
- os: linux
diff --git a/include/brotli/types.h b/include/brotli/types.h
index f982c64..fcb2710 100755
--- a/include/brotli/types.h
+++ b/include/brotli/types.h
@@ -81,7 +81,7 @@ typedef void* (*brotli_alloc_func)(void* opaque, size_t size);
typedef void (*brotli_free_func)(void* opaque, void* address);
#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && \
- !defined(__cplusplus)
+ !defined(__cplusplus) && !defined(__PGI)
#define BROTLI_ARRAY_PARAM(L) L
#else
#define BROTLI_ARRAY_PARAM(L)