aboutsummaryrefslogtreecommitdiff
path: root/m4/curl-compilers.m4
AgeCommit message (Collapse)Author
2020-04-06configure: remove use of -vec-report0 from CFLAGS with iccDaniel Stenberg
... as it apparently isn't (always) supported. Reported-by: Alain Miniussi Fixes #5096 Closes #5191
2020-03-11configure: convert -I to -isystem as a last stepDaniel Stenberg
As all the -I uses in CFLAGS at that point are for system headers and third party libraries this helps us remove/ignore warnings on those! Closes #5060
2020-03-11configure: document 'compiler_num' for gccDaniel Stenberg
The CURL_CHECK_COMPILER_GNU_C function sets the number to MAJOR*100 + MINOR and ignores the patch version, and since gcc version 7 it only sets it to MAJOR*100. Reported-by: Stepan Efremov Ref: #5067 Closes #5069
2019-01-16curl-compilers.m4: check for __ibmxl__ to detect xlclangDaniel Stenberg
Follow-up to 2fa0d57e2e3. The __xlc__ symbol is only defined there if a particular flag is used for legacy macros. Fixes #3474 Closes #3479
2019-01-15curl-compilers.m4: detect xlclangDaniel Stenberg
Since it isn't totally clang compatible, we detect this IBM clang front-end and if detected, avoids some clang specific magic. Reported-by: Kees Dekker Fixes #3474 Closes #3476
2018-09-26configure: s/AC_RUN_IFELSE/CURL_RUN_IFELSEDaniel Stenberg
fix a few leftovers Fixes #3006 Closes #3049
2018-09-23whitespace fixesViktor Szakats
- replace tabs with spaces where possible - remove line ending spaces - remove double/triple newlines at EOF - fix a non-UTF-8 character - cleanup a few indentations/line continuations in manual examples Closes https://github.com/curl/curl/pull/3037
2018-08-21Enable more GCC warningsMarcel Raad
This enables the following additional warnings: -Wold-style-definition -Warray-bounds=2 instead of the default 1 -Wformat=2, but only for GCC 4.8+ as Wno-format-nonliteral is not respected for older versions -Wunused-const-variable, which enables level 2 instead of the default 1 -Warray-bounds also in debug mode through -ftree-vrp -Wnull-dereference also in debug mode through -fdelete-null-pointer-checks Closes https://github.com/curl/curl/pull/2747
2018-08-21curl-compilers: enable -Wimplicit-fallthrough=4 for GCCMarcel Raad
This enables level 4 instead of the default level 3, which of the currently used comments only allows /* FALLTHROUGH */ to silence the warning. Closes https://github.com/curl/curl/pull/2747
2018-08-21curl-compilers: enable -Wbad-function-cast on GCCMarcel Raad
This warning used to be enabled only for clang as it's a bit stricter on GCC. Silence the remaining occurrences and enable it on GCC too. Closes https://github.com/curl/curl/pull/2747
2018-05-04configure: put CURLDEBUG and DEBUGBUILD in lib/curl_config.hFrank Gevaerts
They are removed from the compiler flags. This ensures that make dependency tracking will force a rebuild whenever configure --enable-debug or --enable-curldebug changes. Closes #2548
2018-04-07build: add picky compiler warning flags for gcc 6 and 7Eric Gallager
2017-09-08configure: use -Wno-varargs on clang 3.9[.X] debug buildsDaniel Stenberg
... to avoid a clang bug
2017-08-16m4/curl-compilers.m4: use proper quotes around string, not backticksDaniel Stenberg
... when setting clang version to assume 3.7 Caused a lot of "integer expression expected" warnings by configure.
2017-07-10curl-compilers.m4: disable warning spam with Cygwin's clangMarcel Raad
When building with Cygwin or MinGW, libtool uses a wrapper executable instead of a wrapper script [1], which is written in C and throws missing-variable-declarations warnings. Don't enable these warnings on Cygwin and MinGW in order to avoid warnings for every executable built, which spams the test suite output when using Cygwin's clang. [1] https://www.gnu.org/software/libtool/manual/html_node/Wrapper-executables.html Closes https://github.com/curl/curl/pull/1665
2017-06-24curl-compilers.m4: fix unknown-warning-option on Apple clangMarcel Raad
Since 5598b0bd63f690c151074494ce47ef872f004ab4, clang -v is used to detect the clang version. The version number was expected to come after the word "version". For Apple clang, this doesn't work as it has its own versioning scheme. The version number is now first searched after the string "based on LLVM". This works for Apple clang before version 7, and also for e.g. Ubuntu's clang up to version 3.7. If it's not found and the version string contains "Apple LLVM version", clang version 3.7 is assumed, which is the version that comes with Xcode 7. Otherwise, the version number is still expected after the word "version", which works for very old Apple clang versions. Ref: https://trac.macports.org/wiki/XcodeVersionInfo Fixes https://github.com/curl/curl/issues/1606 Closes https://github.com/curl/curl/pull/1607
2017-06-16curl-compilers.m4: enable comma clang warningMarcel Raad
It usually warns when using commas instead of semicolons or other operators by accident. Closes https://github.com/curl/curl/pull/1578
2017-06-16curl-compilers.m4: enable missing-variable-declarations clang warningMarcel Raad
It usually warns when forgetting to declare TU-local variables static. Closes https://github.com/curl/curl/pull/1578
2017-06-16curl-compilers.m4: enable double-promotion warningMarcel Raad
Enable -Wdouble-promotion for both GCC and clang. It warns on implicit promotion from float to double. Closes https://github.com/curl/curl/pull/1578
2017-06-16curl-compilers.m4: enable vla warning for clangMarcel Raad
Previously, that warning was only implicitly active in C90 mode. Enable it unconditionally as already done for GCC. Closes https://github.com/curl/curl/pull/1578
2017-06-01curl-compilers.m4: escape square brackets in regexMarcel Raad
Otherwise, they are removed in the final configure file. Also changed sed to "$SED" like in most other calls in this file.
2017-06-01curl-compilers.m4: fix compiler_num for clangMarcel Raad
"clang -dumpversion" always returns "4.2.1", the GCC version that clang was initially compatible to. Use "clang -v" instead, which returns the actual clang version. Fixes https://github.com/curl/curl/issues/1522 Closes https://github.com/curl/curl/pull/1523
2017-05-31curl-compilers.m4: enable -Wshift-sign-overflow for clangMarcel Raad
clang 2.9+ supports -Wshift-sign-overflow, which warns about undefined behavior on signed left shifts when shifting by too many places. Ref: https://github.com/curl/curl/issues/1516 Closes https://github.com/curl/curl/pull/1517
2017-04-24curl-compilers.m4: accept -Og and -Ofast GCC flagsMarcel Raad
-Og, introduced in GCC 4.8, optimizes for debugging experience. -Ofast, introduced in GCC 4.7, builds on -O3 and enables further optimizations breaking strict standards compliance. When specified in CFLAGS, these were always overridden by -O0 or -O2. Fix this by adding them to flags_opt_all. Ref: https://gcc.gnu.org/onlinedocs/gcc-4.8.0/gcc/Optimize-Options.html Ref: https://github.com/curl/curl/pull/1404#issuecomment-296401570 Closes https://github.com/curl/curl/pull/1440
2017-04-15curl-compilers.m4: turn implicit function declarations into errorsMarcel Raad
This adds -Werror-implicit-function-declaration for GCC 2.95+ so that these errors are visible at the point where they occur instead of only at link time. Implicit function declarations are illegal in C99 and C++ anyway, and the same warning has been turned into an error for ICC in commit 3072c5b8a127057aa922b7c51051bbb4a630b091. Ref: https://gcc.gnu.org/onlinedocs/gcc-2.95.2/gcc_2.html#SEC8 Ref: https://curl.haxx.se/mail/lib-2017-04/0001.html Closes https://github.com/curl/curl/pull/1419
2016-11-07s/cURL/curlDaniel Stenberg
We're mostly saying just "curl" in lower case these days so here's a big cleanup to adapt to this reality. A few instances are left as the project could still formally be considered called cURL.
2016-06-21curl-compilers.m4: improve detection of GCC's -fvisibility= flagKamil Dudka
Some builds of GCC produce output on both stdout and stderr when --help --verbose is used. The 2>&1 redirection caused them to be arbitrarily interleaved with each other because of stream buffering. Consequently, grep failed to match the fvisibility= string in the mixed output, even though the string was present in GCC's standard output. This led to silently disabling symbol hiding in some builds of curl.
2016-02-03URLs: Change more haxx.se URLs from http: to https:Dan Fandrich
2016-02-03URLs: change all http:// URLs to https://Daniel Stenberg
2013-09-27configure: use icc options without spaceDaniel Stenberg
The latest version(s) of the icc compiler no longer accept the extra space in the -we (warning enable), -wd (warning disable), etc. Reported-by: Elmira A Semenova Bug: http://curl.haxx.se/mail/lib-2013-09/0182.html
2013-09-07configure: improve CURL_CHECK_COMPILER_PROTOTYPE_MISMATCHDaniel Stenberg
The compiler test used a variable before it was assigned when it tried to see how it acts on a mismatching prototype, which could cause a false positive.
2013-03-08configure: use XC_LIBTOOL for portability across libtool versionsYang Tse
2013-01-20configure: autotools compatibility fixes - step IYang Tse
Fix proper macro expansion order across autotools versions for C compiler and preprocessor program checks.
2012-12-16configure: check if compiler halts on function prototype mismatchYang Tse
2012-11-16autoconf: don't force-disable compiler debug optionDaniel Stenberg
When nothing is told to configure, we should not enforce switching off debug options with -g0 (or similar). We instead don't use -g at all in that situaion and therefore allow the user's CFLAGS settings possibly dictate what to do.
2012-06-29curl-compilers.m4: remove -Wstrict-aliasing=3 from clangYang Tse
Currently it is unknown if there is any version of clang that actually supports -Wstrict-aliasing. What is known is that there are several that don't support it.
2012-06-26curl-compilers.m4: -Wstrict-aliasing=3 for warning enabled gcc and clang buildsYang Tse
2012-04-16curl-compilers.m4: -Wno-pedantic-ms-format for Windows gcc 4.5 buildsYang Tse
When building a Windows target with gcc 4.5 or newer and strict compiler warnings enabled use -Wno-pedantic-ms-format in addition to other flags.
2012-04-14headers: surround GCC attribute names with double underscoresJonathan Nieder
This protects from attribute names being defined by third party's code. Improvement: http://curl.haxx.se/mail/lib-2012-04/0127.html
2012-04-11build adjustments: CURL_HIDDEN_SYMBOLS no longer defined in config filesYang Tse
configure script now provides conditional definitions for Makefile.am that result in CURL_HIDDEN_SYMBOLS being defined by resulting makefiles when appropriate. Additionally, configure script option for symbol hiding control is now named --enable-symbol-hiding --disable-symbol-hiding. While still valid, old option name --enable-hidden-symbols --disable-hidden-symbols will be deprecated in some future release.
2011-08-08curl-compilers.m4: serial number bumpYang Tse
2011-08-08curl-compilers.m4: CURL_CONVERT_INCLUDE_TO_ISYSTEM adjustments:Yang Tse
Add CURL_CHECK_COMPILER as a requirement. Ensure macro does nothing unless GNU_C or CLANG compiler is used. This should allow usage of this macro in unforeseen placements.
2011-06-04xlc: avoid preprocessor definition usage when linkingYang Tse
2010-12-02configure: undo using autobuilds to temporarily verify strict aliasing warnings.Yang Tse
2010-11-18configure: use autobuilds to temporarily verify strict aliasing warnings.Yang Tse
Temporarily, When cross-compiling with gcc 3.0 or later, enable strict aliasing rules and warnings. Given that cross-compiled targets autobuilds do not run the
2010-11-09serial number bumpYang Tse
2010-03-24remove the CVSish $Id$ linesDaniel Stenberg
2010-03-22Fix warnings for clangDaniel Johnson
2010-03-17replaced intel compiler option -no-ansi-alias with -fno-strict-aliasingYang Tse
2010-03-05Daniel Johnson provided fixes for building with the clang compilerDaniel Stenberg