#------------------------------------------------------------------------------
# amdclang compiler
#------------------------------------------------------------------------------
SUFFIXES   += .C .cc .cpp .cxx

CC         := amdclang++$(COMPILER_VERSION) -std=c++17

c++ARCH    :=
c++DBUG    :=
c++OPT     := -O2
ptFLAGS    := -DNoRepository -ftemplate-depth-100

c++WARN     = \
    -Wall -Wextra -Wno-old-style-cast \
    -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof \
    -Wno-undefined-var-template \
    -Wno-unknown-warning-option \
    -Wno-unused-result \
    -Wno-sign-compare

# Less restrictive warnings (eg, for flex++, CGAL, etc.)
# - many extra warnings from boost
c++LESSWARN = \
    -Wno-old-style-cast -Wno-unused-local-typedefs \
    -Wno-tautological-undefined-compare -Wno-shift-negative-value \
    -Wno-null-pointer-arithmetic \
    -Wno-null-pointer-subtraction \
    -Wno-unknown-warning-option \
    -Wno-deprecated-copy-with-user-provided-copy \
    -Wno-tautological-overlap-compare \
    -Wno-\#pragma-messages

include $(GENERAL_RULES)/hip

ifneq (,$(findstring true,$(have_hip)))
    CC := hipcc$(COMPILER_VERSION) -std=c++17 --offload-arch=$(AMDARCH):xnack+ -Dhave_hip -munsafe-fp-atomics
endif

# Tuning
sinclude $(GENERAL_RULES)/common/c++$(WM_COMPILE_OPTION)

#------------------------------------------------------------------------------
