diff --git a/bin/aomp_common_vars b/bin/aomp_common_vars
index 38ecabe4d..c025c38c3 100644
--- a/bin/aomp_common_vars
+++ b/bin/aomp_common_vars
@@ -28,8 +28,8 @@ AOMP_COMPILER_NAME=${AOMP_COMPILER_NAME:-AOMP}
ROCM_VERSION=${ROCM_VERSION:-6.4.0}
# Set the AOMP VERSION STRING
-AOMP_VERSION=${AOMP_VERSION:-"23.0"}
-AOMP_VERSION_MOD=${AOMP_VERSION_MOD:-"1"}
+AOMP_VERSION=${AOMP_VERSION:-"24.0"}
+AOMP_VERSION_MOD=${AOMP_VERSION_MOD:-"0"}
AOMP_VERSION_STRING=${AOMP_VERSION_STRING:-"$AOMP_VERSION-$AOMP_VERSION_MOD"}
ROCM_EXPECTED_MODVERSION=${ROCM_EXPECTED_MODVERSION:-6.2.4}
export AOMP_VERSION_STRING AOMP_VERSION AOMP_VERSION_MOD ROCM_VERSION ROCM_EXPECTED_MODVERSION
diff --git a/bin/patches/patch-control-file_24.0.txt b/bin/patches/patch-control-file_24.0.txt
new file mode 100644
index 000000000..af86aeb4f
--- /dev/null
+++ b/bin/patches/patch-control-file_24.0.txt
@@ -0,0 +1,15 @@
+openlibm: openlibm.patch
+RAJA: raja.patch
+RAJAPerf: rajaperf.patch
+GenASis: genasis.patch
+GenASiS_Basics: genasis_basics.patch
+hipamd:
+bolt: bolt.patch
+rocr-runtime: rocr-runtime-numa.patch
+clr:
+rocprofiler:
+rocprofiler-sdk:
+babelstream: babelstream-usm.patch
+llvm-project: ATD_ASO_full.patch
+UMT: umt.patch
+rocm-xio: xio.patch
diff --git a/manifests/aomp_24.0.xml b/manifests/aomp_24.0.xml
new file mode 100644
index 000000000..fa4d06c57
--- /dev/null
+++ b/manifests/aomp_24.0.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/manifests/test_24.0.xml b/manifests/test_24.0.xml
new file mode 100644
index 000000000..8cde6f072
--- /dev/null
+++ b/manifests/test_24.0.xml
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/srock-bin/patches/amd-staging/_TheRock_00_compiler-srock.patch b/srock-bin/patches/amd-staging/_TheRock_00_compiler-srock.patch
index d2c849e15..c19c95e65 100644
--- a/srock-bin/patches/amd-staging/_TheRock_00_compiler-srock.patch
+++ b/srock-bin/patches/amd-staging/_TheRock_00_compiler-srock.patch
@@ -1,10 +1,10 @@
diff --git a/compiler/CMakeLists.txt b/compiler/CMakeLists.txt
-index bf625919..cdc6c493 100644
+index 7279cdbb3..103eb2332 100644
--- a/compiler/CMakeLists.txt
+++ b/compiler/CMakeLists.txt
-@@ -13,6 +13,10 @@ if(THEROCK_ENABLE_COMPILER)
- if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
- list(APPEND _extra_llvm_cmake_args "-DLLVM_ENABLE_PEDANTIC=OFF")
+@@ -22,6 +22,10 @@ if(THEROCK_ENABLE_COMPILER)
+ if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+ list(APPEND _extra_llvm_cmake_args "-DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON")
endif()
+ if (DEFINED ENV{SROCK_VERSION_MOD})
+ list(APPEND _extra_llvm_cmake_args "-DLLVM_VERSION_SUFFIX=_SROCK")
diff --git a/srock-bin/srock_common_vars b/srock-bin/srock_common_vars
index c5b97072f..d53195596 100644
--- a/srock-bin/srock_common_vars
+++ b/srock-bin/srock_common_vars
@@ -77,14 +77,15 @@ if [ ! -d "$SROCK_REPOS" ] ; then
fi
fi
-SROCK_VERSION=${SROCK_VERSION:-"7.13"}
+SROCK_VERSION=${SROCK_VERSION:-"7.15"}
SROCK_VERSION_MOD=${SROCK_VERSION_MOD:-"0"}
SROCK_VERSION_STRING=${SROCK_VERSION_STRING:-"$SROCK_VERSION-$SROCK_VERSION_MOD"}
SROCK_MAJOR_VERSION=${SROCK_VERSION%.*}
# Set SROCK_COMPILER_BRANCH to develop to get a native TheRock build
SROCK_COMPILER_BRANCH=${SROCK_COMPILER_BRANCH:-amd-staging}
-SROCK_THEROCK_BRANCH=${SROCK_THEROCK_BRANCH:-compiler/amd-staging}
+#SROCK_THEROCK_BRANCH=${SROCK_THEROCK_BRANCH:-compiler/amd-staging}
+SROCK_THEROCK_BRANCH=${SROCK_THEROCK_BRANCH:-main}
SROCK_CONFIG=${SROCK_CONFIG:-minimal}
# Set default value for ROCm install directory SROCK_INSTALL_DIR.
diff --git a/test/smoke-fort-dev/device_intrinsics_map/Makefile b/test/smoke-fort-dev/device_intrinsics_map/Makefile
new file mode 100644
index 000000000..baf06b793
--- /dev/null
+++ b/test/smoke-fort-dev/device_intrinsics_map/Makefile
@@ -0,0 +1,18 @@
+#NOOPT = 1
+#NOOMP = 1
+#OMP_FLAGS = -fopenmp
+include ../../Makefile.defs
+
+TESTNAME = device_intrinsics_map
+TESTSRC_MAIN = device_intrinsics_map.f90
+TESTSRC_AUX =
+TESTSRC_ALL = $(TESTSRC_MAIN) $(TESTSRC_AUX)
+
+FLANG ?= flang
+OMP_BIN = $(AOMP)/bin/$(FLANG)
+CC = $(OMP_BIN) $(VERBOSE)
+CFLAGS = $(FLANG_GPU_LINK_FLAGS)
+#-ccc-print-phases
+#"-\#\#\#"
+
+include ../Makefile.rules
diff --git a/test/smoke-fort-dev/device_intrinsics_map/device_intrinsics_map.f90 b/test/smoke-fort-dev/device_intrinsics_map/device_intrinsics_map.f90
new file mode 100644
index 000000000..61c494744
--- /dev/null
+++ b/test/smoke-fort-dev/device_intrinsics_map/device_intrinsics_map.f90
@@ -0,0 +1,48 @@
+!
+!Copyright © Advanced Micro Devices, Inc., or its affiliates.
+!
+!SPDX-License-Identifier: MIT
+!
+module mod
+ implicit none
+contains
+ subroutine assgn(a, ma, mi, ms)
+ implicit none
+ real, dimension(:), allocatable :: a
+ real :: ma, mi, ms
+ !$omp target map(tofrom: a,ma,mi,ms)
+ ma = maxval(a)
+ mi = minval(a)
+ ms = sum(a)
+ !$omp end target
+ end subroutine assgn
+end module mod
+
+program device_intrinsics
+ use mod
+ implicit none
+
+ integer, parameter :: n = 1024
+ integer :: i
+ real, dimension(:), allocatable :: a
+ real, dimension(:), allocatable :: b
+ real :: ma, mi, ms
+
+ allocate(a(n))
+ allocate(b(n))
+
+ a = [( real(i),i=1,n )]
+ b = [( real(i),i=1,n )]
+
+ !$omp target enter data map(to:a) map(alloc:ma,mi,ms)
+ call assgn(a, ma, mi, ms)
+ !$omp target exit data map(delete:a) map(from:ma,mi,ms)
+
+ if (mi /= minval(b) .or. ma /= maxval(b) .or. ms /= sum(b)) then
+ print '(a)', 'ERROR'
+ stop 1
+ end if
+ print '(a)', 'SUCCESS'
+
+ deallocate(a)
+end program device_intrinsics
diff --git a/trunk/README.md b/trunk/README.md
index f2c72d10f..5538c2c1f 100644
--- a/trunk/README.md
+++ b/trunk/README.md
@@ -1,9 +1,9 @@
-# How to Build the _trunk23_ Compiler
+# How to Build the _trunk24_ Compiler
Add the following to your environment in either `.bash_profile` or `.bashrc`:
``` bash
-export TRUNK_REPOS=$HOME/git/trunk23.0
+export TRUNK_REPOS=$HOME/git/trunk24.0
```
Or set `TRUNK_REPOS` to a location with a fast file system. Then log in again
@@ -32,17 +32,17 @@ override.
## TRUNK_REPOS
-See the discussion above for building _trunk23_ on the use of `TRUNK_REPOS`.
+See the discussion above for building _trunk24_ on the use of `TRUNK_REPOS`.
## TRUNK_LINK
The default value for `TRUNK_LINK` is `"$HOME/rocm/trunk"`. The `build_trunk.sh`
-script will install into directory `${TRUNK_LINK}_23.0-0`.
+script will install into directory `${TRUNK_LINK}_24.0-0`.
Furthermore, it creates a symbolic link from `$TRUNK_LINK` to the install dir.
So `$TRUNK_LINK` **MUST NOT** be a physical directory. This symbolic link makes
-it easy to switch between future qualifed releases of _trunk23_. If you are on a
+it easy to switch between future qualifed releases of _trunk24_. If you are on a
system where `$HOME` is in a slow filesystem, set `TRUNK_LINK` to where you want
the install directory to be. For example set the following in your
`.bash_profile` or `.bashrc` then relogin:
@@ -51,7 +51,7 @@ the install directory to be. For example set the following in your
export TRUNK_LINK=/work/$USER/rocm/trunk
```
-Then the install scripts will install into `/work/$USER/rocm/trunk_23.0-0` and
+Then the install scripts will install into `/work/$USER/rocm/trunk_24.0-0` and
a symlink will be created from `$TRUNK_LINK`.
@@ -160,16 +160,16 @@ The default for `BUILD_TYPE` is "Release". This sets the value for
`CMAKE_BUILD_TYPE`. See CMake documentation for different possible values.
-# Releases of _trunk23_
+# Releases of _trunk24_
-At various development check points we will qualify releases of _trunk23_ and
+At various development check points we will qualify releases of _trunk24_ and
increment the development version in `trunk_common_vars`. For example, after the
-release of `trunk_23.0-0`, development will move to `trunk_23.0-1`. The build
-scripts will then install into directory `$HOME/rocm/trunk_23.0-1`. The symbolic
+release of `trunk_24.0-0`, development will move to `trunk_24.0-1`. The build
+scripts will then install into directory `$HOME/rocm/trunk_24.0-1`. The symbolic
link from `$HOME/rocm/trunk` will also change to the new install directory.
-After a _trunk23_ release, a static release branch will be created. such as
-`trunk_23.0-0`. This branch will be created by interactive rebasing all the
+After a _trunk24_ release, a static release branch will be created. such as
+`trunk_24.0-0`. This branch will be created by interactive rebasing all the
local commits in `amd-trunk-dev`. Development will continue in the branch
`amd-trunk-dev`.
@@ -183,7 +183,7 @@ similar to the `clone_aomp.sh` script used for AOMP. For now, simply run
merges from main.
-# Testing _trunk23_
+# Testing _trunk24_
To use the various AOMP testing infrastructure in `$TRUNK_REPOS/aomp/test`:
diff --git a/trunk/trunk_common_vars b/trunk/trunk_common_vars
index 669e56fc4..3145ebe80 100644
--- a/trunk/trunk_common_vars
+++ b/trunk/trunk_common_vars
@@ -8,7 +8,7 @@
# set environment variables defined in this file.
#
# Set the TRUNK VERSION STRING and TRUNK_PROJECT_REPO_BRANCH.
-TRUNK_VERSION=${TRUNK_VERSION:-"23.0"}
+TRUNK_VERSION=${TRUNK_VERSION:-"24.0"}
TRUNK_VERSION_MOD=${TRUNK_VERSION_MOD:-"0"}
TRUNK_VERSION_STRING=${TRUNK_VERSION_STRING:-"$TRUNK_VERSION-$TRUNK_VERSION_MOD"}
export TRUNK_VERSION_STRING TRUNK_VERSION TRUNK_VERSION_MOD