geany/.travis.yml
elextr 65097208df TravisCI: Remove requirement to fail build on aggregate return (#1740)
Returning large aggregates as values is a potential performance problem, but preventing all aggregate returns is inappropriate because:

1. returning small aggregates that are mostly handled as complete objects as return values often makes code clearer.

2. Modern (well not so modern actually) ABIs allow for small aggregates to be returned in registers, so forcing all returns to memory is actually likely to be slower.

3. if code review does not notice a large aggregate return and nobody notices a performance issue then it doesn't matter
2018-01-12 21:03:22 -08:00

39 lines
1.4 KiB
YAML

# we use both C and C++, so advertize C++
language: cpp
dist: trusty
compiler:
- gcc
env:
- GTK3=no
- GTK3=yes
- GTK3=no MINGW=yes
- GTK3=yes MINGW=yes
before_install:
- sudo apt-get update -qq
install:
- sudo apt-get install -y intltool libtool
- test -n "$MINGW" || sudo apt-get install -y libgtk2.0-dev libgtk-3-dev
- test -z "$MINGW" || sudo apt-get install -y mingw-w64-tools g++-mingw-w64-i686 gcc-mingw-w64-i686 binutils-mingw-w64-i686
# fix broken pkg-config-crosswrapper, see https://bugs.launchpad.net/ubuntu/+source/mingw-w64/+bug/1327242
- test -z "$MINGW" || sudo sed -e 's/PKG_CONFIG_PATH=/&$PKG_CONFIG_PATH:/' -i /usr/bin/i686-w64-mingw32-pkg-config
- sudo apt-get install -y python-docutils rst2pdf
# try not to install doxygen-latex because we don't need it and it's huge
- sudo apt-get install -y --no-install-recommends doxygen
- sudo apt-get install -y python-lxml
before_script:
- export CFLAGS="-g -O2 -Werror=pointer-arith -Werror=implicit-function-declaration"
script:
- NOCONFIGURE=1 ./autogen.sh
- >
if [ -n "$MINGW" ]; then
arg=-2; [ "$GTK3" = yes ] && arg=-3;
unset CC CXX;
sh ./scripts/cross-build-mingw.sh $arg;
else
mkdir _build &&
cd _build &&
{ ../configure --enable-gtk3=$GTK3 || { cat config.log; exit 1; } ; } &&
make -j2 &&
make -j2 check;
fi