mirror of
				https://github.com/FreeRTOS/FreeRTOS-Kernel.git
				synced 2025-11-04 11:09:01 +01:00 
			
		
		
		
	Added a rough pico support. Remove rtos_prints from task.c
This commit is contained in:
		
							parent
							
								
									8ab776cc5e
								
							
						
					
					
						commit
						ddf9007606
					
				
							
								
								
									
										5
									
								
								CMakeLists.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								CMakeLists.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					cmake_minimum_required(VERSION 3.12)
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					add_library(FreeRTOS list.c queue.c tasks.c timers.c event_groups.c)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					include_directories(AFTER include)
 | 
				
			||||||
							
								
								
									
										5
									
								
								portable/ThirdParty/GCC/rpi_pico/CMakeLists.txt
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								portable/ThirdParty/GCC/rpi_pico/CMakeLists.txt
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					cmake_minimum_required(VERSION 3.12)
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					add_library(FreeRTOS_port port.c)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					include_directories(AFTER ../../../include)
 | 
				
			||||||
							
								
								
									
										1
									
								
								portable/ThirdParty/GCC/rpi_pico/build/.cmake/api/v1/query/client-vscode/query.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								portable/ThirdParty/GCC/rpi_pico/build/.cmake/api/v1/query/client-vscode/query.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					{"requests":[{"kind":"cache","version":2},{"kind":"codemodel","version":2}]}
 | 
				
			||||||
							
								
								
									
										347
									
								
								portable/ThirdParty/GCC/rpi_pico/build/CMakeCache.txt
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										347
									
								
								portable/ThirdParty/GCC/rpi_pico/build/CMakeCache.txt
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,347 @@
 | 
				
			|||||||
 | 
					# This is the CMakeCache file.
 | 
				
			||||||
 | 
					# For build in directory: /Users/jjulich/Documents/working/Lab-Project-FreeRTOS-SMP/FreeRTOS/Source/portable/ThirdParty/GCC/rpi_pico/build
 | 
				
			||||||
 | 
					# It was generated by CMake: /usr/local/Cellar/cmake/3.19.2/bin/cmake
 | 
				
			||||||
 | 
					# You can edit this file to change values found and used by cmake.
 | 
				
			||||||
 | 
					# If you do not want to change any of the values, simply exit the editor.
 | 
				
			||||||
 | 
					# If you do want to change a value, simply edit, save, and exit the editor.
 | 
				
			||||||
 | 
					# The syntax for the file is as follows:
 | 
				
			||||||
 | 
					# KEY:TYPE=VALUE
 | 
				
			||||||
 | 
					# KEY is the name of a variable in the cache.
 | 
				
			||||||
 | 
					# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
 | 
				
			||||||
 | 
					# VALUE is the current value for the KEY.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					########################
 | 
				
			||||||
 | 
					# EXTERNAL cache entries
 | 
				
			||||||
 | 
					########################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Path to a program.
 | 
				
			||||||
 | 
					CMAKE_ADDR2LINE:FILEPATH=/usr/local/bin/arm-none-eabi-addr2line
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Path to a program.
 | 
				
			||||||
 | 
					CMAKE_AR:FILEPATH=/usr/local/bin/arm-none-eabi-ar
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//No help, variable specified on the command line.
 | 
				
			||||||
 | 
					CMAKE_BUILD_TYPE:STRING=Debug
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//CXX compiler
 | 
				
			||||||
 | 
					CMAKE_CXX_COMPILER:STRING=/usr/local/bin/arm-none-eabi-c++
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//A wrapper around 'ar' adding the appropriate '--plugin' option
 | 
				
			||||||
 | 
					// for the GCC compiler
 | 
				
			||||||
 | 
					CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/local/bin/arm-none-eabi-gcc-ar
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//A wrapper around 'ranlib' adding the appropriate '--plugin' option
 | 
				
			||||||
 | 
					// for the GCC compiler
 | 
				
			||||||
 | 
					CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/local/bin/arm-none-eabi-gcc-ranlib
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//C compiler
 | 
				
			||||||
 | 
					CMAKE_C_COMPILER:STRING=/usr/local/bin/arm-none-eabi-gcc-9.2.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//A wrapper around 'ar' adding the appropriate '--plugin' option
 | 
				
			||||||
 | 
					// for the GCC compiler
 | 
				
			||||||
 | 
					CMAKE_C_COMPILER_AR:FILEPATH=/usr/local/bin/arm-none-eabi-gcc-ar
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//A wrapper around 'ranlib' adding the appropriate '--plugin' option
 | 
				
			||||||
 | 
					// for the GCC compiler
 | 
				
			||||||
 | 
					CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/local/bin/arm-none-eabi-gcc-ranlib
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Flags used by the C compiler during all build types.
 | 
				
			||||||
 | 
					CMAKE_C_FLAGS:STRING=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Flags used by the C compiler during DEBUG builds.
 | 
				
			||||||
 | 
					CMAKE_C_FLAGS_DEBUG:STRING=-g
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Flags used by the C compiler during MINSIZEREL builds.
 | 
				
			||||||
 | 
					CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Flags used by the C compiler during RELEASE builds.
 | 
				
			||||||
 | 
					CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Flags used by the C compiler during RELWITHDEBINFO builds.
 | 
				
			||||||
 | 
					CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Path to a program.
 | 
				
			||||||
 | 
					CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Flags used by the linker during all build types.
 | 
				
			||||||
 | 
					CMAKE_EXE_LINKER_FLAGS:STRING=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Flags used by the linker during DEBUG builds.
 | 
				
			||||||
 | 
					CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Flags used by the linker during MINSIZEREL builds.
 | 
				
			||||||
 | 
					CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Flags used by the linker during RELEASE builds.
 | 
				
			||||||
 | 
					CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Flags used by the linker during RELWITHDEBINFO builds.
 | 
				
			||||||
 | 
					CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//No help, variable specified on the command line.
 | 
				
			||||||
 | 
					CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Path to a program.
 | 
				
			||||||
 | 
					CMAKE_INSTALL_NAME_TOOL:FILEPATH=/usr/bin/install_name_tool
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Install path prefix, prepended onto install directories.
 | 
				
			||||||
 | 
					CMAKE_INSTALL_PREFIX:PATH=/usr/local
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Path to a program.
 | 
				
			||||||
 | 
					CMAKE_LINKER:FILEPATH=/usr/local/bin/arm-none-eabi-ld
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Program used to build from build.ninja files.
 | 
				
			||||||
 | 
					CMAKE_MAKE_PROGRAM:FILEPATH=/usr/local/bin/ninja
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Flags used by the linker during the creation of modules during
 | 
				
			||||||
 | 
					// all build types.
 | 
				
			||||||
 | 
					CMAKE_MODULE_LINKER_FLAGS:STRING=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Flags used by the linker during the creation of modules during
 | 
				
			||||||
 | 
					// DEBUG builds.
 | 
				
			||||||
 | 
					CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Flags used by the linker during the creation of modules during
 | 
				
			||||||
 | 
					// MINSIZEREL builds.
 | 
				
			||||||
 | 
					CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Flags used by the linker during the creation of modules during
 | 
				
			||||||
 | 
					// RELEASE builds.
 | 
				
			||||||
 | 
					CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Flags used by the linker during the creation of modules during
 | 
				
			||||||
 | 
					// RELWITHDEBINFO builds.
 | 
				
			||||||
 | 
					CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Path to a program.
 | 
				
			||||||
 | 
					CMAKE_NM:FILEPATH=/usr/local/bin/arm-none-eabi-nm
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Path to a program.
 | 
				
			||||||
 | 
					CMAKE_OBJCOPY:FILEPATH=/usr/local/bin/arm-none-eabi-objcopy
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Path to a program.
 | 
				
			||||||
 | 
					CMAKE_OBJDUMP:FILEPATH=/usr/local/bin/arm-none-eabi-objdump
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Build architectures for OSX
 | 
				
			||||||
 | 
					CMAKE_OSX_ARCHITECTURES:STRING=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Minimum OS X version to target for deployment (at runtime); newer
 | 
				
			||||||
 | 
					// APIs weak linked. Set to empty string for default value.
 | 
				
			||||||
 | 
					CMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.15
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//The product will be built against the headers and libraries located
 | 
				
			||||||
 | 
					// inside the indicated SDK.
 | 
				
			||||||
 | 
					CMAKE_OSX_SYSROOT:PATH=/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Value Computed by CMake
 | 
				
			||||||
 | 
					CMAKE_PROJECT_DESCRIPTION:STATIC=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Value Computed by CMake
 | 
				
			||||||
 | 
					CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Value Computed by CMake
 | 
				
			||||||
 | 
					CMAKE_PROJECT_NAME:STATIC=Project
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Path to a program.
 | 
				
			||||||
 | 
					CMAKE_RANLIB:FILEPATH=/usr/local/bin/arm-none-eabi-ranlib
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Path to a program.
 | 
				
			||||||
 | 
					CMAKE_READELF:FILEPATH=/usr/local/bin/arm-none-eabi-readelf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Flags used by the linker during the creation of shared libraries
 | 
				
			||||||
 | 
					// during all build types.
 | 
				
			||||||
 | 
					CMAKE_SHARED_LINKER_FLAGS:STRING=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Flags used by the linker during the creation of shared libraries
 | 
				
			||||||
 | 
					// during DEBUG builds.
 | 
				
			||||||
 | 
					CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Flags used by the linker during the creation of shared libraries
 | 
				
			||||||
 | 
					// during MINSIZEREL builds.
 | 
				
			||||||
 | 
					CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Flags used by the linker during the creation of shared libraries
 | 
				
			||||||
 | 
					// during RELEASE builds.
 | 
				
			||||||
 | 
					CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Flags used by the linker during the creation of shared libraries
 | 
				
			||||||
 | 
					// during RELWITHDEBINFO builds.
 | 
				
			||||||
 | 
					CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//If set, runtime paths are not added when installing shared libraries,
 | 
				
			||||||
 | 
					// but are added when building.
 | 
				
			||||||
 | 
					CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//If set, runtime paths are not added when using shared libraries.
 | 
				
			||||||
 | 
					CMAKE_SKIP_RPATH:BOOL=NO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Flags used by the linker during the creation of static libraries
 | 
				
			||||||
 | 
					// during all build types.
 | 
				
			||||||
 | 
					CMAKE_STATIC_LINKER_FLAGS:STRING=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Flags used by the linker during the creation of static libraries
 | 
				
			||||||
 | 
					// during DEBUG builds.
 | 
				
			||||||
 | 
					CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Flags used by the linker during the creation of static libraries
 | 
				
			||||||
 | 
					// during MINSIZEREL builds.
 | 
				
			||||||
 | 
					CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Flags used by the linker during the creation of static libraries
 | 
				
			||||||
 | 
					// during RELEASE builds.
 | 
				
			||||||
 | 
					CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Flags used by the linker during the creation of static libraries
 | 
				
			||||||
 | 
					// during RELWITHDEBINFO builds.
 | 
				
			||||||
 | 
					CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Path to a program.
 | 
				
			||||||
 | 
					CMAKE_STRIP:FILEPATH=/usr/local/bin/arm-none-eabi-strip
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//If this value is on, makefiles will be generated without the
 | 
				
			||||||
 | 
					// .SILENT directive, and all commands will be echoed to the console
 | 
				
			||||||
 | 
					// during the make.  This is useful for debugging only. With Visual
 | 
				
			||||||
 | 
					// Studio IDE projects all commands are done without /nologo.
 | 
				
			||||||
 | 
					CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Value Computed by CMake
 | 
				
			||||||
 | 
					Project_BINARY_DIR:STATIC=/Users/jjulich/Documents/working/Lab-Project-FreeRTOS-SMP/FreeRTOS/Source/portable/ThirdParty/GCC/rpi_pico/build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Value Computed by CMake
 | 
				
			||||||
 | 
					Project_SOURCE_DIR:STATIC=/Users/jjulich/Documents/working/Lab-Project-FreeRTOS-SMP/FreeRTOS/Source/portable/ThirdParty/GCC/rpi_pico
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					########################
 | 
				
			||||||
 | 
					# INTERNAL cache entries
 | 
				
			||||||
 | 
					########################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_ADDR2LINE
 | 
				
			||||||
 | 
					CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_AR
 | 
				
			||||||
 | 
					CMAKE_AR-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//This is the directory where this CMakeCache.txt was created
 | 
				
			||||||
 | 
					CMAKE_CACHEFILE_DIR:INTERNAL=/Users/jjulich/Documents/working/Lab-Project-FreeRTOS-SMP/FreeRTOS/Source/portable/ThirdParty/GCC/rpi_pico/build
 | 
				
			||||||
 | 
					//Major version of cmake used to create the current loaded cache
 | 
				
			||||||
 | 
					CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
 | 
				
			||||||
 | 
					//Minor version of cmake used to create the current loaded cache
 | 
				
			||||||
 | 
					CMAKE_CACHE_MINOR_VERSION:INTERNAL=19
 | 
				
			||||||
 | 
					//Patch version of cmake used to create the current loaded cache
 | 
				
			||||||
 | 
					CMAKE_CACHE_PATCH_VERSION:INTERNAL=2
 | 
				
			||||||
 | 
					//Path to CMake executable.
 | 
				
			||||||
 | 
					CMAKE_COMMAND:INTERNAL=/usr/local/Cellar/cmake/3.19.2/bin/cmake
 | 
				
			||||||
 | 
					//Path to cpack program executable.
 | 
				
			||||||
 | 
					CMAKE_CPACK_COMMAND:INTERNAL=/usr/local/Cellar/cmake/3.19.2/bin/cpack
 | 
				
			||||||
 | 
					//Path to ctest program executable.
 | 
				
			||||||
 | 
					CMAKE_CTEST_COMMAND:INTERNAL=/usr/local/Cellar/cmake/3.19.2/bin/ctest
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_CXX_COMPILER
 | 
				
			||||||
 | 
					CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR
 | 
				
			||||||
 | 
					CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB
 | 
				
			||||||
 | 
					CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_C_COMPILER
 | 
				
			||||||
 | 
					CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_C_COMPILER_AR
 | 
				
			||||||
 | 
					CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB
 | 
				
			||||||
 | 
					CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_C_FLAGS
 | 
				
			||||||
 | 
					CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
 | 
				
			||||||
 | 
					CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
 | 
				
			||||||
 | 
					CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
 | 
				
			||||||
 | 
					CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
 | 
				
			||||||
 | 
					CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_DLLTOOL
 | 
				
			||||||
 | 
					CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//Executable file format
 | 
				
			||||||
 | 
					CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
 | 
				
			||||||
 | 
					CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
 | 
				
			||||||
 | 
					CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
 | 
				
			||||||
 | 
					CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
 | 
				
			||||||
 | 
					CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
 | 
				
			||||||
 | 
					CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//Name of external makefile project generator.
 | 
				
			||||||
 | 
					CMAKE_EXTRA_GENERATOR:INTERNAL=
 | 
				
			||||||
 | 
					//Name of generator.
 | 
				
			||||||
 | 
					CMAKE_GENERATOR:INTERNAL=Ninja
 | 
				
			||||||
 | 
					//Generator instance identifier.
 | 
				
			||||||
 | 
					CMAKE_GENERATOR_INSTANCE:INTERNAL=
 | 
				
			||||||
 | 
					//Name of generator platform.
 | 
				
			||||||
 | 
					CMAKE_GENERATOR_PLATFORM:INTERNAL=
 | 
				
			||||||
 | 
					//Name of generator toolset.
 | 
				
			||||||
 | 
					CMAKE_GENERATOR_TOOLSET:INTERNAL=
 | 
				
			||||||
 | 
					//Source directory with the top level CMakeLists.txt file for this
 | 
				
			||||||
 | 
					// project
 | 
				
			||||||
 | 
					CMAKE_HOME_DIRECTORY:INTERNAL=/Users/jjulich/Documents/working/Lab-Project-FreeRTOS-SMP/FreeRTOS/Source/portable/ThirdParty/GCC/rpi_pico
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_INSTALL_NAME_TOOL
 | 
				
			||||||
 | 
					CMAKE_INSTALL_NAME_TOOL-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_LINKER
 | 
				
			||||||
 | 
					CMAKE_LINKER-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
 | 
				
			||||||
 | 
					CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
 | 
				
			||||||
 | 
					CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
 | 
				
			||||||
 | 
					CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
 | 
				
			||||||
 | 
					CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
 | 
				
			||||||
 | 
					CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
 | 
				
			||||||
 | 
					CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_NM
 | 
				
			||||||
 | 
					CMAKE_NM-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//number of local generators
 | 
				
			||||||
 | 
					CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_OBJCOPY
 | 
				
			||||||
 | 
					CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_OBJDUMP
 | 
				
			||||||
 | 
					CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//Platform information initialized
 | 
				
			||||||
 | 
					CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_RANLIB
 | 
				
			||||||
 | 
					CMAKE_RANLIB-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_READELF
 | 
				
			||||||
 | 
					CMAKE_READELF-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//Path to CMake installation.
 | 
				
			||||||
 | 
					CMAKE_ROOT:INTERNAL=/usr/local/Cellar/cmake/3.19.2/share/cmake
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
 | 
				
			||||||
 | 
					CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
 | 
				
			||||||
 | 
					CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
 | 
				
			||||||
 | 
					CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
 | 
				
			||||||
 | 
					CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
 | 
				
			||||||
 | 
					CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
 | 
				
			||||||
 | 
					CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_SKIP_RPATH
 | 
				
			||||||
 | 
					CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
 | 
				
			||||||
 | 
					CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
 | 
				
			||||||
 | 
					CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
 | 
				
			||||||
 | 
					CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
 | 
				
			||||||
 | 
					CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
 | 
				
			||||||
 | 
					CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_STRIP
 | 
				
			||||||
 | 
					CMAKE_STRIP-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					//uname command
 | 
				
			||||||
 | 
					CMAKE_UNAME:INTERNAL=/usr/bin/uname
 | 
				
			||||||
 | 
					//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
 | 
				
			||||||
 | 
					CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										15
									
								
								portable/ThirdParty/GCC/rpi_pico/build/CMakeFiles/3.19.2/CMakeSystem.cmake
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								portable/ThirdParty/GCC/rpi_pico/build/CMakeFiles/3.19.2/CMakeSystem.cmake
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					set(CMAKE_HOST_SYSTEM "Darwin-19.6.0")
 | 
				
			||||||
 | 
					set(CMAKE_HOST_SYSTEM_NAME "Darwin")
 | 
				
			||||||
 | 
					set(CMAKE_HOST_SYSTEM_VERSION "19.6.0")
 | 
				
			||||||
 | 
					set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set(CMAKE_SYSTEM "Darwin-19.6.0")
 | 
				
			||||||
 | 
					set(CMAKE_SYSTEM_NAME "Darwin")
 | 
				
			||||||
 | 
					set(CMAKE_SYSTEM_VERSION "19.6.0")
 | 
				
			||||||
 | 
					set(CMAKE_SYSTEM_PROCESSOR "x86_64")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set(CMAKE_CROSSCOMPILING "FALSE")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set(CMAKE_SYSTEM_LOADED 1)
 | 
				
			||||||
							
								
								
									
										691
									
								
								portable/ThirdParty/GCC/rpi_pico/build/CMakeFiles/3.19.2/CompilerIdC/CMakeCCompilerId.c
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										691
									
								
								portable/ThirdParty/GCC/rpi_pico/build/CMakeFiles/3.19.2/CompilerIdC/CMakeCCompilerId.c
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,691 @@
 | 
				
			|||||||
 | 
					#ifdef __cplusplus
 | 
				
			||||||
 | 
					# error "A C++ compiler has been selected for C."
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined(__18CXX)
 | 
				
			||||||
 | 
					# define ID_VOID_MAIN
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					#if defined(__CLASSIC_C__)
 | 
				
			||||||
 | 
					/* cv-qualifiers did not exist in K&R C */
 | 
				
			||||||
 | 
					# define const
 | 
				
			||||||
 | 
					# define volatile
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Version number components: V=Version, R=Revision, P=Patch
 | 
				
			||||||
 | 
					   Version date components:   YYYY=Year, MM=Month,   DD=Day  */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined(__INTEL_COMPILER) || defined(__ICC)
 | 
				
			||||||
 | 
					# define COMPILER_ID "Intel"
 | 
				
			||||||
 | 
					# if defined(_MSC_VER)
 | 
				
			||||||
 | 
					#  define SIMULATE_ID "MSVC"
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					# if defined(__GNUC__)
 | 
				
			||||||
 | 
					#  define SIMULATE_ID "GNU"
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					  /* __INTEL_COMPILER = VRP */
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
 | 
				
			||||||
 | 
					# if defined(__INTEL_COMPILER_UPDATE)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
 | 
				
			||||||
 | 
					# else
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER   % 10)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					# if defined(__INTEL_COMPILER_BUILD_DATE)
 | 
				
			||||||
 | 
					  /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					# if defined(_MSC_VER)
 | 
				
			||||||
 | 
					   /* _MSC_VER = VVRR */
 | 
				
			||||||
 | 
					#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
 | 
				
			||||||
 | 
					#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					# if defined(__GNUC__)
 | 
				
			||||||
 | 
					#  define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
 | 
				
			||||||
 | 
					# elif defined(__GNUG__)
 | 
				
			||||||
 | 
					#  define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					# if defined(__GNUC_MINOR__)
 | 
				
			||||||
 | 
					#  define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					# if defined(__GNUC_PATCHLEVEL__)
 | 
				
			||||||
 | 
					#  define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__PATHCC__)
 | 
				
			||||||
 | 
					# define COMPILER_ID "PathScale"
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
 | 
				
			||||||
 | 
					# if defined(__PATHCC_PATCHLEVEL__)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
 | 
				
			||||||
 | 
					# define COMPILER_ID "Embarcadero"
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__     & 0xFFFF)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__BORLANDC__)
 | 
				
			||||||
 | 
					# define COMPILER_ID "Borland"
 | 
				
			||||||
 | 
					  /* __BORLANDC__ = 0xVRR */
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
 | 
				
			||||||
 | 
					# define COMPILER_ID "Watcom"
 | 
				
			||||||
 | 
					   /* __WATCOMC__ = VVRR */
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
 | 
				
			||||||
 | 
					# if (__WATCOMC__ % 10) > 0
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__WATCOMC__)
 | 
				
			||||||
 | 
					# define COMPILER_ID "OpenWatcom"
 | 
				
			||||||
 | 
					   /* __WATCOMC__ = VVRP + 1100 */
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
 | 
				
			||||||
 | 
					# if (__WATCOMC__ % 10) > 0
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__SUNPRO_C)
 | 
				
			||||||
 | 
					# define COMPILER_ID "SunPro"
 | 
				
			||||||
 | 
					# if __SUNPRO_C >= 0x5100
 | 
				
			||||||
 | 
					   /* __SUNPRO_C = 0xVRRP */
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_PATCH HEX(__SUNPRO_C    & 0xF)
 | 
				
			||||||
 | 
					# else
 | 
				
			||||||
 | 
					   /* __SUNPRO_CC = 0xVRP */
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_PATCH HEX(__SUNPRO_C    & 0xF)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__HP_cc)
 | 
				
			||||||
 | 
					# define COMPILER_ID "HP"
 | 
				
			||||||
 | 
					  /* __HP_cc = VVRRPP */
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_PATCH DEC(__HP_cc     % 100)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__DECC)
 | 
				
			||||||
 | 
					# define COMPILER_ID "Compaq"
 | 
				
			||||||
 | 
					  /* __DECC_VER = VVRRTPPPP */
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000  % 100)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_PATCH DEC(__DECC_VER         % 10000)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__IBMC__) && defined(__COMPILER_VER__)
 | 
				
			||||||
 | 
					# define COMPILER_ID "zOS"
 | 
				
			||||||
 | 
					  /* __IBMC__ = VRP */
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_PATCH DEC(__IBMC__    % 10)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__ibmxl__) && defined(__clang__)
 | 
				
			||||||
 | 
					# define COMPILER_ID "XLClang"
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800
 | 
				
			||||||
 | 
					# define COMPILER_ID "XL"
 | 
				
			||||||
 | 
					  /* __IBMC__ = VRP */
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_PATCH DEC(__IBMC__    % 10)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800
 | 
				
			||||||
 | 
					# define COMPILER_ID "VisualAge"
 | 
				
			||||||
 | 
					  /* __IBMC__ = VRP */
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_PATCH DEC(__IBMC__    % 10)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__PGI)
 | 
				
			||||||
 | 
					# define COMPILER_ID "PGI"
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
 | 
				
			||||||
 | 
					# if defined(__PGIC_PATCHLEVEL__)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(_CRAYC)
 | 
				
			||||||
 | 
					# define COMPILER_ID "Cray"
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__TI_COMPILER_VERSION__)
 | 
				
			||||||
 | 
					# define COMPILER_ID "TI"
 | 
				
			||||||
 | 
					  /* __TI_COMPILER_VERSION__ = VVVRRRPPP */
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000   % 1000)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__        % 1000)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
 | 
				
			||||||
 | 
					# define COMPILER_ID "Fujitsu"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__ghs__)
 | 
				
			||||||
 | 
					# define COMPILER_ID "GHS"
 | 
				
			||||||
 | 
					/* __GHS_VERSION_NUMBER = VVVVRP */
 | 
				
			||||||
 | 
					# ifdef __GHS_VERSION_NUMBER
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER      % 10)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__TINYC__)
 | 
				
			||||||
 | 
					# define COMPILER_ID "TinyCC"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__BCC__)
 | 
				
			||||||
 | 
					# define COMPILER_ID "Bruce"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__SCO_VERSION__)
 | 
				
			||||||
 | 
					# define COMPILER_ID "SCO"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__ARMCC_VERSION) && !defined(__clang__)
 | 
				
			||||||
 | 
					# define COMPILER_ID "ARMCC"
 | 
				
			||||||
 | 
					#if __ARMCC_VERSION >= 1000000
 | 
				
			||||||
 | 
					  /* __ARMCC_VERSION = VRRPPPP */
 | 
				
			||||||
 | 
					  # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
 | 
				
			||||||
 | 
					  # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
 | 
				
			||||||
 | 
					  # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION     % 10000)
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					  /* __ARMCC_VERSION = VRPPPP */
 | 
				
			||||||
 | 
					  # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
 | 
				
			||||||
 | 
					  # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
 | 
				
			||||||
 | 
					  # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION    % 10000)
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__clang__) && defined(__apple_build_version__)
 | 
				
			||||||
 | 
					# define COMPILER_ID "AppleClang"
 | 
				
			||||||
 | 
					# if defined(_MSC_VER)
 | 
				
			||||||
 | 
					#  define SIMULATE_ID "MSVC"
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
 | 
				
			||||||
 | 
					# if defined(_MSC_VER)
 | 
				
			||||||
 | 
					   /* _MSC_VER = VVRR */
 | 
				
			||||||
 | 
					#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
 | 
				
			||||||
 | 
					#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
 | 
				
			||||||
 | 
					# define COMPILER_ID "ARMClang"
 | 
				
			||||||
 | 
					  # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
 | 
				
			||||||
 | 
					  # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
 | 
				
			||||||
 | 
					  # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION     % 10000)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__clang__)
 | 
				
			||||||
 | 
					# define COMPILER_ID "Clang"
 | 
				
			||||||
 | 
					# if defined(_MSC_VER)
 | 
				
			||||||
 | 
					#  define SIMULATE_ID "MSVC"
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
 | 
				
			||||||
 | 
					# if defined(_MSC_VER)
 | 
				
			||||||
 | 
					   /* _MSC_VER = VVRR */
 | 
				
			||||||
 | 
					#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
 | 
				
			||||||
 | 
					#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__GNUC__)
 | 
				
			||||||
 | 
					# define COMPILER_ID "GNU"
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
 | 
				
			||||||
 | 
					# if defined(__GNUC_MINOR__)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					# if defined(__GNUC_PATCHLEVEL__)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(_MSC_VER)
 | 
				
			||||||
 | 
					# define COMPILER_ID "MSVC"
 | 
				
			||||||
 | 
					  /* _MSC_VER = VVRR */
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
 | 
				
			||||||
 | 
					# if defined(_MSC_FULL_VER)
 | 
				
			||||||
 | 
					#  if _MSC_VER >= 1400
 | 
				
			||||||
 | 
					    /* _MSC_FULL_VER = VVRRPPPPP */
 | 
				
			||||||
 | 
					#   define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
 | 
				
			||||||
 | 
					#  else
 | 
				
			||||||
 | 
					    /* _MSC_FULL_VER = VVRRPPPP */
 | 
				
			||||||
 | 
					#   define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
 | 
				
			||||||
 | 
					#  endif
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					# if defined(_MSC_BUILD)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
 | 
				
			||||||
 | 
					# define COMPILER_ID "ADSP"
 | 
				
			||||||
 | 
					#if defined(__VISUALDSPVERSION__)
 | 
				
			||||||
 | 
					  /* __VISUALDSPVERSION__ = 0xVVRRPP00 */
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8  & 0xFF)
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
 | 
				
			||||||
 | 
					# define COMPILER_ID "IAR"
 | 
				
			||||||
 | 
					# if defined(__VER__) && defined(__ICCARM__)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
 | 
				
			||||||
 | 
					# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__))
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC)
 | 
				
			||||||
 | 
					# define COMPILER_ID "SDCC"
 | 
				
			||||||
 | 
					# if defined(__SDCC_VERSION_MAJOR)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH)
 | 
				
			||||||
 | 
					# else
 | 
				
			||||||
 | 
					  /* SDCC = VRP */
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_MAJOR DEC(SDCC/100)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_PATCH DEC(SDCC    % 10)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* These compilers are either not known or too old to define an
 | 
				
			||||||
 | 
					  identification macro.  Try to identify the platform and guess that
 | 
				
			||||||
 | 
					  it is the native compiler.  */
 | 
				
			||||||
 | 
					#elif defined(__hpux) || defined(__hpua)
 | 
				
			||||||
 | 
					# define COMPILER_ID "HP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#else /* unknown compiler */
 | 
				
			||||||
 | 
					# define COMPILER_ID ""
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Construct the string literal in pieces to prevent the source from
 | 
				
			||||||
 | 
					   getting matched.  Store it in a pointer rather than an array
 | 
				
			||||||
 | 
					   because some compilers will just produce instructions to fill the
 | 
				
			||||||
 | 
					   array rather than assigning a pointer to a static array.  */
 | 
				
			||||||
 | 
					char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
 | 
				
			||||||
 | 
					#ifdef SIMULATE_ID
 | 
				
			||||||
 | 
					char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef __QNXNTO__
 | 
				
			||||||
 | 
					char const* qnxnto = "INFO" ":" "qnxnto[]";
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined(_CRAYC) || defined(__cray__)
 | 
				
			||||||
 | 
					char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define STRINGIFY_HELPER(X) #X
 | 
				
			||||||
 | 
					#define STRINGIFY(X) STRINGIFY_HELPER(X)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Identify known platforms by name.  */
 | 
				
			||||||
 | 
					#if defined(__linux) || defined(__linux__) || defined(linux)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "Linux"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__CYGWIN__)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "Cygwin"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__MINGW32__)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "MinGW"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__APPLE__)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "Darwin"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "Windows"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__FreeBSD__) || defined(__FreeBSD)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "FreeBSD"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__NetBSD__) || defined(__NetBSD)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "NetBSD"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__OpenBSD__) || defined(__OPENBSD)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "OpenBSD"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__sun) || defined(sun)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "SunOS"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "AIX"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__hpux) || defined(__hpux__)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "HP-UX"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__HAIKU__)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "Haiku"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "BeOS"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__QNX__) || defined(__QNXNTO__)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "QNX"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "Tru64"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__riscos) || defined(__riscos__)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "RISCos"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "SINIX"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__UNIX_SV__)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "UNIX_SV"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__bsdos__)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "BSDOS"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(_MPRAS) || defined(MPRAS)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "MP-RAS"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__osf) || defined(__osf__)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "OSF1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "SCO_SV"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "ULTRIX"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "Xenix"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__WATCOMC__)
 | 
				
			||||||
 | 
					# if defined(__LINUX__)
 | 
				
			||||||
 | 
					#  define PLATFORM_ID "Linux"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__DOS__)
 | 
				
			||||||
 | 
					#  define PLATFORM_ID "DOS"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__OS2__)
 | 
				
			||||||
 | 
					#  define PLATFORM_ID "OS2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__WINDOWS__)
 | 
				
			||||||
 | 
					#  define PLATFORM_ID "Windows3x"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__VXWORKS__)
 | 
				
			||||||
 | 
					#  define PLATFORM_ID "VxWorks"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# else /* unknown platform */
 | 
				
			||||||
 | 
					#  define PLATFORM_ID
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__INTEGRITY)
 | 
				
			||||||
 | 
					# if defined(INT_178B)
 | 
				
			||||||
 | 
					#  define PLATFORM_ID "Integrity178"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# else /* regular Integrity */
 | 
				
			||||||
 | 
					#  define PLATFORM_ID "Integrity"
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#else /* unknown platform */
 | 
				
			||||||
 | 
					# define PLATFORM_ID
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* For windows compilers MSVC and Intel we can determine
 | 
				
			||||||
 | 
					   the architecture of the compiler being used.  This is because
 | 
				
			||||||
 | 
					   the compilers do not have flags that can change the architecture,
 | 
				
			||||||
 | 
					   but rather depend on which compiler is being used
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					#if defined(_WIN32) && defined(_MSC_VER)
 | 
				
			||||||
 | 
					# if defined(_M_IA64)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "IA64"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(_M_X64) || defined(_M_AMD64)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "x64"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(_M_IX86)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "X86"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(_M_ARM64)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "ARM64"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(_M_ARM)
 | 
				
			||||||
 | 
					#  if _M_ARM == 4
 | 
				
			||||||
 | 
					#   define ARCHITECTURE_ID "ARMV4I"
 | 
				
			||||||
 | 
					#  elif _M_ARM == 5
 | 
				
			||||||
 | 
					#   define ARCHITECTURE_ID "ARMV5I"
 | 
				
			||||||
 | 
					#  else
 | 
				
			||||||
 | 
					#   define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
 | 
				
			||||||
 | 
					#  endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(_M_MIPS)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "MIPS"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(_M_SH)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "SHx"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# else /* unknown architecture */
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID ""
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__WATCOMC__)
 | 
				
			||||||
 | 
					# if defined(_M_I86)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "I86"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(_M_IX86)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "X86"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# else /* unknown architecture */
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID ""
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
 | 
				
			||||||
 | 
					# if defined(__ICCARM__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "ARM"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__ICCRX__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "RX"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__ICCRH850__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "RH850"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__ICCRL78__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "RL78"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__ICCRISCV__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "RISCV"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__ICCAVR__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "AVR"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__ICC430__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "MSP430"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__ICCV850__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "V850"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__ICC8051__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "8051"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# else /* unknown architecture */
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID ""
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__ghs__)
 | 
				
			||||||
 | 
					# if defined(__PPC64__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "PPC64"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__ppc__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "PPC"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__ARM__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "ARM"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__x86_64__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "x64"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__i386__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "X86"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# else /* unknown architecture */
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID ""
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__TI_COMPILER_VERSION__)
 | 
				
			||||||
 | 
					# if defined(__TI_ARM__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "ARM"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__MSP430__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "MSP430"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__TMS320C28XX__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "TMS320C28x"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__TMS320C6X__) || defined(_TMS320C6X)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "TMS320C6x"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# else /* unknown architecture */
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID ""
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Convert integer to decimal digit literals.  */
 | 
				
			||||||
 | 
					#define DEC(n)                   \
 | 
				
			||||||
 | 
					  ('0' + (((n) / 10000000)%10)), \
 | 
				
			||||||
 | 
					  ('0' + (((n) / 1000000)%10)),  \
 | 
				
			||||||
 | 
					  ('0' + (((n) / 100000)%10)),   \
 | 
				
			||||||
 | 
					  ('0' + (((n) / 10000)%10)),    \
 | 
				
			||||||
 | 
					  ('0' + (((n) / 1000)%10)),     \
 | 
				
			||||||
 | 
					  ('0' + (((n) / 100)%10)),      \
 | 
				
			||||||
 | 
					  ('0' + (((n) / 10)%10)),       \
 | 
				
			||||||
 | 
					  ('0' +  ((n) % 10))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Convert integer to hex digit literals.  */
 | 
				
			||||||
 | 
					#define HEX(n)             \
 | 
				
			||||||
 | 
					  ('0' + ((n)>>28 & 0xF)), \
 | 
				
			||||||
 | 
					  ('0' + ((n)>>24 & 0xF)), \
 | 
				
			||||||
 | 
					  ('0' + ((n)>>20 & 0xF)), \
 | 
				
			||||||
 | 
					  ('0' + ((n)>>16 & 0xF)), \
 | 
				
			||||||
 | 
					  ('0' + ((n)>>12 & 0xF)), \
 | 
				
			||||||
 | 
					  ('0' + ((n)>>8  & 0xF)), \
 | 
				
			||||||
 | 
					  ('0' + ((n)>>4  & 0xF)), \
 | 
				
			||||||
 | 
					  ('0' + ((n)     & 0xF))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Construct a string literal encoding the version number components. */
 | 
				
			||||||
 | 
					#ifdef COMPILER_VERSION_MAJOR
 | 
				
			||||||
 | 
					char const info_version[] = {
 | 
				
			||||||
 | 
					  'I', 'N', 'F', 'O', ':',
 | 
				
			||||||
 | 
					  'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
 | 
				
			||||||
 | 
					  COMPILER_VERSION_MAJOR,
 | 
				
			||||||
 | 
					# ifdef COMPILER_VERSION_MINOR
 | 
				
			||||||
 | 
					  '.', COMPILER_VERSION_MINOR,
 | 
				
			||||||
 | 
					#  ifdef COMPILER_VERSION_PATCH
 | 
				
			||||||
 | 
					   '.', COMPILER_VERSION_PATCH,
 | 
				
			||||||
 | 
					#   ifdef COMPILER_VERSION_TWEAK
 | 
				
			||||||
 | 
					    '.', COMPILER_VERSION_TWEAK,
 | 
				
			||||||
 | 
					#   endif
 | 
				
			||||||
 | 
					#  endif
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					  ']','\0'};
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Construct a string literal encoding the internal version number. */
 | 
				
			||||||
 | 
					#ifdef COMPILER_VERSION_INTERNAL
 | 
				
			||||||
 | 
					char const info_version_internal[] = {
 | 
				
			||||||
 | 
					  'I', 'N', 'F', 'O', ':',
 | 
				
			||||||
 | 
					  'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
 | 
				
			||||||
 | 
					  'i','n','t','e','r','n','a','l','[',
 | 
				
			||||||
 | 
					  COMPILER_VERSION_INTERNAL,']','\0'};
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Construct a string literal encoding the version number components. */
 | 
				
			||||||
 | 
					#ifdef SIMULATE_VERSION_MAJOR
 | 
				
			||||||
 | 
					char const info_simulate_version[] = {
 | 
				
			||||||
 | 
					  'I', 'N', 'F', 'O', ':',
 | 
				
			||||||
 | 
					  's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
 | 
				
			||||||
 | 
					  SIMULATE_VERSION_MAJOR,
 | 
				
			||||||
 | 
					# ifdef SIMULATE_VERSION_MINOR
 | 
				
			||||||
 | 
					  '.', SIMULATE_VERSION_MINOR,
 | 
				
			||||||
 | 
					#  ifdef SIMULATE_VERSION_PATCH
 | 
				
			||||||
 | 
					   '.', SIMULATE_VERSION_PATCH,
 | 
				
			||||||
 | 
					#   ifdef SIMULATE_VERSION_TWEAK
 | 
				
			||||||
 | 
					    '.', SIMULATE_VERSION_TWEAK,
 | 
				
			||||||
 | 
					#   endif
 | 
				
			||||||
 | 
					#  endif
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					  ']','\0'};
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Construct the string literal in pieces to prevent the source from
 | 
				
			||||||
 | 
					   getting matched.  Store it in a pointer rather than an array
 | 
				
			||||||
 | 
					   because some compilers will just produce instructions to fill the
 | 
				
			||||||
 | 
					   array rather than assigning a pointer to a static array.  */
 | 
				
			||||||
 | 
					char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
 | 
				
			||||||
 | 
					char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if !defined(__STDC__)
 | 
				
			||||||
 | 
					# if (defined(_MSC_VER) && !defined(__clang__)) \
 | 
				
			||||||
 | 
					  || (defined(__ibmxl__) || defined(__IBMC__))
 | 
				
			||||||
 | 
					#  define C_DIALECT "90"
 | 
				
			||||||
 | 
					# else
 | 
				
			||||||
 | 
					#  define C_DIALECT
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					#elif __STDC_VERSION__ >= 201000L
 | 
				
			||||||
 | 
					# define C_DIALECT "11"
 | 
				
			||||||
 | 
					#elif __STDC_VERSION__ >= 199901L
 | 
				
			||||||
 | 
					# define C_DIALECT "99"
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					# define C_DIALECT "90"
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					const char* info_language_dialect_default =
 | 
				
			||||||
 | 
					  "INFO" ":" "dialect_default[" C_DIALECT "]";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*--------------------------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef ID_VOID_MAIN
 | 
				
			||||||
 | 
					void main() {}
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					# if defined(__CLASSIC_C__)
 | 
				
			||||||
 | 
					int main(argc, argv) int argc; char *argv[];
 | 
				
			||||||
 | 
					# else
 | 
				
			||||||
 | 
					int main(int argc, char* argv[])
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  int require = 0;
 | 
				
			||||||
 | 
					  require += info_compiler[argc];
 | 
				
			||||||
 | 
					  require += info_platform[argc];
 | 
				
			||||||
 | 
					  require += info_arch[argc];
 | 
				
			||||||
 | 
					#ifdef COMPILER_VERSION_MAJOR
 | 
				
			||||||
 | 
					  require += info_version[argc];
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					#ifdef COMPILER_VERSION_INTERNAL
 | 
				
			||||||
 | 
					  require += info_version_internal[argc];
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					#ifdef SIMULATE_ID
 | 
				
			||||||
 | 
					  require += info_simulate[argc];
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					#ifdef SIMULATE_VERSION_MAJOR
 | 
				
			||||||
 | 
					  require += info_simulate_version[argc];
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					#if defined(_CRAYC) || defined(__cray__)
 | 
				
			||||||
 | 
					  require += info_cray[argc];
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					  require += info_language_dialect_default[argc];
 | 
				
			||||||
 | 
					  (void)argv;
 | 
				
			||||||
 | 
					  return require;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								portable/ThirdParty/GCC/rpi_pico/build/CMakeFiles/3.19.2/CompilerIdC/CMakeCCompilerId.o
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								portable/ThirdParty/GCC/rpi_pico/build/CMakeFiles/3.19.2/CompilerIdC/CMakeCCompilerId.o
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										680
									
								
								portable/ThirdParty/GCC/rpi_pico/build/CMakeFiles/3.19.2/CompilerIdCXX/CMakeCXXCompilerId.cpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										680
									
								
								portable/ThirdParty/GCC/rpi_pico/build/CMakeFiles/3.19.2/CompilerIdCXX/CMakeCXXCompilerId.cpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,680 @@
 | 
				
			|||||||
 | 
					/* This source file must have a .cpp extension so that all C++ compilers
 | 
				
			||||||
 | 
					   recognize the extension without flags.  Borland does not know .cxx for
 | 
				
			||||||
 | 
					   example.  */
 | 
				
			||||||
 | 
					#ifndef __cplusplus
 | 
				
			||||||
 | 
					# error "A C compiler has been selected for C++."
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Version number components: V=Version, R=Revision, P=Patch
 | 
				
			||||||
 | 
					   Version date components:   YYYY=Year, MM=Month,   DD=Day  */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined(__COMO__)
 | 
				
			||||||
 | 
					# define COMPILER_ID "Comeau"
 | 
				
			||||||
 | 
					  /* __COMO_VERSION__ = VRR */
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__INTEL_COMPILER) || defined(__ICC)
 | 
				
			||||||
 | 
					# define COMPILER_ID "Intel"
 | 
				
			||||||
 | 
					# if defined(_MSC_VER)
 | 
				
			||||||
 | 
					#  define SIMULATE_ID "MSVC"
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					# if defined(__GNUC__)
 | 
				
			||||||
 | 
					#  define SIMULATE_ID "GNU"
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					  /* __INTEL_COMPILER = VRP */
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
 | 
				
			||||||
 | 
					# if defined(__INTEL_COMPILER_UPDATE)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
 | 
				
			||||||
 | 
					# else
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER   % 10)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					# if defined(__INTEL_COMPILER_BUILD_DATE)
 | 
				
			||||||
 | 
					  /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					# if defined(_MSC_VER)
 | 
				
			||||||
 | 
					   /* _MSC_VER = VVRR */
 | 
				
			||||||
 | 
					#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
 | 
				
			||||||
 | 
					#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					# if defined(__GNUC__)
 | 
				
			||||||
 | 
					#  define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
 | 
				
			||||||
 | 
					# elif defined(__GNUG__)
 | 
				
			||||||
 | 
					#  define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					# if defined(__GNUC_MINOR__)
 | 
				
			||||||
 | 
					#  define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					# if defined(__GNUC_PATCHLEVEL__)
 | 
				
			||||||
 | 
					#  define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__PATHCC__)
 | 
				
			||||||
 | 
					# define COMPILER_ID "PathScale"
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
 | 
				
			||||||
 | 
					# if defined(__PATHCC_PATCHLEVEL__)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
 | 
				
			||||||
 | 
					# define COMPILER_ID "Embarcadero"
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__     & 0xFFFF)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__BORLANDC__)
 | 
				
			||||||
 | 
					# define COMPILER_ID "Borland"
 | 
				
			||||||
 | 
					  /* __BORLANDC__ = 0xVRR */
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
 | 
				
			||||||
 | 
					# define COMPILER_ID "Watcom"
 | 
				
			||||||
 | 
					   /* __WATCOMC__ = VVRR */
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
 | 
				
			||||||
 | 
					# if (__WATCOMC__ % 10) > 0
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__WATCOMC__)
 | 
				
			||||||
 | 
					# define COMPILER_ID "OpenWatcom"
 | 
				
			||||||
 | 
					   /* __WATCOMC__ = VVRP + 1100 */
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
 | 
				
			||||||
 | 
					# if (__WATCOMC__ % 10) > 0
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__SUNPRO_CC)
 | 
				
			||||||
 | 
					# define COMPILER_ID "SunPro"
 | 
				
			||||||
 | 
					# if __SUNPRO_CC >= 0x5100
 | 
				
			||||||
 | 
					   /* __SUNPRO_CC = 0xVRRP */
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC    & 0xF)
 | 
				
			||||||
 | 
					# else
 | 
				
			||||||
 | 
					   /* __SUNPRO_CC = 0xVRP */
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC    & 0xF)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__HP_aCC)
 | 
				
			||||||
 | 
					# define COMPILER_ID "HP"
 | 
				
			||||||
 | 
					  /* __HP_aCC = VVRRPP */
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_PATCH DEC(__HP_aCC     % 100)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__DECCXX)
 | 
				
			||||||
 | 
					# define COMPILER_ID "Compaq"
 | 
				
			||||||
 | 
					  /* __DECCXX_VER = VVRRTPPPP */
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000  % 100)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER         % 10000)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
 | 
				
			||||||
 | 
					# define COMPILER_ID "zOS"
 | 
				
			||||||
 | 
					  /* __IBMCPP__ = VRP */
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_PATCH DEC(__IBMCPP__    % 10)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__ibmxl__) && defined(__clang__)
 | 
				
			||||||
 | 
					# define COMPILER_ID "XLClang"
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
 | 
				
			||||||
 | 
					# define COMPILER_ID "XL"
 | 
				
			||||||
 | 
					  /* __IBMCPP__ = VRP */
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_PATCH DEC(__IBMCPP__    % 10)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
 | 
				
			||||||
 | 
					# define COMPILER_ID "VisualAge"
 | 
				
			||||||
 | 
					  /* __IBMCPP__ = VRP */
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_PATCH DEC(__IBMCPP__    % 10)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__PGI)
 | 
				
			||||||
 | 
					# define COMPILER_ID "PGI"
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
 | 
				
			||||||
 | 
					# if defined(__PGIC_PATCHLEVEL__)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(_CRAYC)
 | 
				
			||||||
 | 
					# define COMPILER_ID "Cray"
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__TI_COMPILER_VERSION__)
 | 
				
			||||||
 | 
					# define COMPILER_ID "TI"
 | 
				
			||||||
 | 
					  /* __TI_COMPILER_VERSION__ = VVVRRRPPP */
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000   % 1000)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__        % 1000)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
 | 
				
			||||||
 | 
					# define COMPILER_ID "Fujitsu"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__ghs__)
 | 
				
			||||||
 | 
					# define COMPILER_ID "GHS"
 | 
				
			||||||
 | 
					/* __GHS_VERSION_NUMBER = VVVVRP */
 | 
				
			||||||
 | 
					# ifdef __GHS_VERSION_NUMBER
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER      % 10)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__SCO_VERSION__)
 | 
				
			||||||
 | 
					# define COMPILER_ID "SCO"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__ARMCC_VERSION) && !defined(__clang__)
 | 
				
			||||||
 | 
					# define COMPILER_ID "ARMCC"
 | 
				
			||||||
 | 
					#if __ARMCC_VERSION >= 1000000
 | 
				
			||||||
 | 
					  /* __ARMCC_VERSION = VRRPPPP */
 | 
				
			||||||
 | 
					  # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
 | 
				
			||||||
 | 
					  # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
 | 
				
			||||||
 | 
					  # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION     % 10000)
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					  /* __ARMCC_VERSION = VRPPPP */
 | 
				
			||||||
 | 
					  # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
 | 
				
			||||||
 | 
					  # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
 | 
				
			||||||
 | 
					  # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION    % 10000)
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__clang__) && defined(__apple_build_version__)
 | 
				
			||||||
 | 
					# define COMPILER_ID "AppleClang"
 | 
				
			||||||
 | 
					# if defined(_MSC_VER)
 | 
				
			||||||
 | 
					#  define SIMULATE_ID "MSVC"
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
 | 
				
			||||||
 | 
					# if defined(_MSC_VER)
 | 
				
			||||||
 | 
					   /* _MSC_VER = VVRR */
 | 
				
			||||||
 | 
					#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
 | 
				
			||||||
 | 
					#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
 | 
				
			||||||
 | 
					# define COMPILER_ID "ARMClang"
 | 
				
			||||||
 | 
					  # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
 | 
				
			||||||
 | 
					  # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
 | 
				
			||||||
 | 
					  # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION     % 10000)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__clang__)
 | 
				
			||||||
 | 
					# define COMPILER_ID "Clang"
 | 
				
			||||||
 | 
					# if defined(_MSC_VER)
 | 
				
			||||||
 | 
					#  define SIMULATE_ID "MSVC"
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
 | 
				
			||||||
 | 
					# if defined(_MSC_VER)
 | 
				
			||||||
 | 
					   /* _MSC_VER = VVRR */
 | 
				
			||||||
 | 
					#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
 | 
				
			||||||
 | 
					#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__GNUC__) || defined(__GNUG__)
 | 
				
			||||||
 | 
					# define COMPILER_ID "GNU"
 | 
				
			||||||
 | 
					# if defined(__GNUC__)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_MAJOR DEC(__GNUC__)
 | 
				
			||||||
 | 
					# else
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_MAJOR DEC(__GNUG__)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					# if defined(__GNUC_MINOR__)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					# if defined(__GNUC_PATCHLEVEL__)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(_MSC_VER)
 | 
				
			||||||
 | 
					# define COMPILER_ID "MSVC"
 | 
				
			||||||
 | 
					  /* _MSC_VER = VVRR */
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
 | 
				
			||||||
 | 
					# if defined(_MSC_FULL_VER)
 | 
				
			||||||
 | 
					#  if _MSC_VER >= 1400
 | 
				
			||||||
 | 
					    /* _MSC_FULL_VER = VVRRPPPPP */
 | 
				
			||||||
 | 
					#   define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
 | 
				
			||||||
 | 
					#  else
 | 
				
			||||||
 | 
					    /* _MSC_FULL_VER = VVRRPPPP */
 | 
				
			||||||
 | 
					#   define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
 | 
				
			||||||
 | 
					#  endif
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					# if defined(_MSC_BUILD)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
 | 
				
			||||||
 | 
					# define COMPILER_ID "ADSP"
 | 
				
			||||||
 | 
					#if defined(__VISUALDSPVERSION__)
 | 
				
			||||||
 | 
					  /* __VISUALDSPVERSION__ = 0xVVRRPP00 */
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
 | 
				
			||||||
 | 
					# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8  & 0xFF)
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
 | 
				
			||||||
 | 
					# define COMPILER_ID "IAR"
 | 
				
			||||||
 | 
					# if defined(__VER__) && defined(__ICCARM__)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
 | 
				
			||||||
 | 
					# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__))
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
 | 
				
			||||||
 | 
					#  define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* These compilers are either not known or too old to define an
 | 
				
			||||||
 | 
					  identification macro.  Try to identify the platform and guess that
 | 
				
			||||||
 | 
					  it is the native compiler.  */
 | 
				
			||||||
 | 
					#elif defined(__hpux) || defined(__hpua)
 | 
				
			||||||
 | 
					# define COMPILER_ID "HP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#else /* unknown compiler */
 | 
				
			||||||
 | 
					# define COMPILER_ID ""
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Construct the string literal in pieces to prevent the source from
 | 
				
			||||||
 | 
					   getting matched.  Store it in a pointer rather than an array
 | 
				
			||||||
 | 
					   because some compilers will just produce instructions to fill the
 | 
				
			||||||
 | 
					   array rather than assigning a pointer to a static array.  */
 | 
				
			||||||
 | 
					char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
 | 
				
			||||||
 | 
					#ifdef SIMULATE_ID
 | 
				
			||||||
 | 
					char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef __QNXNTO__
 | 
				
			||||||
 | 
					char const* qnxnto = "INFO" ":" "qnxnto[]";
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined(_CRAYC) || defined(__cray__)
 | 
				
			||||||
 | 
					char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define STRINGIFY_HELPER(X) #X
 | 
				
			||||||
 | 
					#define STRINGIFY(X) STRINGIFY_HELPER(X)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Identify known platforms by name.  */
 | 
				
			||||||
 | 
					#if defined(__linux) || defined(__linux__) || defined(linux)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "Linux"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__CYGWIN__)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "Cygwin"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__MINGW32__)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "MinGW"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__APPLE__)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "Darwin"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "Windows"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__FreeBSD__) || defined(__FreeBSD)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "FreeBSD"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__NetBSD__) || defined(__NetBSD)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "NetBSD"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__OpenBSD__) || defined(__OPENBSD)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "OpenBSD"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__sun) || defined(sun)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "SunOS"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "AIX"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__hpux) || defined(__hpux__)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "HP-UX"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__HAIKU__)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "Haiku"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "BeOS"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__QNX__) || defined(__QNXNTO__)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "QNX"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "Tru64"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__riscos) || defined(__riscos__)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "RISCos"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "SINIX"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__UNIX_SV__)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "UNIX_SV"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__bsdos__)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "BSDOS"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(_MPRAS) || defined(MPRAS)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "MP-RAS"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__osf) || defined(__osf__)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "OSF1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "SCO_SV"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "ULTRIX"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
 | 
				
			||||||
 | 
					# define PLATFORM_ID "Xenix"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__WATCOMC__)
 | 
				
			||||||
 | 
					# if defined(__LINUX__)
 | 
				
			||||||
 | 
					#  define PLATFORM_ID "Linux"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__DOS__)
 | 
				
			||||||
 | 
					#  define PLATFORM_ID "DOS"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__OS2__)
 | 
				
			||||||
 | 
					#  define PLATFORM_ID "OS2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__WINDOWS__)
 | 
				
			||||||
 | 
					#  define PLATFORM_ID "Windows3x"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__VXWORKS__)
 | 
				
			||||||
 | 
					#  define PLATFORM_ID "VxWorks"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# else /* unknown platform */
 | 
				
			||||||
 | 
					#  define PLATFORM_ID
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__INTEGRITY)
 | 
				
			||||||
 | 
					# if defined(INT_178B)
 | 
				
			||||||
 | 
					#  define PLATFORM_ID "Integrity178"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# else /* regular Integrity */
 | 
				
			||||||
 | 
					#  define PLATFORM_ID "Integrity"
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#else /* unknown platform */
 | 
				
			||||||
 | 
					# define PLATFORM_ID
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* For windows compilers MSVC and Intel we can determine
 | 
				
			||||||
 | 
					   the architecture of the compiler being used.  This is because
 | 
				
			||||||
 | 
					   the compilers do not have flags that can change the architecture,
 | 
				
			||||||
 | 
					   but rather depend on which compiler is being used
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					#if defined(_WIN32) && defined(_MSC_VER)
 | 
				
			||||||
 | 
					# if defined(_M_IA64)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "IA64"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(_M_X64) || defined(_M_AMD64)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "x64"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(_M_IX86)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "X86"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(_M_ARM64)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "ARM64"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(_M_ARM)
 | 
				
			||||||
 | 
					#  if _M_ARM == 4
 | 
				
			||||||
 | 
					#   define ARCHITECTURE_ID "ARMV4I"
 | 
				
			||||||
 | 
					#  elif _M_ARM == 5
 | 
				
			||||||
 | 
					#   define ARCHITECTURE_ID "ARMV5I"
 | 
				
			||||||
 | 
					#  else
 | 
				
			||||||
 | 
					#   define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
 | 
				
			||||||
 | 
					#  endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(_M_MIPS)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "MIPS"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(_M_SH)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "SHx"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# else /* unknown architecture */
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID ""
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__WATCOMC__)
 | 
				
			||||||
 | 
					# if defined(_M_I86)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "I86"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(_M_IX86)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "X86"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# else /* unknown architecture */
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID ""
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
 | 
				
			||||||
 | 
					# if defined(__ICCARM__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "ARM"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__ICCRX__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "RX"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__ICCRH850__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "RH850"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__ICCRL78__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "RL78"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__ICCRISCV__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "RISCV"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__ICCAVR__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "AVR"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__ICC430__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "MSP430"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__ICCV850__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "V850"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__ICC8051__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "8051"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# else /* unknown architecture */
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID ""
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__ghs__)
 | 
				
			||||||
 | 
					# if defined(__PPC64__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "PPC64"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__ppc__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "PPC"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__ARM__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "ARM"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__x86_64__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "x64"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__i386__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "X86"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# else /* unknown architecture */
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID ""
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif defined(__TI_COMPILER_VERSION__)
 | 
				
			||||||
 | 
					# if defined(__TI_ARM__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "ARM"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__MSP430__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "MSP430"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__TMS320C28XX__)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "TMS320C28x"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# elif defined(__TMS320C6X__) || defined(_TMS320C6X)
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID "TMS320C6x"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# else /* unknown architecture */
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID ""
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					#  define ARCHITECTURE_ID
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Convert integer to decimal digit literals.  */
 | 
				
			||||||
 | 
					#define DEC(n)                   \
 | 
				
			||||||
 | 
					  ('0' + (((n) / 10000000)%10)), \
 | 
				
			||||||
 | 
					  ('0' + (((n) / 1000000)%10)),  \
 | 
				
			||||||
 | 
					  ('0' + (((n) / 100000)%10)),   \
 | 
				
			||||||
 | 
					  ('0' + (((n) / 10000)%10)),    \
 | 
				
			||||||
 | 
					  ('0' + (((n) / 1000)%10)),     \
 | 
				
			||||||
 | 
					  ('0' + (((n) / 100)%10)),      \
 | 
				
			||||||
 | 
					  ('0' + (((n) / 10)%10)),       \
 | 
				
			||||||
 | 
					  ('0' +  ((n) % 10))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Convert integer to hex digit literals.  */
 | 
				
			||||||
 | 
					#define HEX(n)             \
 | 
				
			||||||
 | 
					  ('0' + ((n)>>28 & 0xF)), \
 | 
				
			||||||
 | 
					  ('0' + ((n)>>24 & 0xF)), \
 | 
				
			||||||
 | 
					  ('0' + ((n)>>20 & 0xF)), \
 | 
				
			||||||
 | 
					  ('0' + ((n)>>16 & 0xF)), \
 | 
				
			||||||
 | 
					  ('0' + ((n)>>12 & 0xF)), \
 | 
				
			||||||
 | 
					  ('0' + ((n)>>8  & 0xF)), \
 | 
				
			||||||
 | 
					  ('0' + ((n)>>4  & 0xF)), \
 | 
				
			||||||
 | 
					  ('0' + ((n)     & 0xF))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Construct a string literal encoding the version number components. */
 | 
				
			||||||
 | 
					#ifdef COMPILER_VERSION_MAJOR
 | 
				
			||||||
 | 
					char const info_version[] = {
 | 
				
			||||||
 | 
					  'I', 'N', 'F', 'O', ':',
 | 
				
			||||||
 | 
					  'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
 | 
				
			||||||
 | 
					  COMPILER_VERSION_MAJOR,
 | 
				
			||||||
 | 
					# ifdef COMPILER_VERSION_MINOR
 | 
				
			||||||
 | 
					  '.', COMPILER_VERSION_MINOR,
 | 
				
			||||||
 | 
					#  ifdef COMPILER_VERSION_PATCH
 | 
				
			||||||
 | 
					   '.', COMPILER_VERSION_PATCH,
 | 
				
			||||||
 | 
					#   ifdef COMPILER_VERSION_TWEAK
 | 
				
			||||||
 | 
					    '.', COMPILER_VERSION_TWEAK,
 | 
				
			||||||
 | 
					#   endif
 | 
				
			||||||
 | 
					#  endif
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					  ']','\0'};
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Construct a string literal encoding the internal version number. */
 | 
				
			||||||
 | 
					#ifdef COMPILER_VERSION_INTERNAL
 | 
				
			||||||
 | 
					char const info_version_internal[] = {
 | 
				
			||||||
 | 
					  'I', 'N', 'F', 'O', ':',
 | 
				
			||||||
 | 
					  'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
 | 
				
			||||||
 | 
					  'i','n','t','e','r','n','a','l','[',
 | 
				
			||||||
 | 
					  COMPILER_VERSION_INTERNAL,']','\0'};
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Construct a string literal encoding the version number components. */
 | 
				
			||||||
 | 
					#ifdef SIMULATE_VERSION_MAJOR
 | 
				
			||||||
 | 
					char const info_simulate_version[] = {
 | 
				
			||||||
 | 
					  'I', 'N', 'F', 'O', ':',
 | 
				
			||||||
 | 
					  's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
 | 
				
			||||||
 | 
					  SIMULATE_VERSION_MAJOR,
 | 
				
			||||||
 | 
					# ifdef SIMULATE_VERSION_MINOR
 | 
				
			||||||
 | 
					  '.', SIMULATE_VERSION_MINOR,
 | 
				
			||||||
 | 
					#  ifdef SIMULATE_VERSION_PATCH
 | 
				
			||||||
 | 
					   '.', SIMULATE_VERSION_PATCH,
 | 
				
			||||||
 | 
					#   ifdef SIMULATE_VERSION_TWEAK
 | 
				
			||||||
 | 
					    '.', SIMULATE_VERSION_TWEAK,
 | 
				
			||||||
 | 
					#   endif
 | 
				
			||||||
 | 
					#  endif
 | 
				
			||||||
 | 
					# endif
 | 
				
			||||||
 | 
					  ']','\0'};
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Construct the string literal in pieces to prevent the source from
 | 
				
			||||||
 | 
					   getting matched.  Store it in a pointer rather than an array
 | 
				
			||||||
 | 
					   because some compilers will just produce instructions to fill the
 | 
				
			||||||
 | 
					   array rather than assigning a pointer to a static array.  */
 | 
				
			||||||
 | 
					char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
 | 
				
			||||||
 | 
					char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L
 | 
				
			||||||
 | 
					#  if defined(__INTEL_CXX11_MODE__)
 | 
				
			||||||
 | 
					#    if defined(__cpp_aggregate_nsdmi)
 | 
				
			||||||
 | 
					#      define CXX_STD 201402L
 | 
				
			||||||
 | 
					#    else
 | 
				
			||||||
 | 
					#      define CXX_STD 201103L
 | 
				
			||||||
 | 
					#    endif
 | 
				
			||||||
 | 
					#  else
 | 
				
			||||||
 | 
					#    define CXX_STD 199711L
 | 
				
			||||||
 | 
					#  endif
 | 
				
			||||||
 | 
					#elif defined(_MSC_VER) && defined(_MSVC_LANG)
 | 
				
			||||||
 | 
					#  define CXX_STD _MSVC_LANG
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					#  define CXX_STD __cplusplus
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const char* info_language_dialect_default = "INFO" ":" "dialect_default["
 | 
				
			||||||
 | 
					#if CXX_STD > 201703L
 | 
				
			||||||
 | 
					  "20"
 | 
				
			||||||
 | 
					#elif CXX_STD >= 201703L
 | 
				
			||||||
 | 
					  "17"
 | 
				
			||||||
 | 
					#elif CXX_STD >= 201402L
 | 
				
			||||||
 | 
					  "14"
 | 
				
			||||||
 | 
					#elif CXX_STD >= 201103L
 | 
				
			||||||
 | 
					  "11"
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					  "98"
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					"]";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*--------------------------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int main(int argc, char* argv[])
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  int require = 0;
 | 
				
			||||||
 | 
					  require += info_compiler[argc];
 | 
				
			||||||
 | 
					  require += info_platform[argc];
 | 
				
			||||||
 | 
					#ifdef COMPILER_VERSION_MAJOR
 | 
				
			||||||
 | 
					  require += info_version[argc];
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					#ifdef COMPILER_VERSION_INTERNAL
 | 
				
			||||||
 | 
					  require += info_version_internal[argc];
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					#ifdef SIMULATE_ID
 | 
				
			||||||
 | 
					  require += info_simulate[argc];
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					#ifdef SIMULATE_VERSION_MAJOR
 | 
				
			||||||
 | 
					  require += info_simulate_version[argc];
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					#if defined(_CRAYC) || defined(__cray__)
 | 
				
			||||||
 | 
					  require += info_cray[argc];
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					  require += info_language_dialect_default[argc];
 | 
				
			||||||
 | 
					  (void)argv;
 | 
				
			||||||
 | 
					  return require;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								portable/ThirdParty/GCC/rpi_pico/build/CMakeFiles/3.19.2/CompilerIdCXX/CMakeCXXCompilerId.o
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								portable/ThirdParty/GCC/rpi_pico/build/CMakeFiles/3.19.2/CompilerIdCXX/CMakeCXXCompilerId.o
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										206
									
								
								portable/ThirdParty/GCC/rpi_pico/build/CMakeFiles/CMakeError.log
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										206
									
								
								portable/ThirdParty/GCC/rpi_pico/build/CMakeFiles/CMakeError.log
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,206 @@
 | 
				
			|||||||
 | 
					Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
 | 
				
			||||||
 | 
					Compiler: /usr/local/bin/arm-none-eabi-gcc-9.2.1 
 | 
				
			||||||
 | 
					Build flags: 
 | 
				
			||||||
 | 
					Id flags:  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The output was:
 | 
				
			||||||
 | 
					1
 | 
				
			||||||
 | 
					/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): in function `exit':
 | 
				
			||||||
 | 
					exit.c:(.text.exit+0x2c): undefined reference to `_exit'
 | 
				
			||||||
 | 
					collect2: error: ld returned 1 exit status
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed.
 | 
				
			||||||
 | 
					Compiler: /usr/local/bin/arm-none-eabi-c++ 
 | 
				
			||||||
 | 
					Build flags: 
 | 
				
			||||||
 | 
					Id flags:  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The output was:
 | 
				
			||||||
 | 
					1
 | 
				
			||||||
 | 
					/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): in function `exit':
 | 
				
			||||||
 | 
					exit.c:(.text.exit+0x2c): undefined reference to `_exit'
 | 
				
			||||||
 | 
					collect2: error: ld returned 1 exit status
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Detecting C compiler ABI info failed to compile with the following output:
 | 
				
			||||||
 | 
					Change Dir: /Users/jjulich/Documents/working/Lab-Project-FreeRTOS-SMP/FreeRTOS/Source/portable/ThirdParty/GCC/rpi_pico/build/CMakeFiles/CMakeTmp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Run Build Command(s):/usr/local/bin/ninja cmTC_5aa13 && [1/2] Building C object CMakeFiles/cmTC_5aa13.dir/CMakeCCompilerABI.c.o
 | 
				
			||||||
 | 
					Using built-in specs.
 | 
				
			||||||
 | 
					COLLECT_GCC=/usr/local/bin/arm-none-eabi-gcc-9.2.1
 | 
				
			||||||
 | 
					Target: arm-none-eabi
 | 
				
			||||||
 | 
					Configured with: /tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/src/gcc/configure --target=arm-none-eabi --prefix=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/install-native --libexecdir=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/install-native/lib --infodir=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/install-native/share/doc/gcc-arm-none-eabi/info --mandir=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/install-native/share/doc/gcc-arm-none-eabi/man --htmldir=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/install-native/share/doc/gcc-arm-none-eabi/html --pdfdir=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/install-native/share/doc/gcc-arm-none-eabi/pdf --enable-languages=c,c++ --enable-plugins --disable-decimal-float --disable-libffi --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libssp --disable-libstdcxx-pch --disable-nls --disable-shared --disable-threads --disable-tls --with-gnu-as --with-gnu-ld --with-newlib --with-headers=yes --with-python-dir=share/gcc-arm-none-eabi --with-sysroot=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/install-native/arm-none-eabi --build=x86_64-apple-darwin10 --host=x86_64-apple-darwin10 --with-gmp=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/build-native/host-libs/usr --with-mpfr=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/build-native/host-libs/usr --with-mpc=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/build-native/host-libs/usr --with-isl=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/build-native/host-libs/usr --with-libelf=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/build-native/host-libs/usr --with-host-libstdcxx='-static-libgcc -Wl,-lstdc++ -lm' --with-pkgversion='GNU Tools for Arm Embedded Processors 9-2019-q4-major' --with-multilib-list=rmprofile
 | 
				
			||||||
 | 
					Thread model: single
 | 
				
			||||||
 | 
					gcc version 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599] (GNU Tools for Arm Embedded Processors 9-2019-q4-major) 
 | 
				
			||||||
 | 
					COLLECT_GCC_OPTIONS='-isysroot' '/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk' '-v' '-o' 'CMakeFiles/cmTC_5aa13.dir/CMakeCCompilerABI.c.o' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-march=armv4t'
 | 
				
			||||||
 | 
					 /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/cc1 -quiet -v -iprefix /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/ -isysroot /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../arm-none-eabi -D__USES_INITFINI__ -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk /usr/local/Cellar/cmake/3.19.2/share/cmake/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mcpu=arm7tdmi -mfloat-abi=soft -marm -march=armv4t -auxbase-strip CMakeFiles/cmTC_5aa13.dir/CMakeCCompilerABI.c.o -version -o /var/folders/1n/t38rngmd42j286ky10t24rmc6q8d32/T//ccqSrf9K.s
 | 
				
			||||||
 | 
					GNU C17 (GNU Tools for Arm Embedded Processors 9-2019-q4-major) version 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599] (arm-none-eabi)
 | 
				
			||||||
 | 
						compiled by GNU C version 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.39.2), GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3, isl version isl-0.18-GMP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
 | 
				
			||||||
 | 
					ignoring duplicate directory "/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/../../lib/gcc/arm-none-eabi/9.2.1/include"
 | 
				
			||||||
 | 
					ignoring nonexistent directory "/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/local/include"
 | 
				
			||||||
 | 
					ignoring duplicate directory "/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/../../lib/gcc/arm-none-eabi/9.2.1/include-fixed"
 | 
				
			||||||
 | 
					ignoring duplicate directory "/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/../../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/include"
 | 
				
			||||||
 | 
					#include "..." search starts here:
 | 
				
			||||||
 | 
					#include <...> search starts here:
 | 
				
			||||||
 | 
					 /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/include
 | 
				
			||||||
 | 
					 /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/include-fixed
 | 
				
			||||||
 | 
					 /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/include
 | 
				
			||||||
 | 
					 /Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/include
 | 
				
			||||||
 | 
					End of search list.
 | 
				
			||||||
 | 
					GNU C17 (GNU Tools for Arm Embedded Processors 9-2019-q4-major) version 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599] (arm-none-eabi)
 | 
				
			||||||
 | 
						compiled by GNU C version 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.39.2), GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3, isl version isl-0.18-GMP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
 | 
				
			||||||
 | 
					Compiler executable checksum: db2377360e540a6b416884f1a3d4ba85
 | 
				
			||||||
 | 
					COLLECT_GCC_OPTIONS='-isysroot' '/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk' '-v' '-o' 'CMakeFiles/cmTC_5aa13.dir/CMakeCCompilerABI.c.o' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-march=armv4t'
 | 
				
			||||||
 | 
					 /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/as -v -march=armv4t -mfloat-abi=soft -meabi=5 -o CMakeFiles/cmTC_5aa13.dir/CMakeCCompilerABI.c.o /var/folders/1n/t38rngmd42j286ky10t24rmc6q8d32/T//ccqSrf9K.s
 | 
				
			||||||
 | 
					GNU assembler version 2.33.1 (arm-none-eabi) using BFD version (GNU Tools for Arm Embedded Processors 9-2019-q4-major) 2.33.1.20191025
 | 
				
			||||||
 | 
					COMPILER_PATH=/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/:/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/:/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/
 | 
				
			||||||
 | 
					LIBRARY_PATH=/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/:/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/:/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/:/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../arm-none-eabi/lib/
 | 
				
			||||||
 | 
					COLLECT_GCC_OPTIONS='-isysroot' '/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk' '-v' '-o' 'CMakeFiles/cmTC_5aa13.dir/CMakeCCompilerABI.c.o' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-march=armv4t'
 | 
				
			||||||
 | 
					[2/2] Linking C executable cmTC_5aa13
 | 
				
			||||||
 | 
					FAILED: cmTC_5aa13 
 | 
				
			||||||
 | 
					: && /usr/local/bin/arm-none-eabi-gcc-9.2.1 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names -v -Wl,-v CMakeFiles/cmTC_5aa13.dir/CMakeCCompilerABI.c.o -o cmTC_5aa13   && :
 | 
				
			||||||
 | 
					Using built-in specs.
 | 
				
			||||||
 | 
					COLLECT_GCC=/usr/local/bin/arm-none-eabi-gcc-9.2.1
 | 
				
			||||||
 | 
					COLLECT_LTO_WRAPPER=/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/lto-wrapper
 | 
				
			||||||
 | 
					Target: arm-none-eabi
 | 
				
			||||||
 | 
					Configured with: /tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/src/gcc/configure --target=arm-none-eabi --prefix=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/install-native --libexecdir=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/install-native/lib --infodir=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/install-native/share/doc/gcc-arm-none-eabi/info --mandir=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/install-native/share/doc/gcc-arm-none-eabi/man --htmldir=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/install-native/share/doc/gcc-arm-none-eabi/html --pdfdir=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/install-native/share/doc/gcc-arm-none-eabi/pdf --enable-languages=c,c++ --enable-plugins --disable-decimal-float --disable-libffi --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libssp --disable-libstdcxx-pch --disable-nls --disable-shared --disable-threads --disable-tls --with-gnu-as --with-gnu-ld --with-newlib --with-headers=yes --with-python-dir=share/gcc-arm-none-eabi --with-sysroot=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/install-native/arm-none-eabi --build=x86_64-apple-darwin10 --host=x86_64-apple-darwin10 --with-gmp=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/build-native/host-libs/usr --with-mpfr=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/build-native/host-libs/usr --with-mpc=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/build-native/host-libs/usr --with-isl=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/build-native/host-libs/usr --with-libelf=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/build-native/host-libs/usr --with-host-libstdcxx='-static-libgcc -Wl,-lstdc++ -lm' --with-pkgversion='GNU Tools for Arm Embedded Processors 9-2019-q4-major' --with-multilib-list=rmprofile
 | 
				
			||||||
 | 
					Thread model: single
 | 
				
			||||||
 | 
					gcc version 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599] (GNU Tools for Arm Embedded Processors 9-2019-q4-major) 
 | 
				
			||||||
 | 
					COMPILER_PATH=/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/:/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/:/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/
 | 
				
			||||||
 | 
					LIBRARY_PATH=/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/:/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/:/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/:/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../arm-none-eabi/lib/
 | 
				
			||||||
 | 
					COLLECT_GCC_OPTIONS='-isysroot' '/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk' '-v' '-o' 'cmTC_5aa13' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-march=armv4t'
 | 
				
			||||||
 | 
					 /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/collect2 -plugin /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/liblto_plugin.so -plugin-opt=/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/lto-wrapper -plugin-opt=-fresolution=/var/folders/1n/t38rngmd42j286ky10t24rmc6q8d32/T//ccJx6V9p.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc --sysroot=/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../arm-none-eabi -X -o cmTC_5aa13 /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/crti.o /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/crtbegin.o /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/crt0.o -L/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1 -L/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc -L/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib -L/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../arm-none-eabi/lib -search_paths_first -headerpad_max_install_names -v CMakeFiles/cmTC_5aa13.dir/CMakeCCompilerABI.c.o --start-group -lgcc -lc --end-group /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/crtend.o /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/crtn.o
 | 
				
			||||||
 | 
					collect2 version 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599]
 | 
				
			||||||
 | 
					/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld -plugin /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/liblto_plugin.so -plugin-opt=/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/lto-wrapper -plugin-opt=-fresolution=/var/folders/1n/t38rngmd42j286ky10t24rmc6q8d32/T//ccJx6V9p.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc --sysroot=/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../arm-none-eabi -X -o cmTC_5aa13 /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/crti.o /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/crtbegin.o /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/crt0.o -L/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1 -L/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc -L/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib -L/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../arm-none-eabi/lib -search_paths_first -headerpad_max_install_names -v CMakeFiles/cmTC_5aa13.dir/CMakeCCompilerABI.c.o --start-group -lgcc -lc --end-group /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/crtend.o /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/crtn.o
 | 
				
			||||||
 | 
					GNU ld (GNU Tools for Arm Embedded Processors 9-2019-q4-major) 2.33.1.20191025/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: warning: cannot find entry symbol arch_paths_first; defaulting to 0000000000008018
 | 
				
			||||||
 | 
					/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): in function `exit':
 | 
				
			||||||
 | 
					exit.c:(.text.exit+0x2c): undefined reference to `_exit'
 | 
				
			||||||
 | 
					collect2: error: ld returned 1 exit status
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ninja: build stopped: subcommand failed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Determining if the C compiler works failed with the following output:
 | 
				
			||||||
 | 
					Change Dir: /Users/jjulich/Documents/working/Lab-Project-FreeRTOS-SMP/FreeRTOS/Source/portable/ThirdParty/GCC/rpi_pico/build/CMakeFiles/CMakeTmp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Run Build Command(s):/usr/local/bin/ninja cmTC_7f185 && [1/2] Building C object CMakeFiles/cmTC_7f185.dir/testCCompiler.c.o
 | 
				
			||||||
 | 
					[2/2] Linking C executable cmTC_7f185
 | 
				
			||||||
 | 
					FAILED: cmTC_7f185 
 | 
				
			||||||
 | 
					: && /usr/local/bin/arm-none-eabi-gcc-9.2.1 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names  CMakeFiles/cmTC_7f185.dir/testCCompiler.c.o -o cmTC_7f185   && :
 | 
				
			||||||
 | 
					/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: warning: cannot find entry symbol arch_paths_first; defaulting to 0000000000008018
 | 
				
			||||||
 | 
					/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): in function `exit':
 | 
				
			||||||
 | 
					exit.c:(.text.exit+0x2c): undefined reference to `_exit'
 | 
				
			||||||
 | 
					collect2: error: ld returned 1 exit status
 | 
				
			||||||
 | 
					ninja: build stopped: subcommand failed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
 | 
				
			||||||
 | 
					Compiler: /usr/local/bin/arm-none-eabi-gcc-9.2.1 
 | 
				
			||||||
 | 
					Build flags: 
 | 
				
			||||||
 | 
					Id flags:  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The output was:
 | 
				
			||||||
 | 
					1
 | 
				
			||||||
 | 
					/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): in function `exit':
 | 
				
			||||||
 | 
					exit.c:(.text.exit+0x2c): undefined reference to `_exit'
 | 
				
			||||||
 | 
					collect2: error: ld returned 1 exit status
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed.
 | 
				
			||||||
 | 
					Compiler: /usr/local/bin/arm-none-eabi-c++ 
 | 
				
			||||||
 | 
					Build flags: 
 | 
				
			||||||
 | 
					Id flags:  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The output was:
 | 
				
			||||||
 | 
					1
 | 
				
			||||||
 | 
					/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): in function `exit':
 | 
				
			||||||
 | 
					exit.c:(.text.exit+0x2c): undefined reference to `_exit'
 | 
				
			||||||
 | 
					collect2: error: ld returned 1 exit status
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Detecting C compiler ABI info failed to compile with the following output:
 | 
				
			||||||
 | 
					Change Dir: /Users/jjulich/Documents/working/Lab-Project-FreeRTOS-SMP/FreeRTOS/Source/portable/ThirdParty/GCC/rpi_pico/build/CMakeFiles/CMakeTmp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Run Build Command(s):/usr/local/bin/ninja cmTC_fed64 && [1/2] Building C object CMakeFiles/cmTC_fed64.dir/CMakeCCompilerABI.c.o
 | 
				
			||||||
 | 
					Using built-in specs.
 | 
				
			||||||
 | 
					COLLECT_GCC=/usr/local/bin/arm-none-eabi-gcc-9.2.1
 | 
				
			||||||
 | 
					Target: arm-none-eabi
 | 
				
			||||||
 | 
					Configured with: /tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/src/gcc/configure --target=arm-none-eabi --prefix=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/install-native --libexecdir=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/install-native/lib --infodir=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/install-native/share/doc/gcc-arm-none-eabi/info --mandir=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/install-native/share/doc/gcc-arm-none-eabi/man --htmldir=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/install-native/share/doc/gcc-arm-none-eabi/html --pdfdir=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/install-native/share/doc/gcc-arm-none-eabi/pdf --enable-languages=c,c++ --enable-plugins --disable-decimal-float --disable-libffi --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libssp --disable-libstdcxx-pch --disable-nls --disable-shared --disable-threads --disable-tls --with-gnu-as --with-gnu-ld --with-newlib --with-headers=yes --with-python-dir=share/gcc-arm-none-eabi --with-sysroot=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/install-native/arm-none-eabi --build=x86_64-apple-darwin10 --host=x86_64-apple-darwin10 --with-gmp=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/build-native/host-libs/usr --with-mpfr=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/build-native/host-libs/usr --with-mpc=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/build-native/host-libs/usr --with-isl=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/build-native/host-libs/usr --with-libelf=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/build-native/host-libs/usr --with-host-libstdcxx='-static-libgcc -Wl,-lstdc++ -lm' --with-pkgversion='GNU Tools for Arm Embedded Processors 9-2019-q4-major' --with-multilib-list=rmprofile
 | 
				
			||||||
 | 
					Thread model: single
 | 
				
			||||||
 | 
					gcc version 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599] (GNU Tools for Arm Embedded Processors 9-2019-q4-major) 
 | 
				
			||||||
 | 
					COLLECT_GCC_OPTIONS='-isysroot' '/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk' '-v' '-o' 'CMakeFiles/cmTC_fed64.dir/CMakeCCompilerABI.c.o' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-march=armv4t'
 | 
				
			||||||
 | 
					 /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/cc1 -quiet -v -iprefix /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/ -isysroot /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../arm-none-eabi -D__USES_INITFINI__ -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk /usr/local/Cellar/cmake/3.19.2/share/cmake/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mcpu=arm7tdmi -mfloat-abi=soft -marm -march=armv4t -auxbase-strip CMakeFiles/cmTC_fed64.dir/CMakeCCompilerABI.c.o -version -o /var/folders/1n/t38rngmd42j286ky10t24rmc6q8d32/T//ccmGecyU.s
 | 
				
			||||||
 | 
					GNU C17 (GNU Tools for Arm Embedded Processors 9-2019-q4-major) version 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599] (arm-none-eabi)
 | 
				
			||||||
 | 
						compiled by GNU C version 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.39.2), GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3, isl version isl-0.18-GMP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
 | 
				
			||||||
 | 
					ignoring duplicate directory "/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/../../lib/gcc/arm-none-eabi/9.2.1/include"
 | 
				
			||||||
 | 
					ignoring nonexistent directory "/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/local/include"
 | 
				
			||||||
 | 
					ignoring duplicate directory "/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/../../lib/gcc/arm-none-eabi/9.2.1/include-fixed"
 | 
				
			||||||
 | 
					ignoring duplicate directory "/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/../../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/include"
 | 
				
			||||||
 | 
					#include "..." search starts here:
 | 
				
			||||||
 | 
					#include <...> search starts here:
 | 
				
			||||||
 | 
					 /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/include
 | 
				
			||||||
 | 
					 /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/include-fixed
 | 
				
			||||||
 | 
					 /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/include
 | 
				
			||||||
 | 
					 /Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/include
 | 
				
			||||||
 | 
					End of search list.
 | 
				
			||||||
 | 
					GNU C17 (GNU Tools for Arm Embedded Processors 9-2019-q4-major) version 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599] (arm-none-eabi)
 | 
				
			||||||
 | 
						compiled by GNU C version 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.39.2), GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3, isl version isl-0.18-GMP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
 | 
				
			||||||
 | 
					Compiler executable checksum: db2377360e540a6b416884f1a3d4ba85
 | 
				
			||||||
 | 
					COLLECT_GCC_OPTIONS='-isysroot' '/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk' '-v' '-o' 'CMakeFiles/cmTC_fed64.dir/CMakeCCompilerABI.c.o' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-march=armv4t'
 | 
				
			||||||
 | 
					 /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/as -v -march=armv4t -mfloat-abi=soft -meabi=5 -o CMakeFiles/cmTC_fed64.dir/CMakeCCompilerABI.c.o /var/folders/1n/t38rngmd42j286ky10t24rmc6q8d32/T//ccmGecyU.s
 | 
				
			||||||
 | 
					GNU assembler version 2.33.1 (arm-none-eabi) using BFD version (GNU Tools for Arm Embedded Processors 9-2019-q4-major) 2.33.1.20191025
 | 
				
			||||||
 | 
					COMPILER_PATH=/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/:/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/:/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/
 | 
				
			||||||
 | 
					LIBRARY_PATH=/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/:/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/:/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/:/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../arm-none-eabi/lib/
 | 
				
			||||||
 | 
					COLLECT_GCC_OPTIONS='-isysroot' '/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk' '-v' '-o' 'CMakeFiles/cmTC_fed64.dir/CMakeCCompilerABI.c.o' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-march=armv4t'
 | 
				
			||||||
 | 
					[2/2] Linking C executable cmTC_fed64
 | 
				
			||||||
 | 
					FAILED: cmTC_fed64 
 | 
				
			||||||
 | 
					: && /usr/local/bin/arm-none-eabi-gcc-9.2.1 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names -v -Wl,-v CMakeFiles/cmTC_fed64.dir/CMakeCCompilerABI.c.o -o cmTC_fed64   && :
 | 
				
			||||||
 | 
					Using built-in specs.
 | 
				
			||||||
 | 
					COLLECT_GCC=/usr/local/bin/arm-none-eabi-gcc-9.2.1
 | 
				
			||||||
 | 
					COLLECT_LTO_WRAPPER=/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/lto-wrapper
 | 
				
			||||||
 | 
					Target: arm-none-eabi
 | 
				
			||||||
 | 
					Configured with: /tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/src/gcc/configure --target=arm-none-eabi --prefix=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/install-native --libexecdir=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/install-native/lib --infodir=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/install-native/share/doc/gcc-arm-none-eabi/info --mandir=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/install-native/share/doc/gcc-arm-none-eabi/man --htmldir=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/install-native/share/doc/gcc-arm-none-eabi/html --pdfdir=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/install-native/share/doc/gcc-arm-none-eabi/pdf --enable-languages=c,c++ --enable-plugins --disable-decimal-float --disable-libffi --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libssp --disable-libstdcxx-pch --disable-nls --disable-shared --disable-threads --disable-tls --with-gnu-as --with-gnu-ld --with-newlib --with-headers=yes --with-python-dir=share/gcc-arm-none-eabi --with-sysroot=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/install-native/arm-none-eabi --build=x86_64-apple-darwin10 --host=x86_64-apple-darwin10 --with-gmp=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/build-native/host-libs/usr --with-mpfr=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/build-native/host-libs/usr --with-mpc=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/build-native/host-libs/usr --with-isl=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/build-native/host-libs/usr --with-libelf=/tmp/jenkins-GCC-9-pipeline-100_20191030_1572397548/build-native/host-libs/usr --with-host-libstdcxx='-static-libgcc -Wl,-lstdc++ -lm' --with-pkgversion='GNU Tools for Arm Embedded Processors 9-2019-q4-major' --with-multilib-list=rmprofile
 | 
				
			||||||
 | 
					Thread model: single
 | 
				
			||||||
 | 
					gcc version 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599] (GNU Tools for Arm Embedded Processors 9-2019-q4-major) 
 | 
				
			||||||
 | 
					COMPILER_PATH=/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/:/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/:/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/
 | 
				
			||||||
 | 
					LIBRARY_PATH=/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/:/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/:/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/:/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../arm-none-eabi/lib/
 | 
				
			||||||
 | 
					COLLECT_GCC_OPTIONS='-isysroot' '/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk' '-v' '-o' 'cmTC_fed64' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-march=armv4t'
 | 
				
			||||||
 | 
					 /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/collect2 -plugin /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/liblto_plugin.so -plugin-opt=/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/lto-wrapper -plugin-opt=-fresolution=/var/folders/1n/t38rngmd42j286ky10t24rmc6q8d32/T//cckqpOeX.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc --sysroot=/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../arm-none-eabi -X -o cmTC_fed64 /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/crti.o /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/crtbegin.o /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/crt0.o -L/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1 -L/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc -L/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib -L/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../arm-none-eabi/lib -search_paths_first -headerpad_max_install_names -v CMakeFiles/cmTC_fed64.dir/CMakeCCompilerABI.c.o --start-group -lgcc -lc --end-group /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/crtend.o /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/crtn.o
 | 
				
			||||||
 | 
					collect2 version 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599]
 | 
				
			||||||
 | 
					/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld -plugin /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/liblto_plugin.so -plugin-opt=/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/lto-wrapper -plugin-opt=-fresolution=/var/folders/1n/t38rngmd42j286ky10t24rmc6q8d32/T//cckqpOeX.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc --sysroot=/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../arm-none-eabi -X -o cmTC_fed64 /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/crti.o /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/crtbegin.o /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/crt0.o -L/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1 -L/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc -L/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib -L/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../arm-none-eabi/lib -search_paths_first -headerpad_max_install_names -v CMakeFiles/cmTC_fed64.dir/CMakeCCompilerABI.c.o --start-group -lgcc -lc --end-group /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/crtend.o /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/crtn.o
 | 
				
			||||||
 | 
					GNU ld (GNU Tools for Arm Embedded Processors 9-2019-q4-major) 2.33.1.20191025/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: warning: cannot find entry symbol arch_paths_first; defaulting to 0000000000008018
 | 
				
			||||||
 | 
					/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): in function `exit':
 | 
				
			||||||
 | 
					exit.c:(.text.exit+0x2c): undefined reference to `_exit'
 | 
				
			||||||
 | 
					collect2: error: ld returned 1 exit status
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ninja: build stopped: subcommand failed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Determining if the C compiler works failed with the following output:
 | 
				
			||||||
 | 
					Change Dir: /Users/jjulich/Documents/working/Lab-Project-FreeRTOS-SMP/FreeRTOS/Source/portable/ThirdParty/GCC/rpi_pico/build/CMakeFiles/CMakeTmp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Run Build Command(s):/usr/local/bin/ninja cmTC_b1790 && [1/2] Building C object CMakeFiles/cmTC_b1790.dir/testCCompiler.c.o
 | 
				
			||||||
 | 
					[2/2] Linking C executable cmTC_b1790
 | 
				
			||||||
 | 
					FAILED: cmTC_b1790 
 | 
				
			||||||
 | 
					: && /usr/local/bin/arm-none-eabi-gcc-9.2.1 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names  CMakeFiles/cmTC_b1790.dir/testCCompiler.c.o -o cmTC_b1790   && :
 | 
				
			||||||
 | 
					/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: warning: cannot find entry symbol arch_paths_first; defaulting to 0000000000008018
 | 
				
			||||||
 | 
					/usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /usr/local/Cellar/arm-none-eabi-gcc/9-2019-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): in function `exit':
 | 
				
			||||||
 | 
					exit.c:(.text.exit+0x2c): undefined reference to `_exit'
 | 
				
			||||||
 | 
					collect2: error: ld returned 1 exit status
 | 
				
			||||||
 | 
					ninja: build stopped: subcommand failed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										53
									
								
								portable/ThirdParty/GCC/rpi_pico/build/CMakeFiles/CMakeOutput.log
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								portable/ThirdParty/GCC/rpi_pico/build/CMakeFiles/CMakeOutput.log
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,53 @@
 | 
				
			|||||||
 | 
					The system is: Darwin - 19.6.0 - x86_64
 | 
				
			||||||
 | 
					Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
 | 
				
			||||||
 | 
					Compiler: /usr/local/bin/arm-none-eabi-gcc-9.2.1 
 | 
				
			||||||
 | 
					Build flags: 
 | 
				
			||||||
 | 
					Id flags: -c 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The output was:
 | 
				
			||||||
 | 
					0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "CMakeCCompilerId.o"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The C compiler identification is GNU, found in "/Users/jjulich/Documents/working/Lab-Project-FreeRTOS-SMP/FreeRTOS/Source/portable/ThirdParty/GCC/rpi_pico/build/CMakeFiles/3.19.2/CompilerIdC/CMakeCCompilerId.o"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
 | 
				
			||||||
 | 
					Compiler: /usr/local/bin/arm-none-eabi-c++ 
 | 
				
			||||||
 | 
					Build flags: 
 | 
				
			||||||
 | 
					Id flags: -c 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The output was:
 | 
				
			||||||
 | 
					0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "CMakeCXXCompilerId.o"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The CXX compiler identification is GNU, found in "/Users/jjulich/Documents/working/Lab-Project-FreeRTOS-SMP/FreeRTOS/Source/portable/ThirdParty/GCC/rpi_pico/build/CMakeFiles/3.19.2/CompilerIdCXX/CMakeCXXCompilerId.o"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
 | 
				
			||||||
 | 
					Compiler: /usr/local/bin/arm-none-eabi-gcc-9.2.1 
 | 
				
			||||||
 | 
					Build flags: 
 | 
				
			||||||
 | 
					Id flags: -c 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The output was:
 | 
				
			||||||
 | 
					0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "CMakeCCompilerId.o"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The C compiler identification is GNU, found in "/Users/jjulich/Documents/working/Lab-Project-FreeRTOS-SMP/FreeRTOS/Source/portable/ThirdParty/GCC/rpi_pico/build/CMakeFiles/3.19.2/CompilerIdC/CMakeCCompilerId.o"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
 | 
				
			||||||
 | 
					Compiler: /usr/local/bin/arm-none-eabi-c++ 
 | 
				
			||||||
 | 
					Build flags: 
 | 
				
			||||||
 | 
					Id flags: -c 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The output was:
 | 
				
			||||||
 | 
					0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "CMakeCXXCompilerId.o"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The CXX compiler identification is GNU, found in "/Users/jjulich/Documents/working/Lab-Project-FreeRTOS-SMP/FreeRTOS/Source/portable/ThirdParty/GCC/rpi_pico/build/CMakeFiles/3.19.2/CompilerIdCXX/CMakeCXXCompilerId.o"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								portable/ThirdParty/GCC/rpi_pico/build/CMakeFiles/cmake.check_cache
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								portable/ThirdParty/GCC/rpi_pico/build/CMakeFiles/cmake.check_cache
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					# This file is generated by cmake for dependency checking of the CMakeCache.txt file
 | 
				
			||||||
							
								
								
									
										104
									
								
								portable/ThirdParty/GCC/rpi_pico/pico_support.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										104
									
								
								portable/ThirdParty/GCC/rpi_pico/pico_support.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,104 @@
 | 
				
			|||||||
 | 
					#ifndef PICO_SUPPORT_H
 | 
				
			||||||
 | 
					#define PICO_SUPPORT_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Constants required to manipulate the SIE. */
 | 
				
			||||||
 | 
					#define portSIE_BASE                         0xd0000000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define SIE_OFFSET(a)              ( * ( ( volatile uint32_t * ) ( portSIE_BASE + a ) ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define portSIE_CPUID              SIE_OFFSET( 0x00 )
 | 
				
			||||||
 | 
					#define portSIE_GPIO_IN            SIE_OFFSET( 0x04 )
 | 
				
			||||||
 | 
					#define portSIE_GPIO_HI_IN         SIE_OFFSET( 0x08 )
 | 
				
			||||||
 | 
					#define portSIE_GPIO_OUT           SIE_OFFSET( 0x10 )
 | 
				
			||||||
 | 
					#define portSIE_GPIO_OUT_SET       SIE_OFFSET( 0x14 )
 | 
				
			||||||
 | 
					#define portSIE_GPIO_OUT_CLR       SIE_OFFSET( 0x18 )
 | 
				
			||||||
 | 
					#define portSIE_GPIO_OUT_XOR       SIE_OFFSET( 0x1C )
 | 
				
			||||||
 | 
					#define portSIE_GPIO_OE            SIE_OFFSET( 0x20 )
 | 
				
			||||||
 | 
					#define portSIE_GPIO_OE_SET        SIE_OFFSET( 0x24 )
 | 
				
			||||||
 | 
					#define portSIE_GPIO_OE_CLR        SIE_OFFSET( 0x28 )
 | 
				
			||||||
 | 
					#define portSIE_GPIO_OE_XOR        SIE_OFFSET( 0x2C )
 | 
				
			||||||
 | 
					#define portSIE_GPIO_HI_OUT        SIE_OFFSET( 0x30 )
 | 
				
			||||||
 | 
					#define portSIE_GPIO_HI_OUT_SET    SIE_OFFSET( 0x34 )
 | 
				
			||||||
 | 
					#define portSIE_GPIO_HI_OUT_CLR    SIE_OFFSET( 0x38 )
 | 
				
			||||||
 | 
					#define portSIE_GPIO_HI_OUT_XOR    SIE_OFFSET( 0x3C )
 | 
				
			||||||
 | 
					#define portSIE_GPIO_HI_OE         SIE_OFFSET( 0x40 )
 | 
				
			||||||
 | 
					#define portSIE_GPIO_HI_OE_SET     SIE_OFFSET( 0x44 )
 | 
				
			||||||
 | 
					#define portSIE_GPIO_HI_OE_CLR     SIE_OFFSET( 0x48 )
 | 
				
			||||||
 | 
					#define portSIE_GPIO_HI_OE_XOR     SIE_OFFSET( 0x4C )
 | 
				
			||||||
 | 
					#define portSIE_FIFO_ST            SIE_OFFSET( 0x50 )
 | 
				
			||||||
 | 
					#define portSIE_FIFO_WR            SIE_OFFSET( 0x54 )
 | 
				
			||||||
 | 
					#define portSIE_FIFO_RD            SIE_OFFSET( 0x58 )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK_ST        SIE_OFFSET( 0x5C )
 | 
				
			||||||
 | 
					#define portSIE_DIV_UDIVIDEND      SIE_OFFSET( 0x60 )
 | 
				
			||||||
 | 
					#define portSIE_DIV_UDIVISOR       SIE_OFFSET( 0x64 )
 | 
				
			||||||
 | 
					#define portSIE_DIV_SDIVIDEND      SIE_OFFSET( 0x68 )
 | 
				
			||||||
 | 
					#define portSIE_DIV_SDIVISOR       SIE_OFFSET( 0x6C )
 | 
				
			||||||
 | 
					#define portSIE_DIV_QUOTIENT       SIE_OFFSET( 0x70 )
 | 
				
			||||||
 | 
					#define portSIE_DIV_REMAINDER      SIE_OFFSET( 0x74 )
 | 
				
			||||||
 | 
					#define portSIE_DIV_CSR            SIE_OFFSET( 0x78 )
 | 
				
			||||||
 | 
					#define portSIE_INTERP0_ACCUM0     SIE_OFFSET( 0x80 )
 | 
				
			||||||
 | 
					#define portSIE_INTERP0_ACCUM1     SIE_OFFSET( 0x84 )
 | 
				
			||||||
 | 
					#define portSIE_INTERP0_BASE0      SIE_OFFSET( 0x88 )
 | 
				
			||||||
 | 
					#define portSIE_INTERP0_BASE1      SIE_OFFSET( 0x8C )
 | 
				
			||||||
 | 
					#define portSIE_INTERP0_BASE2      SIE_OFFSET( 0x90 )
 | 
				
			||||||
 | 
					#define portSIE_INTERP0_POP_LANE0  SIE_OFFSET( 0x94 )
 | 
				
			||||||
 | 
					#define portSIE_INTERP0_POP_LANE1  SIE_OFFSET( 0x98 )
 | 
				
			||||||
 | 
					#define portSIE_INTERP0_POP_FULL   SIE_OFFSET( 0x9C )
 | 
				
			||||||
 | 
					#define portSIE_INTERP0_PEEK_LANE0 SIE_OFFSET( 0xA0 )
 | 
				
			||||||
 | 
					#define portSIE_INTERP0_PEEK_LANE1 SIE_OFFSET( 0xA4 )
 | 
				
			||||||
 | 
					#define portSIE_INTERP0_PEEK_FULL  SIE_OFFSET( 0xA8 )
 | 
				
			||||||
 | 
					#define portSIE_INTERP0_CTRL_LANE0 SIE_OFFSET( 0xAC )
 | 
				
			||||||
 | 
					#define portSIE_INTERP0_CTRL_LANE1 SIE_OFFSET( 0xB0 )
 | 
				
			||||||
 | 
					#define portSIE_INTERP0_ACCUM0_ADD SIE_OFFSET( 0xB4 )
 | 
				
			||||||
 | 
					#define portSIE_INTERP0_ACCUM1_ADD SIE_OFFSET( 0xB8 )
 | 
				
			||||||
 | 
					#define portSIE_INTERP0_BASE_1AND0 SIE_OFFSET( 0xBC )
 | 
				
			||||||
 | 
					#define portSIE_INTERP1_ACCUM0     SIE_OFFSET( 0xC0 )
 | 
				
			||||||
 | 
					#define portSIE_INTERP1_ACCUM1     SIE_OFFSET( 0xC4 )
 | 
				
			||||||
 | 
					#define portSIE_INTERP1_BASE0      SIE_OFFSET( 0xC8 )
 | 
				
			||||||
 | 
					#define portSIE_INTERP1_BASE1      SIE_OFFSET( 0xCC )
 | 
				
			||||||
 | 
					#define portSIE_INTERP1_BASE2      SIE_OFFSET( 0xD0 )
 | 
				
			||||||
 | 
					#define portSIE_INTERP1_POP_LANE0  SIE_OFFSET( 0xD4 )
 | 
				
			||||||
 | 
					#define portSIE_INTERP1_POP_LANE1  SIE_OFFSET( 0xD8 )
 | 
				
			||||||
 | 
					#define portSIE_INTERP1_POP_FULL   SIE_OFFSET( 0xDC )
 | 
				
			||||||
 | 
					#define portSIE_INTERP1_PEEK_LANE0 SIE_OFFSET( 0xE0 )
 | 
				
			||||||
 | 
					#define portSIE_INTERP1_PEEK_LANE1 SIE_OFFSET( 0xE4 )
 | 
				
			||||||
 | 
					#define portSIE_INTERP1_PEEK_FULL  SIE_OFFSET( 0xE8 )
 | 
				
			||||||
 | 
					#define portSIE_INTERP1_CTRL_LANE0 SIE_OFFSET( 0xEC )
 | 
				
			||||||
 | 
					#define portSIE_INTERP1_CTRL_LANE1 SIE_OFFSET( 0xF0 )
 | 
				
			||||||
 | 
					#define portSIE_INTERP1_ACCUM0_ADD SIE_OFFSET( 0xF4 )
 | 
				
			||||||
 | 
					#define portSIE_INTERP1_ACCUM1_ADD SIE_OFFSET( 0xF8 )
 | 
				
			||||||
 | 
					#define portSIE_INTERP1_BASE_1AND0 SIE_OFFSET( 0xFC )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK0          SIE_OFFSET( 0x100 )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK1          SIE_OFFSET( 0x104 )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK2          SIE_OFFSET( 0x108 )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK3          SIE_OFFSET( 0x10C )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK4          SIE_OFFSET( 0x110 )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK5          SIE_OFFSET( 0x114 )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK6          SIE_OFFSET( 0x118 )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK7          SIE_OFFSET( 0x11C )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK8          SIE_OFFSET( 0x120 )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK9          SIE_OFFSET( 0x124 )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK10         SIE_OFFSET( 0x128 )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK11         SIE_OFFSET( 0x12C )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK12         SIE_OFFSET( 0x130 )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK13         SIE_OFFSET( 0x134 )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK14         SIE_OFFSET( 0x138 )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK15         SIE_OFFSET( 0x13C )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK16         SIE_OFFSET( 0x140 )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK17         SIE_OFFSET( 0x144 )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK18         SIE_OFFSET( 0x148 )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK19         SIE_OFFSET( 0x14C )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK20         SIE_OFFSET( 0x150 )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK21         SIE_OFFSET( 0x154 )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK22         SIE_OFFSET( 0x158 )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK23         SIE_OFFSET( 0x15C )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK24         SIE_OFFSET( 0x160 )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK25         SIE_OFFSET( 0x164 )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK26         SIE_OFFSET( 0x168 )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK27         SIE_OFFSET( 0x16C )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK28         SIE_OFFSET( 0x170 )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK29         SIE_OFFSET( 0x174 )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK30         SIE_OFFSET( 0x178 )
 | 
				
			||||||
 | 
					#define portSIE_SPINLOCK31         SIE_OFFSET( 0x17C )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
							
								
								
									
										566
									
								
								portable/ThirdParty/GCC/rpi_pico/port.c
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										566
									
								
								portable/ThirdParty/GCC/rpi_pico/port.c
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,566 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * FreeRTOS Kernel V10.4.3
 | 
				
			||||||
 | 
					 * Copyright (C) 2020 Amazon.com, Inc. or its affiliates.  All Rights Reserved.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Permission is hereby granted, free of charge, to any person obtaining a copy of
 | 
				
			||||||
 | 
					 * this software and associated documentation files (the "Software"), to deal in
 | 
				
			||||||
 | 
					 * the Software without restriction, including without limitation the rights to
 | 
				
			||||||
 | 
					 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
 | 
				
			||||||
 | 
					 * the Software, and to permit persons to whom the Software is furnished to do so,
 | 
				
			||||||
 | 
					 * subject to the following conditions:
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * The above copyright notice and this permission notice shall be included in all
 | 
				
			||||||
 | 
					 * copies or substantial portions of the Software.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
				
			||||||
 | 
					 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
 | 
				
			||||||
 | 
					 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
 | 
				
			||||||
 | 
					 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
 | 
				
			||||||
 | 
					 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 | 
				
			||||||
 | 
					 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * https://www.FreeRTOS.org
 | 
				
			||||||
 | 
					 * https://github.com/FreeRTOS
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*-----------------------------------------------------------
 | 
				
			||||||
 | 
					* Implementation of functions defined in portable.h for the ARM CM0 port.
 | 
				
			||||||
 | 
					*----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Scheduler includes. */
 | 
				
			||||||
 | 
					#include "FreeRTOS.h"
 | 
				
			||||||
 | 
					#include "task.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Constants required to manipulate the NVIC. */
 | 
				
			||||||
 | 
					#define portNVIC_SYSTICK_CTRL_REG             ( *( ( volatile uint32_t * ) 0xe000e010 ) )
 | 
				
			||||||
 | 
					#define portNVIC_SYSTICK_LOAD_REG             ( *( ( volatile uint32_t * ) 0xe000e014 ) )
 | 
				
			||||||
 | 
					#define portNVIC_SYSTICK_CURRENT_VALUE_REG    ( *( ( volatile uint32_t * ) 0xe000e018 ) )
 | 
				
			||||||
 | 
					#define portNVIC_INT_CTRL_REG                 ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
				
			||||||
 | 
					#define portNVIC_SHPR3_REG                    ( *( ( volatile uint32_t * ) 0xe000ed20 ) )
 | 
				
			||||||
 | 
					#define portNVIC_SYSTICK_CLK_BIT              ( 1UL << 2UL )
 | 
				
			||||||
 | 
					#define portNVIC_SYSTICK_INT_BIT              ( 1UL << 1UL )
 | 
				
			||||||
 | 
					#define portNVIC_SYSTICK_ENABLE_BIT           ( 1UL << 0UL )
 | 
				
			||||||
 | 
					#define portNVIC_SYSTICK_COUNT_FLAG_BIT       ( 1UL << 16UL )
 | 
				
			||||||
 | 
					#define portNVIC_PENDSVSET_BIT                ( 1UL << 28UL )
 | 
				
			||||||
 | 
					#define portMIN_INTERRUPT_PRIORITY            ( 255UL )
 | 
				
			||||||
 | 
					#define portNVIC_PENDSV_PRI                   ( portMIN_INTERRUPT_PRIORITY << 16UL )
 | 
				
			||||||
 | 
					#define portNVIC_SYSTICK_PRI                  ( portMIN_INTERRUPT_PRIORITY << 24UL )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Constants required to set up the initial stack. */
 | 
				
			||||||
 | 
					#define portINITIAL_XPSR                      ( 0x01000000 )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* The systick is a 24-bit counter. */
 | 
				
			||||||
 | 
					#define portMAX_24_BIT_NUMBER                 ( 0xffffffUL )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* A fiddle factor to estimate the number of SysTick counts that would have
 | 
				
			||||||
 | 
					 * occurred while the SysTick counter is stopped during tickless idle
 | 
				
			||||||
 | 
					 * calculations. */
 | 
				
			||||||
 | 
					#ifndef portMISSED_COUNTS_FACTOR
 | 
				
			||||||
 | 
					    #define portMISSED_COUNTS_FACTOR    ( 45UL )
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Let the user override the pre-loading of the initial LR with the address of
 | 
				
			||||||
 | 
					 * prvTaskExitError() in case it messes up unwinding of the stack in the
 | 
				
			||||||
 | 
					 * debugger. */
 | 
				
			||||||
 | 
					#ifdef configTASK_RETURN_ADDRESS
 | 
				
			||||||
 | 
					    #define portTASK_RETURN_ADDRESS    configTASK_RETURN_ADDRESS
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					    #define portTASK_RETURN_ADDRESS    prvTaskExitError
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * Setup the timer to generate the tick interrupts.  The implementation in this
 | 
				
			||||||
 | 
					 * file is weak to allow application writers to change the timer used to
 | 
				
			||||||
 | 
					 * generate the tick interrupt.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					void vPortSetupTimerInterrupt( void );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * Exception handlers.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					void xPortPendSVHandler( void ) __attribute__( ( naked ) );
 | 
				
			||||||
 | 
					void xPortSysTickHandler( void );
 | 
				
			||||||
 | 
					void vPortSVCHandler( void );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * Start first task is a separate function so it can be tested in isolation.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					static void vPortStartFirstTask( void ) __attribute__( ( naked ) );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * Used to catch tasks that attempt to return from their implementing function.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					static void prvTaskExitError( void );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Each task maintains its own interrupt status in the critical nesting
 | 
				
			||||||
 | 
					 * variable. */
 | 
				
			||||||
 | 
					static UBaseType_t uxCriticalNesting = 0xaaaaaaaa;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * The number of SysTick increments that make up one tick period.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					#if ( configUSE_TICKLESS_IDLE == 1 )
 | 
				
			||||||
 | 
					    static uint32_t ulTimerCountsForOneTick = 0;
 | 
				
			||||||
 | 
					#endif /* configUSE_TICKLESS_IDLE */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * The maximum number of tick periods that can be suppressed is limited by the
 | 
				
			||||||
 | 
					 * 24 bit resolution of the SysTick timer.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					#if ( configUSE_TICKLESS_IDLE == 1 )
 | 
				
			||||||
 | 
					    static uint32_t xMaximumPossibleSuppressedTicks = 0;
 | 
				
			||||||
 | 
					#endif /* configUSE_TICKLESS_IDLE */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * Compensate for the CPU cycles that pass while the SysTick is stopped (low
 | 
				
			||||||
 | 
					 * power functionality only.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					#if ( configUSE_TICKLESS_IDLE == 1 )
 | 
				
			||||||
 | 
					    static uint32_t ulStoppedTimerCompensation = 0;
 | 
				
			||||||
 | 
					#endif /* configUSE_TICKLESS_IDLE */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * See header file for description.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					StackType_t * pxPortInitialiseStack( StackType_t * pxTopOfStack,
 | 
				
			||||||
 | 
					                                     TaskFunction_t pxCode,
 | 
				
			||||||
 | 
					                                     void * pvParameters )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    /* Simulate the stack frame as it would be created by a context switch
 | 
				
			||||||
 | 
					     * interrupt. */
 | 
				
			||||||
 | 
					    pxTopOfStack--;                                          /* Offset added to account for the way the MCU uses the stack on entry/exit of interrupts. */
 | 
				
			||||||
 | 
					    *pxTopOfStack = portINITIAL_XPSR;                        /* xPSR */
 | 
				
			||||||
 | 
					    pxTopOfStack--;
 | 
				
			||||||
 | 
					    *pxTopOfStack = ( StackType_t ) pxCode;                  /* PC */
 | 
				
			||||||
 | 
					    pxTopOfStack--;
 | 
				
			||||||
 | 
					    *pxTopOfStack = ( StackType_t ) portTASK_RETURN_ADDRESS; /* LR */
 | 
				
			||||||
 | 
					    pxTopOfStack -= 5;                                       /* R12, R3, R2 and R1. */
 | 
				
			||||||
 | 
					    *pxTopOfStack = ( StackType_t ) pvParameters;            /* R0 */
 | 
				
			||||||
 | 
					    pxTopOfStack -= 8;                                       /* R11..R4. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return pxTopOfStack;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void prvTaskExitError( void )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    volatile uint32_t ulDummy = 0UL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* A function that implements a task must not exit or attempt to return to
 | 
				
			||||||
 | 
					     * its caller as there is nothing to return to.  If a task wants to exit it
 | 
				
			||||||
 | 
					     * should instead call vTaskDelete( NULL ).
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * Artificially force an assert() to be triggered if configASSERT() is
 | 
				
			||||||
 | 
					     * defined, then stop here so application writers can catch the error. */
 | 
				
			||||||
 | 
					    configASSERT( uxCriticalNesting == ~0UL );
 | 
				
			||||||
 | 
					    portDISABLE_INTERRUPTS();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    while( ulDummy == 0 )
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        /* This file calls prvTaskExitError() after the scheduler has been
 | 
				
			||||||
 | 
					         * started to remove a compiler warning about the function being defined
 | 
				
			||||||
 | 
					         * but never called.  ulDummy is used purely to quieten other warnings
 | 
				
			||||||
 | 
					         * about code appearing after this function is called - making ulDummy
 | 
				
			||||||
 | 
					         * volatile makes the compiler think the function could return and
 | 
				
			||||||
 | 
					         * therefore not output an 'unreachable code' warning for code that appears
 | 
				
			||||||
 | 
					         * after it. */
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void vPortSVCHandler( void )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    /* This function is no longer used, but retained for backward
 | 
				
			||||||
 | 
					     * compatibility. */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void vPortStartFirstTask( void )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    /* The MSP stack is not reset as, unlike on M3/4 parts, there is no vector
 | 
				
			||||||
 | 
					     * table offset register that can be used to locate the initial stack value.
 | 
				
			||||||
 | 
					     * Not all M0 parts have the application vector table at address 0. */
 | 
				
			||||||
 | 
					    __asm volatile (
 | 
				
			||||||
 | 
					        "	.syntax unified				\n"
 | 
				
			||||||
 | 
					        "	ldr  r2, pxCurrentTCBConst2	\n"/* Obtain location of pxCurrentTCB. */
 | 
				
			||||||
 | 
					        "	ldr  r3, [r2]				\n"
 | 
				
			||||||
 | 
					        "	ldr  r0, [r3]				\n"/* The first item in pxCurrentTCB is the task top of stack. */
 | 
				
			||||||
 | 
					        "	adds r0, #32					\n"/* Discard everything up to r0. */
 | 
				
			||||||
 | 
					        "	msr  psp, r0					\n"/* This is now the new top of stack to use in the task. */
 | 
				
			||||||
 | 
					        "	movs r0, #2					\n"/* Switch to the psp stack. */
 | 
				
			||||||
 | 
					        "	msr  CONTROL, r0				\n"
 | 
				
			||||||
 | 
					        "	isb							\n"
 | 
				
			||||||
 | 
					        "	pop  {r0-r5}					\n"/* Pop the registers that are saved automatically. */
 | 
				
			||||||
 | 
					        "	mov  lr, r5					\n"/* lr is now in r5. */
 | 
				
			||||||
 | 
					        "	pop  {r3}					\n"/* Return address is now in r3. */
 | 
				
			||||||
 | 
					        "	pop  {r2}					\n"/* Pop and discard XPSR. */
 | 
				
			||||||
 | 
					        "	cpsie i						\n"/* The first task has its context and interrupts can be enabled. */
 | 
				
			||||||
 | 
					        "	bx   r3						\n"/* Finally, jump to the user defined task code. */
 | 
				
			||||||
 | 
					        "								\n"
 | 
				
			||||||
 | 
					        "	.align 4					\n"
 | 
				
			||||||
 | 
					        "pxCurrentTCBConst2: .word pxCurrentTCB	  "
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * See header file for description.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					BaseType_t xPortStartScheduler( void )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    /* Make PendSV, CallSV and SysTick the same priority as the kernel. */
 | 
				
			||||||
 | 
					    portNVIC_SHPR3_REG |= portNVIC_PENDSV_PRI;
 | 
				
			||||||
 | 
					    portNVIC_SHPR3_REG |= portNVIC_SYSTICK_PRI;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Start the timer that generates the tick ISR.  Interrupts are disabled
 | 
				
			||||||
 | 
					     * here already. */
 | 
				
			||||||
 | 
					    vPortSetupTimerInterrupt();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Initialise the critical nesting count ready for the first task. */
 | 
				
			||||||
 | 
					    uxCriticalNesting = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Start the first task. */
 | 
				
			||||||
 | 
					    vPortStartFirstTask();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Should never get here as the tasks will now be executing!  Call the task
 | 
				
			||||||
 | 
					     * exit error function to prevent compiler warnings about a static function
 | 
				
			||||||
 | 
					     * not being called in the case that the application writer overrides this
 | 
				
			||||||
 | 
					     * functionality by defining configTASK_RETURN_ADDRESS.  Call
 | 
				
			||||||
 | 
					     * vTaskSwitchContext() so link time optimisation does not remove the
 | 
				
			||||||
 | 
					     * symbol. */
 | 
				
			||||||
 | 
					    vTaskSwitchContext(0);
 | 
				
			||||||
 | 
					    prvTaskExitError();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Should not get here! */
 | 
				
			||||||
 | 
					    return 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void vPortEndScheduler( void )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    /* Not implemented in ports where there is nothing to return to.
 | 
				
			||||||
 | 
					     * Artificially force an assert. */
 | 
				
			||||||
 | 
					    configASSERT( uxCriticalNesting == 1000UL );
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void vPortYield( void )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    /* Set a PendSV to request a context switch. */
 | 
				
			||||||
 | 
					    portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Barriers are normally not required but do ensure the code is completely
 | 
				
			||||||
 | 
					     * within the specified behaviour for the architecture. */
 | 
				
			||||||
 | 
					    __asm volatile ( "dsb" ::: "memory" );
 | 
				
			||||||
 | 
					    __asm volatile ( "isb" );
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void vPortEnterCritical( void )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    portDISABLE_INTERRUPTS();
 | 
				
			||||||
 | 
					    uxCriticalNesting++;
 | 
				
			||||||
 | 
					    __asm volatile ( "dsb" ::: "memory" );
 | 
				
			||||||
 | 
					    __asm volatile ( "isb" );
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void vPortExitCritical( void )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    configASSERT( uxCriticalNesting );
 | 
				
			||||||
 | 
					    uxCriticalNesting--;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if( uxCriticalNesting == 0 )
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        portENABLE_INTERRUPTS();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uint32_t ulSetInterruptMaskFromISR( void )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    __asm volatile (
 | 
				
			||||||
 | 
					        " mrs r0, PRIMASK	\n"
 | 
				
			||||||
 | 
					        " cpsid i			\n"
 | 
				
			||||||
 | 
					        " bx lr				  "
 | 
				
			||||||
 | 
					        ::: "memory"
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void vClearInterruptMaskFromISR( __attribute__( ( unused ) ) uint32_t ulMask )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    __asm volatile (
 | 
				
			||||||
 | 
					        " msr PRIMASK, r0	\n"
 | 
				
			||||||
 | 
					        " bx lr				  "
 | 
				
			||||||
 | 
					        ::: "memory"
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void xPortPendSVHandler( void )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    /* This is a naked function. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    __asm volatile
 | 
				
			||||||
 | 
					    (
 | 
				
			||||||
 | 
					        "	.syntax unified						\n"
 | 
				
			||||||
 | 
					        "	mrs r0, psp							\n"
 | 
				
			||||||
 | 
					        "										\n"
 | 
				
			||||||
 | 
					        "	ldr	r3, pxCurrentTCBConst			\n"/* Get the location of the current TCB. */
 | 
				
			||||||
 | 
					        "	ldr	r2, [r3]						\n"
 | 
				
			||||||
 | 
					        "										\n"
 | 
				
			||||||
 | 
					        "	subs r0, r0, #32					\n"/* Make space for the remaining low registers. */
 | 
				
			||||||
 | 
					        "	str r0, [r2]						\n"/* Save the new top of stack. */
 | 
				
			||||||
 | 
					        "	stmia r0!, {r4-r7}					\n"/* Store the low registers that are not saved automatically. */
 | 
				
			||||||
 | 
					        " 	mov r4, r8							\n"/* Store the high registers. */
 | 
				
			||||||
 | 
					        " 	mov r5, r9							\n"
 | 
				
			||||||
 | 
					        " 	mov r6, r10							\n"
 | 
				
			||||||
 | 
					        " 	mov r7, r11							\n"
 | 
				
			||||||
 | 
					        " 	stmia r0!, {r4-r7}					\n"
 | 
				
			||||||
 | 
					        "										\n"
 | 
				
			||||||
 | 
					        "	push {r3, r14}						\n"
 | 
				
			||||||
 | 
					        "	cpsid i								\n"
 | 
				
			||||||
 | 
					        "	bl vTaskSwitchContext				\n"
 | 
				
			||||||
 | 
					        "	cpsie i								\n"
 | 
				
			||||||
 | 
					        "	pop {r2, r3}						\n"/* lr goes in r3. r2 now holds tcb pointer. */
 | 
				
			||||||
 | 
					        "										\n"
 | 
				
			||||||
 | 
					        "	ldr r1, [r2]						\n"
 | 
				
			||||||
 | 
					        "	ldr r0, [r1]						\n"/* The first item in pxCurrentTCB is the task top of stack. */
 | 
				
			||||||
 | 
					        "	adds r0, r0, #16					\n"/* Move to the high registers. */
 | 
				
			||||||
 | 
					        "	ldmia r0!, {r4-r7}					\n"/* Pop the high registers. */
 | 
				
			||||||
 | 
					        " 	mov r8, r4							\n"
 | 
				
			||||||
 | 
					        " 	mov r9, r5							\n"
 | 
				
			||||||
 | 
					        " 	mov r10, r6							\n"
 | 
				
			||||||
 | 
					        " 	mov r11, r7							\n"
 | 
				
			||||||
 | 
					        "										\n"
 | 
				
			||||||
 | 
					        "	msr psp, r0							\n"/* Remember the new top of stack for the task. */
 | 
				
			||||||
 | 
					        "										\n"
 | 
				
			||||||
 | 
					        "	subs r0, r0, #32					\n"/* Go back for the low registers that are not automatically restored. */
 | 
				
			||||||
 | 
					        " 	ldmia r0!, {r4-r7}					\n"/* Pop low registers.  */
 | 
				
			||||||
 | 
					        "										\n"
 | 
				
			||||||
 | 
					        "	bx r3								\n"
 | 
				
			||||||
 | 
					        "										\n"
 | 
				
			||||||
 | 
					        "	.align 4							\n"
 | 
				
			||||||
 | 
					        "pxCurrentTCBConst: .word pxCurrentTCB	  "
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void xPortSysTickHandler( void )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    uint32_t ulPreviousMask;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ulPreviousMask = portSET_INTERRUPT_MASK_FROM_ISR();
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        /* Increment the RTOS tick. */
 | 
				
			||||||
 | 
					        if( xTaskIncrementTick() != pdFALSE )
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            /* Pend a context switch. */
 | 
				
			||||||
 | 
					            portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    portCLEAR_INTERRUPT_MASK_FROM_ISR( ulPreviousMask );
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * Setup the systick timer to generate the tick interrupts at the required
 | 
				
			||||||
 | 
					 * frequency.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					__attribute__( ( weak ) ) void vPortSetupTimerInterrupt( void )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    /* Calculate the constants required to configure the tick interrupt. */
 | 
				
			||||||
 | 
					    #if ( configUSE_TICKLESS_IDLE == 1 )
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            ulTimerCountsForOneTick = ( configCPU_CLOCK_HZ / configTICK_RATE_HZ );
 | 
				
			||||||
 | 
					            xMaximumPossibleSuppressedTicks = portMAX_24_BIT_NUMBER / ulTimerCountsForOneTick;
 | 
				
			||||||
 | 
					            ulStoppedTimerCompensation = portMISSED_COUNTS_FACTOR;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    #endif /* configUSE_TICKLESS_IDLE */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Stop and reset the SysTick. */
 | 
				
			||||||
 | 
					    portNVIC_SYSTICK_CTRL_REG = 0UL;
 | 
				
			||||||
 | 
					    portNVIC_SYSTICK_CURRENT_VALUE_REG = 0UL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Configure SysTick to interrupt at the requested rate. */
 | 
				
			||||||
 | 
					    portNVIC_SYSTICK_LOAD_REG = ( configCPU_CLOCK_HZ / configTICK_RATE_HZ ) - 1UL;
 | 
				
			||||||
 | 
					    portNVIC_SYSTICK_CTRL_REG = portNVIC_SYSTICK_CLK_BIT | portNVIC_SYSTICK_INT_BIT | portNVIC_SYSTICK_ENABLE_BIT;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if ( configUSE_TICKLESS_IDLE == 1 )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    __attribute__( ( weak ) ) void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime )
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        uint32_t ulReloadValue, ulCompleteTickPeriods, ulCompletedSysTickDecrements;
 | 
				
			||||||
 | 
					        TickType_t xModifiableIdleTime;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /* Make sure the SysTick reload value does not overflow the counter. */
 | 
				
			||||||
 | 
					        if( xExpectedIdleTime > xMaximumPossibleSuppressedTicks )
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            xExpectedIdleTime = xMaximumPossibleSuppressedTicks;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /* Stop the SysTick momentarily.  The time the SysTick is stopped for
 | 
				
			||||||
 | 
					         * is accounted for as best it can be, but using the tickless mode will
 | 
				
			||||||
 | 
					         * inevitably result in some tiny drift of the time maintained by the
 | 
				
			||||||
 | 
					         * kernel with respect to calendar time. */
 | 
				
			||||||
 | 
					        portNVIC_SYSTICK_CTRL_REG &= ~portNVIC_SYSTICK_ENABLE_BIT;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /* Calculate the reload value required to wait xExpectedIdleTime
 | 
				
			||||||
 | 
					         * tick periods.  -1 is used because this code will execute part way
 | 
				
			||||||
 | 
					         * through one of the tick periods. */
 | 
				
			||||||
 | 
					        ulReloadValue = portNVIC_SYSTICK_CURRENT_VALUE_REG + ( ulTimerCountsForOneTick * ( xExpectedIdleTime - 1UL ) );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if( ulReloadValue > ulStoppedTimerCompensation )
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            ulReloadValue -= ulStoppedTimerCompensation;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /* Enter a critical section but don't use the taskENTER_CRITICAL()
 | 
				
			||||||
 | 
					         * method as that will mask interrupts that should exit sleep mode. */
 | 
				
			||||||
 | 
					        __asm volatile ( "cpsid i" ::: "memory" );
 | 
				
			||||||
 | 
					        __asm volatile ( "dsb" );
 | 
				
			||||||
 | 
					        __asm volatile ( "isb" );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /* If a context switch is pending or a task is waiting for the scheduler
 | 
				
			||||||
 | 
					         * to be unsuspended then abandon the low power entry. */
 | 
				
			||||||
 | 
					        if( eTaskConfirmSleepModeStatus() == eAbortSleep )
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            /* Restart from whatever is left in the count register to complete
 | 
				
			||||||
 | 
					             * this tick period. */
 | 
				
			||||||
 | 
					            portNVIC_SYSTICK_LOAD_REG = portNVIC_SYSTICK_CURRENT_VALUE_REG;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            /* Restart SysTick. */
 | 
				
			||||||
 | 
					            portNVIC_SYSTICK_CTRL_REG |= portNVIC_SYSTICK_ENABLE_BIT;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            /* Reset the reload register to the value required for normal tick
 | 
				
			||||||
 | 
					             * periods. */
 | 
				
			||||||
 | 
					            portNVIC_SYSTICK_LOAD_REG = ulTimerCountsForOneTick - 1UL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            /* Re-enable interrupts - see comments above the cpsid instruction()
 | 
				
			||||||
 | 
					             * above. */
 | 
				
			||||||
 | 
					            __asm volatile ( "cpsie i" ::: "memory" );
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            /* Set the new reload value. */
 | 
				
			||||||
 | 
					            portNVIC_SYSTICK_LOAD_REG = ulReloadValue;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            /* Clear the SysTick count flag and set the count value back to
 | 
				
			||||||
 | 
					             * zero. */
 | 
				
			||||||
 | 
					            portNVIC_SYSTICK_CURRENT_VALUE_REG = 0UL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            /* Restart SysTick. */
 | 
				
			||||||
 | 
					            portNVIC_SYSTICK_CTRL_REG |= portNVIC_SYSTICK_ENABLE_BIT;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            /* Sleep until something happens.  configPRE_SLEEP_PROCESSING() can
 | 
				
			||||||
 | 
					             * set its parameter to 0 to indicate that its implementation contains
 | 
				
			||||||
 | 
					             * its own wait for interrupt or wait for event instruction, and so wfi
 | 
				
			||||||
 | 
					             * should not be executed again.  However, the original expected idle
 | 
				
			||||||
 | 
					             * time variable must remain unmodified, so a copy is taken. */
 | 
				
			||||||
 | 
					            xModifiableIdleTime = xExpectedIdleTime;
 | 
				
			||||||
 | 
					            configPRE_SLEEP_PROCESSING( xModifiableIdleTime );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if( xModifiableIdleTime > 0 )
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                __asm volatile ( "dsb" ::: "memory" );
 | 
				
			||||||
 | 
					                __asm volatile ( "wfi" );
 | 
				
			||||||
 | 
					                __asm volatile ( "isb" );
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            configPOST_SLEEP_PROCESSING( xExpectedIdleTime );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            /* Re-enable interrupts to allow the interrupt that brought the MCU
 | 
				
			||||||
 | 
					             * out of sleep mode to execute immediately.  see comments above
 | 
				
			||||||
 | 
					             * __disable_interrupt() call above. */
 | 
				
			||||||
 | 
					            __asm volatile ( "cpsie i" ::: "memory" );
 | 
				
			||||||
 | 
					            __asm volatile ( "dsb" );
 | 
				
			||||||
 | 
					            __asm volatile ( "isb" );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            /* Disable interrupts again because the clock is about to be stopped
 | 
				
			||||||
 | 
					             * and interrupts that execute while the clock is stopped will increase
 | 
				
			||||||
 | 
					             * any slippage between the time maintained by the RTOS and calendar
 | 
				
			||||||
 | 
					             * time. */
 | 
				
			||||||
 | 
					            __asm volatile ( "cpsid i" ::: "memory" );
 | 
				
			||||||
 | 
					            __asm volatile ( "dsb" );
 | 
				
			||||||
 | 
					            __asm volatile ( "isb" );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            /* Disable the SysTick clock without reading the
 | 
				
			||||||
 | 
					             * portNVIC_SYSTICK_CTRL_REG register to ensure the
 | 
				
			||||||
 | 
					             * portNVIC_SYSTICK_COUNT_FLAG_BIT is not cleared if it is set.  Again,
 | 
				
			||||||
 | 
					             * the time the SysTick is stopped for is accounted for as best it can
 | 
				
			||||||
 | 
					             * be, but using the tickless mode will inevitably result in some tiny
 | 
				
			||||||
 | 
					             * drift of the time maintained by the kernel with respect to calendar
 | 
				
			||||||
 | 
					             * time*/
 | 
				
			||||||
 | 
					            portNVIC_SYSTICK_CTRL_REG = ( portNVIC_SYSTICK_CLK_BIT | portNVIC_SYSTICK_INT_BIT );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            /* Determine if the SysTick clock has already counted to zero and
 | 
				
			||||||
 | 
					             * been set back to the current reload value (the reload back being
 | 
				
			||||||
 | 
					             * correct for the entire expected idle time) or if the SysTick is yet
 | 
				
			||||||
 | 
					             * to count to zero (in which case an interrupt other than the SysTick
 | 
				
			||||||
 | 
					             * must have brought the system out of sleep mode). */
 | 
				
			||||||
 | 
					            if( ( portNVIC_SYSTICK_CTRL_REG & portNVIC_SYSTICK_COUNT_FLAG_BIT ) != 0 )
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                uint32_t ulCalculatedLoadValue;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                /* The tick interrupt is already pending, and the SysTick count
 | 
				
			||||||
 | 
					                 * reloaded with ulReloadValue.  Reset the
 | 
				
			||||||
 | 
					                 * portNVIC_SYSTICK_LOAD_REG with whatever remains of this tick
 | 
				
			||||||
 | 
					                 * period. */
 | 
				
			||||||
 | 
					                ulCalculatedLoadValue = ( ulTimerCountsForOneTick - 1UL ) - ( ulReloadValue - portNVIC_SYSTICK_CURRENT_VALUE_REG );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                /* Don't allow a tiny value, or values that have somehow
 | 
				
			||||||
 | 
					                 * underflowed because the post sleep hook did something
 | 
				
			||||||
 | 
					                 * that took too long. */
 | 
				
			||||||
 | 
					                if( ( ulCalculatedLoadValue < ulStoppedTimerCompensation ) || ( ulCalculatedLoadValue > ulTimerCountsForOneTick ) )
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    ulCalculatedLoadValue = ( ulTimerCountsForOneTick - 1UL );
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                portNVIC_SYSTICK_LOAD_REG = ulCalculatedLoadValue;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                /* As the pending tick will be processed as soon as this
 | 
				
			||||||
 | 
					                 * function exits, the tick value maintained by the tick is stepped
 | 
				
			||||||
 | 
					                 * forward by one less than the time spent waiting. */
 | 
				
			||||||
 | 
					                ulCompleteTickPeriods = xExpectedIdleTime - 1UL;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            else
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                /* Something other than the tick interrupt ended the sleep.
 | 
				
			||||||
 | 
					                 * Work out how long the sleep lasted rounded to complete tick
 | 
				
			||||||
 | 
					                 * periods (not the ulReload value which accounted for part
 | 
				
			||||||
 | 
					                 * ticks). */
 | 
				
			||||||
 | 
					                ulCompletedSysTickDecrements = ( xExpectedIdleTime * ulTimerCountsForOneTick ) - portNVIC_SYSTICK_CURRENT_VALUE_REG;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                /* How many complete tick periods passed while the processor
 | 
				
			||||||
 | 
					                 * was waiting? */
 | 
				
			||||||
 | 
					                ulCompleteTickPeriods = ulCompletedSysTickDecrements / ulTimerCountsForOneTick;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                /* The reload value is set to whatever fraction of a single tick
 | 
				
			||||||
 | 
					                 * period remains. */
 | 
				
			||||||
 | 
					                portNVIC_SYSTICK_LOAD_REG = ( ( ulCompleteTickPeriods + 1UL ) * ulTimerCountsForOneTick ) - ulCompletedSysTickDecrements;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            /* Restart SysTick so it runs from portNVIC_SYSTICK_LOAD_REG
 | 
				
			||||||
 | 
					             * again, then set portNVIC_SYSTICK_LOAD_REG back to its standard
 | 
				
			||||||
 | 
					             * value. */
 | 
				
			||||||
 | 
					            portNVIC_SYSTICK_CURRENT_VALUE_REG = 0UL;
 | 
				
			||||||
 | 
					            portNVIC_SYSTICK_CTRL_REG |= portNVIC_SYSTICK_ENABLE_BIT;
 | 
				
			||||||
 | 
					            vTaskStepTick( ulCompleteTickPeriods );
 | 
				
			||||||
 | 
					            portNVIC_SYSTICK_LOAD_REG = ulTimerCountsForOneTick - 1UL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            /* Exit with interrpts enabled. */
 | 
				
			||||||
 | 
					            __asm volatile ( "cpsie i" ::: "memory" );
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif /* configUSE_TICKLESS_IDLE */
 | 
				
			||||||
							
								
								
									
										150
									
								
								portable/ThirdParty/GCC/rpi_pico/portmacro.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										150
									
								
								portable/ThirdParty/GCC/rpi_pico/portmacro.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,150 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * FreeRTOS Kernel V10.4.3
 | 
				
			||||||
 | 
					 * Copyright (C) 2020 Amazon.com, Inc. or its affiliates.  All Rights Reserved.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Permission is hereby granted, free of charge, to any person obtaining a copy of
 | 
				
			||||||
 | 
					 * this software and associated documentation files (the "Software"), to deal in
 | 
				
			||||||
 | 
					 * the Software without restriction, including without limitation the rights to
 | 
				
			||||||
 | 
					 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
 | 
				
			||||||
 | 
					 * the Software, and to permit persons to whom the Software is furnished to do so,
 | 
				
			||||||
 | 
					 * subject to the following conditions:
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * The above copyright notice and this permission notice shall be included in all
 | 
				
			||||||
 | 
					 * copies or substantial portions of the Software.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
				
			||||||
 | 
					 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
 | 
				
			||||||
 | 
					 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
 | 
				
			||||||
 | 
					 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
 | 
				
			||||||
 | 
					 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 | 
				
			||||||
 | 
					 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * https://www.FreeRTOS.org
 | 
				
			||||||
 | 
					 * https://github.com/FreeRTOS
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * 1 tab == 4 spaces!
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// TODO Guard this so it only arrives with the PICO
 | 
				
			||||||
 | 
					#include "pico_support.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef PORTMACRO_H
 | 
				
			||||||
 | 
					    #define PORTMACRO_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    #ifdef __cplusplus
 | 
				
			||||||
 | 
					        extern "C" {
 | 
				
			||||||
 | 
					    #endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*-----------------------------------------------------------
 | 
				
			||||||
 | 
					 * Port specific definitions.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * The settings in this file configure FreeRTOS correctly for the
 | 
				
			||||||
 | 
					 * given hardware and compiler.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * These settings should not be altered.
 | 
				
			||||||
 | 
					 *-----------------------------------------------------------
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Type definitions. */
 | 
				
			||||||
 | 
					    #define portCHAR          char
 | 
				
			||||||
 | 
					    #define portFLOAT         float
 | 
				
			||||||
 | 
					    #define portDOUBLE        double
 | 
				
			||||||
 | 
					    #define portLONG          long
 | 
				
			||||||
 | 
					    #define portSHORT         short
 | 
				
			||||||
 | 
					    #define portSTACK_TYPE    uint32_t
 | 
				
			||||||
 | 
					    #define portBASE_TYPE     long
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    typedef portSTACK_TYPE   StackType_t;
 | 
				
			||||||
 | 
					    typedef long             BaseType_t;
 | 
				
			||||||
 | 
					    typedef unsigned long    UBaseType_t;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    #if ( configUSE_16_BIT_TICKS == 1 )
 | 
				
			||||||
 | 
					        typedef uint16_t     TickType_t;
 | 
				
			||||||
 | 
					        #define portMAX_DELAY              ( TickType_t ) 0xffff
 | 
				
			||||||
 | 
					    #else
 | 
				
			||||||
 | 
					        typedef uint32_t     TickType_t;
 | 
				
			||||||
 | 
					        #define portMAX_DELAY              ( TickType_t ) 0xffffffffUL
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* 32-bit tick type on a 32-bit architecture, so reads of the tick count do
 | 
				
			||||||
 | 
					 * not need to be guarded with a critical section. */
 | 
				
			||||||
 | 
					        #define portTICK_TYPE_IS_ATOMIC    1
 | 
				
			||||||
 | 
					    #endif
 | 
				
			||||||
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Architecture specifics. */
 | 
				
			||||||
 | 
					    #define portSTACK_GROWTH      ( -1 )
 | 
				
			||||||
 | 
					    #define portTICK_PERIOD_MS    ( ( TickType_t ) 1000 / configTICK_RATE_HZ )
 | 
				
			||||||
 | 
					    #define portBYTE_ALIGNMENT    8
 | 
				
			||||||
 | 
					    #define portDONT_DISCARD      __attribute__( ( used ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // TODO SMP this is in tasks.c & the xmos port
 | 
				
			||||||
 | 
					    #define portCRITICAL_NESTING_IN_TCB   1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Scheduler utilities. */
 | 
				
			||||||
 | 
					    extern void vPortYield( void );
 | 
				
			||||||
 | 
					    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
				
			||||||
 | 
					    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
				
			||||||
 | 
					    #define portYIELD()                                 vPortYield()
 | 
				
			||||||
 | 
					    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT
 | 
				
			||||||
 | 
					    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
				
			||||||
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* SMP utilities */
 | 
				
			||||||
 | 
					    #define portGET_CORE_ID() (portSIE_CPUID)
 | 
				
			||||||
 | 
					// TODO SMP Implement this
 | 
				
			||||||
 | 
					    #define portYIELD_CORE(a) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// TODO SMP NEW.  Restore the maskable interrupt state to the valued provided.
 | 
				
			||||||
 | 
					    #define portRESTORE_INTERRUPTS(ulState) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// TODO SMP NEW. Return a true if we are currently in an ISR and false if we are NOT in an ISR.
 | 
				
			||||||
 | 
					    #define portCHECK_IF_IN_ISR() (pdFALSE)
 | 
				
			||||||
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Critical section management. */
 | 
				
			||||||
 | 
					    extern void vPortEnterCritical( void );
 | 
				
			||||||
 | 
					    extern void vPortExitCritical( void );
 | 
				
			||||||
 | 
					    extern uint32_t ulSetInterruptMaskFromISR( void ) __attribute__( ( naked ) );
 | 
				
			||||||
 | 
					    extern void vClearInterruptMaskFromISR( uint32_t ulMask )  __attribute__( ( naked ) );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    #define portSET_INTERRUPT_MASK_FROM_ISR()         ulSetInterruptMaskFromISR()
 | 
				
			||||||
 | 
					    #define portCLEAR_INTERRUPT_MASK_FROM_ISR( x )    vClearInterruptMaskFromISR( x )
 | 
				
			||||||
 | 
					    // TODO SMP XMOS modified DISABLE_INTERRUPTS to return a value
 | 
				
			||||||
 | 
					    #define portDISABLE_INTERRUPTS()                  ({ __asm volatile ( " cpsid i " ::: "memory" ); 0;})
 | 
				
			||||||
 | 
					    #define portENABLE_INTERRUPTS()                   __asm volatile ( " cpsie i " ::: "memory" )
 | 
				
			||||||
 | 
					    #define portENTER_CRITICAL()                      vPortEnterCritical()
 | 
				
			||||||
 | 
					    #define portEXIT_CRITICAL()                       vPortExitCritical()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* PICO port will use the HW spinlocks for these */
 | 
				
			||||||
 | 
					/* Read Page 32 of the RP2040 datasheet to see how the spinlocks wrok */
 | 
				
			||||||
 | 
					/* using SPINLOCK0 for the ISR & SPINLOCK1 for the task */
 | 
				
			||||||
 | 
					#define portGET_ISR_LOCK()      do{ while(!portSIE_SPINLOCK0); }while(0)
 | 
				
			||||||
 | 
					#define portRELEASE_ISR_LOCK()  do{ portSIE_SPINLOCK0 = 1; }while(0)
 | 
				
			||||||
 | 
					#define portGET_TASK_LOCK()     do{ while(!portSIE_SPINLOCK1); }while(0)
 | 
				
			||||||
 | 
					#define portRELEASE_TASK_LOCK() do{ portSIE_SPINLOCK1 = 1; }while(0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Tickless idle/low power functionality. */
 | 
				
			||||||
 | 
					    #ifndef portSUPPRESS_TICKS_AND_SLEEP
 | 
				
			||||||
 | 
					        extern void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime );
 | 
				
			||||||
 | 
					        #define portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime )    vPortSuppressTicksAndSleep( xExpectedIdleTime )
 | 
				
			||||||
 | 
					    #endif
 | 
				
			||||||
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Task function macros as described on the FreeRTOS.org WEB site. */
 | 
				
			||||||
 | 
					    #define portTASK_FUNCTION_PROTO( vFunction, pvParameters )    void vFunction( void * pvParameters )
 | 
				
			||||||
 | 
					    #define portTASK_FUNCTION( vFunction, pvParameters )          void vFunction( void * pvParameters )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    #define portNOP()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    #define portMEMORY_BARRIER()    __asm volatile ( "" ::: "memory" )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    #ifdef __cplusplus
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    #endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif /* PORTMACRO_H */
 | 
				
			||||||
							
								
								
									
										23
									
								
								tasks.c
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								tasks.c
									
									
									
									
									
								
							@ -894,7 +894,6 @@ static void prvYieldForTask( TCB_t * pxTCB,
 | 
				
			|||||||
                        #endif
 | 
					                        #endif
 | 
				
			||||||
                        {
 | 
					                        {
 | 
				
			||||||
                            /* If the task is not being executed by any core swap it in */
 | 
					                            /* If the task is not being executed by any core swap it in */
 | 
				
			||||||
                            /*rtos_printf("Current priority %d: swap out %s(%d) for %s(%d) on core %d\n", uxCurrentPriority, pxCurrentTCBs[ portGET_CORE_ID() ]->pcTaskName, pxCurrentTCBs[ portGET_CORE_ID() ]->uxPriority, pxTCB->pcTaskName, pxTCB->uxPriority, portGET_CORE_ID()); */
 | 
					 | 
				
			||||||
                            pxCurrentTCBs[ xCoreID ]->xTaskRunState = taskTASK_NOT_RUNNING;
 | 
					                            pxCurrentTCBs[ xCoreID ]->xTaskRunState = taskTASK_NOT_RUNNING;
 | 
				
			||||||
                            #if ( configUSE_CORE_EXCLUSION == 1 )
 | 
					                            #if ( configUSE_CORE_EXCLUSION == 1 )
 | 
				
			||||||
                                pxPreviousTCB = pxCurrentTCBs[ xCoreID ];
 | 
					                                pxPreviousTCB = pxCurrentTCBs[ xCoreID ];
 | 
				
			||||||
@ -914,7 +913,6 @@ static void prvYieldForTask( TCB_t * pxTCB,
 | 
				
			|||||||
                            /* The task is already running on this core, mark it as scheduled */
 | 
					                            /* The task is already running on this core, mark it as scheduled */
 | 
				
			||||||
                            pxTCB->xTaskRunState = ( TaskRunning_t ) xCoreID;
 | 
					                            pxTCB->xTaskRunState = ( TaskRunning_t ) xCoreID;
 | 
				
			||||||
                            xTaskScheduled = pdTRUE;
 | 
					                            xTaskScheduled = pdTRUE;
 | 
				
			||||||
                            /*rtos_printf( "Keeping %s(%d) on core %d\n", pxTCB->pcTaskName, pxTCB->uxPriority, portGET_CORE_ID() ); */
 | 
					 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -995,7 +993,6 @@ static void prvYieldForTask( TCB_t * pxTCB,
 | 
				
			|||||||
                {
 | 
					                {
 | 
				
			||||||
                    /* The ready task that was removed from this core is excluded from it.
 | 
					                    /* The ready task that was removed from this core is excluded from it.
 | 
				
			||||||
                     * See if we can schedule it on any of the cores where it is not excluded from. */
 | 
					                     * See if we can schedule it on any of the cores where it is not excluded from. */
 | 
				
			||||||
                    rtos_printf( "Kicked %s off core %d\n", pxPreviousTCB->pcTaskName, xCoreID );
 | 
					 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                uxCoreMap &= ( ( 1 << configNUM_CORES ) - 1 );
 | 
					                uxCoreMap &= ( ( 1 << configNUM_CORES ) - 1 );
 | 
				
			||||||
@ -1024,12 +1021,6 @@ static void prvYieldForTask( TCB_t * pxTCB,
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                if( taskVALID_CORE_ID( xLowestPriorityCore ) )
 | 
					                if( taskVALID_CORE_ID( xLowestPriorityCore ) )
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    rtos_printf( "going to interrupt core %d which is running %s to place the task %s that was just replaced with %s on core %d\n",
 | 
					 | 
				
			||||||
                                 xLowestPriorityCore,
 | 
					 | 
				
			||||||
                                 pxCurrentTCBs[ xLowestPriorityCore ]->pcTaskName,
 | 
					 | 
				
			||||||
                                 pxPreviousTCB->pcTaskName,
 | 
					 | 
				
			||||||
                                 pxCurrentTCBs[ xCoreID ]->pcTaskName,
 | 
					 | 
				
			||||||
                                 xCoreID );
 | 
					 | 
				
			||||||
                    prvYieldCore( xLowestPriorityCore );
 | 
					                    prvYieldCore( xLowestPriorityCore );
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
@ -1600,12 +1591,10 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB )
 | 
				
			|||||||
                {
 | 
					                {
 | 
				
			||||||
                    if( pxCurrentTCBs[ xCoreID ] == NULL )
 | 
					                    if( pxCurrentTCBs[ xCoreID ] == NULL )
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        rtos_printf( "adding idle task onto core %d\n", xCoreID );
 | 
					 | 
				
			||||||
                        pxNewTCB->xTaskRunState = xCoreID;
 | 
					                        pxNewTCB->xTaskRunState = xCoreID;
 | 
				
			||||||
                        #if ( configUSE_CORE_EXCLUSION == 1 )
 | 
					                        #if ( configUSE_CORE_EXCLUSION == 1 )
 | 
				
			||||||
                            {
 | 
					                            {
 | 
				
			||||||
                                pxNewTCB->uxCoreExclude = ~( 1 << xCoreID );
 | 
					                                pxNewTCB->uxCoreExclude = ~( 1 << xCoreID );
 | 
				
			||||||
                                rtos_printf( "Set exclusion mask to %08x\n", pxNewTCB->uxCoreExclude );
 | 
					 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                        #endif
 | 
					                        #endif
 | 
				
			||||||
                        pxCurrentTCBs[ xCoreID ] = pxNewTCB;
 | 
					                        pxCurrentTCBs[ xCoreID ] = pxNewTCB;
 | 
				
			||||||
@ -1697,7 +1686,6 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB )
 | 
				
			|||||||
             * no longer running. */
 | 
					             * no longer running. */
 | 
				
			||||||
            if( xTaskRunningOnCore != taskTASK_NOT_RUNNING )
 | 
					            if( xTaskRunningOnCore != taskTASK_NOT_RUNNING )
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                /*rtos_printf("Task %s is running on core %d and is now marked for deletion.\n", pxTCB->pcTaskName, xTaskRunningOnCore ); */
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
                /* A running task is being deleted.  This cannot complete within the
 | 
					                /* A running task is being deleted.  This cannot complete within the
 | 
				
			||||||
                 * task itself, as a context switch to another task is required.
 | 
					                 * task itself, as a context switch to another task is required.
 | 
				
			||||||
@ -1724,7 +1712,6 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB )
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            else
 | 
					            else
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                /*rtos_printf("Task %s is not running and will now be deleted.\n", pxTCB->pcTaskName ); */
 | 
					 | 
				
			||||||
                --uxCurrentNumberOfTasks;
 | 
					                --uxCurrentNumberOfTasks;
 | 
				
			||||||
                traceTASK_DELETE( pxTCB );
 | 
					                traceTASK_DELETE( pxTCB );
 | 
				
			||||||
                prvDeleteTCB( pxTCB );
 | 
					                prvDeleteTCB( pxTCB );
 | 
				
			||||||
@ -1741,7 +1728,6 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB )
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                xCoreID = portGET_CORE_ID();
 | 
					                xCoreID = portGET_CORE_ID();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                /*rtos_printf("Task deleted, yield core %d.\n", xTaskRunningOnCore ); */
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
                if( xTaskRunningOnCore == xCoreID )
 | 
					                if( xTaskRunningOnCore == xCoreID )
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
@ -2240,7 +2226,6 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB )
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                    if( ( uxCoreExclude & ( 1 << xCoreID ) ) != 0 )
 | 
					                    if( ( uxCoreExclude & ( 1 << xCoreID ) ) != 0 )
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        rtos_printf( "New core exclusion mask on %s prevents it from running any longer on core %d\n", pxTCB->pcTaskName, xCoreID );
 | 
					 | 
				
			||||||
                        prvYieldCore( xCoreID );
 | 
					                        prvYieldCore( xCoreID );
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
@ -2389,7 +2374,6 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB )
 | 
				
			|||||||
            {
 | 
					            {
 | 
				
			||||||
                if( xSchedulerRunning != pdFALSE )
 | 
					                if( xSchedulerRunning != pdFALSE )
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    /*rtos_printf("Yield Core %d for task %s\n", xTaskRunningOnCore, pxTCB->pcTaskName ); */
 | 
					 | 
				
			||||||
                    if( xTaskRunningOnCore == portGET_CORE_ID() )
 | 
					                    if( xTaskRunningOnCore == portGET_CORE_ID() )
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        /* The current task has just been suspended. */
 | 
					                        /* The current task has just been suspended. */
 | 
				
			||||||
@ -2759,13 +2743,6 @@ void vTaskStartScheduler( void )
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        traceTASK_SWITCHED_IN();
 | 
					        traceTASK_SWITCHED_IN();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        rtos_printf( "Scheduler starting, top priority is %d:\n", uxTopReadyPriority );
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        for( int i = 0; i < configNUM_CORES; i++ )
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            rtos_printf( "\tCore %d: Task %s running on core: %d\n", i, pxCurrentTCBs[ i ]->pcTaskName, pxCurrentTCBs[ i ]->xTaskRunState );
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        /* Setting up the timer tick is hardware specific and thus in the
 | 
					        /* Setting up the timer tick is hardware specific and thus in the
 | 
				
			||||||
         * portable interface. */
 | 
					         * portable interface. */
 | 
				
			||||||
        if( xPortStartScheduler() != pdFALSE )
 | 
					        if( xPortStartScheduler() != pdFALSE )
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user