已开启
【代码侦探Challenge05】 cftang9999 MulCustom #2471
cftang9999创建于 20 天前
【代码侦探Challenge05】 cftang9999 MulCustom #2471
已开启
共 246 个文件变更+21765-0
| @@ -0,0 +1,38 @@ | |||
| 1 | +# DivCustomTemplate 算子工程说明 | ||
| 2 | + | ||
| 3 | +## 目录结构与各文件职责 | ||
| 4 | + | ||
| 5 | +``` | ||
| 6 | +DivCustomTemplate/ | ||
| 7 | +├── div_custom_template.json # 算子原型定义:声明算子名、输入(x,y)/输出(z)的 dtype 与 format | ||
| 8 | +├── run.sh # 一键编译运行脚本:msopgen 生成→编译→安装→编译测试→运行测试 | ||
| 9 | +├── test/ | ||
| 10 | +│ ├── main.cpp # ACLNN 接口调用测试:构造 x=1.0/y=2.0,调用 aclnnDivCustomTemplate,验证 z=0.5 | ||
| 11 | +│ └── CMakeLists.txt # 测试构建脚本(可选,run.sh 默认用 g++ 直接编译) | ||
| 12 | +└── custom_op/ # msopgen 生成的算子工程 | ||
| 13 | + ├── CMakeLists.txt # 顶层构建脚本,组织子目录编译 | ||
| 14 | + ├── CMakePresets.json # CMake 预设(ASCEND_CANN_PACKAGE_PATH、compute unit 等) | ||
| 15 | + ├── build.sh # 编译打包脚本,调用 cmake+make 生成 .run 安装包 | ||
| 16 | + ├── framework/tf_plugin/ # 框架适配插件(TensorFlow 图解析),本题不涉及修改 | ||
| 17 | + ├── op_host/ # Host 侧 | ||
| 18 | + │ ├── CMakeLists.txt | ||
| 19 | + │ └── div_custom_template.cpp # 算子注册(OpDef)、InferShape/InferDataType、TilingFunc 计算 tile 参数 | ||
| 20 | + └── op_kernel/ # Kernel 侧 | ||
| 21 | + ├── CMakeLists.txt | ||
| 22 | + ├── div_custom_template_tiling.h # Tiling 数据结构定义(totalLength/tileNum/tileLength) | ||
| 23 | + └── div_custom_template.cpp # Ascend C 核函数:Double Buffer 流水线,Div 逐元素除法 | ||
| 24 | +``` | ||
| 25 | + | ||
| 26 | +## 三层职责划分 | ||
| 27 | + | ||
| 28 | +| 层 | 目录 | 职责 | | ||
| 29 | +|---|---|---| | ||
| 30 | +| 原型定义 | `div_custom_template.json` | 声明算子 IO 接口(名称、类型、格式),msopgen 的输入 | | ||
| 31 | +| Host 侧 | `op_host/` | 算子注册到框架、Shape 推导、Tiling 计算(分块参数下发给 kernel) | | ||
| 32 | +| Kernel 侧 | `op_kernel/` | Ascend C 核函数实现,GM↔UB 数据搬运 + Div 计算 | | ||
| 33 | + | ||
| 34 | +## 数据流 | ||
| 35 | + | ||
| 36 | +`GM(x,y) → CopyIn → UB → Div 计算 → UB → CopyOut → GM(z)` | ||
| 37 | + | ||
| 38 | +通过 Double Buffer(BUFFER_NUM=2)实现搬运与计算的流水重叠。 | ||
| @@ -0,0 +1,31 @@ | |||
| 1 | +# ---------------------------------------------------------------------------------------------------------- | ||
| 2 | +# Copyright (c) 2025 Huawei Technologies Co., Ltd. | ||
| 3 | +# This program is free software, you can redistribute it and/or modify it under the terms and conditions of | ||
| 4 | +# CANN Open Software License Agreement Version 2.0 (the "License"). | ||
| 5 | +# Please refer to the License for details. You may not use this file except in compliance with the License. | ||
| 6 | +# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, | ||
| 7 | +# INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. | ||
| 8 | +# See LICENSE in the root of the software repository for the full text of the License. | ||
| 9 | +# ---------------------------------------------------------------------------------------------------------- | ||
| 10 | + | ||
| 11 | + | ||
| 12 | +cmake_minimum_required(VERSION 3.16.0) | ||
| 13 | +project(opp) | ||
| 14 | +find_package(ASC REQUIRED) | ||
| 15 | +set(package_name ${vendor_name}) | ||
| 16 | + | ||
| 17 | +npu_op_package(${package_name} | ||
| 18 | + TYPE RUN | ||
| 19 | + CONFIG | ||
| 20 | + INSTALL_PATH ${CMAKE_BINARY_DIR}/ | ||
| 21 | +) | ||
| 22 | + | ||
| 23 | +if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/framework) | ||
| 24 | + add_subdirectory(framework) | ||
| 25 | +endif() | ||
| 26 | +if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/op_host) | ||
| 27 | + add_subdirectory(op_host) | ||
| 28 | +endif() | ||
| 29 | +if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/op_kernel) | ||
| 30 | + add_subdirectory(op_kernel) | ||
| 31 | +endif() | ||
| @@ -0,0 +1,67 @@ | |||
| 1 | +{ | ||
| 2 | + "version": 1, | ||
| 3 | + "cmakeMinimumRequired": { | ||
| 4 | + "major": 3, | ||
| 5 | + "minor": 16, | ||
| 6 | + "patch": 0 | ||
| 7 | + }, | ||
| 8 | + "configurePresets": [ | ||
| 9 | + { | ||
| 10 | + "name": "default", | ||
| 11 | + "displayName": "Default Config", | ||
| 12 | + "description": "Default build using Unix Makefiles generator", | ||
| 13 | + "generator": "Unix Makefiles", | ||
| 14 | + "binaryDir": "${sourceDir}/build_out", | ||
| 15 | + "cacheVariables": { | ||
| 16 | + "CMAKE_BUILD_TYPE": { | ||
| 17 | + "type": "STRING", | ||
| 18 | + "value": "Release" | ||
| 19 | + }, | ||
| 20 | + "ENABLE_SOURCE_PACKAGE": { | ||
| 21 | + "type": "BOOL", | ||
| 22 | + "value": "True" | ||
| 23 | + }, | ||
| 24 | + "ENABLE_BINARY_PACKAGE": { | ||
| 25 | + "type": "BOOL", | ||
| 26 | + "value": "True" | ||
| 27 | + }, | ||
| 28 | + "ASCEND_COMPUTE_UNIT": { | ||
| 29 | + "type": "STRING", | ||
| 30 | + "value": "ascend910b" | ||
| 31 | + }, | ||
| 32 | + "ENABLE_TEST": { | ||
| 33 | + "type": "BOOL", | ||
| 34 | + "value": "True" | ||
| 35 | + }, | ||
| 36 | + "vendor_name": { | ||
| 37 | + "type": "STRING", | ||
| 38 | + "value": "customize" | ||
| 39 | + }, | ||
| 40 | + "ASCEND_CANN_PACKAGE_PATH": { | ||
| 41 | + "type": "PATH", | ||
| 42 | + "value": "/usr/local/Ascend/cann-9.0.0" | ||
| 43 | + }, | ||
| 44 | + "ASCEND_PYTHON_EXECUTABLE": { | ||
| 45 | + "type": "STRING", | ||
| 46 | + "value": "python3" | ||
| 47 | + }, | ||
| 48 | + "CMAKE_INSTALL_PREFIX": { | ||
| 49 | + "type": "PATH", | ||
| 50 | + "value": "${sourceDir}/build_out" | ||
| 51 | + }, | ||
| 52 | + "ENABLE_CROSS_COMPILE": { | ||
| 53 | + "type": "BOOL", | ||
| 54 | + "value": "False" | ||
| 55 | + }, | ||
| 56 | + "CMAKE_CROSS_PLATFORM_COMPILER": { | ||
| 57 | + "type": "PATH", | ||
| 58 | + "value": "/usr/bin/aarch64-linux-gnu-g++" | ||
| 59 | + }, | ||
| 60 | + "ASCEND_PACK_SHARED_LIBRARY": { | ||
| 61 | + "type": "BOOL", | ||
| 62 | + "value": "False" | ||
| 63 | + } | ||
| 64 | + } | ||
| 65 | + } | ||
| 66 | + ] | ||
| 67 | +} | ||
| @@ -0,0 +1,40 @@ | |||
| 1 | +#!/bin/bash | ||
| 2 | +# ---------------------------------------------------------------------------------------------------------- | ||
| 3 | +# Copyright (c) 2025 Huawei Technologies Co., Ltd. | ||
| 4 | +# This program is free software, you can redistribute it and/or modify it under the terms and conditions of | ||
| 5 | +# CANN Open Software License Agreement Version 2.0 (the "License"). | ||
| 6 | +# Please refer to the License for details. You may not use this file except in compliance with the License. | ||
| 7 | +# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, | ||
| 8 | +# INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. | ||
| 9 | +# See LICENSE in the root of the software repository for the full text of the License. | ||
| 10 | +# ---------------------------------------------------------------------------------------------------------- | ||
| 11 | + | ||
| 12 | +if [ -z "$BASE_LIBS_PATH" ]; then | ||
| 13 | + if [ -z "$ASCEND_HOME_PATH" ]; then | ||
| 14 | + if [ -z "$ASCEND_AICPU_PATH" ]; then | ||
| 15 | + echo "please set env." | ||
| 16 | + exit 1 | ||
| 17 | + else | ||
| 18 | + export ASCEND_HOME_PATH=$ASCEND_AICPU_PATH | ||
| 19 | + fi | ||
| 20 | + else | ||
| 21 | + export ASCEND_HOME_PATH=$ASCEND_HOME_PATH | ||
| 22 | + fi | ||
| 23 | +else | ||
| 24 | + export ASCEND_HOME_PATH=$BASE_LIBS_PATH | ||
| 25 | +fi | ||
| 26 | +echo "using ASCEND_HOME_PATH: $ASCEND_HOME_PATH" | ||
| 27 | +script_path=$(realpath $(dirname $0)) | ||
| 28 | + | ||
| 29 | +BUILD_DIR="build_out" | ||
| 30 | +mkdir -p build_out | ||
| 31 | +rm -rf build_out/* | ||
| 32 | +opts=$(python3 $ASCEND_HOME_PATH/tools/tikcpp/ascendc_kernel_cmake/fwk_modules/util/preset_parse.py $script_path/CMakePresets.json) | ||
| 33 | +cmake_version=$(cmake --version | grep "cmake version" | awk '{print $3}') | ||
| 34 | + | ||
| 35 | +if [ "$cmake_version" \< "3.19.0" ] ; then | ||
| 36 | + cmake -S . -B "$BUILD_DIR" $opts | ||
| 37 | +else | ||
| 38 | + cmake -S . -B "$BUILD_DIR" --preset=default | ||
| 39 | +fi | ||
| 40 | +cmake --build "$BUILD_DIR" --target binary package -j$(nproc) | ||
| @@ -0,0 +1,450 @@ | |||
| 1 | +# This is the CMakeCache file. | ||
| 2 | +# For build in directory: /tmp/code/cann-outreach_4921/2026/CANN-Code-Detective/Challenge04-DivCustomTemplate/cftang9999/DivCustomTemplate/custom_op/build_out | ||
| 3 | +# It was generated by CMake: /usr/local/bin/cmake | ||
| 4 | +# You can edit this file to change values found and used by cmake. | ||
| 5 | +# If you do not want to change any of the values, simply exit the editor. | ||
| 6 | +# If you do want to change a value, simply edit, save, and exit the editor. | ||
| 7 | +# The syntax for the file is as follows: | ||
| 8 | +# KEY:TYPE=VALUE | ||
| 9 | +# KEY is the name of a variable in the cache. | ||
| 10 | +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. | ||
| 11 | +# VALUE is the current value for the KEY. | ||
| 12 | + | ||
| 13 | +######################## | ||
| 14 | +# EXTERNAL cache entries | ||
| 15 | +######################## | ||
| 16 | + | ||
| 17 | +ASCENDC_CMAKE_SCRIPTS_PATH:STRING=/usr/local/Ascend/cann-9.0.0/compiler/tikcpp/ascendc_kernel_cmake/fwk_modules | ||
| 18 | + | ||
| 19 | +ASCENDC_INSTALL_PREFIX:PATH=/tmp/code/cann-outreach_4921/2026/CANN-Code-Detective/Challenge04-DivCustomTemplate/cftang9999/DivCustomTemplate/custom_op/build_out | ||
| 20 | + | ||
| 21 | +//No help, variable specified on the command line. | ||
| 22 | +ASCEND_CANN_PACKAGE_PATH:PATH=/usr/local/Ascend/cann-9.0.0 | ||
| 23 | + | ||
| 24 | +ASCEND_CHECK_OPTYPE_DUPLICATE:BOOL=FALSE | ||
| 25 | + | ||
| 26 | +//No help, variable specified on the command line. | ||
| 27 | +ASCEND_COMPUTE_UNIT:STRING=ascend910b | ||
| 28 | + | ||
| 29 | +//No help, variable specified on the command line. | ||
| 30 | +ASCEND_PACK_SHARED_LIBRARY:BOOL=False | ||
| 31 | + | ||
| 32 | +//No help, variable specified on the command line. | ||
| 33 | +ASCEND_PYTHON_EXECUTABLE:STRING=python3 | ||
| 34 | + | ||
| 35 | +//The directory containing a CMake configuration file for ASC. | ||
| 36 | +ASC_DIR:PATH=/usr/local/Ascend/cann-9.0.0/lib64/cmake | ||
| 37 | + | ||
| 38 | +//Path to a program. | ||
| 39 | +CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line | ||
| 40 | + | ||
| 41 | +//Path to a program. | ||
| 42 | +CMAKE_AR:FILEPATH=/usr/bin/ar | ||
| 43 | + | ||
| 44 | +//No help, variable specified on the command line. | ||
| 45 | +CMAKE_BUILD_TYPE:STRING=Release | ||
| 46 | + | ||
| 47 | +//Enable/Disable color output during build. | ||
| 48 | +CMAKE_COLOR_MAKEFILE:BOOL=ON | ||
| 49 | + | ||
| 50 | +CMAKE_CROSS_LIBRARY_PATH:PATH= | ||
| 51 | + | ||
| 52 | +//No help, variable specified on the command line. | ||
| 53 | +CMAKE_CROSS_PLATFORM_COMPILER:PATH=/usr/bin/aarch64-linux-gnu-g++ | ||
| 54 | + | ||
| 55 | +//CXX compiler | ||
| 56 | +CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ | ||
| 57 | + | ||
| 58 | +//A wrapper around 'ar' adding the appropriate '--plugin' option | ||
| 59 | +// for the GCC compiler | ||
| 60 | +CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-11 | ||
| 61 | + | ||
| 62 | +//A wrapper around 'ranlib' adding the appropriate '--plugin' option | ||
| 63 | +// for the GCC compiler | ||
| 64 | +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-11 | ||
| 65 | + | ||
| 66 | +//Flags used by the CXX compiler during all build types. | ||
| 67 | +CMAKE_CXX_FLAGS:STRING= | ||
| 68 | + | ||
| 69 | +//Flags used by the CXX compiler during DEBUG builds. | ||
| 70 | +CMAKE_CXX_FLAGS_DEBUG:STRING=-g | ||
| 71 | + | ||
| 72 | +//Flags used by the CXX compiler during MINSIZEREL builds. | ||
| 73 | +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG | ||
| 74 | + | ||
| 75 | +//Flags used by the CXX compiler during RELEASE builds. | ||
| 76 | +CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG | ||
| 77 | + | ||
| 78 | +//Flags used by the CXX compiler during RELWITHDEBINFO builds. | ||
| 79 | +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG | ||
| 80 | + | ||
| 81 | +//C compiler | ||
| 82 | +CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc | ||
| 83 | + | ||
| 84 | +//A wrapper around 'ar' adding the appropriate '--plugin' option | ||
| 85 | +// for the GCC compiler | ||
| 86 | +CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-11 | ||
| 87 | + | ||
| 88 | +//A wrapper around 'ranlib' adding the appropriate '--plugin' option | ||
| 89 | +// for the GCC compiler | ||
| 90 | +CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-11 | ||
| 91 | + | ||
| 92 | +//Flags used by the C compiler during all build types. | ||
| 93 | +CMAKE_C_FLAGS:STRING= | ||
| 94 | + | ||
| 95 | +//Flags used by the C compiler during DEBUG builds. | ||
| 96 | +CMAKE_C_FLAGS_DEBUG:STRING=-g | ||
| 97 | + | ||
| 98 | +//Flags used by the C compiler during MINSIZEREL builds. | ||
| 99 | +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG | ||
| 100 | + | ||
| 101 | +//Flags used by the C compiler during RELEASE builds. | ||
| 102 | +CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG | ||
| 103 | + | ||
| 104 | +//Flags used by the C compiler during RELWITHDEBINFO builds. | ||
| 105 | +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG | ||
| 106 | + | ||
| 107 | +//Path to a program. | ||
| 108 | +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND | ||
| 109 | + | ||
| 110 | +//Flags used by the linker during all build types. | ||
| 111 | +CMAKE_EXE_LINKER_FLAGS:STRING= | ||
| 112 | + | ||
| 113 | +//Flags used by the linker during DEBUG builds. | ||
| 114 | +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= | ||
| 115 | + | ||
| 116 | +//Flags used by the linker during MINSIZEREL builds. | ||
| 117 | +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= | ||
| 118 | + | ||
| 119 | +//Flags used by the linker during RELEASE builds. | ||
| 120 | +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= | ||
| 121 | + | ||
| 122 | +//Flags used by the linker during RELWITHDEBINFO builds. | ||
| 123 | +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= | ||
| 124 | + | ||
| 125 | +//Enable/Disable output of compile commands during generation. | ||
| 126 | +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= | ||
| 127 | + | ||
| 128 | +//Value Computed by CMake. | ||
| 129 | +CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/tmp/code/cann-outreach_4921/2026/CANN-Code-Detective/Challenge04-DivCustomTemplate/cftang9999/DivCustomTemplate/custom_op/build_out/CMakeFiles/pkgRedirects | ||
| 130 | + | ||
| 131 | +//No help, variable specified on the command line. | ||
| 132 | +CMAKE_INSTALL_PREFIX:PATH=/tmp/code/cann-outreach_4921/2026/CANN-Code-Detective/Challenge04-DivCustomTemplate/cftang9999/DivCustomTemplate/custom_op/build_out | ||
| 133 | + | ||
| 134 | +//Path to a program. | ||
| 135 | +CMAKE_LINKER:FILEPATH=/usr/bin/ld | ||
| 136 | + | ||
| 137 | +//Path to a program. | ||
| 138 | +CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake | ||
| 139 | + | ||
| 140 | +//Flags used by the linker during the creation of modules during | ||
| 141 | +// all build types. | ||
| 142 | +CMAKE_MODULE_LINKER_FLAGS:STRING= | ||
| 143 | + | ||
| 144 | +//Flags used by the linker during the creation of modules during | ||
| 145 | +// DEBUG builds. | ||
| 146 | +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= | ||
| 147 | + | ||
| 148 | +//Flags used by the linker during the creation of modules during | ||
| 149 | +// MINSIZEREL builds. | ||
| 150 | +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= | ||
| 151 | + | ||
| 152 | +//Flags used by the linker during the creation of modules during | ||
| 153 | +// RELEASE builds. | ||
| 154 | +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= | ||
| 155 | + | ||
| 156 | +//Flags used by the linker during the creation of modules during | ||
| 157 | +// RELWITHDEBINFO builds. | ||
| 158 | +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= | ||
| 159 | + | ||
| 160 | +//Path to a program. | ||
| 161 | +CMAKE_NM:FILEPATH=/usr/bin/nm | ||
| 162 | + | ||
| 163 | +//Path to a program. | ||
| 164 | +CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy | ||
| 165 | + | ||
| 166 | +//Path to a program. | ||
| 167 | +CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump | ||
| 168 | + | ||
| 169 | +//Value Computed by CMake | ||
| 170 | +CMAKE_PROJECT_DESCRIPTION:STATIC= | ||
| 171 | + | ||
| 172 | +//Value Computed by CMake | ||
| 173 | +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= | ||
| 174 | + | ||
| 175 | +//Value Computed by CMake | ||
| 176 | +CMAKE_PROJECT_NAME:STATIC=opp | ||
| 177 | + | ||
| 178 | +//Path to a program. | ||
| 179 | +CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib | ||
| 180 | + | ||
| 181 | +//Path to a program. | ||
| 182 | +CMAKE_READELF:FILEPATH=/usr/bin/readelf | ||
| 183 | + | ||
| 184 | +//Flags used by the linker during the creation of shared libraries | ||
| 185 | +// during all build types. | ||
| 186 | +CMAKE_SHARED_LINKER_FLAGS:STRING= | ||
| 187 | + | ||
| 188 | +//Flags used by the linker during the creation of shared libraries | ||
| 189 | +// during DEBUG builds. | ||
| 190 | +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= | ||
| 191 | + | ||
| 192 | +//Flags used by the linker during the creation of shared libraries | ||
| 193 | +// during MINSIZEREL builds. | ||
| 194 | +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= | ||
| 195 | + | ||
| 196 | +//Flags used by the linker during the creation of shared libraries | ||
| 197 | +// during RELEASE builds. | ||
| 198 | +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= | ||
| 199 | + | ||
| 200 | +//Flags used by the linker during the creation of shared libraries | ||
| 201 | +// during RELWITHDEBINFO builds. | ||
| 202 | +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= | ||
| 203 | + | ||
| 204 | +//If set, runtime paths are not added when installing shared libraries, | ||
| 205 | +// but are added when building. | ||
| 206 | +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO | ||
| 207 | + | ||
| 208 | +//If set, runtime paths are not added when using shared libraries. | ||
| 209 | +CMAKE_SKIP_RPATH:BOOL=NO | ||
| 210 | + | ||
| 211 | +//Flags used by the linker during the creation of static libraries | ||
| 212 | +// during all build types. | ||
| 213 | +CMAKE_STATIC_LINKER_FLAGS:STRING= | ||
| 214 | + | ||
| 215 | +//Flags used by the linker during the creation of static libraries | ||
| 216 | +// during DEBUG builds. | ||
| 217 | +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= | ||
| 218 | + | ||
| 219 | +//Flags used by the linker during the creation of static libraries | ||
| 220 | +// during MINSIZEREL builds. | ||
| 221 | +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= | ||
| 222 | + | ||
| 223 | +//Flags used by the linker during the creation of static libraries | ||
| 224 | +// during RELEASE builds. | ||
| 225 | +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= | ||
| 226 | + | ||
| 227 | +//Flags used by the linker during the creation of static libraries | ||
| 228 | +// during RELWITHDEBINFO builds. | ||
| 229 | +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= | ||
| 230 | + | ||
| 231 | +//Path to a program. | ||
| 232 | +CMAKE_STRIP:FILEPATH=/usr/bin/strip | ||
| 233 | + | ||
| 234 | +//If this value is on, makefiles will be generated without the | ||
| 235 | +// .SILENT directive, and all commands will be echoed to the console | ||
| 236 | +// during the make. This is useful for debugging only. With Visual | ||
| 237 | +// Studio IDE projects all commands are done without /nologo. | ||
| 238 | +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE | ||
| 239 | + | ||
| 240 | +//Enable to build RPM source packages | ||
| 241 | +CPACK_SOURCE_RPM:BOOL=OFF | ||
| 242 | + | ||
| 243 | +//Enable to build TBZ2 source packages | ||
| 244 | +CPACK_SOURCE_TBZ2:BOOL=ON | ||
| 245 | + | ||
| 246 | +//Enable to build TGZ source packages | ||
| 247 | +CPACK_SOURCE_TGZ:BOOL=ON | ||
| 248 | + | ||
| 249 | +//Enable to build TXZ source packages | ||
| 250 | +CPACK_SOURCE_TXZ:BOOL=ON | ||
| 251 | + | ||
| 252 | +//Enable to build TZ source packages | ||
| 253 | +CPACK_SOURCE_TZ:BOOL=ON | ||
| 254 | + | ||
| 255 | +//Enable to build ZIP source packages | ||
| 256 | +CPACK_SOURCE_ZIP:BOOL=OFF | ||
| 257 | + | ||
| 258 | +//No help, variable specified on the command line. | ||
| 259 | +ENABLE_BINARY_PACKAGE:BOOL=True | ||
| 260 | + | ||
| 261 | +ENABLE_COPY_KERNEL_SRC_TO_ASCENDC:BOOL=FALSE | ||
| 262 | + | ||
| 263 | +//No help, variable specified on the command line. | ||
| 264 | +ENABLE_CROSS_COMPILE:BOOL=False | ||
| 265 | + | ||
| 266 | +//No help, variable specified on the command line. | ||
| 267 | +ENABLE_SOURCE_PACKAGE:BOOL=True | ||
| 268 | + | ||
| 269 | +//No help, variable specified on the command line. | ||
| 270 | +ENABLE_TEST:BOOL=True | ||
| 271 | + | ||
| 272 | +_ASCEND_CANN_PACKAGE_PATH:PATH=/usr/local/Ascend/cann-9.0.0 | ||
| 273 | + | ||
| 274 | +//Value Computed by CMake | ||
| 275 | +opp_BINARY_DIR:STATIC=/tmp/code/cann-outreach_4921/2026/CANN-Code-Detective/Challenge04-DivCustomTemplate/cftang9999/DivCustomTemplate/custom_op/build_out | ||
| 276 | + | ||
| 277 | +//Value Computed by CMake | ||
| 278 | +opp_IS_TOP_LEVEL:STATIC=ON | ||
| 279 | + | ||
| 280 | +//Value Computed by CMake | ||
| 281 | +opp_SOURCE_DIR:STATIC=/tmp/code/cann-outreach_4921/2026/CANN-Code-Detective/Challenge04-DivCustomTemplate/cftang9999/DivCustomTemplate/custom_op | ||
| 282 | + | ||
| 283 | +//No help, variable specified on the command line. | ||
| 284 | +vendor_name:STRING=customize | ||
| 285 | + | ||
| 286 | + | ||
| 287 | +######################## | ||
| 288 | +# INTERNAL cache entries | ||
| 289 | +######################## | ||
| 290 | + | ||
| 291 | +//ADVANCED property for variable: CMAKE_ADDR2LINE | ||
| 292 | +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 | ||
| 293 | +//ADVANCED property for variable: CMAKE_AR | ||
| 294 | +CMAKE_AR-ADVANCED:INTERNAL=1 | ||
| 295 | +//This is the directory where this CMakeCache.txt was created | ||
| 296 | +CMAKE_CACHEFILE_DIR:INTERNAL=/tmp/code/cann-outreach_4921/2026/CANN-Code-Detective/Challenge04-DivCustomTemplate/cftang9999/DivCustomTemplate/custom_op/build_out | ||
| 297 | +//Major version of cmake used to create the current loaded cache | ||
| 298 | +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 | ||
| 299 | +//Minor version of cmake used to create the current loaded cache | ||
| 300 | +CMAKE_CACHE_MINOR_VERSION:INTERNAL=26 | ||
| 301 | +//Patch version of cmake used to create the current loaded cache | ||
| 302 | +CMAKE_CACHE_PATCH_VERSION:INTERNAL=4 | ||
| 303 | +//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE | ||
| 304 | +CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 | ||
| 305 | +//Path to CMake executable. | ||
| 306 | +CMAKE_COMMAND:INTERNAL=/usr/local/bin/cmake | ||
| 307 | +//Path to cpack program executable. | ||
| 308 | +CMAKE_CPACK_COMMAND:INTERNAL=/usr/local/bin/cpack | ||
| 309 | +//Path to ctest program executable. | ||
| 310 | +CMAKE_CTEST_COMMAND:INTERNAL=/usr/local/bin/ctest | ||
| 311 | +//ADVANCED property for variable: CMAKE_CXX_COMPILER | ||
| 312 | +CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 | ||
| 313 | +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR | ||
| 314 | +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 | ||
| 315 | +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB | ||
| 316 | +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 | ||
| 317 | +//ADVANCED property for variable: CMAKE_CXX_FLAGS | ||
| 318 | +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 | ||
| 319 | +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG | ||
| 320 | +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 | ||
| 321 | +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL | ||
| 322 | +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 | ||
| 323 | +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE | ||
| 324 | +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 | ||
| 325 | +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO | ||
| 326 | +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 | ||
| 327 | +//ADVANCED property for variable: CMAKE_C_COMPILER | ||
| 328 | +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 | ||
| 329 | +//ADVANCED property for variable: CMAKE_C_COMPILER_AR | ||
| 330 | +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 | ||
| 331 | +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB | ||
| 332 | +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 | ||
| 333 | +//ADVANCED property for variable: CMAKE_C_FLAGS | ||
| 334 | +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 | ||
| 335 | +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG | ||
| 336 | +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 | ||
| 337 | +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL | ||
| 338 | +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 | ||
| 339 | +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE | ||
| 340 | +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 | ||
| 341 | +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO | ||
| 342 | +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 | ||
| 343 | +//ADVANCED property for variable: CMAKE_DLLTOOL | ||
| 344 | +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 | ||
| 345 | +//Path to cache edit program executable. | ||
| 346 | +CMAKE_EDIT_COMMAND:INTERNAL=/usr/local/bin/ccmake | ||
| 347 | +//Executable file format | ||
| 348 | +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF | ||
| 349 | +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS | ||
| 350 | +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 | ||
| 351 | +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG | ||
| 352 | +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 | ||
| 353 | +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL | ||
| 354 | +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 | ||
| 355 | +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE | ||
| 356 | +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 | ||
| 357 | +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO | ||
| 358 | +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 | ||
| 359 | +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS | ||
| 360 | +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 | ||
| 361 | +//Name of external makefile project generator. | ||
| 362 | +CMAKE_EXTRA_GENERATOR:INTERNAL= | ||
| 363 | +//Name of generator. | ||
| 364 | +CMAKE_GENERATOR:INTERNAL=Unix Makefiles | ||
| 365 | +//Generator instance identifier. | ||
| 366 | +CMAKE_GENERATOR_INSTANCE:INTERNAL= | ||
| 367 | +//Name of generator platform. | ||
| 368 | +CMAKE_GENERATOR_PLATFORM:INTERNAL= | ||
| 369 | +//Name of generator toolset. | ||
| 370 | +CMAKE_GENERATOR_TOOLSET:INTERNAL= | ||
| 371 | +//Source directory with the top level CMakeLists.txt file for this | ||
| 372 | +// project | ||
| 373 | +CMAKE_HOME_DIRECTORY:INTERNAL=/tmp/code/cann-outreach_4921/2026/CANN-Code-Detective/Challenge04-DivCustomTemplate/cftang9999/DivCustomTemplate/custom_op | ||
| 374 | +//Install .so files without execute permission. | ||
| 375 | +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 | ||
| 376 | +//ADVANCED property for variable: CMAKE_LINKER | ||
| 377 | +CMAKE_LINKER-ADVANCED:INTERNAL=1 | ||
| 378 | +//ADVANCED property for variable: CMAKE_MAKE_PROGRAM | ||
| 379 | +CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 | ||
| 380 | +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS | ||
| 381 | +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 | ||
| 382 | +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG | ||
| 383 | +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 | ||
| 384 | +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL | ||
| 385 | +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 | ||
| 386 | +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE | ||
| 387 | +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 | ||
| 388 | +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO | ||
| 389 | +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 | ||
| 390 | +//ADVANCED property for variable: CMAKE_NM | ||
| 391 | +CMAKE_NM-ADVANCED:INTERNAL=1 | ||
| 392 | +//number of local generators | ||
| 393 | +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=5 | ||
| 394 | +//ADVANCED property for variable: CMAKE_OBJCOPY | ||
| 395 | +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 | ||
| 396 | +//ADVANCED property for variable: CMAKE_OBJDUMP | ||
| 397 | +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 | ||
| 398 | +//Platform information initialized | ||
| 399 | +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 | ||
| 400 | +//ADVANCED property for variable: CMAKE_RANLIB | ||
| 401 | +CMAKE_RANLIB-ADVANCED:INTERNAL=1 | ||
| 402 | +//ADVANCED property for variable: CMAKE_READELF | ||
| 403 | +CMAKE_READELF-ADVANCED:INTERNAL=1 | ||
| 404 | +//Path to CMake installation. | ||
| 405 | +CMAKE_ROOT:INTERNAL=/usr/local/share/cmake-3.26 | ||
| 406 | +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS | ||
| 407 | +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 | ||
| 408 | +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG | ||
| 409 | +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 | ||
| 410 | +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL | ||
| 411 | +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 | ||
| 412 | +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE | ||
| 413 | +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 | ||
| 414 | +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO | ||
| 415 | +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 | ||
| 416 | +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH | ||
| 417 | +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 | ||
| 418 | +//ADVANCED property for variable: CMAKE_SKIP_RPATH | ||
| 419 | +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 | ||
| 420 | +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS | ||
| 421 | +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 | ||
| 422 | +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG | ||
| 423 | +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 | ||
| 424 | +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL | ||
| 425 | +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 | ||
| 426 | +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE | ||
| 427 | +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 | ||
| 428 | +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO | ||
| 429 | +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 | ||
| 430 | +//ADVANCED property for variable: CMAKE_STRIP | ||
| 431 | +CMAKE_STRIP-ADVANCED:INTERNAL=1 | ||
| 432 | +//uname command | ||
| 433 | +CMAKE_UNAME:INTERNAL=/usr/bin/uname | ||
| 434 | +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE | ||
| 435 | +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 | ||
| 436 | +//ADVANCED property for variable: CPACK_SOURCE_RPM | ||
| 437 | +CPACK_SOURCE_RPM-ADVANCED:INTERNAL=1 | ||
| 438 | +//ADVANCED property for variable: CPACK_SOURCE_TBZ2 | ||
| 439 | +CPACK_SOURCE_TBZ2-ADVANCED:INTERNAL=1 | ||
| 440 | +//ADVANCED property for variable: CPACK_SOURCE_TGZ | ||
| 441 | +CPACK_SOURCE_TGZ-ADVANCED:INTERNAL=1 | ||
| 442 | +//ADVANCED property for variable: CPACK_SOURCE_TXZ | ||
| 443 | +CPACK_SOURCE_TXZ-ADVANCED:INTERNAL=1 | ||
| 444 | +//ADVANCED property for variable: CPACK_SOURCE_TZ | ||
| 445 | +CPACK_SOURCE_TZ-ADVANCED:INTERNAL=1 | ||
| 446 | +//ADVANCED property for variable: CPACK_SOURCE_ZIP | ||
| 447 | +CPACK_SOURCE_ZIP-ADVANCED:INTERNAL=1 | ||
| 448 | +//linker supports push/pop state | ||
| 449 | +_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=TRUE | ||
| 450 | + | ||
| @@ -0,0 +1,72 @@ | |||
| 1 | +set(CMAKE_C_COMPILER "/usr/bin/cc") | ||
| 2 | +set(CMAKE_C_COMPILER_ARG1 "") | ||
| 3 | +set(CMAKE_C_COMPILER_ID "GNU") | ||
| 4 | +set(CMAKE_C_COMPILER_VERSION "11.4.0") | ||
| 5 | +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") | ||
| 6 | +set(CMAKE_C_COMPILER_WRAPPER "") | ||
| 7 | +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17") | ||
| 8 | +set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON") | ||
| 9 | +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23") | ||
| 10 | +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") | ||
| 11 | +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") | ||
| 12 | +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") | ||
| 13 | +set(CMAKE_C17_COMPILE_FEATURES "c_std_17") | ||
| 14 | +set(CMAKE_C23_COMPILE_FEATURES "c_std_23") | ||
| 15 | + | ||
| 16 | +set(CMAKE_C_PLATFORM_ID "Linux") | ||
| 17 | +set(CMAKE_C_SIMULATE_ID "") | ||
| 18 | +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "GNU") | ||
| 19 | +set(CMAKE_C_SIMULATE_VERSION "") | ||
| 20 | + | ||
| 21 | + | ||
| 22 | + | ||
| 23 | + | ||
| 24 | +set(CMAKE_AR "/usr/bin/ar") | ||
| 25 | +set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-11") | ||
| 26 | +set(CMAKE_RANLIB "/usr/bin/ranlib") | ||
| 27 | +set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-11") | ||
| 28 | +set(CMAKE_LINKER "/usr/bin/ld") | ||
| 29 | +set(CMAKE_MT "") | ||
| 30 | +set(CMAKE_COMPILER_IS_GNUCC 1) | ||
| 31 | +set(CMAKE_C_COMPILER_LOADED 1) | ||
| 32 | +set(CMAKE_C_COMPILER_WORKS TRUE) | ||
| 33 | +set(CMAKE_C_ABI_COMPILED TRUE) | ||
| 34 | + | ||
| 35 | +set(CMAKE_C_COMPILER_ENV_VAR "CC") | ||
| 36 | + | ||
| 37 | +set(CMAKE_C_COMPILER_ID_RUN 1) | ||
| 38 | +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) | ||
| 39 | +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) | ||
| 40 | +set(CMAKE_C_LINKER_PREFERENCE 10) | ||
| 41 | + | ||
| 42 | +# Save compiler ABI information. | ||
| 43 | +set(CMAKE_C_SIZEOF_DATA_PTR "8") | ||
| 44 | +set(CMAKE_C_COMPILER_ABI "ELF") | ||
| 45 | +set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") | ||
| 46 | +set(CMAKE_C_LIBRARY_ARCHITECTURE "aarch64-linux-gnu") | ||
| 47 | + | ||
| 48 | +if(CMAKE_C_SIZEOF_DATA_PTR) | ||
| 49 | + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") | ||
| 50 | +endif() | ||
| 51 | + | ||
| 52 | +if(CMAKE_C_COMPILER_ABI) | ||
| 53 | + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") | ||
| 54 | +endif() | ||
| 55 | + | ||
| 56 | +if(CMAKE_C_LIBRARY_ARCHITECTURE) | ||
| 57 | + set(CMAKE_LIBRARY_ARCHITECTURE "aarch64-linux-gnu") | ||
| 58 | +endif() | ||
| 59 | + | ||
| 60 | +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") | ||
| 61 | +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) | ||
| 62 | + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") | ||
| 63 | +endif() | ||
| 64 | + | ||
| 65 | + | ||
| 66 | + | ||
| 67 | + | ||
| 68 | + | ||
| 69 | +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/aarch64-linux-gnu/11/include;/usr/local/include;/usr/include/aarch64-linux-gnu;/usr/include") | ||
| 70 | +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s") | ||
| 71 | +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/aarch64-linux-gnu/11;/usr/lib/aarch64-linux-gnu;/usr/lib;/lib/aarch64-linux-gnu;/lib") | ||
| 72 | +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") | ||
| @@ -0,0 +1,83 @@ | |||
| 1 | +set(CMAKE_CXX_COMPILER "/usr/bin/c++") | ||
| 2 | +set(CMAKE_CXX_COMPILER_ARG1 "") | ||
| 3 | +set(CMAKE_CXX_COMPILER_ID "GNU") | ||
| 4 | +set(CMAKE_CXX_COMPILER_VERSION "11.4.0") | ||
| 5 | +set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") | ||
| 6 | +set(CMAKE_CXX_COMPILER_WRAPPER "") | ||
| 7 | +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17") | ||
| 8 | +set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON") | ||
| 9 | +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23") | ||
| 10 | +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") | ||
| 11 | +set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") | ||
| 12 | +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") | ||
| 13 | +set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") | ||
| 14 | +set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") | ||
| 15 | +set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23") | ||
| 16 | + | ||
| 17 | +set(CMAKE_CXX_PLATFORM_ID "Linux") | ||
| 18 | +set(CMAKE_CXX_SIMULATE_ID "") | ||
| 19 | +set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "GNU") | ||
| 20 | +set(CMAKE_CXX_SIMULATE_VERSION "") | ||
| 21 | + | ||
| 22 | + | ||
| 23 | + | ||
| 24 | + | ||
| 25 | +set(CMAKE_AR "/usr/bin/ar") | ||
| 26 | +set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-11") | ||
| 27 | +set(CMAKE_RANLIB "/usr/bin/ranlib") | ||
| 28 | +set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-11") | ||
| 29 | +set(CMAKE_LINKER "/usr/bin/ld") | ||
| 30 | +set(CMAKE_MT "") | ||
| 31 | +set(CMAKE_COMPILER_IS_GNUCXX 1) | ||
| 32 | +set(CMAKE_CXX_COMPILER_LOADED 1) | ||
| 33 | +set(CMAKE_CXX_COMPILER_WORKS TRUE) | ||
| 34 | +set(CMAKE_CXX_ABI_COMPILED TRUE) | ||
| 35 | + | ||
| 36 | +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") | ||
| 37 | + | ||
| 38 | +set(CMAKE_CXX_COMPILER_ID_RUN 1) | ||
| 39 | +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm) | ||
| 40 | +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) | ||
| 41 | + | ||
| 42 | +foreach (lang C OBJC OBJCXX) | ||
| 43 | + if (CMAKE_${lang}_COMPILER_ID_RUN) | ||
| 44 | + foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) | ||
| 45 | + list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) | ||
| 46 | + endforeach() | ||
| 47 | + endif() | ||
| 48 | +endforeach() | ||
| 49 | + | ||
| 50 | +set(CMAKE_CXX_LINKER_PREFERENCE 30) | ||
| 51 | +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) | ||
| 52 | + | ||
| 53 | +# Save compiler ABI information. | ||
| 54 | +set(CMAKE_CXX_SIZEOF_DATA_PTR "8") | ||
| 55 | +set(CMAKE_CXX_COMPILER_ABI "ELF") | ||
| 56 | +set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN") | ||
| 57 | +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "aarch64-linux-gnu") | ||
| 58 | + | ||
| 59 | +if(CMAKE_CXX_SIZEOF_DATA_PTR) | ||
| 60 | + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") | ||
| 61 | +endif() | ||
| 62 | + | ||
| 63 | +if(CMAKE_CXX_COMPILER_ABI) | ||
| 64 | + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") | ||
| 65 | +endif() | ||
| 66 | + | ||
| 67 | +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) | ||
| 68 | + set(CMAKE_LIBRARY_ARCHITECTURE "aarch64-linux-gnu") | ||
| 69 | +endif() | ||
| 70 | + | ||
| 71 | +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") | ||
| 72 | +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) | ||
| 73 | + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") | ||
| 74 | +endif() | ||
| 75 | + | ||
| 76 | + | ||
| 77 | + | ||
| 78 | + | ||
| 79 | + | ||
| 80 | +set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/11;/usr/include/aarch64-linux-gnu/c++/11;/usr/include/c++/11/backward;/usr/lib/gcc/aarch64-linux-gnu/11/include;/usr/local/include;/usr/include/aarch64-linux-gnu;/usr/include") | ||
| 81 | +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc") | ||
| 82 | +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/aarch64-linux-gnu/11;/usr/lib/aarch64-linux-gnu;/usr/lib;/lib/aarch64-linux-gnu;/lib") | ||
| 83 | +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") | ||
| @@ -0,0 +1,15 @@ | |||
| 1 | +set(CMAKE_HOST_SYSTEM "Linux-5.15.0-25-generic") | ||
| 2 | +set(CMAKE_HOST_SYSTEM_NAME "Linux") | ||
| 3 | +set(CMAKE_HOST_SYSTEM_VERSION "5.15.0-25-generic") | ||
| 4 | +set(CMAKE_HOST_SYSTEM_PROCESSOR "aarch64") | ||
| 5 | + | ||
| 6 | + | ||
| 7 | + | ||
| 8 | +set(CMAKE_SYSTEM "Linux-5.15.0-25-generic") | ||
| 9 | +set(CMAKE_SYSTEM_NAME "Linux") | ||
| 10 | +set(CMAKE_SYSTEM_VERSION "5.15.0-25-generic") | ||
| 11 | +set(CMAKE_SYSTEM_PROCESSOR "aarch64") | ||
| 12 | + | ||
| 13 | +set(CMAKE_CROSSCOMPILING "FALSE") | ||
| 14 | + | ||
| 15 | +set(CMAKE_SYSTEM_LOADED 1) | ||
| @@ -0,0 +1,866 @@ | |||
| 1 | + | ||
| 2 | + | ||
| 3 | + | ||
| 4 | + | ||
| 5 | + | ||
| 6 | + | ||
| 7 | + | ||
| 8 | + | ||
| 9 | +/* cv-qualifiers did not exist in K&R C */ | ||
| 10 | + | ||
| 11 | + | ||
| 12 | + | ||
| 13 | + | ||
| 14 | + | ||
| 15 | +/* If the compiler does not have __has_include, pretend the answer is | ||
| 16 | + always no. */ | ||
| 17 | + | ||
| 18 | + | ||
| 19 | + | ||
| 20 | + | ||
| 21 | +/* Version number components: V=Version, R=Revision, P=Patch | ||
| 22 | + Version date components: YYYY=Year, MM=Month, DD=Day */ | ||
| 23 | + | ||
| 24 | + | ||
| 25 | + | ||
| 26 | + | ||
| 27 | + | ||
| 28 | + | ||
| 29 | + | ||
| 30 | + | ||
| 31 | + | ||
| 32 | + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, | ||
| 33 | + except that a few beta releases use the old format with V=2021. */ | ||
| 34 | + | ||
| 35 | + | ||
| 36 | + | ||
| 37 | + | ||
| 38 | + | ||
| 39 | + | ||
| 40 | + | ||
| 41 | + | ||
| 42 | + | ||
| 43 | + | ||
| 44 | + | ||
| 45 | + /* The third version component from --version is an update index, | ||
| 46 | + but no macro is provided for it. */ | ||
| 47 | + | ||
| 48 | + | ||
| 49 | + | ||
| 50 | + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ | ||
| 51 | + | ||
| 52 | + | ||
| 53 | + | ||
| 54 | + /* _MSC_VER = VVRR */ | ||
| 55 | + | ||
| 56 | + | ||
| 57 | + | ||
| 58 | + | ||
| 59 | + | ||
| 60 | + | ||
| 61 | + | ||
| 62 | + | ||
| 63 | + | ||
| 64 | + | ||
| 65 | + | ||
| 66 | + | ||
| 67 | + | ||
| 68 | + | ||
| 69 | + | ||
| 70 | + | ||
| 71 | + | ||
| 72 | + | ||
| 73 | + | ||
| 74 | + | ||
| 75 | + | ||
| 76 | + | ||
| 77 | + | ||
| 78 | +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and | ||
| 79 | + * later. Look for 6 digit vs. 8 digit version number to decide encoding. | ||
| 80 | + * VVVV is no smaller than the current year when a version is released. | ||
| 81 | + */ | ||
| 82 | + | ||
| 83 | + | ||
| 84 | + | ||
| 85 | + | ||
| 86 | + | ||
| 87 | + | ||
| 88 | + | ||
| 89 | + | ||
| 90 | + | ||
| 91 | + | ||
| 92 | + /* _MSC_VER = VVRR */ | ||
| 93 | + | ||
| 94 | + | ||
| 95 | + | ||
| 96 | + | ||
| 97 | + | ||
| 98 | + | ||
| 99 | + | ||
| 100 | + | ||
| 101 | + | ||
| 102 | + | ||
| 103 | + | ||
| 104 | + | ||
| 105 | + | ||
| 106 | + | ||
| 107 | + | ||
| 108 | + | ||
| 109 | + | ||
| 110 | + | ||
| 111 | + | ||
| 112 | + | ||
| 113 | + | ||
| 114 | + | ||
| 115 | + | ||
| 116 | + | ||
| 117 | + | ||
| 118 | + | ||
| 119 | + | ||
| 120 | + | ||
| 121 | + | ||
| 122 | + | ||
| 123 | + | ||
| 124 | + /* __BORLANDC__ = 0xVRR */ | ||
| 125 | + | ||
| 126 | + | ||
| 127 | + | ||
| 128 | + | ||
| 129 | + | ||
| 130 | + /* __WATCOMC__ = VVRR */ | ||
| 131 | + | ||
| 132 | + | ||
| 133 | + | ||
| 134 | + | ||
| 135 | + | ||
| 136 | + | ||
| 137 | + | ||
| 138 | + | ||
| 139 | + /* __WATCOMC__ = VVRP + 1100 */ | ||
| 140 | + | ||
| 141 | + | ||
| 142 | + | ||
| 143 | + | ||
| 144 | + | ||
| 145 | + | ||
| 146 | + | ||
| 147 | + | ||
| 148 | + | ||
| 149 | + /* __SUNPRO_C = 0xVRRP */ | ||
| 150 | + | ||
| 151 | + | ||
| 152 | + | ||
| 153 | + | ||
| 154 | + /* __SUNPRO_CC = 0xVRP */ | ||
| 155 | + | ||
| 156 | + | ||
| 157 | + | ||
| 158 | + | ||
| 159 | + | ||
| 160 | + | ||
| 161 | + | ||
| 162 | + /* __HP_cc = VVRRPP */ | ||
| 163 | + | ||
| 164 | + | ||
| 165 | + | ||
| 166 | + | ||
| 167 | + | ||
| 168 | + | ||
| 169 | + /* __DECC_VER = VVRRTPPPP */ | ||
| 170 | + | ||
| 171 | + | ||
| 172 | + | ||
| 173 | + | ||
| 174 | + | ||
| 175 | + | ||
| 176 | + /* __IBMC__ = VRP */ | ||
| 177 | + | ||
| 178 | + | ||
| 179 | + | ||
| 180 | + | ||
| 181 | + | ||
| 182 | + | ||
| 183 | + | ||
| 184 | + | ||
| 185 | + | ||
| 186 | + | ||
| 187 | + | ||
| 188 | + | ||
| 189 | + | ||
| 190 | + | ||
| 191 | + | ||
| 192 | + | ||
| 193 | + | ||
| 194 | + | ||
| 195 | + | ||
| 196 | + | ||
| 197 | + | ||
| 198 | + | ||
| 199 | + /* __IBMC__ = VRP */ | ||
| 200 | + | ||
| 201 | + | ||
| 202 | + | ||
| 203 | + | ||
| 204 | + | ||
| 205 | + | ||
| 206 | + /* __IBMC__ = VRP */ | ||
| 207 | + | ||
| 208 | + | ||
| 209 | + | ||
| 210 | + | ||
| 211 | + | ||
| 212 | + | ||
| 213 | + | ||
| 214 | + | ||
| 215 | + | ||
| 216 | + | ||
| 217 | + | ||
| 218 | + | ||
| 219 | + | ||
| 220 | + | ||
| 221 | + | ||
| 222 | + | ||
| 223 | + | ||
| 224 | + | ||
| 225 | + | ||
| 226 | + | ||
| 227 | + | ||
| 228 | + | ||
| 229 | + | ||
| 230 | + | ||
| 231 | + | ||
| 232 | + | ||
| 233 | + | ||
| 234 | + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ | ||
| 235 | + | ||
| 236 | + | ||
| 237 | + | ||
| 238 | + | ||
| 239 | + | ||
| 240 | + | ||
| 241 | + | ||
| 242 | + | ||
| 243 | + | ||
| 244 | + | ||
| 245 | + | ||
| 246 | + | ||
| 247 | + | ||
| 248 | + | ||
| 249 | + | ||
| 250 | + | ||
| 251 | + | ||
| 252 | + | ||
| 253 | + | ||
| 254 | + | ||
| 255 | + | ||
| 256 | + | ||
| 257 | + | ||
| 258 | + | ||
| 259 | + | ||
| 260 | + | ||
| 261 | + | ||
| 262 | + | ||
| 263 | + | ||
| 264 | + | ||
| 265 | +/* __GHS_VERSION_NUMBER = VVVVRP */ | ||
| 266 | + | ||
| 267 | + | ||
| 268 | + | ||
| 269 | + | ||
| 270 | + | ||
| 271 | + | ||
| 272 | + | ||
| 273 | + | ||
| 274 | + | ||
| 275 | + | ||
| 276 | + | ||
| 277 | + | ||
| 278 | + | ||
| 279 | + | ||
| 280 | + | ||
| 281 | + | ||
| 282 | + | ||
| 283 | + | ||
| 284 | + | ||
| 285 | + | ||
| 286 | + | ||
| 287 | + | ||
| 288 | + | ||
| 289 | + | ||
| 290 | + /* __ARMCC_VERSION = VRRPPPP */ | ||
| 291 | + | ||
| 292 | + | ||
| 293 | + | ||
| 294 | + | ||
| 295 | + /* __ARMCC_VERSION = VRPPPP */ | ||
| 296 | + | ||
| 297 | + | ||
| 298 | + | ||
| 299 | + | ||
| 300 | + | ||
| 301 | + | ||
| 302 | + | ||
| 303 | + | ||
| 304 | + | ||
| 305 | + | ||
| 306 | + | ||
| 307 | + | ||
| 308 | + | ||
| 309 | + | ||
| 310 | + | ||
| 311 | + /* _MSC_VER = VVRR */ | ||
| 312 | + | ||
| 313 | + | ||
| 314 | + | ||
| 315 | + | ||
| 316 | + | ||
| 317 | + | ||
| 318 | + | ||
| 319 | + | ||
| 320 | + | ||
| 321 | + | ||
| 322 | + | ||
| 323 | + | ||
| 324 | + | ||
| 325 | + | ||
| 326 | + | ||
| 327 | + | ||
| 328 | + | ||
| 329 | + | ||
| 330 | + | ||
| 331 | + | ||
| 332 | + | ||
| 333 | + /* _MSC_VER = VVRR */ | ||
| 334 | + | ||
| 335 | + | ||
| 336 | + | ||
| 337 | + | ||
| 338 | + | ||
| 339 | + | ||
| 340 | + | ||
| 341 | + | ||
| 342 | + | ||
| 343 | + | ||
| 344 | + | ||
| 345 | + | ||
| 346 | + | ||
| 347 | + | ||
| 348 | + | ||
| 349 | + | ||
| 350 | + | ||
| 351 | + | ||
| 352 | + | ||
| 353 | + | ||
| 354 | + | ||
| 355 | + | ||
| 356 | + | ||
| 357 | + | ||
| 358 | + | ||
| 359 | + | ||
| 360 | + | ||
| 361 | + | ||
| 362 | + | ||
| 363 | + | ||
| 364 | + | ||
| 365 | + | ||
| 366 | + /* _MSC_VER = VVRR */ | ||
| 367 | + | ||
| 368 | + | ||
| 369 | + | ||
| 370 | + | ||
| 371 | + /* _MSC_FULL_VER = VVRRPPPPP */ | ||
| 372 | + | ||
| 373 | + | ||
| 374 | + /* _MSC_FULL_VER = VVRRPPPP */ | ||
| 375 | + | ||
| 376 | + | ||
| 377 | + | ||
| 378 | + | ||
| 379 | + | ||
| 380 | + | ||
| 381 | + | ||
| 382 | + | ||
| 383 | + | ||
| 384 | + | ||
| 385 | + /* __VERSIONNUM__ = 0xVVRRPPTT */ | ||
| 386 | + | ||
| 387 | + | ||
| 388 | + | ||
| 389 | + | ||
| 390 | + | ||
| 391 | + | ||
| 392 | + | ||
| 393 | + | ||
| 394 | + | ||
| 395 | + | ||
| 396 | + | ||
| 397 | + | ||
| 398 | + | ||
| 399 | + | ||
| 400 | + | ||
| 401 | + | ||
| 402 | + | ||
| 403 | + | ||
| 404 | + | ||
| 405 | + | ||
| 406 | + | ||
| 407 | + | ||
| 408 | + | ||
| 409 | + | ||
| 410 | + | ||
| 411 | + | ||
| 412 | + | ||
| 413 | + /* SDCC = VRP */ | ||
| 414 | + | ||
| 415 | + | ||
| 416 | + | ||
| 417 | + | ||
| 418 | + | ||
| 419 | + | ||
| 420 | +/* These compilers are either not known or too old to define an | ||
| 421 | + identification macro. Try to identify the platform and guess that | ||
| 422 | + it is the native compiler. */ | ||
| 423 | + | ||
| 424 | + | ||
| 425 | + | ||
| 426 | + | ||
| 427 | + | ||
| 428 | + | ||
| 429 | + | ||
| 430 | +/* Construct the string literal in pieces to prevent the source from | ||
| 431 | + getting matched. Store it in a pointer rather than an array | ||
| 432 | + because some compilers will just produce instructions to fill the | ||
| 433 | + array rather than assigning a pointer to a static array. */ | ||
| 434 | +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; | ||
| 435 | + | ||
| 436 | +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; | ||
| 437 | + | ||
| 438 | + | ||
| 439 | + | ||
| 440 | +char const* qnxnto = "INFO" ":" "qnxnto[]"; | ||
| 441 | + | ||
| 442 | + | ||
| 443 | + | ||
| 444 | +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; | ||
| 445 | + | ||
| 446 | + | ||
| 447 | + | ||
| 448 | + | ||
| 449 | + | ||
| 450 | +/* Identify known platforms by name. */ | ||
| 451 | + | ||
| 452 | + | ||
| 453 | + | ||
| 454 | + | ||
| 455 | + | ||
| 456 | + | ||
| 457 | + | ||
| 458 | + | ||
| 459 | + | ||
| 460 | + | ||
| 461 | + | ||
| 462 | + | ||
| 463 | + | ||
| 464 | + | ||
| 465 | + | ||
| 466 | + | ||
| 467 | + | ||
| 468 | + | ||
| 469 | + | ||
| 470 | + | ||
| 471 | + | ||
| 472 | + | ||
| 473 | + | ||
| 474 | + | ||
| 475 | + | ||
| 476 | + | ||
| 477 | + | ||
| 478 | + | ||
| 479 | + | ||
| 480 | + | ||
| 481 | + | ||
| 482 | + | ||
| 483 | + | ||
| 484 | + | ||
| 485 | + | ||
| 486 | + | ||
| 487 | + | ||
| 488 | + | ||
| 489 | + | ||
| 490 | + | ||
| 491 | + | ||
| 492 | + | ||
| 493 | + | ||
| 494 | + | ||
| 495 | + | ||
| 496 | + | ||
| 497 | + | ||
| 498 | + | ||
| 499 | + | ||
| 500 | + | ||
| 501 | + | ||
| 502 | + | ||
| 503 | + | ||
| 504 | + | ||
| 505 | + | ||
| 506 | + | ||
| 507 | + | ||
| 508 | + | ||
| 509 | + | ||
| 510 | + | ||
| 511 | + | ||
| 512 | + | ||
| 513 | + | ||
| 514 | + | ||
| 515 | + | ||
| 516 | + | ||
| 517 | + | ||
| 518 | + | ||
| 519 | + | ||
| 520 | + | ||
| 521 | + | ||
| 522 | + | ||
| 523 | + | ||
| 524 | + | ||
| 525 | + | ||
| 526 | + | ||
| 527 | + | ||
| 528 | + | ||
| 529 | + | ||
| 530 | + | ||
| 531 | + | ||
| 532 | + | ||
| 533 | + | ||
| 534 | + | ||
| 535 | + | ||
| 536 | + | ||
| 537 | + | ||
| 538 | + | ||
| 539 | + | ||
| 540 | + | ||
| 541 | + | ||
| 542 | + | ||
| 543 | + | ||
| 544 | + | ||
| 545 | + | ||
| 546 | + | ||
| 547 | + | ||
| 548 | + | ||
| 549 | + | ||
| 550 | + | ||
| 551 | + | ||
| 552 | + | ||
| 553 | + | ||
| 554 | + | ||
| 555 | + | ||
| 556 | + | ||
| 557 | + | ||
| 558 | + | ||
| 559 | + | ||
| 560 | + | ||
| 561 | + | ||
| 562 | +/* For windows compilers MSVC and Intel we can determine | ||
| 563 | + the architecture of the compiler being used. This is because | ||
| 564 | + the compilers do not have flags that can change the architecture, | ||
| 565 | + but rather depend on which compiler is being used | ||
| 566 | +*/ | ||
| 567 | + | ||
| 568 | + | ||
| 569 | + | ||
| 570 | + | ||
| 571 | + | ||
| 572 | + | ||
| 573 | + | ||
| 574 | + | ||
| 575 | + | ||
| 576 | + | ||
| 577 | + | ||
| 578 | + | ||
| 579 | + | ||
| 580 | + | ||
| 581 | + | ||
| 582 | + | ||
| 583 | + | ||
| 584 | + | ||
| 585 | + | ||
| 586 | + | ||
| 587 | + | ||
| 588 | + | ||
| 589 | + | ||
| 590 | + | ||
| 591 | + | ||
| 592 | + | ||
| 593 | + | ||
| 594 | + | ||
| 595 | + | ||
| 596 | + | ||
| 597 | + | ||
| 598 | + | ||
| 599 | + | ||
| 600 | + | ||
| 601 | + | ||
| 602 | + | ||
| 603 | + | ||
| 604 | + | ||
| 605 | + | ||
| 606 | + | ||
| 607 | + | ||
| 608 | + | ||
| 609 | + | ||
| 610 | + | ||
| 611 | + | ||
| 612 | + | ||
| 613 | + | ||
| 614 | + | ||
| 615 | + | ||
| 616 | + | ||
| 617 | + | ||
| 618 | + | ||
| 619 | + | ||
| 620 | + | ||
| 621 | + | ||
| 622 | + | ||
| 623 | + | ||
| 624 | + | ||
| 625 | + | ||
| 626 | + | ||
| 627 | + | ||
| 628 | + | ||
| 629 | + | ||
| 630 | + | ||
| 631 | + | ||
| 632 | + | ||
| 633 | + | ||
| 634 | + | ||
| 635 | + | ||
| 636 | + | ||
| 637 | + | ||
| 638 | + | ||
| 639 | + | ||
| 640 | + | ||
| 641 | + | ||
| 642 | + | ||
| 643 | + | ||
| 644 | + | ||
| 645 | + | ||
| 646 | + | ||
| 647 | + | ||
| 648 | + | ||
| 649 | + | ||
| 650 | + | ||
| 651 | + | ||
| 652 | + | ||
| 653 | + | ||
| 654 | + | ||
| 655 | + | ||
| 656 | + | ||
| 657 | + | ||
| 658 | + | ||
| 659 | + | ||
| 660 | + | ||
| 661 | + | ||
| 662 | + | ||
| 663 | + | ||
| 664 | + | ||
| 665 | + | ||
| 666 | + | ||
| 667 | + | ||
| 668 | + | ||
| 669 | + | ||
| 670 | + | ||
| 671 | + | ||
| 672 | + | ||
| 673 | + | ||
| 674 | + | ||
| 675 | + | ||
| 676 | + | ||
| 677 | + | ||
| 678 | + | ||
| 679 | + | ||
| 680 | + | ||
| 681 | + | ||
| 682 | + | ||
| 683 | + | ||
| 684 | + | ||
| 685 | + | ||
| 686 | + | ||
| 687 | + | ||
| 688 | + | ||
| 689 | + | ||
| 690 | + | ||
| 691 | + | ||
| 692 | + | ||
| 693 | + | ||
| 694 | + | ||
| 695 | + | ||
| 696 | + | ||
| 697 | + | ||
| 698 | + | ||
| 699 | + | ||
| 700 | + | ||
| 701 | + | ||
| 702 | + | ||
| 703 | + | ||
| 704 | + | ||
| 705 | + | ||
| 706 | + | ||
| 707 | + | ||
| 708 | + | ||
| 709 | + | ||
| 710 | + | ||
| 711 | + | ||
| 712 | + | ||
| 713 | + | ||
| 714 | + | ||
| 715 | + | ||
| 716 | + | ||
| 717 | + | ||
| 718 | + | ||
| 719 | +/* Convert integer to decimal digit literals. */ | ||
| 720 | + | ||
| 721 | + ('0' + (((n) / 10000000)%10)), \ | ||
| 722 | + ('0' + (((n) / 1000000)%10)), \ | ||
| 723 | + ('0' + (((n) / 100000)%10)), \ | ||
| 724 | + ('0' + (((n) / 10000)%10)), \ | ||
| 725 | + ('0' + (((n) / 1000)%10)), \ | ||
| 726 | + ('0' + (((n) / 100)%10)), \ | ||
| 727 | + ('0' + (((n) / 10)%10)), \ | ||
| 728 | + ('0' + ((n) % 10)) | ||
| 729 | + | ||
| 730 | +/* Convert integer to hex digit literals. */ | ||
| 731 | + | ||
| 732 | + ('0' + ((n)>>28 & 0xF)), \ | ||
| 733 | + ('0' + ((n)>>24 & 0xF)), \ | ||
| 734 | + ('0' + ((n)>>20 & 0xF)), \ | ||
| 735 | + ('0' + ((n)>>16 & 0xF)), \ | ||
| 736 | + ('0' + ((n)>>12 & 0xF)), \ | ||
| 737 | + ('0' + ((n)>>8 & 0xF)), \ | ||
| 738 | + ('0' + ((n)>>4 & 0xF)), \ | ||
| 739 | + ('0' + ((n) & 0xF)) | ||
| 740 | + | ||
| 741 | +/* Construct a string literal encoding the version number. */ | ||
| 742 | + | ||
| 743 | +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; | ||
| 744 | + | ||
| 745 | +/* Construct a string literal encoding the version number components. */ | ||
| 746 | + | ||
| 747 | +char const info_version[] = { | ||
| 748 | + 'I', 'N', 'F', 'O', ':', | ||
| 749 | + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', | ||
| 750 | + COMPILER_VERSION_MAJOR, | ||
| 751 | + | ||
| 752 | + '.', COMPILER_VERSION_MINOR, | ||
| 753 | + | ||
| 754 | + '.', COMPILER_VERSION_PATCH, | ||
| 755 | + | ||
| 756 | + '.', COMPILER_VERSION_TWEAK, | ||
| 757 | + | ||
| 758 | + | ||
| 759 | + | ||
| 760 | + ']','\0'}; | ||
| 761 | + | ||
| 762 | + | ||
| 763 | +/* Construct a string literal encoding the internal version number. */ | ||
| 764 | + | ||
| 765 | +char const info_version_internal[] = { | ||
| 766 | + 'I', 'N', 'F', 'O', ':', | ||
| 767 | + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', | ||
| 768 | + 'i','n','t','e','r','n','a','l','[', | ||
| 769 | + COMPILER_VERSION_INTERNAL,']','\0'}; | ||
| 770 | + | ||
| 771 | +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; | ||
| 772 | + | ||
| 773 | + | ||
| 774 | +/* Construct a string literal encoding the version number components. */ | ||
| 775 | + | ||
| 776 | +char const info_simulate_version[] = { | ||
| 777 | + 'I', 'N', 'F', 'O', ':', | ||
| 778 | + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', | ||
| 779 | + SIMULATE_VERSION_MAJOR, | ||
| 780 | + | ||
| 781 | + '.', SIMULATE_VERSION_MINOR, | ||
| 782 | + | ||
| 783 | + '.', SIMULATE_VERSION_PATCH, | ||
| 784 | + | ||
| 785 | + '.', SIMULATE_VERSION_TWEAK, | ||
| 786 | + | ||
| 787 | + | ||
| 788 | + | ||
| 789 | + ']','\0'}; | ||
| 790 | + | ||
| 791 | + | ||
| 792 | +/* Construct the string literal in pieces to prevent the source from | ||
| 793 | + getting matched. Store it in a pointer rather than an array | ||
| 794 | + because some compilers will just produce instructions to fill the | ||
| 795 | + array rather than assigning a pointer to a static array. */ | ||
| 796 | +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; | ||
| 797 | +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; | ||
| 798 | + | ||
| 799 | + | ||
| 800 | + | ||
| 801 | + | ||
| 802 | + | ||
| 803 | + | ||
| 804 | + | ||
| 805 | + | ||
| 806 | + | ||
| 807 | + | ||
| 808 | + | ||
| 809 | + | ||
| 810 | + | ||
| 811 | + | ||
| 812 | + | ||
| 813 | + | ||
| 814 | + | ||
| 815 | + | ||
| 816 | + | ||
| 817 | + | ||
| 818 | +const char* info_language_standard_default = | ||
| 819 | + "INFO" ":" "standard_default[" C_VERSION "]"; | ||
| 820 | + | ||
| 821 | +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" | ||
| 822 | + | ||
| 823 | + defined(__TI_COMPILER_VERSION__)) && \ | ||
| 824 | + !defined(__STRICT_ANSI__) | ||
| 825 | + "ON" | ||
| 826 | + | ||
| 827 | + "OFF" | ||
| 828 | + | ||
| 829 | +"]"; | ||
| 830 | + | ||
| 831 | +/*--------------------------------------------------------------------------*/ | ||
| 832 | + | ||
| 833 | + | ||
| 834 | +void main() {} | ||
| 835 | + | ||
| 836 | + | ||
| 837 | +int main(argc, argv) int argc; char *argv[]; | ||
| 838 | + | ||
| 839 | +int main(int argc, char* argv[]) | ||
| 840 | + | ||
| 841 | +{ | ||
| 842 | + int require = 0; | ||
| 843 | + require += info_compiler[argc]; | ||
| 844 | + require += info_platform[argc]; | ||
| 845 | + require += info_arch[argc]; | ||
| 846 | + | ||
| 847 | + require += info_version[argc]; | ||
| 848 | + | ||
| 849 | + | ||
| 850 | + require += info_version_internal[argc]; | ||
| 851 | + | ||
| 852 | + | ||
| 853 | + require += info_simulate[argc]; | ||
| 854 | + | ||
| 855 | + | ||
| 856 | + require += info_simulate_version[argc]; | ||
| 857 | + | ||
| 858 | + | ||
| 859 | + require += info_cray[argc]; | ||
| 860 | + | ||
| 861 | + require += info_language_standard_default[argc]; | ||
| 862 | + require += info_language_extensions_default[argc]; | ||
| 863 | + (void)argv; | ||
| 864 | + return require; | ||
| 865 | +} | ||
| 866 | + | ||
| @@ -0,0 +1,855 @@ | |||
| 1 | +/* This source file must have a .cpp extension so that all C++ compilers | ||
| 2 | + recognize the extension without flags. Borland does not know .cxx for | ||
| 3 | + example. */ | ||
| 4 | + | ||
| 5 | + | ||
| 6 | + | ||
| 7 | + | ||
| 8 | + | ||
| 9 | +/* If the compiler does not have __has_include, pretend the answer is | ||
| 10 | + always no. */ | ||
| 11 | + | ||
| 12 | + | ||
| 13 | + | ||
| 14 | + | ||
| 15 | +/* Version number components: V=Version, R=Revision, P=Patch | ||
| 16 | + Version date components: YYYY=Year, MM=Month, DD=Day */ | ||
| 17 | + | ||
| 18 | + | ||
| 19 | + | ||
| 20 | + /* __COMO_VERSION__ = VRR */ | ||
| 21 | + | ||
| 22 | + | ||
| 23 | + | ||
| 24 | + | ||
| 25 | + | ||
| 26 | + | ||
| 27 | + | ||
| 28 | + | ||
| 29 | + | ||
| 30 | + | ||
| 31 | + | ||
| 32 | + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, | ||
| 33 | + except that a few beta releases use the old format with V=2021. */ | ||
| 34 | + | ||
| 35 | + | ||
| 36 | + | ||
| 37 | + | ||
| 38 | + | ||
| 39 | + | ||
| 40 | + | ||
| 41 | + | ||
| 42 | + | ||
| 43 | + | ||
| 44 | + | ||
| 45 | + /* The third version component from --version is an update index, | ||
| 46 | + but no macro is provided for it. */ | ||
| 47 | + | ||
| 48 | + | ||
| 49 | + | ||
| 50 | + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ | ||
| 51 | + | ||
| 52 | + | ||
| 53 | + | ||
| 54 | + /* _MSC_VER = VVRR */ | ||
| 55 | + | ||
| 56 | + | ||
| 57 | + | ||
| 58 | + | ||
| 59 | + | ||
| 60 | + | ||
| 61 | + | ||
| 62 | + | ||
| 63 | + | ||
| 64 | + | ||
| 65 | + | ||
| 66 | + | ||
| 67 | + | ||
| 68 | + | ||
| 69 | + | ||
| 70 | + | ||
| 71 | + | ||
| 72 | + | ||
| 73 | + | ||
| 74 | + | ||
| 75 | + | ||
| 76 | + | ||
| 77 | + | ||
| 78 | +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and | ||
| 79 | + * later. Look for 6 digit vs. 8 digit version number to decide encoding. | ||
| 80 | + * VVVV is no smaller than the current year when a version is released. | ||
| 81 | + */ | ||
| 82 | + | ||
| 83 | + | ||
| 84 | + | ||
| 85 | + | ||
| 86 | + | ||
| 87 | + | ||
| 88 | + | ||
| 89 | + | ||
| 90 | + | ||
| 91 | + | ||
| 92 | + /* _MSC_VER = VVRR */ | ||
| 93 | + | ||
| 94 | + | ||
| 95 | + | ||
| 96 | + | ||
| 97 | + | ||
| 98 | + | ||
| 99 | + | ||
| 100 | + | ||
| 101 | + | ||
| 102 | + | ||
| 103 | + | ||
| 104 | + | ||
| 105 | + | ||
| 106 | + | ||
| 107 | + | ||
| 108 | + | ||
| 109 | + | ||
| 110 | + | ||
| 111 | + | ||
| 112 | + | ||
| 113 | + | ||
| 114 | + | ||
| 115 | + | ||
| 116 | + | ||
| 117 | + | ||
| 118 | + | ||
| 119 | + | ||
| 120 | + | ||
| 121 | + | ||
| 122 | + | ||
| 123 | + | ||
| 124 | + /* __BORLANDC__ = 0xVRR */ | ||
| 125 | + | ||
| 126 | + | ||
| 127 | + | ||
| 128 | + | ||
| 129 | + | ||
| 130 | + /* __WATCOMC__ = VVRR */ | ||
| 131 | + | ||
| 132 | + | ||
| 133 | + | ||
| 134 | + | ||
| 135 | + | ||
| 136 | + | ||
| 137 | + | ||
| 138 | + | ||
| 139 | + /* __WATCOMC__ = VVRP + 1100 */ | ||
| 140 | + | ||
| 141 | + | ||
| 142 | + | ||
| 143 | + | ||
| 144 | + | ||
| 145 | + | ||
| 146 | + | ||
| 147 | + | ||
| 148 | + | ||
| 149 | + /* __SUNPRO_CC = 0xVRRP */ | ||
| 150 | + | ||
| 151 | + | ||
| 152 | + | ||
| 153 | + | ||
| 154 | + /* __SUNPRO_CC = 0xVRP */ | ||
| 155 | + | ||
| 156 | + | ||
| 157 | + | ||
| 158 | + | ||
| 159 | + | ||
| 160 | + | ||
| 161 | + | ||
| 162 | + /* __HP_aCC = VVRRPP */ | ||
| 163 | + | ||
| 164 | + | ||
| 165 | + | ||
| 166 | + | ||
| 167 | + | ||
| 168 | + | ||
| 169 | + /* __DECCXX_VER = VVRRTPPPP */ | ||
| 170 | + | ||
| 171 | + | ||
| 172 | + | ||
| 173 | + | ||
| 174 | + | ||
| 175 | + | ||
| 176 | + /* __IBMCPP__ = VRP */ | ||
| 177 | + | ||
| 178 | + | ||
| 179 | + | ||
| 180 | + | ||
| 181 | + | ||
| 182 | + | ||
| 183 | + | ||
| 184 | + | ||
| 185 | + | ||
| 186 | + | ||
| 187 | + | ||
| 188 | + | ||
| 189 | + | ||
| 190 | + | ||
| 191 | + | ||
| 192 | + | ||
| 193 | + | ||
| 194 | + | ||
| 195 | + | ||
| 196 | + | ||
| 197 | + | ||
| 198 | + | ||
| 199 | + /* __IBMCPP__ = VRP */ | ||
| 200 | + | ||
| 201 | + | ||
| 202 | + | ||
| 203 | + | ||
| 204 | + | ||
| 205 | + | ||
| 206 | + /* __IBMCPP__ = VRP */ | ||
| 207 | + | ||
| 208 | + | ||
| 209 | + | ||
| 210 | + | ||
| 211 | + | ||
| 212 | + | ||
| 213 | + | ||
| 214 | + | ||
| 215 | + | ||
| 216 | + | ||
| 217 | + | ||
| 218 | + | ||
| 219 | + | ||
| 220 | + | ||
| 221 | + | ||
| 222 | + | ||
| 223 | + | ||
| 224 | + | ||
| 225 | + | ||
| 226 | + | ||
| 227 | + | ||
| 228 | + | ||
| 229 | + | ||
| 230 | + | ||
| 231 | + | ||
| 232 | + | ||
| 233 | + | ||
| 234 | + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ | ||
| 235 | + | ||
| 236 | + | ||
| 237 | + | ||
| 238 | + | ||
| 239 | + | ||
| 240 | + | ||
| 241 | + | ||
| 242 | + | ||
| 243 | + | ||
| 244 | + | ||
| 245 | + | ||
| 246 | + | ||
| 247 | + | ||
| 248 | + | ||
| 249 | + | ||
| 250 | + | ||
| 251 | + | ||
| 252 | + | ||
| 253 | + | ||
| 254 | + | ||
| 255 | + | ||
| 256 | + | ||
| 257 | + | ||
| 258 | + | ||
| 259 | + | ||
| 260 | + | ||
| 261 | + | ||
| 262 | + | ||
| 263 | + | ||
| 264 | + | ||
| 265 | +/* __GHS_VERSION_NUMBER = VVVVRP */ | ||
| 266 | + | ||
| 267 | + | ||
| 268 | + | ||
| 269 | + | ||
| 270 | + | ||
| 271 | + | ||
| 272 | + | ||
| 273 | + | ||
| 274 | + | ||
| 275 | + | ||
| 276 | + | ||
| 277 | + | ||
| 278 | + | ||
| 279 | + | ||
| 280 | + | ||
| 281 | + | ||
| 282 | + | ||
| 283 | + | ||
| 284 | + /* __ARMCC_VERSION = VRRPPPP */ | ||
| 285 | + | ||
| 286 | + | ||
| 287 | + | ||
| 288 | + | ||
| 289 | + /* __ARMCC_VERSION = VRPPPP */ | ||
| 290 | + | ||
| 291 | + | ||
| 292 | + | ||
| 293 | + | ||
| 294 | + | ||
| 295 | + | ||
| 296 | + | ||
| 297 | + | ||
| 298 | + | ||
| 299 | + | ||
| 300 | + | ||
| 301 | + | ||
| 302 | + | ||
| 303 | + | ||
| 304 | + | ||
| 305 | + /* _MSC_VER = VVRR */ | ||
| 306 | + | ||
| 307 | + | ||
| 308 | + | ||
| 309 | + | ||
| 310 | + | ||
| 311 | + | ||
| 312 | + | ||
| 313 | + | ||
| 314 | + | ||
| 315 | + | ||
| 316 | + | ||
| 317 | + | ||
| 318 | + | ||
| 319 | + | ||
| 320 | + | ||
| 321 | + | ||
| 322 | + | ||
| 323 | + | ||
| 324 | + | ||
| 325 | + | ||
| 326 | + | ||
| 327 | + /* _MSC_VER = VVRR */ | ||
| 328 | + | ||
| 329 | + | ||
| 330 | + | ||
| 331 | + | ||
| 332 | + | ||
| 333 | + | ||
| 334 | + | ||
| 335 | + | ||
| 336 | + | ||
| 337 | + | ||
| 338 | + | ||
| 339 | + | ||
| 340 | + | ||
| 341 | + | ||
| 342 | + | ||
| 343 | + | ||
| 344 | + | ||
| 345 | + | ||
| 346 | + | ||
| 347 | + | ||
| 348 | + | ||
| 349 | + | ||
| 350 | + | ||
| 351 | + | ||
| 352 | + | ||
| 353 | + | ||
| 354 | + | ||
| 355 | + | ||
| 356 | + | ||
| 357 | + | ||
| 358 | + | ||
| 359 | + | ||
| 360 | + | ||
| 361 | + | ||
| 362 | + | ||
| 363 | + | ||
| 364 | + /* _MSC_VER = VVRR */ | ||
| 365 | + | ||
| 366 | + | ||
| 367 | + | ||
| 368 | + | ||
| 369 | + /* _MSC_FULL_VER = VVRRPPPPP */ | ||
| 370 | + | ||
| 371 | + | ||
| 372 | + /* _MSC_FULL_VER = VVRRPPPP */ | ||
| 373 | + | ||
| 374 | + | ||
| 375 | + | ||
| 376 | + | ||
| 377 | + | ||
| 378 | + | ||
| 379 | + | ||
| 380 | + | ||
| 381 | + | ||
| 382 | + | ||
| 383 | + /* __VERSIONNUM__ = 0xVVRRPPTT */ | ||
| 384 | + | ||
| 385 | + | ||
| 386 | + | ||
| 387 | + | ||
| 388 | + | ||
| 389 | + | ||
| 390 | + | ||
| 391 | + | ||
| 392 | + | ||
| 393 | + | ||
| 394 | + | ||
| 395 | + | ||
| 396 | + | ||
| 397 | + | ||
| 398 | + | ||
| 399 | + | ||
| 400 | + | ||
| 401 | + | ||
| 402 | + | ||
| 403 | + | ||
| 404 | + | ||
| 405 | +/* These compilers are either not known or too old to define an | ||
| 406 | + identification macro. Try to identify the platform and guess that | ||
| 407 | + it is the native compiler. */ | ||
| 408 | + | ||
| 409 | + | ||
| 410 | + | ||
| 411 | + | ||
| 412 | + | ||
| 413 | + | ||
| 414 | + | ||
| 415 | +/* Construct the string literal in pieces to prevent the source from | ||
| 416 | + getting matched. Store it in a pointer rather than an array | ||
| 417 | + because some compilers will just produce instructions to fill the | ||
| 418 | + array rather than assigning a pointer to a static array. */ | ||
| 419 | +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; | ||
| 420 | + | ||
| 421 | +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; | ||
| 422 | + | ||
| 423 | + | ||
| 424 | + | ||
| 425 | +char const* qnxnto = "INFO" ":" "qnxnto[]"; | ||
| 426 | + | ||
| 427 | + | ||
| 428 | + | ||
| 429 | +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; | ||
| 430 | + | ||
| 431 | + | ||
| 432 | + | ||
| 433 | + | ||
| 434 | + | ||
| 435 | +/* Identify known platforms by name. */ | ||
| 436 | + | ||
| 437 | + | ||
| 438 | + | ||
| 439 | + | ||
| 440 | + | ||
| 441 | + | ||
| 442 | + | ||
| 443 | + | ||
| 444 | + | ||
| 445 | + | ||
| 446 | + | ||
| 447 | + | ||
| 448 | + | ||
| 449 | + | ||
| 450 | + | ||
| 451 | + | ||
| 452 | + | ||
| 453 | + | ||
| 454 | + | ||
| 455 | + | ||
| 456 | + | ||
| 457 | + | ||
| 458 | + | ||
| 459 | + | ||
| 460 | + | ||
| 461 | + | ||
| 462 | + | ||
| 463 | + | ||
| 464 | + | ||
| 465 | + | ||
| 466 | + | ||
| 467 | + | ||
| 468 | + | ||
| 469 | + | ||
| 470 | + | ||
| 471 | + | ||
| 472 | + | ||
| 473 | + | ||
| 474 | + | ||
| 475 | + | ||
| 476 | + | ||
| 477 | + | ||
| 478 | + | ||
| 479 | + | ||
| 480 | + | ||
| 481 | + | ||
| 482 | + | ||
| 483 | + | ||
| 484 | + | ||
| 485 | + | ||
| 486 | + | ||
| 487 | + | ||
| 488 | + | ||
| 489 | + | ||
| 490 | + | ||
| 491 | + | ||
| 492 | + | ||
| 493 | + | ||
| 494 | + | ||
| 495 | + | ||
| 496 | + | ||
| 497 | + | ||
| 498 | + | ||
| 499 | + | ||
| 500 | + | ||
| 501 | + | ||
| 502 | + | ||
| 503 | + | ||
| 504 | + | ||
| 505 | + | ||
| 506 | + | ||
| 507 | + | ||
| 508 | + | ||
| 509 | + | ||
| 510 | + | ||
| 511 | + | ||
| 512 | + | ||
| 513 | + | ||
| 514 | + | ||
| 515 | + | ||
| 516 | + | ||
| 517 | + | ||
| 518 | + | ||
| 519 | + | ||
| 520 | + | ||
| 521 | + | ||
| 522 | + | ||
| 523 | + | ||
| 524 | + | ||
| 525 | + | ||
| 526 | + | ||
| 527 | + | ||
| 528 | + | ||
| 529 | + | ||
| 530 | + | ||
| 531 | + | ||
| 532 | + | ||
| 533 | + | ||
| 534 | + | ||
| 535 | + | ||
| 536 | + | ||
| 537 | + | ||
| 538 | + | ||
| 539 | + | ||
| 540 | + | ||
| 541 | + | ||
| 542 | + | ||
| 543 | + | ||
| 544 | + | ||
| 545 | + | ||
| 546 | + | ||
| 547 | +/* For windows compilers MSVC and Intel we can determine | ||
| 548 | + the architecture of the compiler being used. This is because | ||
| 549 | + the compilers do not have flags that can change the architecture, | ||
| 550 | + but rather depend on which compiler is being used | ||
| 551 | +*/ | ||
| 552 | + | ||
| 553 | + | ||
| 554 | + | ||
| 555 | + | ||
| 556 | + | ||
| 557 | + | ||
| 558 | + | ||
| 559 | + | ||
| 560 | + | ||
| 561 | + | ||
| 562 | + | ||
| 563 | + | ||
| 564 | + | ||
| 565 | + | ||
| 566 | + | ||
| 567 | + | ||
| 568 | + | ||
| 569 | + | ||
| 570 | + | ||
| 571 | + | ||
| 572 | + | ||
| 573 | + | ||
| 574 | + | ||
| 575 | + | ||
| 576 | + | ||
| 577 | + | ||
| 578 | + | ||
| 579 | + | ||
| 580 | + | ||
| 581 | + | ||
| 582 | + | ||
| 583 | + | ||
| 584 | + | ||
| 585 | + | ||
| 586 | + | ||
| 587 | + | ||
| 588 | + | ||
| 589 | + | ||
| 590 | + | ||
| 591 | + | ||
| 592 | + | ||
| 593 | + | ||
| 594 | + | ||
| 595 | + | ||
| 596 | + | ||
| 597 | + | ||
| 598 | + | ||
| 599 | + | ||
| 600 | + | ||
| 601 | + | ||
| 602 | + | ||
| 603 | + | ||
| 604 | + | ||
| 605 | + | ||
| 606 | + | ||
| 607 | + | ||
| 608 | + | ||
| 609 | + | ||
| 610 | + | ||
| 611 | + | ||
| 612 | + | ||
| 613 | + | ||
| 614 | + | ||
| 615 | + | ||
| 616 | + | ||
| 617 | + | ||
| 618 | + | ||
| 619 | + | ||
| 620 | + | ||
| 621 | + | ||
| 622 | + | ||
| 623 | + | ||
| 624 | + | ||
| 625 | + | ||
| 626 | + | ||
| 627 | + | ||
| 628 | + | ||
| 629 | + | ||
| 630 | + | ||
| 631 | + | ||
| 632 | + | ||
| 633 | + | ||
| 634 | + | ||
| 635 | + | ||
| 636 | + | ||
| 637 | + | ||
| 638 | + | ||
| 639 | + | ||
| 640 | + | ||
| 641 | + | ||
| 642 | + | ||
| 643 | + | ||
| 644 | + | ||
| 645 | + | ||
| 646 | + | ||
| 647 | + | ||
| 648 | + | ||
| 649 | + | ||
| 650 | + | ||
| 651 | + | ||
| 652 | + | ||
| 653 | + | ||
| 654 | + | ||
| 655 | + | ||
| 656 | + | ||
| 657 | + | ||
| 658 | + | ||
| 659 | + | ||
| 660 | + | ||
| 661 | + | ||
| 662 | + | ||
| 663 | + | ||
| 664 | + | ||
| 665 | + | ||
| 666 | + | ||
| 667 | + | ||
| 668 | + | ||
| 669 | + | ||
| 670 | + | ||
| 671 | + | ||
| 672 | + | ||
| 673 | + | ||
| 674 | + | ||
| 675 | + | ||
| 676 | + | ||
| 677 | + | ||
| 678 | + | ||
| 679 | + | ||
| 680 | + | ||
| 681 | + | ||
| 682 | + | ||
| 683 | + | ||
| 684 | + | ||
| 685 | + | ||
| 686 | + | ||
| 687 | + | ||
| 688 | + | ||
| 689 | + | ||
| 690 | + | ||
| 691 | + | ||
| 692 | + | ||
| 693 | + | ||
| 694 | + | ||
| 695 | + | ||
| 696 | + | ||
| 697 | + | ||
| 698 | + | ||
| 699 | + | ||
| 700 | + | ||
| 701 | + | ||
| 702 | + | ||
| 703 | + | ||
| 704 | +/* Convert integer to decimal digit literals. */ | ||
| 705 | + | ||
| 706 | + ('0' + (((n) / 10000000)%10)), \ | ||
| 707 | + ('0' + (((n) / 1000000)%10)), \ | ||
| 708 | + ('0' + (((n) / 100000)%10)), \ | ||
| 709 | + ('0' + (((n) / 10000)%10)), \ | ||
| 710 | + ('0' + (((n) / 1000)%10)), \ | ||
| 711 | + ('0' + (((n) / 100)%10)), \ | ||
| 712 | + ('0' + (((n) / 10)%10)), \ | ||
| 713 | + ('0' + ((n) % 10)) | ||
| 714 | + | ||
| 715 | +/* Convert integer to hex digit literals. */ | ||
| 716 | + | ||
| 717 | + ('0' + ((n)>>28 & 0xF)), \ | ||
| 718 | + ('0' + ((n)>>24 & 0xF)), \ | ||
| 719 | + ('0' + ((n)>>20 & 0xF)), \ | ||
| 720 | + ('0' + ((n)>>16 & 0xF)), \ | ||
| 721 | + ('0' + ((n)>>12 & 0xF)), \ | ||
| 722 | + ('0' + ((n)>>8 & 0xF)), \ | ||
| 723 | + ('0' + ((n)>>4 & 0xF)), \ | ||
| 724 | + ('0' + ((n) & 0xF)) | ||
| 725 | + | ||
| 726 | +/* Construct a string literal encoding the version number. */ | ||
| 727 | + | ||
| 728 | +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; | ||
| 729 | + | ||
| 730 | +/* Construct a string literal encoding the version number components. */ | ||
| 731 | + | ||
| 732 | +char const info_version[] = { | ||
| 733 | + 'I', 'N', 'F', 'O', ':', | ||
| 734 | + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', | ||
| 735 | + COMPILER_VERSION_MAJOR, | ||
| 736 | + | ||
| 737 | + '.', COMPILER_VERSION_MINOR, | ||
| 738 | + | ||
| 739 | + '.', COMPILER_VERSION_PATCH, | ||
| 740 | + | ||
| 741 | + '.', COMPILER_VERSION_TWEAK, | ||
| 742 | + | ||
| 743 | + | ||
| 744 | + | ||
| 745 | + ']','\0'}; | ||
| 746 | + | ||
| 747 | + | ||
| 748 | +/* Construct a string literal encoding the internal version number. */ | ||
| 749 | + | ||
| 750 | +char const info_version_internal[] = { | ||
| 751 | + 'I', 'N', 'F', 'O', ':', | ||
| 752 | + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', | ||
| 753 | + 'i','n','t','e','r','n','a','l','[', | ||
| 754 | + COMPILER_VERSION_INTERNAL,']','\0'}; | ||
| 755 | + | ||
| 756 | +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; | ||
| 757 | + | ||
| 758 | + | ||
| 759 | +/* Construct a string literal encoding the version number components. */ | ||
| 760 | + | ||
| 761 | +char const info_simulate_version[] = { | ||
| 762 | + 'I', 'N', 'F', 'O', ':', | ||
| 763 | + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', | ||
| 764 | + SIMULATE_VERSION_MAJOR, | ||
| 765 | + | ||
| 766 | + '.', SIMULATE_VERSION_MINOR, | ||
| 767 | + | ||
| 768 | + '.', SIMULATE_VERSION_PATCH, | ||
| 769 | + | ||
| 770 | + '.', SIMULATE_VERSION_TWEAK, | ||
| 771 | + | ||
| 772 | + | ||
| 773 | + | ||
| 774 | + ']','\0'}; | ||
| 775 | + | ||
| 776 | + | ||
| 777 | +/* Construct the string literal in pieces to prevent the source from | ||
| 778 | + getting matched. Store it in a pointer rather than an array | ||
| 779 | + because some compilers will just produce instructions to fill the | ||
| 780 | + array rather than assigning a pointer to a static array. */ | ||
| 781 | +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; | ||
| 782 | +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; | ||
| 783 | + | ||
| 784 | + | ||
| 785 | + | ||
| 786 | + | ||
| 787 | + | ||
| 788 | + | ||
| 789 | + | ||
| 790 | + | ||
| 791 | + | ||
| 792 | + | ||
| 793 | + | ||
| 794 | + | ||
| 795 | + | ||
| 796 | + | ||
| 797 | + | ||
| 798 | + | ||
| 799 | + | ||
| 800 | + | ||
| 801 | + | ||
| 802 | +const char* info_language_standard_default = "INFO" ":" "standard_default[" | ||
| 803 | + | ||
| 804 | + "23" | ||
| 805 | + | ||
| 806 | + "20" | ||
| 807 | + | ||
| 808 | + "17" | ||
| 809 | + | ||
| 810 | + "14" | ||
| 811 | + | ||
| 812 | + "11" | ||
| 813 | + | ||
| 814 | + "98" | ||
| 815 | + | ||
| 816 | +"]"; | ||
| 817 | + | ||
| 818 | +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" | ||
| 819 | + | ||
| 820 | + defined(__TI_COMPILER_VERSION__)) && \ | ||
| 821 | + !defined(__STRICT_ANSI__) | ||
| 822 | + "ON" | ||
| 823 | + | ||
| 824 | + "OFF" | ||
| 825 | + | ||
| 826 | +"]"; | ||
| 827 | + | ||
| 828 | +/*--------------------------------------------------------------------------*/ | ||
| 829 | + | ||
| 830 | +int main(int argc, char* argv[]) | ||
| 831 | +{ | ||
| 832 | + int require = 0; | ||
| 833 | + require += info_compiler[argc]; | ||
| 834 | + require += info_platform[argc]; | ||
| 835 | + require += info_arch[argc]; | ||
| 836 | + | ||
| 837 | + require += info_version[argc]; | ||
| 838 | + | ||
| 839 | + | ||
| 840 | + require += info_version_internal[argc]; | ||
| 841 | + | ||
| 842 | + | ||
| 843 | + require += info_simulate[argc]; | ||
| 844 | + | ||
| 845 | + | ||
| 846 | + require += info_simulate_version[argc]; | ||
| 847 | + | ||
| 848 | + | ||
| 849 | + require += info_cray[argc]; | ||
| 850 | + | ||
| 851 | + require += info_language_standard_default[argc]; | ||
| 852 | + require += info_language_extensions_default[argc]; | ||
| 853 | + (void)argv; | ||
| 854 | + return require; | ||
| 855 | +} | ||