diff options
author | Dana Robinson <43805+derobins@users.noreply.github.com> | 2020-12-02 13:32:22 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-02 13:32:22 (GMT) |
commit | c7c1046d492eb3c956868a66a5a66f814808838b (patch) | |
tree | e6a402fdbb28d72e3c2db4a2749e85357e3037e9 /config/clang-flags | |
parent | 82c0cb122f468c0d8d684da64a08acf50534bd02 (diff) | |
download | hdf5-c7c1046d492eb3c956868a66a5a66f814808838b.zip hdf5-c7c1046d492eb3c956868a66a5a66f814808838b.tar.gz hdf5-c7c1046d492eb3c956868a66a5a66f814808838b.tar.bz2 |
Fix autotools clang debug optimization level w/ older clang and Xcode versions (#146)
* Fixes clang debug optimization level w/ Autotools
NOTE: This was only released in HDF5 1.10.7, so only the 1.10
branch needs a note in RELEASE.txt.
* Updates the clang -Og setting with a version check w/ autotools
* Sets -Og when clang >= 4.0 or Xcode >= 9.0
* Older versions get -O1
* Autotools only
Diffstat (limited to 'config/clang-flags')
-rw-r--r-- | config/clang-flags | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/config/clang-flags b/config/clang-flags index e539a3f..e7b51a3 100644 --- a/config/clang-flags +++ b/config/clang-flags @@ -56,7 +56,10 @@ load_clang_arguments() # if test "X-" = "X-$cc_flags_set"; then # clang -v will return version number following "clang" on Linux machines, - # but on Macs the version number will follow "Apple LLVM version" + # but on Xcode the version number will follow "Apple LLVM version" + # Note that the Xcode reported LLVM version doesn't match the canonical + # LLVM version, so you'll need to do different version checks for + # Xcode. cc_version="`$CC $CFLAGS $H5_CFLAGS -v 2>&1 |\ grep 'clang version' | sed 's/.*clang version \([-a-z0-9\.]*\).*/\1/'`" if test -n "$cc_version"; then @@ -160,9 +163,16 @@ if test "X-clang" = "X-$cc_vendor" -o "X-Apple LLVM" = "X-$cc_vendor"; then ################ HIGH_OPT_CFLAGS="-O3" - DEBUG_OPT_CFLAGS="-Og" NO_OPT_CFLAGS="-O0" + # -Og is only understood by clang 4+ and Xcode 9+ + # Otherwise use -O1 (which is what -Og usually equates to) + if test "X-clang" = "X-$cc_vendor" -a $cc_vers_major -ge 4 -o "X-Apple LLVM" = "X-$cc_vendor" -a $cc_vers_major -ge 9; then + DEBUG_OPT_CFLAGS="-Og" + else + DEBUG_OPT_CFLAGS="-O1" + fi + ############ # Warnings # ############ |