mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-02-17 16:10:24 +08:00
* commit '54957d37f5aa73912763dbb6e308555e863c43f4': Commit copyright header change for src/H5PLpkg.c which was added after running script to make changes. Add new files in release_docs to MANIFEST. Cimmit changes to Makefile.in(s) and H5PL.c that resulted from running autogen.sh. Merge pull request #407 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10_1 to hdf5_1_10_1 Change copyright headers to replace url referring to file to be removed and replace it with new url for COPYING file.
980 lines
42 KiB
Bash
980 lines
42 KiB
Bash
# -*- shell-script -*-
|
|
#
|
|
# Copyright by The HDF Group.
|
|
# Copyright by the Board of Trustees of the University of Illinois.
|
|
# All rights reserved.
|
|
#
|
|
# This file is part of HDF5. The full HDF5 copyright notice, including
|
|
# terms governing use, modification, and redistribution, is contained in
|
|
# the COPYING file, which can be found at the root of the source code
|
|
# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
|
|
# If you do not have access to either file, you may request a copy from
|
|
# help@hdfgroup.org.
|
|
|
|
|
|
# This file should be sourced into configure if the compiler is the
|
|
# GNU gcc compiler or a derivative. It is careful not to do anything
|
|
# if the compiler is not GNU; otherwise `cc_flags_set' is set to `yes'
|
|
#
|
|
|
|
# Get the compiler version in a way that works for gcc
|
|
# unless a compiler version is already known
|
|
#
|
|
# cc_vendor: The compiler name: gcc
|
|
# cc_version: Version number: 2.91.60, 2.7.2.1
|
|
#
|
|
if test X = "X$cc_flags_set"; then
|
|
# PathScale compiler spits out gcc version string too. Need to
|
|
# filter it out.
|
|
# icc beginning with version 12 includes a "gcc version compatiblilty"
|
|
# string, causing the gcc H5_CFLAGS to be erroneously added. The line
|
|
# "grep -v 'icc version'" causes the discarding of any output
|
|
# containing 'icc version'. The cc_version for icc is correctly determined
|
|
# and flags added in the intel-flags script.
|
|
cc_version="`$CC $CFLAGS $H5_CFLAGS -v 2>&1 | grep -v 'PathScale' |\
|
|
grep -v 'icc version' |\
|
|
grep 'gcc version' | sed 's/.*gcc version \([-a-z0-9\.]*\).*/\1/'`"
|
|
cc_vendor=`echo $cc_version |sed 's/\([a-z]*\).*/\1/'`
|
|
cc_version=`echo $cc_version |sed 's/[-a-z]//g'`
|
|
if test X = "X$cc_vendor" -a X != "X$cc_version"; then
|
|
cc_vendor=gcc
|
|
fi
|
|
if test "-" != "$cc_vendor-$cc_version"; then
|
|
echo "compiler '$CC' is GNU $cc_vendor-$cc_version"
|
|
fi
|
|
|
|
# Some version numbers
|
|
cc_vers_major=`echo $cc_version | cut -f1 -d.`
|
|
cc_vers_minor=`echo $cc_version | cut -f2 -d.`
|
|
cc_vers_patch=`echo $cc_version | cut -f3 -d.`
|
|
test -n "$cc_vers_major" || cc_vers_major=0
|
|
test -n "$cc_vers_minor" || cc_vers_minor=0
|
|
test -n "$cc_vers_patch" || cc_vers_patch=0
|
|
cc_vers_all=`expr $cc_vers_major '*' 1000000 + $cc_vers_minor '*' 1000 + $cc_vers_patch`
|
|
fi
|
|
|
|
# Common GCC flags for various situations
|
|
case "$cc_vendor-$cc_version" in
|
|
gcc*)
|
|
# Architecture-specific flags
|
|
arch=
|
|
case "$host_os-$host_cpu" in
|
|
# FreeBSD sets the information from "uname -m" to the general machine
|
|
# architecture, not the specific CPU for the machine, so even our
|
|
# Pentium II Xeon server is set to "i386". Once we know we are on a FreeBSD
|
|
# machine, use the "sysctl" command to get the CPU hardware model.
|
|
freebsd*-i386)
|
|
host_cpu_model=`sysctl -n hw.model`
|
|
case "$host_cpu_model" in
|
|
# Hmm.. this might not catch Celerons, but it won't hurt them either...
|
|
*Pro*|*II*|*III*|*IV*|*Athlon*)
|
|
# architecture-specific optimizations cause problems
|
|
# for some users who build binaries to be used on
|
|
# multiple architectures.
|
|
# arch="-march=i686"
|
|
;;
|
|
esac
|
|
;;
|
|
|
|
*-i686)
|
|
# architecture-specific optimizations cause problems
|
|
# for some users who build binaries to be used on
|
|
# multiple architectures.
|
|
# arch="-march=i686"
|
|
;;
|
|
esac
|
|
|
|
# Host-specific flags
|
|
case "`hostname`" in
|
|
sleipnir.ncsa.uiuc.edu)
|
|
arch="$arch -pipe"
|
|
;;
|
|
esac
|
|
|
|
# General
|
|
H5_CFLAGS="$H5_CFLAGS $arch -std=c99 -pedantic -Wall -W -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs"
|
|
|
|
# Production
|
|
# NDEBUG is handled explicitly by the configure script
|
|
case "$cc_vendor-$cc_version" in
|
|
gcc-[34].*)
|
|
PROD_CFLAGS=
|
|
;;
|
|
gcc-[56].*)
|
|
PROD_CFLAGS="-fstdarg-opt"
|
|
;;
|
|
*)
|
|
# gcc automatically inlines based on the optimization level
|
|
# this is just a failsafe
|
|
PROD_CFLAGS="-finline-functions"
|
|
;;
|
|
esac
|
|
|
|
# Debug
|
|
# NDEBUG is handled explicitly by the configure script
|
|
# -g is hanled by the symbols flags
|
|
case "$cc_vendor-$cc_version" in
|
|
gcc-[56].*)
|
|
DEBUG_CFLAGS="-ftrapv -fno-common"
|
|
;;
|
|
*)
|
|
DEBUG_CFLAGS=
|
|
;;
|
|
esac
|
|
#DEBUG_CFLAGS="-fsanitize=undefined"
|
|
|
|
# Developer warnings (suggestions from gcc, not code problems)
|
|
DEVELOPER_WARNING_CFLAGS="-Winline -Waggregate-return"
|
|
NO_DEVELOPER_WARNING_CFLAGS="-Wno-inline -Wno-aggregate-return"
|
|
|
|
# Symbols
|
|
NO_SYMBOLS_CFLAGS="-s"
|
|
SYMBOLS_CFLAGS="-g"
|
|
|
|
# Profile
|
|
PROFILE_CFLAGS="-pg"
|
|
|
|
# Optimization
|
|
case "$cc_vendor-$cc_version" in
|
|
gcc-[34].*)
|
|
HIGH_OPT_CFLAGS="-O3"
|
|
DEBUG_OPT_CFLAGS=
|
|
;;
|
|
gcc-[56].*)
|
|
HIGH_OPT_CFLAGS="-O3"
|
|
DEBUG_OPT_CFLAGS="-Og"
|
|
;;
|
|
*)
|
|
HIGH_OPT_CFLAGS="-O"
|
|
DEBUG_OPT_CFLAGS=
|
|
;;
|
|
esac
|
|
NO_OPT_CFLAGS="-O0"
|
|
|
|
# Try out the new "stack protector" feature introduced in gcc 4.1
|
|
# (We should also think about adding some of the other memory protection options)
|
|
#DEBUG_CFLAGS="$DEBUG_CFLAGS -Wstack-protector -fstack-protector-all"
|
|
|
|
# Flags are set
|
|
cc_flags_set=yes
|
|
;;
|
|
esac
|
|
|
|
# Version specific GCC flags
|
|
#
|
|
# Please follow the pattern below by adding new versions at the top, copying
|
|
# the information from the previous version and adding modifications to that.
|
|
case "$cc_vendor-$cc_version" in
|
|
|
|
# When the gcc 7.x release is out, we should check for additional flags to
|
|
# include and break it out into it's own section, like the other versions
|
|
# below. -QAK
|
|
gcc-6*)
|
|
# Append warning flags
|
|
# Don't use the '-Wtraditional' flag, we're way past having K&R C code
|
|
# H5_CFLAGS="$H5_CFLAGS -Wtraditional"
|
|
# Don't use the '-Wtraditional-conversion' flag, there's too many warnings
|
|
# from GCC's assert macro
|
|
# H5_CFLAGS="$H5_CFLAGS -Wtraditional-conversion"
|
|
|
|
# Append warning flags from gcc-3* case
|
|
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
|
# issuing can't be fixed and they are making it hard to detect other,
|
|
# more important warnings)
|
|
#H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
|
|
H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute"
|
|
|
|
# Append warning flags from gcc-3.2* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wpacked -Wdisabled-optimization"
|
|
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS -Wmissing-noreturn"
|
|
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS -Wno-missing-noreturn"
|
|
|
|
# Enable more format checking flags, beyond the basic -Wformat included
|
|
# in -Wall
|
|
H5_CFLAGS="$H5_CFLAGS -Wformat=2"
|
|
|
|
# The "unreachable code" warning appears to be reliable now...
|
|
H5_CFLAGS="$H5_CFLAGS -Wunreachable-code"
|
|
|
|
# Append warning flags from gcc-3.3* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wendif-labels"
|
|
|
|
# Append warning flags from gcc-3.4* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch"
|
|
|
|
# Replace old -W flag with new -Wextra flag
|
|
H5_CFLAGS="`echo $H5_CFLAGS | sed -e 's/-W\ /-Wextra\ /g'`"
|
|
|
|
# Append more extra warning flags that only gcc4.0+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wvariadic-macros -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros"
|
|
|
|
# Append more extra warning flags that only gcc 4.1+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wunsafe-loop-optimizations -Wc++-compat -Wnormalized"
|
|
|
|
# Append more extra warning flags that only gcc 4.2+ know about
|
|
# (none, or incorporated in -Wall / -Wextra now)
|
|
|
|
# Append more extra warning flags that only gcc 4.3+ know about
|
|
#
|
|
# Technically, variable-length arrays are part of the C99 standard, but
|
|
# we should approach them a bit cautiously... -QAK
|
|
H5_CFLAGS="$H5_CFLAGS -Wlogical-op -Wlarger-than=2048 -Wvla"
|
|
|
|
# Append more extra warning flags that only gcc 4.4+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat"
|
|
|
|
# Append more extra warning flags that only gcc 4.5+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wstrict-overflow=5 -Wjump-misses-init -Wunsuffixed-float-constants"
|
|
|
|
# Append more extra warning flags that only gcc 4.6+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wdouble-promotion -Wtrampolines"
|
|
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS -Wsuggest-attribute=const"
|
|
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS -Wno-suggest-attribute=const"
|
|
|
|
# Append more extra warning flags that only gcc 4.7+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wstack-usage=8192 -Wvector-operation-performance"
|
|
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS -Wsuggest-attribute=pure -Wsuggest-attribute=noreturn"
|
|
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS -Wno-suggest-attribute=pure -Wno-suggest-attribute=noreturn"
|
|
|
|
# Append more extra warning flags that only gcc 4.8+ know about
|
|
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS -Wsuggest-attribute=format"
|
|
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS -Wno-suggest-attribute=format"
|
|
|
|
# Append more extra warning flags that only gcc 4.9+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wdate-time"
|
|
|
|
# Append more extra warning flags that only gcc 5.x+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Warray-bounds=2 -Wc99-c11-compat"
|
|
|
|
# Append more extra warning flags that only gcc 6.x+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wnull-dereference -Wunused-const-variable -Wduplicated-cond -Whsa"
|
|
;;
|
|
|
|
gcc-5*)
|
|
# Append warning flags
|
|
# Don't use the '-Wtraditional' flag, we're way past having K&R C code
|
|
# H5_CFLAGS="$H5_CFLAGS -Wtraditional"
|
|
# Don't use the '-Wtraditional-conversion' flag, there's too many warnings
|
|
# from GCC's assert macro
|
|
# H5_CFLAGS="$H5_CFLAGS -Wtraditional-conversion"
|
|
|
|
# Append warning flags from gcc-3* case
|
|
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
|
# issuing can't be fixed and they are making it hard to detect other,
|
|
# more important warnings)
|
|
#H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
|
|
H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute"
|
|
|
|
# Append warning flags from gcc-3.2* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wpacked -Wdisabled-optimization"
|
|
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS -Wmissing-noreturn"
|
|
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS -Wno-missing-noreturn"
|
|
|
|
# Enable more format checking flags, beyond the basic -Wformat included
|
|
# in -Wall
|
|
H5_CFLAGS="$H5_CFLAGS -Wformat=2"
|
|
|
|
# The "unreachable code" warning appears to be reliable now...
|
|
H5_CFLAGS="$H5_CFLAGS -Wunreachable-code"
|
|
|
|
# Append warning flags from gcc-3.3* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wendif-labels"
|
|
|
|
# Append warning flags from gcc-3.4* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch"
|
|
|
|
# Replace old -W flag with new -Wextra flag
|
|
H5_CFLAGS="`echo $H5_CFLAGS | sed -e 's/-W\ /-Wextra\ /g'`"
|
|
|
|
# Append more extra warning flags that only gcc4.0+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wvariadic-macros -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros"
|
|
|
|
# Append more extra warning flags that only gcc 4.1+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wunsafe-loop-optimizations -Wc++-compat -Wnormalized"
|
|
|
|
# Append more extra warning flags that only gcc 4.2+ know about
|
|
# (none, or incorporated in -Wall / -Wextra now)
|
|
|
|
# Append more extra warning flags that only gcc 4.3+ know about
|
|
#
|
|
# Technically, variable-length arrays are part of the C99 standard, but
|
|
# we should approach them a bit cautiously... -QAK
|
|
H5_CFLAGS="$H5_CFLAGS -Wlogical-op -Wlarger-than=2048 -Wvla"
|
|
|
|
# Append more extra warning flags that only gcc 4.4+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat"
|
|
|
|
# Append more extra warning flags that only gcc 4.5+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wstrict-overflow=5 -Wjump-misses-init -Wunsuffixed-float-constants"
|
|
|
|
# Append more extra warning flags that only gcc 4.6+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wdouble-promotion -Wtrampolines"
|
|
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS -Wsuggest-attribute=const"
|
|
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS -Wno-suggest-attribute=const"
|
|
|
|
# Append more extra warning flags that only gcc 4.7+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wstack-usage=8192 -Wvector-operation-performance"
|
|
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS -Wsuggest-attribute=pure -Wsuggest-attribute=noreturn"
|
|
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS -Wno-suggest-attribute=pure -Wno-suggest-attribute=noreturn"
|
|
|
|
# Append more extra warning flags that only gcc 4.8+ know about
|
|
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS -Wsuggest-attribute=format"
|
|
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS -Wno-suggest-attribute=format"
|
|
|
|
# Append more extra warning flags that only gcc 4.9+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wdate-time"
|
|
|
|
# Append more extra warning flags that only gcc 5.x+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Warray-bounds=2 -Wc99-c11-compat"
|
|
;;
|
|
|
|
gcc-4.9*)
|
|
# Append warning flags
|
|
# Don't use the '-Wtraditional' flag, we're way past having K&R C code
|
|
# H5_CFLAGS="$H5_CFLAGS -Wtraditional"
|
|
# Don't use the '-Wtraditional-conversion' flag, there's too many warnings
|
|
# from GCC's assert macro
|
|
# H5_CFLAGS="$H5_CFLAGS -Wtraditional-conversion"
|
|
|
|
# Append warning flags from gcc-3* case
|
|
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
|
# issuing can't be fixed and they are making it hard to detect other,
|
|
# more important warnings)
|
|
#H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
|
|
H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute"
|
|
|
|
# Append warning flags from gcc-3.2* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wpacked -Wdisabled-optimization"
|
|
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS -Wmissing-noreturn"
|
|
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS -Wno-missing-noreturn"
|
|
|
|
# Enable more format checking flags, beyond the basic -Wformat included
|
|
# in -Wall
|
|
H5_CFLAGS="$H5_CFLAGS -Wformat=2"
|
|
|
|
# The "unreachable code" warning appears to be reliable now...
|
|
H5_CFLAGS="$H5_CFLAGS -Wunreachable-code"
|
|
|
|
# Append warning flags from gcc-3.3* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wendif-labels"
|
|
|
|
# Append warning flags from gcc-3.4* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch"
|
|
|
|
# Replace old -W flag with new -Wextra flag
|
|
H5_CFLAGS="`echo $H5_CFLAGS | sed -e 's/-W\ /-Wextra\ /g'`"
|
|
|
|
# Append more extra warning flags that only gcc4.0+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wvariadic-macros -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros"
|
|
|
|
# Append more extra warning flags that only gcc 4.1+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wunsafe-loop-optimizations -Wc++-compat"
|
|
|
|
# Append more extra warning flags that only gcc 4.2+ know about
|
|
# (none, or incorporated in -Wall / -Wextra now)
|
|
|
|
# Append more extra warning flags that only gcc 4.3+ know about
|
|
#
|
|
# Technically, variable-length arrays are part of the C99 standard, but
|
|
# we should approach them a bit cautiously... -QAK
|
|
H5_CFLAGS="$H5_CFLAGS -Wlogical-op -Wlarger-than=2048 -Wvla"
|
|
|
|
# Append more extra warning flags that only gcc 4.4+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat"
|
|
|
|
# Append more extra warning flags that only gcc 4.5+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wstrict-overflow=5 -Wjump-misses-init -Wunsuffixed-float-constants"
|
|
|
|
# Append more extra warning flags that only gcc 4.6+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wdouble-promotion -Wtrampolines"
|
|
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS -Wsuggest-attribute=const"
|
|
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS -Wno-suggest-attribute=const"
|
|
|
|
# Append more extra warning flags that only gcc 4.7+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wstack-usage=8192 -Wvector-operation-performance"
|
|
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS -Wsuggest-attribute=pure -Wsuggest-attribute=noreturn"
|
|
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS -Wno-suggest-attribute=pure -Wno-suggest-attribute=noreturn"
|
|
|
|
# Append more extra warning flags that only gcc 4.8+ know about
|
|
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS -Wsuggest-attribute=format"
|
|
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS -Wno-suggest-attribute=format"
|
|
|
|
# Append more extra warning flags that only gcc 4.9+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wdate-time"
|
|
;;
|
|
|
|
gcc-4.8*)
|
|
# Append warning flags
|
|
# Don't use the '-Wtraditional' flag, we're way past having K&R C code
|
|
# H5_CFLAGS="$H5_CFLAGS -Wtraditional"
|
|
# Don't use the '-Wtraditional-conversion' flag, there's too many warnings
|
|
# from GCC's assert macro
|
|
# H5_CFLAGS="$H5_CFLAGS -Wtraditional-conversion"
|
|
|
|
# Append warning flags from gcc-3* case
|
|
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
|
# issuing can't be fixed and they are making it hard to detect other,
|
|
# more important warnings)
|
|
#H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
|
|
H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute"
|
|
|
|
# Append warning flags from gcc-3.2* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wpacked -Wdisabled-optimization"
|
|
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS -Wmissing-noreturn"
|
|
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS -Wno-missing-noreturn"
|
|
|
|
# Enable more format checking flags, beyond the basic -Wformat included
|
|
# in -Wall
|
|
H5_CFLAGS="$H5_CFLAGS -Wformat=2"
|
|
|
|
# The "unreachable code" warning appears to be reliable now...
|
|
H5_CFLAGS="$H5_CFLAGS -Wunreachable-code"
|
|
|
|
# Append warning flags from gcc-3.3* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wendif-labels"
|
|
|
|
# Append warning flags from gcc-3.4* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch"
|
|
|
|
# Replace old -W flag with new -Wextra flag
|
|
H5_CFLAGS="`echo $H5_CFLAGS | sed -e 's/-W\ /-Wextra\ /g'`"
|
|
|
|
# Append more extra warning flags that only gcc4.0+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wvariadic-macros -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros"
|
|
|
|
# Append more extra warning flags that only gcc 4.1+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wunsafe-loop-optimizations -Wc++-compat"
|
|
|
|
# Append more extra warning flags that only gcc 4.2+ know about
|
|
# (none, or incorporated in -Wall / -Wextra now)
|
|
|
|
# Append more extra warning flags that only gcc 4.3+ know about
|
|
#
|
|
# Technically, variable-length arrays are part of the C99 standard, but
|
|
# we should approach them a bit cautiously... -QAK
|
|
H5_CFLAGS="$H5_CFLAGS -Wlogical-op -Wlarger-than=2048 -Wvla"
|
|
|
|
# Append more extra warning flags that only gcc 4.4+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat"
|
|
|
|
# Append more extra warning flags that only gcc 4.5+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wstrict-overflow=5 -Wjump-misses-init"
|
|
|
|
# Append more extra warning flags that only gcc 4.6+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wdouble-promotion -Wtrampolines"
|
|
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS -Wsuggest-attribute=const"
|
|
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS -Wno-suggest-attribute=const"
|
|
|
|
# Append more extra warning flags that only gcc 4.7+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wstack-usage=8192 -Wvector-operation-performance"
|
|
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS -Wsuggest-attribute=pure -Wsuggest-attribute=noreturn"
|
|
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS -Wno-suggest-attribute=pure -Wno-suggest-attribute=noreturn"
|
|
|
|
# Append more extra warning flags that only gcc 4.8+ know about
|
|
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS -Wsuggest-attribute=format"
|
|
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS -Wno-suggest-attribute=format"
|
|
;;
|
|
|
|
gcc-4.7*)
|
|
# Append warning flags
|
|
# Don't use the '-Wtraditional' flag, we're way past having K&R C code
|
|
# H5_CFLAGS="$H5_CFLAGS -Wtraditional"
|
|
# Don't use the '-Wtraditional-conversion' flag, there's too many warnings
|
|
# from GCC's assert macro
|
|
# H5_CFLAGS="$H5_CFLAGS -Wtraditional-conversion"
|
|
|
|
# Append warning flags from gcc-3* case
|
|
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
|
# issuing can't be fixed and they are making it hard to detect other,
|
|
# more important warnings)
|
|
#H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
|
|
H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute"
|
|
|
|
# Append warning flags from gcc-3.2* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wpacked -Wdisabled-optimization"
|
|
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS -Wmissing-noreturn"
|
|
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS -Wno-missing-noreturn"
|
|
|
|
# Enable more format checking flags, beyond the basic -Wformat included
|
|
# in -Wall
|
|
H5_CFLAGS="$H5_CFLAGS -Wformat=2"
|
|
|
|
# The "unreachable code" warning appears to be reliable now...
|
|
# (this warning was removed in gcc 4.5+)
|
|
#H5_CFLAGS="$H5_CFLAGS -Wunreachable-code"
|
|
|
|
# Append warning flags from gcc-3.3* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wendif-labels"
|
|
|
|
# Append warning flags from gcc-3.4* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch"
|
|
|
|
# Replace old -W flag with new -Wextra flag
|
|
H5_CFLAGS="`echo $H5_CFLAGS | sed -e 's/-W\ /-Wextra\ /g'`"
|
|
|
|
# Append more extra warning flags that only gcc4.0+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wvariadic-macros -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros"
|
|
|
|
# Append more extra warning flags that only gcc 4.1+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wunsafe-loop-optimizations -Wc++-compat"
|
|
|
|
# Append more extra warning flags that only gcc 4.2+ know about
|
|
# (none, or incorporated in -Wall / -Wextra now)
|
|
|
|
# Append more extra warning flags that only gcc 4.3+ know about
|
|
#
|
|
# Technically, variable-length arrays are part of the C99 standard, but
|
|
# we should approach them a bit cautiously... -QAK
|
|
H5_CFLAGS="$H5_CFLAGS -Wlogical-op -Wlarger-than=2048 -Wvla"
|
|
|
|
# Append more extra warning flags that only gcc 4.4+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat"
|
|
|
|
# Append more extra warning flags that only gcc 4.5+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wstrict-overflow=5 -Wjump-misses-init -Wunsuffixed-float-constants"
|
|
|
|
# Append more extra warning flags that only gcc 4.6+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wdouble-promotion -Wtrampolines"
|
|
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS -Wsuggest-attribute=const"
|
|
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS -Wno-suggest-attribute=const"
|
|
|
|
# Append more extra warning flags that only gcc 4.7+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wstack-usage=8192 -Wvector-operation-performance"
|
|
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS -Wsuggest-attribute=pure -Wsuggest-attribute=noreturn"
|
|
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS -Wno-suggest-attribute=pure -Wno-suggest-attribute=noreturn"
|
|
;;
|
|
|
|
gcc-4.6*)
|
|
# Disable warnings about using 'long long' type
|
|
H5_CFLAGS="$H5_CFLAGS -Wno-long-long"
|
|
|
|
# Append warning flags from gcc-3* case
|
|
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
|
# issuing can't be fixed and they are making it hard to detect other,
|
|
# more important warnings)
|
|
#H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
|
|
H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute"
|
|
|
|
# Append warning flags from gcc-3.2* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wpacked -Wdisabled-optimization"
|
|
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS -Wmissing-noreturn"
|
|
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS -Wno-missing-noreturn"
|
|
|
|
# Enable more format checking flags, beyond the basic -Wformat included
|
|
# in -Wall
|
|
H5_CFLAGS="$H5_CFLAGS -Wformat=2"
|
|
|
|
# The "unreachable code" warning appears to be reliable now...
|
|
# (this warning was removed in gcc 4.5+)
|
|
#H5_CFLAGS="$H5_CFLAGS -Wunreachable-code"
|
|
|
|
# Append warning flags from gcc-3.3* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wendif-labels"
|
|
|
|
# Append warning flags from gcc-3.4* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch"
|
|
|
|
# Replace old -W flag with new -Wextra flag
|
|
H5_CFLAGS="`echo $H5_CFLAGS | sed -e 's/-W\ /-Wextra\ /g'`"
|
|
|
|
# Append more extra warning flags that only gcc4.0+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wvariadic-macros -Wnonnull -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros"
|
|
|
|
# Append more extra warning flags that only gcc 4.1+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wunsafe-loop-optimizations -Wc++-compat"
|
|
|
|
# Append more extra warning flags that only gcc 4.2+ know about
|
|
# (none, or incorporated in -Wall / -Wextra now)
|
|
|
|
# Append more extra warning flags that only gcc 4.3+ know about
|
|
#
|
|
# Technically, variable-length arrays are part of the C99 standard, but
|
|
# we should approach them a bit cautiously... -QAK
|
|
H5_CFLAGS="$H5_CFLAGS -Wlogical-op -Wlarger-than=2048 -Wvla"
|
|
|
|
# Append more extra warning flags that only gcc 4.4+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat"
|
|
|
|
# Append more extra warning flags that only gcc 4.5+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wstrict-aliasing -Wstrict-overflow=5 -Wjump-misses-init -Wunsuffixed-float-constants"
|
|
|
|
# Append more extra warning flags that only gcc 4.6+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wdouble-promotion -Wtrampolines"
|
|
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS -Wsuggest-attribute=const"
|
|
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS -Wno-suggest-attribute=const"
|
|
;;
|
|
|
|
gcc-4.5*)
|
|
# Disable warnings about using 'long long' type
|
|
H5_CFLAGS="$H5_CFLAGS -Wno-long-long"
|
|
|
|
# Append warning flags from gcc-3* case
|
|
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
|
# issuing can't be fixed and they are making it hard to detect other,
|
|
# more important warnings)
|
|
#H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
|
|
H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute"
|
|
|
|
# Append warning flags from gcc-3.2* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wpacked -Wdisabled-optimization"
|
|
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS -Wmissing-noreturn"
|
|
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS -Wno-missing-noreturn"
|
|
|
|
# Enable more format checking flags, beyond the basic -Wformat included
|
|
# in -Wall
|
|
H5_CFLAGS="$H5_CFLAGS -Wformat=2"
|
|
|
|
# The "unreachable code" warning appears to be reliable now...
|
|
# (this warning was removed in gcc 4.5+)
|
|
#H5_CFLAGS="$H5_CFLAGS -Wunreachable-code"
|
|
|
|
# Append warning flags from gcc-3.3* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wendif-labels"
|
|
|
|
# Append warning flags from gcc-3.4* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch"
|
|
|
|
# Replace old -W flag with new -Wextra flag
|
|
H5_CFLAGS="`echo $H5_CFLAGS | sed -e 's/-W\ /-Wextra\ /g'`"
|
|
|
|
# Append more extra warning flags that only gcc4.0+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wvariadic-macros -Wnonnull -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros"
|
|
|
|
# Append more extra warning flags that only gcc 4.1+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wunsafe-loop-optimizations -Wc++-compat"
|
|
|
|
# Append more extra warning flags that only gcc 4.2+ know about
|
|
# (none, or incorporated in -Wall / -Wextra now)
|
|
|
|
# Append more extra warning flags that only gcc 4.3+ know about
|
|
#
|
|
# Technically, variable-length arrays are part of the C99 standard, but
|
|
# we should approach them a bit cautiously... -QAK
|
|
H5_CFLAGS="$H5_CFLAGS -Wlogical-op -Wlarger-than=2048 -Wvla"
|
|
|
|
# Append more extra warning flags that only gcc 4.4+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat"
|
|
|
|
# Append more extra warning flags that only gcc 4.5+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wstrict-aliasing -Wstrict-overflow=5 -Wjump-misses-init -Wunsuffixed-float-constants"
|
|
;;
|
|
|
|
gcc-4.4*)
|
|
# Disable warnings about using 'long long' type
|
|
H5_CFLAGS="$H5_CFLAGS -Wno-long-long"
|
|
|
|
# Append warning flags from gcc-3* case
|
|
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
|
# issuing can't be fixed and they are making it hard to detect other,
|
|
# more important warnings)
|
|
#H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
|
|
H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute"
|
|
|
|
# Append warning flags from gcc-3.2* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wpacked -Wdisabled-optimization"
|
|
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS -Wmissing-noreturn"
|
|
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS -Wno-missing-noreturn"
|
|
|
|
# Enable more format checking flags, beyond the basic -Wformat included
|
|
# in -Wall
|
|
H5_CFLAGS="$H5_CFLAGS -Wformat=2"
|
|
|
|
# The "unreachable code" warning appears to be reliable now...
|
|
H5_CFLAGS="$H5_CFLAGS -Wunreachable-code"
|
|
|
|
# Append warning flags from gcc-3.3* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wendif-labels"
|
|
|
|
# Append warning flags from gcc-3.4* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch"
|
|
|
|
# Replace old -W flag with new -Wextra flag
|
|
H5_CFLAGS="`echo $H5_CFLAGS | sed -e 's/-W\ /-Wextra\ /g'`"
|
|
|
|
# Append more extra warning flags that only gcc4.0+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wvariadic-macros -Wnonnull -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros"
|
|
|
|
# Append more extra warning flags that only gcc 4.1+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wunsafe-loop-optimizations -Wc++-compat"
|
|
|
|
# Append more extra warning flags that only gcc 4.2+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wstrict-overflow"
|
|
|
|
# Append more extra warning flags that only gcc 4.3+ know about
|
|
#
|
|
# Technically, variable-length arrays are part of the C99 standard, but
|
|
# we should approach them a bit cautiously... -QAK
|
|
H5_CFLAGS="$H5_CFLAGS -Wlogical-op -Wlarger-than=2048 -Wvla"
|
|
|
|
# Append more extra warning flags that only gcc 4.4+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat"
|
|
;;
|
|
|
|
gcc-4.3*)
|
|
# Disable warnings about using 'long long' type
|
|
H5_CFLAGS="$H5_CFLAGS -Wno-long-long"
|
|
|
|
# Append warning flags from gcc-3* case
|
|
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
|
# issuing can't be fixed and they are making it hard to detect other,
|
|
# more important warnings)
|
|
#H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
|
|
H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute"
|
|
|
|
# Append warning flags from gcc-3.2* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wpacked -Wdisabled-optimization"
|
|
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS -Wmissing-noreturn"
|
|
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS -Wno-missing-noreturn"
|
|
|
|
# Enable more format checking flags, beyond the basic -Wformat included
|
|
# in -Wall
|
|
H5_CFLAGS="$H5_CFLAGS -Wformat=2"
|
|
|
|
# The "unreachable code" warning appears to be reliable now...
|
|
H5_CFLAGS="$H5_CFLAGS -Wunreachable-code"
|
|
|
|
# Append warning flags from gcc-3.3* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wendif-labels"
|
|
|
|
# Append warning flags from gcc-3.4* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch"
|
|
|
|
# Replace old -W flag with new -Wextra flag
|
|
H5_CFLAGS="`echo $H5_CFLAGS | sed -e 's/-W\ /-Wextra\ /g'`"
|
|
|
|
# Append more extra warning flags that only gcc4.0+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wvariadic-macros -Wnonnull -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros"
|
|
|
|
# Append more extra warning flags that only gcc 4.1+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wunsafe-loop-optimizations -Wc++-compat -Wvolatile-register-var"
|
|
|
|
# Append more extra warning flags that only gcc 4.2+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wstrict-overflow"
|
|
|
|
# Append more extra warning flags that only gcc 4.3+ know about
|
|
#
|
|
# Technically, variable-length arrays are part of the C99 standard, but
|
|
# we should approach them a bit cautiously... -QAK
|
|
H5_CFLAGS="$H5_CFLAGS -Wlogical-op -Wvla"
|
|
;;
|
|
|
|
gcc-4.2*)
|
|
# Disable warnings about using 'long long' type
|
|
H5_CFLAGS="$H5_CFLAGS -Wno-long-long"
|
|
|
|
# Append warning flags from gcc-3* case
|
|
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
|
# issuing can't be fixed and they are making it hard to detect other,
|
|
# more important warnings)
|
|
#H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
|
|
H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute"
|
|
|
|
# Append warning flags from gcc-3.2* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wpacked -Wdisabled-optimization"
|
|
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS -Wmissing-noreturn"
|
|
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS -Wno-missing-noreturn"
|
|
|
|
# Enable more format checking flags, beyond the basic -Wformat included
|
|
# in -Wall
|
|
H5_CFLAGS="$H5_CFLAGS -Wformat=2"
|
|
|
|
# The "unreachable code" warning does not appear to be reliable yet...
|
|
H5_CFLAGS="$H5_CFLAGS -Wunreachable-code"
|
|
|
|
# Append warning flags from gcc-3.3* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wendif-labels"
|
|
|
|
# Append warning flags from gcc-3.4* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch"
|
|
|
|
# Replace old -W flag with new -Wextra flag
|
|
H5_CFLAGS="`echo $H5_CFLAGS | sed -e 's/-W\ /-Wextra\ /g'`"
|
|
|
|
# Append more extra warning flags that only gcc 4.0+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wvariadic-macros -Wnonnull -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros"
|
|
|
|
# Append more extra warning flags that only gcc 4.1+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wunsafe-loop-optimizations -Wc++-compat -Wvolatile-register-var"
|
|
|
|
# Append more extra warning flags that only gcc 4.2+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wstrict-overflow"
|
|
;;
|
|
|
|
gcc-4.1*)
|
|
# Disable warnings about using 'long long' type
|
|
H5_CFLAGS="$H5_CFLAGS -Wno-long-long"
|
|
|
|
# Append warning flags from gcc-3* case
|
|
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
|
# issuing can't be fixed and they are making it hard to detect other,
|
|
# more important warnings)
|
|
#H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
|
|
H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute"
|
|
|
|
# Append warning flags from gcc-3.2* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wpacked -Wdisabled-optimization"
|
|
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS -Wmissing-noreturn"
|
|
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS -Wno-missing-noreturn"
|
|
|
|
# Enable more format checking flags, beyond the basic -Wformat included
|
|
# in -Wall
|
|
H5_CFLAGS="$H5_CFLAGS -Wformat=2"
|
|
|
|
# The "unreachable code" warning does not appear to be reliable yet...
|
|
H5_CFLAGS="$H5_CFLAGS -Wunreachable-code"
|
|
|
|
# Append warning flags from gcc-3.3* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wendif-labels"
|
|
|
|
# Append warning flags from gcc-3.4* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch"
|
|
|
|
# Replace old -W flag with new -Wextra flag
|
|
H5_CFLAGS="`echo $H5_CFLAGS | sed -e 's/-W\ /-Wextra\ /g'`"
|
|
|
|
# Append more extra warning flags that only gcc 4.0+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wvariadic-macros -Wnonnull -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros"
|
|
|
|
# Append more extra warning flags that only gcc 4.1+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wunsafe-loop-optimizations -Wc++-compat -Wvolatile-register-var"
|
|
;;
|
|
|
|
gcc-4.0*)
|
|
# Disable warnings about using 'long long' type
|
|
H5_CFLAGS="$H5_CFLAGS -Wno-long-long"
|
|
|
|
# Append warning flags from gcc-3* case
|
|
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
|
# issuing can't be fixed and they are making it hard to detect other,
|
|
# more important warnings)
|
|
#H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
|
|
H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute"
|
|
|
|
# Append warning flags from gcc-3.2* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wpacked -Wdisabled-optimization"
|
|
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS -Wmissing-noreturn"
|
|
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS -Wno-missing-noreturn"
|
|
|
|
# The "format=2" warning generates too many warnings about valid
|
|
# usage in the library.
|
|
#CFLAGS="$CFLAGS -Wformat=2"
|
|
|
|
# The "unreachable code" warning does not appear to be reliable yet...
|
|
#CFLAGS="$CFLAGS -Wunreachable-code"
|
|
|
|
# Append warning flags from gcc-3.3* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wendif-labels"
|
|
|
|
# Append warning flags from gcc-3.4* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch"
|
|
|
|
# Replace old -W flag with new -Wextra flag
|
|
H5_CFLAGS="`echo $H5_CFLAGS | sed -e 's/-W\ /-Wextra\ /g'`"
|
|
|
|
# Append more extra warning flags that only gcc 4.0+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wvariadic-macros -Wnonnull -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros"
|
|
;;
|
|
|
|
gcc-3.4*)
|
|
# Disable warnings about using 'long long' type
|
|
H5_CFLAGS="$H5_CFLAGS -Wno-long-long"
|
|
|
|
# Append warning flags from gcc-3* case
|
|
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
|
# issuing can't be fixed and they are making it hard to detect other,
|
|
# more important warnings)
|
|
#H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
|
|
H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute"
|
|
|
|
# Append warning flags from gcc-3.2* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wpacked -Wdisabled-optimization"
|
|
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS -Wmissing-noreturn"
|
|
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS -Wno-missing-noreturn"
|
|
|
|
# The "format=2" warning generates too many warnings about valid
|
|
# usage in the library.
|
|
#CFLAGS="$CFLAGS -Wformat=2"
|
|
|
|
# The "unreachable code" warning does not appear to be reliable yet...
|
|
#CFLAGS="$CFLAGS -Wunreachable-code"
|
|
|
|
# Append warning flags from gcc-3.3* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wendif-labels"
|
|
|
|
# Append more extra warning flags that only gcc3.4+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch"
|
|
|
|
# Replace old -W flag with new -Wextra flag
|
|
H5_CFLAGS="`echo $H5_CFLAGS | sed -e 's/-W\ /-Wextra\ /g'`"
|
|
;;
|
|
|
|
gcc-3.3*)
|
|
# Disable warnings about using 'long long' type
|
|
H5_CFLAGS="$H5_CFLAGS -Wno-long-long"
|
|
|
|
# Append warning flags from gcc-3* case
|
|
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
|
# issuing can't be fixed and they are making it hard to detect other,
|
|
# more important warnings)
|
|
#H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
|
|
H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute"
|
|
|
|
# Append warning flags from gcc-3.2* case
|
|
H5_CFLAGS="$H5_CFLAGS -Wpacked -Wdisabled-optimization"
|
|
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS -Wmissing-noreturn"
|
|
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS -Wno-missing-noreturn"
|
|
|
|
# The "format=2" warning generates too many warnings about valid
|
|
# usage in the library.
|
|
#CFLAGS="$CFLAGS -Wformat=2"
|
|
|
|
# The "unreachable code" warning does not appear to be reliable yet...
|
|
#CFLAGS="$CFLAGS -Wunreachable-code"
|
|
|
|
# Append more extra warning flags that only gcc3.3+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wendif-labels"
|
|
;;
|
|
|
|
gcc-3.2*)
|
|
# Disable warnings about using 'long long' type
|
|
H5_CFLAGS="$H5_CFLAGS -Wno-long-long"
|
|
|
|
# Append warning flags from gcc-3* case
|
|
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
|
# issuing can't be fixed and they are making it hard to detect other,
|
|
# more important warnings)
|
|
#H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
|
|
H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute"
|
|
|
|
# Append more extra warning flags that only gcc3.2+ know about
|
|
H5_CFLAGS="$H5_CFLAGS -Wpacked -Wdisabled-optimization"
|
|
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS -Wmissing-noreturn"
|
|
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS -Wno-missing-noreturn"
|
|
|
|
# The "format=2" warning generates too many warnings about valid
|
|
# usage in the library.
|
|
#CFLAGS="$CFLAGS -Wformat=2"
|
|
|
|
# The "unreachable code" warning does not appear to be reliable yet...
|
|
#CFLAGS="$CFLAGS -Wunreachable-code"
|
|
;;
|
|
|
|
gcc-3*)
|
|
# Disable warnings about using 'long long' type
|
|
H5_CFLAGS="$H5_CFLAGS -Wno-long-long"
|
|
|
|
# Append some extra warning flags that only gcc3+ know about
|
|
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
|
# issuing can't be fixed and they are making it hard to detect other,
|
|
# more important warnings)
|
|
#H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
|
|
H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute"
|
|
;;
|
|
esac
|
|
|
|
# Clear cc info if no flags set
|
|
if test "X$cc_flags_set" = "X"; then
|
|
cc_vendor=
|
|
cc_version=
|
|
fi
|