Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,9 @@ if(CMAKE_Fortran_COMPILER_ID STREQUAL "GNU")
endif()

if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
if(CMAKE_C_COMPILER_VERSION VERSION_GREATER "14.0")
add_compile_options(-std=gnu17)
endif()
if(ENABLE_CXX)
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
add_compile_options(-fno-aggressive-loop-optimizations)
Expand Down
1 change: 1 addition & 0 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ AM_CFLAGS += $(GA_COPT)
AM_CFLAGS += $(GA_C_WARN)
AM_CFLAGS += $(CFLAG_NO_LOOP_OPT)
AM_CFLAGS += $(CFLAG_NO_LOOP_VECT)
AM_CFLAGS += $(CFLAG_STD_GNU17)
AM_CXXFLAGS += $(GA_CXXOPT)
AM_CXXFLAGS += $(GA_CXX_WARN)

Expand Down
1 change: 1 addition & 0 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,7 @@ GA_SYS_WEAK_ALIAS
GA_UNION_SEMUN
GA_GNU_LOOP_OPT
GA_GNU_LOOP_VECT
GA_GNU_STD_GNU17

# Checks for C type sizes.
AC_CHECK_SIZEOF([void*])
Expand Down
2 changes: 1 addition & 1 deletion global/src/sketch.c
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ Integer pnga_sprs_array_count_sketch(Integer s_a, Integer size_k,
pnga_put(*g_k,lo,hi,kbuf,&ld);
free(kbuf);
pnga_put(*g_w,lo,hi,kweights,&ld);
pnga_sync(SPA[hdl].grp);
pnga_pgroup_sync(SPA[hdl].grp);
/* Create an output matrix of size_k by jdim */
g_a = pnga_create_handle();
if (trans) {
Expand Down
23 changes: 23 additions & 0 deletions m4/ga_gnu_std_gnu17.m4
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# GA_GNU_STD_GNU17
# ---------------
# Add -std=gnu17 to the compiler flags if using
# GNU compilers to avoid -std=gnu23 issues
AC_DEFUN([GA_GNU_STD_GNU17], [
AC_PREREQ([2.69]) dnl for _AC_LANG_PREFIX
AC_CACHE_CHECK([for -std=gnu17 support in _AC_LANG compiler],
ga_cv_[]_AC_LANG_ABBREV[]_gnu_std_gnu17, [
ga_cv_[]_AC_LANG_ABBREV[]_gnu_std_gnu17=
save_[]_AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS"
[]_AC_LANG_PREFIX[]FLAGS="$save_[]_AC_LANG_PREFIX[]FLAGS -std=gnu17"
save_ac_[]_AC_LANG_ABBREV[]_werror_flag="$ac_[]_AC_LANG_ABBREV[]_werror_flag"
AC_LANG_WERROR
rm -f a.out
touch a.out
AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
ga_cv_[]_AC_LANG_ABBREV[]_gnu_std_gnu17=-std=gnu17)
[]_AC_LANG_PREFIX[]FLAGS="$save_[]_AC_LANG_PREFIX[]FLAGS"
ac_[]_AC_LANG_ABBREV[]_werror_flag="$save_ac_[]_AC_LANG_ABBREV[]_werror_flag"
rm -f a.out
])
AC_SUBST([]_AC_LANG_PREFIX[]FLAG_STD_GNU17, $ga_cv_[]_AC_LANG_ABBREV[]_gnu_std_gnu17)
])
Loading