├── cpp ├── build │ ├── CMakeFiles │ │ ├── progress.marks │ │ ├── cmake.check_cache │ │ ├── feature_tests.bin │ │ ├── main.dir │ │ │ ├── main.cc.o │ │ │ ├── Handler.cc.o │ │ │ ├── Reactor.cc.o │ │ │ ├── EpollPoller.cc.o │ │ │ ├── progress.make │ │ │ ├── link.txt │ │ │ ├── flags.make │ │ │ ├── cmake_clean.cmake │ │ │ ├── DependInfo.cmake │ │ │ ├── depend.make │ │ │ ├── depend.internal │ │ │ ├── CXX.includecache │ │ │ └── build.make │ │ ├── 3.5.1 │ │ │ ├── CompilerIdC │ │ │ │ ├── a.out │ │ │ │ └── CMakeCCompilerId.c │ │ │ ├── CompilerIdCXX │ │ │ │ ├── a.out │ │ │ │ └── CMakeCXXCompilerId.cpp │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ ├── CMakeSystem.cmake │ │ │ ├── CMakeCCompiler.cmake │ │ │ └── CMakeCXXCompiler.cmake │ │ ├── TargetDirectories.txt │ │ ├── CMakeDirectoryInformation.cmake │ │ ├── feature_tests.c │ │ ├── Makefile2 │ │ ├── Makefile.cmake │ │ ├── feature_tests.cxx │ │ └── CMakeOutput.log │ ├── cmake_install.cmake │ ├── Makefile │ └── CMakeCache.txt ├── bin │ └── main ├── Callback.hh ├── CMakeLists.txt ├── Reactor.hh ├── EpollPoller.hh ├── Reactor.cc ├── Handler.cc ├── Handler.hh ├── EpollPoller.cc └── main.cc ├── c ├── a.out ├── readme.md └── reactor.c └── readme.md /cpp/build/CMakeFiles/progress.marks: -------------------------------------------------------------------------------- 1 | 5 2 | -------------------------------------------------------------------------------- /c/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patientCat/reactor/HEAD/c/a.out -------------------------------------------------------------------------------- /cpp/bin/main: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patientCat/reactor/HEAD/cpp/bin/main -------------------------------------------------------------------------------- /c/readme.md: -------------------------------------------------------------------------------- 1 | # Reactor 2 | ## 版本1 3 | 读写缓冲区共用,只能读-写-读-写依次进行 4 | 5 | 直接先写成c++,c用起来有点累 6 | -------------------------------------------------------------------------------- /cpp/Callback.hh: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | typedef std::function EventCallback; 6 | -------------------------------------------------------------------------------- /cpp/build/CMakeFiles/cmake.check_cache: -------------------------------------------------------------------------------- 1 | # This file is generated by cmake for dependency checking of the CMakeCache.txt file 2 | -------------------------------------------------------------------------------- /cpp/build/CMakeFiles/feature_tests.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patientCat/reactor/HEAD/cpp/build/CMakeFiles/feature_tests.bin -------------------------------------------------------------------------------- /cpp/build/CMakeFiles/main.dir/main.cc.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patientCat/reactor/HEAD/cpp/build/CMakeFiles/main.dir/main.cc.o -------------------------------------------------------------------------------- /cpp/build/CMakeFiles/main.dir/Handler.cc.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patientCat/reactor/HEAD/cpp/build/CMakeFiles/main.dir/Handler.cc.o -------------------------------------------------------------------------------- /cpp/build/CMakeFiles/main.dir/Reactor.cc.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patientCat/reactor/HEAD/cpp/build/CMakeFiles/main.dir/Reactor.cc.o -------------------------------------------------------------------------------- /cpp/build/CMakeFiles/3.5.1/CompilerIdC/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patientCat/reactor/HEAD/cpp/build/CMakeFiles/3.5.1/CompilerIdC/a.out -------------------------------------------------------------------------------- /cpp/build/CMakeFiles/3.5.1/CompilerIdCXX/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patientCat/reactor/HEAD/cpp/build/CMakeFiles/3.5.1/CompilerIdCXX/a.out -------------------------------------------------------------------------------- /cpp/build/CMakeFiles/main.dir/EpollPoller.cc.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patientCat/reactor/HEAD/cpp/build/CMakeFiles/main.dir/EpollPoller.cc.o -------------------------------------------------------------------------------- /cpp/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patientCat/reactor/HEAD/cpp/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_C.bin -------------------------------------------------------------------------------- /cpp/build/CMakeFiles/main.dir/progress.make: -------------------------------------------------------------------------------- 1 | CMAKE_PROGRESS_1 = 1 2 | CMAKE_PROGRESS_2 = 2 3 | CMAKE_PROGRESS_3 = 3 4 | CMAKE_PROGRESS_4 = 4 5 | CMAKE_PROGRESS_5 = 5 6 | 7 | -------------------------------------------------------------------------------- /cpp/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_CXX.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patientCat/reactor/HEAD/cpp/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_CXX.bin -------------------------------------------------------------------------------- /cpp/build/CMakeFiles/main.dir/link.txt: -------------------------------------------------------------------------------- 1 | /usr/bin/c++ CMakeFiles/main.dir/main.cc.o CMakeFiles/main.dir/Handler.cc.o CMakeFiles/main.dir/EpollPoller.cc.o CMakeFiles/main.dir/Reactor.cc.o -o ../bin/main 2 | -------------------------------------------------------------------------------- /cpp/build/CMakeFiles/TargetDirectories.txt: -------------------------------------------------------------------------------- 1 | /home/jmx/project/reactor/cpp/build/CMakeFiles/rebuild_cache.dir 2 | /home/jmx/project/reactor/cpp/build/CMakeFiles/edit_cache.dir 3 | /home/jmx/project/reactor/cpp/build/CMakeFiles/main.dir 4 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # Reactor 2 | 学习Reactor自己利用c/c++写的使用reactor模式的echo服务器 3 | 4 | [使用c语言实现简单的Reactor](https://blog.csdn.net/weixin_43468441/article/details/93775965) 5 | 6 | [使用c++语言实现简单的Reactor](https://blog.csdn.net/weixin_43468441/article/details/93783243) 7 | 8 | -------------------------------------------------------------------------------- /cpp/build/CMakeFiles/main.dir/flags.make: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | # compile CXX with /usr/bin/c++ 5 | CXX_FLAGS = -std=c++11 6 | 7 | CXX_DEFINES = 8 | 9 | CXX_INCLUDES = 10 | 11 | -------------------------------------------------------------------------------- /cpp/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5) 2 | project(my_muduo_net) 3 | 4 | set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/../bin) 5 | add_compile_options("-std=c++11") 6 | 7 | set(net_SRCS 8 | main.cc 9 | Handler.cc 10 | EpollPoller.cc 11 | Reactor.cc 12 | ) 13 | 14 | add_executable(main ${net_SRCS}) 15 | 16 | -------------------------------------------------------------------------------- /cpp/Reactor.hh: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "EpollPoller.hh" 4 | #include 5 | class Handler; 6 | 7 | class Reactor 8 | { 9 | public: 10 | Reactor() 11 | : poller_(new EpollPoller) 12 | {}; 13 | void registerHandler(Handler* ); 14 | void removeHandler(Handler*); 15 | void loop(); 16 | private: 17 | std::unique_ptr poller_; 18 | }; 19 | -------------------------------------------------------------------------------- /cpp/build/CMakeFiles/main.dir/cmake_clean.cmake: -------------------------------------------------------------------------------- 1 | file(REMOVE_RECURSE 2 | "CMakeFiles/main.dir/main.cc.o" 3 | "CMakeFiles/main.dir/Handler.cc.o" 4 | "CMakeFiles/main.dir/EpollPoller.cc.o" 5 | "CMakeFiles/main.dir/Reactor.cc.o" 6 | "../bin/main.pdb" 7 | "../bin/main" 8 | ) 9 | 10 | # Per-language clean rules from dependency scanning. 11 | foreach(lang CXX) 12 | include(CMakeFiles/main.dir/cmake_clean_${lang}.cmake OPTIONAL) 13 | endforeach() 14 | -------------------------------------------------------------------------------- /cpp/build/CMakeFiles/3.5.1/CMakeSystem.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_HOST_SYSTEM "Linux-4.4.0-31-generic") 2 | set(CMAKE_HOST_SYSTEM_NAME "Linux") 3 | set(CMAKE_HOST_SYSTEM_VERSION "4.4.0-31-generic") 4 | set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") 5 | 6 | 7 | 8 | set(CMAKE_SYSTEM "Linux-4.4.0-31-generic") 9 | set(CMAKE_SYSTEM_NAME "Linux") 10 | set(CMAKE_SYSTEM_VERSION "4.4.0-31-generic") 11 | set(CMAKE_SYSTEM_PROCESSOR "x86_64") 12 | 13 | set(CMAKE_CROSSCOMPILING "FALSE") 14 | 15 | set(CMAKE_SYSTEM_LOADED 1) 16 | -------------------------------------------------------------------------------- /cpp/EpollPoller.hh: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | 6 | #include 7 | #include 8 | 9 | 10 | class Handler; 11 | class EpollPoller : boost::noncopyable 12 | { 13 | typedef std::vectorEventList; 14 | public: 15 | EpollPoller(); 16 | ~EpollPoller(); 17 | void update(Handler*); 18 | void remove(Handler*); 19 | std::vector poll(); 20 | 21 | static const int kInitEventListSize = 16; 22 | private: 23 | std::vector fillActiveChannels(int); 24 | private: 25 | int epfd_; 26 | EventList activeEventList_; 27 | }; 28 | -------------------------------------------------------------------------------- /cpp/build/CMakeFiles/CMakeDirectoryInformation.cmake: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | # Relative path conversion top directories. 5 | set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/jmx/project/reactor/cpp") 6 | set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/jmx/project/reactor/cpp/build") 7 | 8 | # Force unix paths in dependencies. 9 | set(CMAKE_FORCE_UNIX_PATHS 1) 10 | 11 | 12 | # The C and CXX include file regular expressions for this directory. 13 | set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") 14 | set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") 15 | set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) 16 | set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) 17 | -------------------------------------------------------------------------------- /cpp/Reactor.cc: -------------------------------------------------------------------------------- 1 | //c++ program 2 | //design by >^.^< 3 | //@date 2019-06-13 05:05:56 4 | #include "Reactor.hh" 5 | #include "EpollPoller.hh" 6 | #include "Handler.hh" 7 | 8 | void 9 | Reactor::registerHandler(Handler* handler) 10 | { 11 | poller_->update(handler); 12 | } 13 | 14 | void 15 | Reactor::removeHandler(Handler* handler) { 16 | poller_->remove(handler); 17 | } 18 | 19 | void 20 | Reactor::loop() 21 | { 22 | while(1) 23 | { 24 | auto activeEventPtrList = poller_->poll(); 25 | if(!activeEventPtrList.empty()) 26 | { 27 | for(int i = 0; i < activeEventPtrList.size(); ++i) 28 | { 29 | activeEventPtrList[i]->handleEvent(); 30 | } 31 | } 32 | else{ 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /cpp/build/CMakeFiles/feature_tests.c: -------------------------------------------------------------------------------- 1 | 2 | const char features[] = {"\n" 3 | "C_FEATURE:" 4 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 5 | "1" 6 | #else 7 | "0" 8 | #endif 9 | "c_function_prototypes\n" 10 | "C_FEATURE:" 11 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 12 | "1" 13 | #else 14 | "0" 15 | #endif 16 | "c_restrict\n" 17 | "C_FEATURE:" 18 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201000L 19 | "1" 20 | #else 21 | "0" 22 | #endif 23 | "c_static_assert\n" 24 | "C_FEATURE:" 25 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 26 | "1" 27 | #else 28 | "0" 29 | #endif 30 | "c_variadic_macros\n" 31 | 32 | }; 33 | 34 | int main(int argc, char** argv) { (void)argv; return features[argc]; } 35 | -------------------------------------------------------------------------------- /cpp/build/CMakeFiles/main.dir/DependInfo.cmake: -------------------------------------------------------------------------------- 1 | # The set of languages for which implicit dependencies are needed: 2 | set(CMAKE_DEPENDS_LANGUAGES 3 | "CXX" 4 | ) 5 | # The set of files for implicit dependencies of each language: 6 | set(CMAKE_DEPENDS_CHECK_CXX 7 | "/home/jmx/project/reactor/cpp/EpollPoller.cc" "/home/jmx/project/reactor/cpp/build/CMakeFiles/main.dir/EpollPoller.cc.o" 8 | "/home/jmx/project/reactor/cpp/Handler.cc" "/home/jmx/project/reactor/cpp/build/CMakeFiles/main.dir/Handler.cc.o" 9 | "/home/jmx/project/reactor/cpp/Reactor.cc" "/home/jmx/project/reactor/cpp/build/CMakeFiles/main.dir/Reactor.cc.o" 10 | "/home/jmx/project/reactor/cpp/main.cc" "/home/jmx/project/reactor/cpp/build/CMakeFiles/main.dir/main.cc.o" 11 | ) 12 | set(CMAKE_CXX_COMPILER_ID "GNU") 13 | 14 | # The include file search paths: 15 | set(CMAKE_CXX_TARGET_INCLUDE_PATH 16 | ) 17 | 18 | # Targets to which this target links. 19 | set(CMAKE_TARGET_LINKED_INFO_FILES 20 | ) 21 | 22 | # Fortran module output directory. 23 | set(CMAKE_Fortran_TARGET_MODULE_DIR "") 24 | -------------------------------------------------------------------------------- /cpp/build/CMakeFiles/main.dir/depend.make: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | CMakeFiles/main.dir/EpollPoller.cc.o: ../Callback.hh 5 | CMakeFiles/main.dir/EpollPoller.cc.o: ../EpollPoller.cc 6 | CMakeFiles/main.dir/EpollPoller.cc.o: ../EpollPoller.hh 7 | CMakeFiles/main.dir/EpollPoller.cc.o: ../Handler.hh 8 | 9 | CMakeFiles/main.dir/Handler.cc.o: ../Callback.hh 10 | CMakeFiles/main.dir/Handler.cc.o: ../Handler.cc 11 | CMakeFiles/main.dir/Handler.cc.o: ../Handler.hh 12 | 13 | CMakeFiles/main.dir/Reactor.cc.o: ../Callback.hh 14 | CMakeFiles/main.dir/Reactor.cc.o: ../EpollPoller.hh 15 | CMakeFiles/main.dir/Reactor.cc.o: ../Handler.hh 16 | CMakeFiles/main.dir/Reactor.cc.o: ../Reactor.cc 17 | CMakeFiles/main.dir/Reactor.cc.o: ../Reactor.hh 18 | 19 | CMakeFiles/main.dir/main.cc.o: ../Callback.hh 20 | CMakeFiles/main.dir/main.cc.o: ../EpollPoller.hh 21 | CMakeFiles/main.dir/main.cc.o: ../Handler.hh 22 | CMakeFiles/main.dir/main.cc.o: ../Reactor.hh 23 | CMakeFiles/main.dir/main.cc.o: ../main.cc 24 | 25 | -------------------------------------------------------------------------------- /cpp/build/CMakeFiles/main.dir/depend.internal: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | CMakeFiles/main.dir/EpollPoller.cc.o 5 | /home/jmx/project/reactor/cpp/Callback.hh 6 | /home/jmx/project/reactor/cpp/EpollPoller.cc 7 | /home/jmx/project/reactor/cpp/EpollPoller.hh 8 | /home/jmx/project/reactor/cpp/Handler.hh 9 | CMakeFiles/main.dir/Handler.cc.o 10 | /home/jmx/project/reactor/cpp/Callback.hh 11 | /home/jmx/project/reactor/cpp/Handler.cc 12 | /home/jmx/project/reactor/cpp/Handler.hh 13 | CMakeFiles/main.dir/Reactor.cc.o 14 | /home/jmx/project/reactor/cpp/Callback.hh 15 | /home/jmx/project/reactor/cpp/EpollPoller.hh 16 | /home/jmx/project/reactor/cpp/Handler.hh 17 | /home/jmx/project/reactor/cpp/Reactor.cc 18 | /home/jmx/project/reactor/cpp/Reactor.hh 19 | CMakeFiles/main.dir/main.cc.o 20 | /home/jmx/project/reactor/cpp/Callback.hh 21 | /home/jmx/project/reactor/cpp/EpollPoller.hh 22 | /home/jmx/project/reactor/cpp/Handler.hh 23 | /home/jmx/project/reactor/cpp/Reactor.hh 24 | /home/jmx/project/reactor/cpp/main.cc 25 | -------------------------------------------------------------------------------- /cpp/Handler.cc: -------------------------------------------------------------------------------- 1 | //c++ program 2 | //design by >^.^< 3 | //@date 2019-06-13 05:16:05 4 | #include "Handler.hh" 5 | #include 6 | 7 | Handler::Handler(int fd) 8 | : fd_(fd) 9 | , events_(0) 10 | , revents_(0) 11 | , isInEpoll(false) 12 | , len_(0) 13 | { 14 | 15 | } 16 | 17 | Handler::~Handler() 18 | { 19 | // close(fd) 20 | // Handler 并不负责关闭fd,fd的关闭应该在连接断开的时候 21 | } 22 | 23 | 24 | void 25 | Handler::handleEvent() 26 | { 27 | if(revents_ & EPOLLIN) 28 | { 29 | readCallback_(fd_); 30 | } 31 | if(revents_ & EPOLLOUT) 32 | { 33 | writeCallback_(fd_); 34 | } 35 | } 36 | void 37 | Handler::setReadCallback(EventCallback cb) 38 | { 39 | readCallback_ = cb; 40 | } 41 | void 42 | Handler::setWriteCallback(EventCallback cb) 43 | { 44 | writeCallback_ = cb; 45 | } 46 | void 47 | Handler::setCloseCallback(EventCallback cb) 48 | { 49 | closeCallback_ = cb; 50 | } 51 | void 52 | Handler::enableRead() 53 | { 54 | events_ = EPOLLIN; 55 | } 56 | void 57 | Handler::enableWrite() 58 | { 59 | events_ = EPOLLOUT; 60 | } 61 | void 62 | Handler::enableAll() 63 | { 64 | events_ |= EPOLLIN; 65 | events_ |= EPOLLOUT; 66 | } 67 | void 68 | Handler::disableAll() 69 | { 70 | events_ = 0; 71 | } 72 | -------------------------------------------------------------------------------- /cpp/Handler.hh: -------------------------------------------------------------------------------- 1 | //c++ program 2 | //design by >^.^< 3 | //@date 2019-06-11 18:27:05 4 | #pragma once 5 | 6 | // 想了想生命周期的管理,主要由于俩点,一是对端断开连接后,一是因为超时被Reactor踢掉 7 | 8 | #include 9 | #include 10 | #include "Callback.hh" 11 | //#include "Buffer.hh" // 暂时先不不去做Buffer类,一步一步来 12 | 13 | #define MAX_BUFFLEN 1024 14 | class Handler : boost::noncopyable 15 | { 16 | friend class EpollPoller; 17 | public: 18 | Handler(int ); 19 | ~Handler(); 20 | void handleEvent(); 21 | void setReadCallback(EventCallback); 22 | void setWriteCallback(EventCallback); 23 | void setCloseCallback(EventCallback); 24 | void enableRead(); 25 | void enableWrite(); 26 | void enableAll(); 27 | void disableAll(); 28 | int fd() const{ 29 | return fd_; 30 | } 31 | int events() const 32 | { 33 | return events_; 34 | } 35 | int revents() const 36 | { 37 | return revents_; 38 | } 39 | char *buff() 40 | { 41 | return buff_; 42 | } 43 | void setLen(int len) 44 | { 45 | len_ = len; 46 | } 47 | int length() 48 | { 49 | return len_; 50 | } 51 | private: 52 | int fd_; 53 | int events_; 54 | int revents_; 55 | bool isInEpoll; // 是否还在epoll的兴趣列表中 56 | char buff_[MAX_BUFFLEN]; 57 | int len_; 58 | EventCallback readCallback_; 59 | EventCallback writeCallback_; 60 | EventCallback closeCallback_; 61 | EventCallback errorCallback_; 62 | }; 63 | -------------------------------------------------------------------------------- /cpp/build/cmake_install.cmake: -------------------------------------------------------------------------------- 1 | # Install script for directory: /home/jmx/project/reactor/cpp 2 | 3 | # Set the install prefix 4 | if(NOT DEFINED CMAKE_INSTALL_PREFIX) 5 | set(CMAKE_INSTALL_PREFIX "/usr/local") 6 | endif() 7 | string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") 8 | 9 | # Set the install configuration name. 10 | if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) 11 | if(BUILD_TYPE) 12 | string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" 13 | CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") 14 | else() 15 | set(CMAKE_INSTALL_CONFIG_NAME "") 16 | endif() 17 | message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") 18 | endif() 19 | 20 | # Set the component getting installed. 21 | if(NOT CMAKE_INSTALL_COMPONENT) 22 | if(COMPONENT) 23 | message(STATUS "Install component: \"${COMPONENT}\"") 24 | set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") 25 | else() 26 | set(CMAKE_INSTALL_COMPONENT) 27 | endif() 28 | endif() 29 | 30 | # Install shared libraries without execute permission? 31 | if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) 32 | set(CMAKE_INSTALL_SO_NO_EXE "1") 33 | endif() 34 | 35 | if(CMAKE_INSTALL_COMPONENT) 36 | set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") 37 | else() 38 | set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") 39 | endif() 40 | 41 | string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT 42 | "${CMAKE_INSTALL_MANIFEST_FILES}") 43 | file(WRITE "/home/jmx/project/reactor/cpp/build/${CMAKE_INSTALL_MANIFEST}" 44 | "${CMAKE_INSTALL_MANIFEST_CONTENT}") 45 | -------------------------------------------------------------------------------- /cpp/build/CMakeFiles/main.dir/CXX.includecache: -------------------------------------------------------------------------------- 1 | #IncludeRegexLine: ^[ ]*#[ ]*(include|import)[ ]*[<"]([^">]+)([">]) 2 | 3 | #IncludeRegexScan: ^.*$ 4 | 5 | #IncludeRegexComplain: ^$ 6 | 7 | #IncludeRegexTransform: 8 | 9 | /home/jmx/project/reactor/cpp/Callback.hh 10 | functional 11 | - 12 | 13 | /home/jmx/project/reactor/cpp/EpollPoller.cc 14 | EpollPoller.hh 15 | /home/jmx/project/reactor/cpp/EpollPoller.hh 16 | Handler.hh 17 | /home/jmx/project/reactor/cpp/Handler.hh 18 | sys/epoll.h 19 | - 20 | unistd.h 21 | - 22 | assert.h 23 | - 24 | 25 | /home/jmx/project/reactor/cpp/EpollPoller.hh 26 | boost/noncopyable.hpp 27 | - 28 | vector 29 | - 30 | sys/epoll.h 31 | - 32 | memory 33 | - 34 | 35 | /home/jmx/project/reactor/cpp/Handler.cc 36 | Handler.hh 37 | /home/jmx/project/reactor/cpp/Handler.hh 38 | sys/epoll.h 39 | - 40 | 41 | /home/jmx/project/reactor/cpp/Handler.hh 42 | iostream 43 | - 44 | boost/noncopyable.hpp 45 | - 46 | Callback.hh 47 | /home/jmx/project/reactor/cpp/Callback.hh 48 | 49 | /home/jmx/project/reactor/cpp/Reactor.cc 50 | Reactor.hh 51 | /home/jmx/project/reactor/cpp/Reactor.hh 52 | EpollPoller.hh 53 | /home/jmx/project/reactor/cpp/EpollPoller.hh 54 | Handler.hh 55 | /home/jmx/project/reactor/cpp/Handler.hh 56 | 57 | /home/jmx/project/reactor/cpp/Reactor.hh 58 | EpollPoller.hh 59 | /home/jmx/project/reactor/cpp/EpollPoller.hh 60 | memory 61 | - 62 | 63 | /home/jmx/project/reactor/cpp/main.cc 64 | Reactor.hh 65 | /home/jmx/project/reactor/cpp/Reactor.hh 66 | Handler.hh 67 | /home/jmx/project/reactor/cpp/Handler.hh 68 | unistd.h 69 | - 70 | sys/socket.h 71 | - 72 | sys/types.h 73 | - 74 | arpa/inet.h 75 | - 76 | string.h 77 | - 78 | iostream 79 | - 80 | vector 81 | - 82 | string 83 | - 84 | map 85 | - 86 | memory 87 | - 88 | functional 89 | - 90 | 91 | -------------------------------------------------------------------------------- /cpp/build/CMakeFiles/3.5.1/CMakeCCompiler.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_C_COMPILER "/usr/bin/cc") 2 | set(CMAKE_C_COMPILER_ARG1 "") 3 | set(CMAKE_C_COMPILER_ID "GNU") 4 | set(CMAKE_C_COMPILER_VERSION "5.4.0") 5 | set(CMAKE_C_COMPILER_WRAPPER "") 6 | set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11") 7 | set(CMAKE_C_COMPILE_FEATURES "c_function_prototypes;c_restrict;c_variadic_macros;c_static_assert") 8 | set(CMAKE_C90_COMPILE_FEATURES "c_function_prototypes") 9 | set(CMAKE_C99_COMPILE_FEATURES "c_restrict;c_variadic_macros") 10 | set(CMAKE_C11_COMPILE_FEATURES "c_static_assert") 11 | 12 | set(CMAKE_C_PLATFORM_ID "Linux") 13 | set(CMAKE_C_SIMULATE_ID "") 14 | set(CMAKE_C_SIMULATE_VERSION "") 15 | 16 | set(CMAKE_AR "/usr/bin/ar") 17 | set(CMAKE_RANLIB "/usr/bin/ranlib") 18 | set(CMAKE_LINKER "/usr/bin/ld") 19 | set(CMAKE_COMPILER_IS_GNUCC 1) 20 | set(CMAKE_C_COMPILER_LOADED 1) 21 | set(CMAKE_C_COMPILER_WORKS TRUE) 22 | set(CMAKE_C_ABI_COMPILED TRUE) 23 | set(CMAKE_COMPILER_IS_MINGW ) 24 | set(CMAKE_COMPILER_IS_CYGWIN ) 25 | if(CMAKE_COMPILER_IS_CYGWIN) 26 | set(CYGWIN 1) 27 | set(UNIX 1) 28 | endif() 29 | 30 | set(CMAKE_C_COMPILER_ENV_VAR "CC") 31 | 32 | if(CMAKE_COMPILER_IS_MINGW) 33 | set(MINGW 1) 34 | endif() 35 | set(CMAKE_C_COMPILER_ID_RUN 1) 36 | set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) 37 | set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) 38 | set(CMAKE_C_LINKER_PREFERENCE 10) 39 | 40 | # Save compiler ABI information. 41 | set(CMAKE_C_SIZEOF_DATA_PTR "8") 42 | set(CMAKE_C_COMPILER_ABI "ELF") 43 | set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") 44 | 45 | if(CMAKE_C_SIZEOF_DATA_PTR) 46 | set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") 47 | endif() 48 | 49 | if(CMAKE_C_COMPILER_ABI) 50 | set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") 51 | endif() 52 | 53 | if(CMAKE_C_LIBRARY_ARCHITECTURE) 54 | set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") 55 | endif() 56 | 57 | set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") 58 | if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) 59 | set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") 60 | endif() 61 | 62 | 63 | 64 | 65 | set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "c") 66 | set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/5;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") 67 | set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") 68 | -------------------------------------------------------------------------------- /cpp/EpollPoller.cc: -------------------------------------------------------------------------------- 1 | //c++ program 2 | //design by >^.^< 3 | //@date 2019-06-13 05:10:05 4 | #include "EpollPoller.hh" 5 | #include "Handler.hh" 6 | 7 | #include 8 | #include 9 | #include 10 | 11 | EpollPoller::EpollPoller() 12 | : activeEventList_(kInitEventListSize) 13 | { 14 | epfd_ = epoll_create1(EPOLL_CLOEXEC); 15 | } 16 | 17 | EpollPoller::~EpollPoller() 18 | { 19 | close(epfd_); 20 | } 21 | 22 | void 23 | EpollPoller::update(Handler* handler) 24 | { 25 | epoll_event epEvent; 26 | epEvent.events = handler->events(); 27 | epEvent.data.ptr = handler; 28 | int op; 29 | if(handler->isInEpoll) 30 | { 31 | op = EPOLL_CTL_MOD; 32 | } 33 | else{ 34 | op = EPOLL_CTL_ADD; 35 | } 36 | handler->isInEpoll = true; 37 | int ret = epoll_ctl(epfd_, op, handler->fd(), &epEvent); 38 | if(ret < 0){ 39 | perror("epoll_ctl ADD"); 40 | printf("epoll_ctl error on fd = %d\n", handler->fd()); 41 | } 42 | else{ 43 | printf("epoll_ctl on fd = %d success\n", handler->fd()); 44 | } 45 | } 46 | 47 | void 48 | EpollPoller::remove(Handler* handler) 49 | { 50 | assert(handler->isInEpoll); 51 | handler->isInEpoll = false; 52 | int op = EPOLL_CTL_DEL; 53 | int ret = epoll_ctl(epfd_, op, handler->fd(), NULL); 54 | if(ret < 0){ 55 | perror("epoll_ctl DEL"); 56 | printf("epoll_ctl error on fd = %d\n", handler->fd()); 57 | } 58 | handler->isInEpoll = false; 59 | } 60 | 61 | std::vector 62 | EpollPoller::fillActiveChannels(int activeNums) 63 | { 64 | std::vector activeEventPtrList; 65 | for(int i = 0; i < activeNums; ++i) 66 | { 67 | Handler *handlerPtr = static_cast(activeEventList_[i].data.ptr); 68 | if(activeEventList_[i].events & EPOLLIN) 69 | { 70 | handlerPtr->revents_ = EPOLLIN; 71 | } 72 | if(activeEventList_[i].events & EPOLLOUT) 73 | { 74 | handlerPtr->revents_ = EPOLLOUT; 75 | } 76 | activeEventPtrList.push_back(handlerPtr); 77 | } 78 | return activeEventPtrList; 79 | } 80 | std::vector 81 | EpollPoller::poll() 82 | { 83 | std::vector activeEventPtrList; 84 | int nreadys = epoll_wait(epfd_, activeEventList_.data(), activeEventList_.size(), -1); 85 | if(nreadys > 0) 86 | { 87 | // 这里需要将就绪的eventList传递到Reactor中 88 | activeEventPtrList = fillActiveChannels(nreadys); 89 | if(nreadys == activeEventList_.size()) 90 | { 91 | activeEventList_.resize(activeEventList_.size() * 2); 92 | } 93 | } 94 | else if(nreadys == 0) 95 | { 96 | // nothing happend 97 | } 98 | else{ 99 | printf("nreadys = %d, error\n", nreadys); 100 | } 101 | return activeEventPtrList; 102 | } 103 | -------------------------------------------------------------------------------- /cpp/build/CMakeFiles/Makefile2: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | # Default target executed when no arguments are given to make. 5 | default_target: all 6 | 7 | .PHONY : default_target 8 | 9 | # The main recursive all target 10 | all: 11 | 12 | .PHONY : all 13 | 14 | # The main recursive preinstall target 15 | preinstall: 16 | 17 | .PHONY : preinstall 18 | 19 | #============================================================================= 20 | # Special targets provided by cmake. 21 | 22 | # Disable implicit rules so canonical targets will work. 23 | .SUFFIXES: 24 | 25 | 26 | # Remove some rules from gmake that .SUFFIXES does not remove. 27 | SUFFIXES = 28 | 29 | .SUFFIXES: .hpux_make_needs_suffix_list 30 | 31 | 32 | # Suppress display of executed commands. 33 | $(VERBOSE).SILENT: 34 | 35 | 36 | # A target that is always out of date. 37 | cmake_force: 38 | 39 | .PHONY : cmake_force 40 | 41 | #============================================================================= 42 | # Set environment variables for the build. 43 | 44 | # The shell in which to execute make rules. 45 | SHELL = /bin/sh 46 | 47 | # The CMake executable. 48 | CMAKE_COMMAND = /usr/bin/cmake 49 | 50 | # The command to remove a file. 51 | RM = /usr/bin/cmake -E remove -f 52 | 53 | # Escaping for special characters. 54 | EQUALS = = 55 | 56 | # The top-level source directory on which CMake was run. 57 | CMAKE_SOURCE_DIR = /home/jmx/project/reactor/cpp 58 | 59 | # The top-level build directory on which CMake was run. 60 | CMAKE_BINARY_DIR = /home/jmx/project/reactor/cpp/build 61 | 62 | #============================================================================= 63 | # Target rules for target CMakeFiles/main.dir 64 | 65 | # All Build rule for target. 66 | CMakeFiles/main.dir/all: 67 | $(MAKE) -f CMakeFiles/main.dir/build.make CMakeFiles/main.dir/depend 68 | $(MAKE) -f CMakeFiles/main.dir/build.make CMakeFiles/main.dir/build 69 | @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/jmx/project/reactor/cpp/build/CMakeFiles --progress-num=1,2,3,4,5 "Built target main" 70 | .PHONY : CMakeFiles/main.dir/all 71 | 72 | # Include target in all. 73 | all: CMakeFiles/main.dir/all 74 | 75 | .PHONY : all 76 | 77 | # Build rule for subdir invocation for target. 78 | CMakeFiles/main.dir/rule: cmake_check_build_system 79 | $(CMAKE_COMMAND) -E cmake_progress_start /home/jmx/project/reactor/cpp/build/CMakeFiles 5 80 | $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/main.dir/all 81 | $(CMAKE_COMMAND) -E cmake_progress_start /home/jmx/project/reactor/cpp/build/CMakeFiles 0 82 | .PHONY : CMakeFiles/main.dir/rule 83 | 84 | # Convenience name for target. 85 | main: CMakeFiles/main.dir/rule 86 | 87 | .PHONY : main 88 | 89 | # clean rule for target. 90 | CMakeFiles/main.dir/clean: 91 | $(MAKE) -f CMakeFiles/main.dir/build.make CMakeFiles/main.dir/clean 92 | .PHONY : CMakeFiles/main.dir/clean 93 | 94 | # clean rule for target. 95 | clean: CMakeFiles/main.dir/clean 96 | 97 | .PHONY : clean 98 | 99 | #============================================================================= 100 | # Special targets to cleanup operation of make. 101 | 102 | # Special rule to run CMake to check the build system integrity. 103 | # No rule that depends on this can have commands that come from listfiles 104 | # because they might be regenerated. 105 | cmake_check_build_system: 106 | $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 107 | .PHONY : cmake_check_build_system 108 | 109 | -------------------------------------------------------------------------------- /cpp/main.cc: -------------------------------------------------------------------------------- 1 | //c++ program 2 | //design by >^.^< 3 | //@date 2019-06-13 04:59:46 4 | #include "Reactor.hh" 5 | #include "Handler.hh" 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | 20 | #define my_error(x, str) \ 21 | do{\ 22 | if(x < 0)\ 23 | { perror(str); exit(-1);}\ 24 | }while(0) 25 | 26 | using namespace std::placeholders; 27 | 28 | class EchoServer 29 | { 30 | public: 31 | EchoServer(int port) 32 | : port_(port) 33 | , base_(new Reactor) 34 | { 35 | } 36 | 37 | void start() 38 | { 39 | startup(); 40 | base_->loop(); 41 | } 42 | void startup() 43 | { 44 | int lfd = socket(AF_INET, SOCK_STREAM | SOCK_NONBLOCK, 0); 45 | my_error(lfd, "socket error"); 46 | auto lHandler = std::make_shared(lfd); 47 | handleList_[lfd] = lHandler; 48 | 49 | int reuse = 1; 50 | setsockopt(lHandler->fd(), SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof reuse); 51 | sockaddr_in addr; 52 | bzero(&addr, sizeof addr); 53 | addr.sin_family = AF_INET; 54 | addr.sin_port = htons(port_); 55 | addr.sin_addr.s_addr = htonl(INADDR_ANY); 56 | int ret = ::bind(lHandler->fd(), (sockaddr*)&addr, sizeof addr); 57 | my_error(ret, "bind error"); 58 | 59 | ret = listen(lHandler->fd(), 16); 60 | my_error(ret, "listen error"); 61 | 62 | lHandler->setReadCallback(std::bind(&EchoServer::accpetConn, this, _1)); 63 | lHandler->enableRead(); 64 | base_->registerHandler(lHandler.get()); 65 | }; 66 | private: 67 | void accpetConn(int fd) 68 | { 69 | printf("in accept\n"); 70 | int cfd = accept4(fd, NULL, NULL, SOCK_NONBLOCK); 71 | my_error(cfd, "accept4"); 72 | auto connHandler = std::make_shared(cfd); 73 | handleList_[cfd] = connHandler; 74 | connHandler->setReadCallback(std::bind(&EchoServer::readdata, this, _1)); 75 | connHandler->enableRead(); 76 | base_->registerHandler(connHandler.get()); 77 | } 78 | 79 | void readdata(int fd) 80 | { 81 | printf("in read\n"); 82 | auto pHandler = handleList_[fd]; 83 | int nbytes = read(fd, pHandler->buff(), MAX_BUFFLEN); 84 | if(nbytes > 0) 85 | { 86 | pHandler->buff()[nbytes] = 0; 87 | printf("%s\n", pHandler->buff()); 88 | pHandler->setLen(nbytes); 89 | pHandler->setWriteCallback(std::bind(&EchoServer::senddata, this, _1)); 90 | pHandler->enableWrite(); 91 | base_->registerHandler(pHandler.get()); 92 | } 93 | else if(nbytes == 0){ 94 | printf("close fd\n"); 95 | ::close(fd); 96 | base_->removeHandler(pHandler.get()); 97 | handleList_.erase(fd); 98 | } 99 | else{ 100 | ::close(fd); 101 | printf("read error\n"); 102 | base_->removeHandler(pHandler.get()); 103 | handleList_.erase(fd); 104 | } 105 | } 106 | 107 | void senddata(int fd) 108 | { 109 | auto pHandler = handleList_[fd]; 110 | int nbytes = write(fd, pHandler->buff(), pHandler->length()); 111 | if(nbytes > 0) 112 | { 113 | pHandler->setReadCallback(std::bind(&EchoServer::readdata, this, _1)); 114 | pHandler->enableRead(); 115 | base_->registerHandler(pHandler.get()); 116 | } 117 | else { 118 | printf("write error\n"); 119 | ::close(fd); 120 | base_->removeHandler(pHandler.get()); 121 | handleList_.erase(fd); 122 | } 123 | } 124 | private: 125 | int port_; 126 | std::string ip_; 127 | std::unique_ptr base_; 128 | std::map> handleList_; 129 | }; 130 | int main() 131 | { 132 | EchoServer server(8888); 133 | server.start(); 134 | } 135 | -------------------------------------------------------------------------------- /cpp/build/CMakeFiles/3.5.1/CMakeCXXCompiler.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_CXX_COMPILER "/usr/bin/c++") 2 | set(CMAKE_CXX_COMPILER_ARG1 "") 3 | set(CMAKE_CXX_COMPILER_ID "GNU") 4 | set(CMAKE_CXX_COMPILER_VERSION "5.4.0") 5 | set(CMAKE_CXX_COMPILER_WRAPPER "") 6 | set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "98") 7 | set(CMAKE_CXX_COMPILE_FEATURES "cxx_template_template_parameters;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") 8 | set(CMAKE_CXX98_COMPILE_FEATURES "cxx_template_template_parameters") 9 | set(CMAKE_CXX11_COMPILE_FEATURES "cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") 10 | set(CMAKE_CXX14_COMPILE_FEATURES "cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") 11 | 12 | set(CMAKE_CXX_PLATFORM_ID "Linux") 13 | set(CMAKE_CXX_SIMULATE_ID "") 14 | set(CMAKE_CXX_SIMULATE_VERSION "") 15 | 16 | set(CMAKE_AR "/usr/bin/ar") 17 | set(CMAKE_RANLIB "/usr/bin/ranlib") 18 | set(CMAKE_LINKER "/usr/bin/ld") 19 | set(CMAKE_COMPILER_IS_GNUCXX 1) 20 | set(CMAKE_CXX_COMPILER_LOADED 1) 21 | set(CMAKE_CXX_COMPILER_WORKS TRUE) 22 | set(CMAKE_CXX_ABI_COMPILED TRUE) 23 | set(CMAKE_COMPILER_IS_MINGW ) 24 | set(CMAKE_COMPILER_IS_CYGWIN ) 25 | if(CMAKE_COMPILER_IS_CYGWIN) 26 | set(CYGWIN 1) 27 | set(UNIX 1) 28 | endif() 29 | 30 | set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") 31 | 32 | if(CMAKE_COMPILER_IS_MINGW) 33 | set(MINGW 1) 34 | endif() 35 | set(CMAKE_CXX_COMPILER_ID_RUN 1) 36 | set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) 37 | set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;mm;CPP) 38 | set(CMAKE_CXX_LINKER_PREFERENCE 30) 39 | set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) 40 | 41 | # Save compiler ABI information. 42 | set(CMAKE_CXX_SIZEOF_DATA_PTR "8") 43 | set(CMAKE_CXX_COMPILER_ABI "ELF") 44 | set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") 45 | 46 | if(CMAKE_CXX_SIZEOF_DATA_PTR) 47 | set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") 48 | endif() 49 | 50 | if(CMAKE_CXX_COMPILER_ABI) 51 | set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") 52 | endif() 53 | 54 | if(CMAKE_CXX_LIBRARY_ARCHITECTURE) 55 | set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") 56 | endif() 57 | 58 | set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") 59 | if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) 60 | set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") 61 | endif() 62 | 63 | 64 | 65 | 66 | set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;c") 67 | set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/5;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") 68 | set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") 69 | -------------------------------------------------------------------------------- /c/reactor.c: -------------------------------------------------------------------------------- 1 | //c++ program 2 | //design by >^.^< 3 | //@date 2019-06-11 19:16:09 4 | 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | 16 | #define MAX_EVENTS 1024 17 | #define BUFFLEN 4096 18 | #define my_error(x, str) \ 19 | do{\ 20 | if(x < 0)\ 21 | { perror(str); exit(-1);}\ 22 | }while(0) 23 | 24 | void recvdata(int fd, int events, void *arg); 25 | void senddata(int fd, int events, void *arg); 26 | typedef void (*Callback_t)(int , int , void*); 27 | struct myevent_s{ 28 | int fd; 29 | int events; 30 | void *arg; 31 | Callback_t call_back; 32 | int status; 33 | char buf[BUFFLEN]; 34 | int len; 35 | long last_active; 36 | }; 37 | 38 | int g_efd; 39 | struct myevent_s g_events[MAX_EVENTS+1]; 40 | 41 | void eventReset(myevent_s *ev) 42 | { 43 | bzero(ev->buf, sizeof ev->buf); 44 | ev->len = 0; 45 | ev->last_active = time(NULL); 46 | } 47 | 48 | void eventSet(myevent_s *ev, int fd, int events, Callback_t call_back, void * arg) 49 | { 50 | ev->fd = fd; 51 | ev->call_back = call_back; 52 | ev->events = events; 53 | ev->arg = arg; 54 | ev->last_active = time(NULL); 55 | return ; 56 | } 57 | 58 | void eventDel(int efd, struct myevent_s* ev) 59 | { 60 | if(ev->status != 1) 61 | return ; 62 | epoll_ctl(efd, EPOLL_CTL_DEL, ev->fd, NULL); 63 | ev->status = 0; 64 | } 65 | void eventAdd(int efd, struct myevent_s* ev) 66 | { 67 | struct epoll_event epv; 68 | bzero(&epv, sizeof epv); 69 | int op; 70 | epv.data.ptr = ev; 71 | epv.events = ev->events; 72 | if(ev->status == 1){ 73 | op = EPOLL_CTL_MOD; 74 | } 75 | else{ 76 | op = EPOLL_CTL_ADD; 77 | ev->status = 1; 78 | } 79 | if(epoll_ctl(efd, op, ev->fd, &epv) < 0) 80 | { 81 | printf("epoll_ctl failed\n"); 82 | } 83 | else{ 84 | printf("epoll_ctl [fd = %d] events[%0x] success\n", ev->fd, ev->events); 85 | } 86 | return ; 87 | } 88 | void senddata(int fd, int events, void *arg) 89 | { 90 | struct myevent_s *ev = (struct myevent_s*) arg; 91 | assert(fd == ev->fd); 92 | printf("fd = %d\n", fd); 93 | int nbytes = write(ev->fd, ev->buf, ev->len); 94 | printf("nbytes = %d\n", nbytes); 95 | eventDel(g_efd, ev); 96 | if(nbytes > 0) 97 | { 98 | eventSet(ev, ev->fd, EPOLLIN, recvdata, ev); 99 | eventAdd(g_efd, ev); 100 | } 101 | else{ 102 | close(ev->fd); 103 | printf("write error\n"); 104 | } 105 | } 106 | void recvdata(int fd, int events, void *arg) 107 | { 108 | struct myevent_s *ev = (struct myevent_s*) arg; 109 | assert(fd == ev->fd); 110 | int nbytes = read(fd, ev->buf, sizeof ev->buf); 111 | //eventDel(g_efd, ev); 112 | if(nbytes > 0) 113 | { 114 | ev->len = nbytes; 115 | ev->buf[nbytes] = 0; 116 | printf("%s\n", ev->buf); 117 | eventSet(ev, ev->fd, EPOLLOUT, senddata, ev); 118 | eventAdd(g_efd, ev); 119 | } 120 | else if(nbytes == 0) 121 | { 122 | close(ev->fd); // close 会直接导致从关注列表remove 123 | printf("fd:%d closed \n", ev->fd); 124 | ev->status = 0; 125 | } 126 | else 127 | { 128 | printf("fd:%d recv error\n", ev->fd); 129 | ev->status = 0; 130 | } 131 | return ; 132 | } 133 | void acceptConn(int fd, int events, void *arg) 134 | { 135 | // 找一个空闲的event 136 | int i = 0; 137 | for(i = 0; i < MAX_EVENTS; ++i) 138 | { 139 | if(g_events[i].status == 0) 140 | { 141 | break; 142 | } 143 | } 144 | if(i == MAX_EVENTS) 145 | { 146 | printf("max events limited\n"); 147 | return; 148 | } 149 | int connfd = accept4(fd, NULL, NULL, SOCK_NONBLOCK); 150 | my_error(connfd, "accept4 error"); 151 | eventSet(&g_events[i], connfd, EPOLLIN, recvdata, &g_events[i]); 152 | eventAdd(g_efd, &g_events[i]); 153 | } 154 | 155 | void initlistensocket(int epfd, unsigned short port) 156 | { 157 | int lfd = socket(AF_INET, SOCK_STREAM | SOCK_NONBLOCK, 0); 158 | my_error(lfd, "socket error"); 159 | 160 | int reuse = 1; 161 | setsockopt(lfd, SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof reuse); 162 | struct sockaddr_in addr; 163 | bzero(&addr, sizeof addr); 164 | addr.sin_family = AF_INET; 165 | addr.sin_port = htons(port); 166 | addr.sin_addr.s_addr = htonl(INADDR_ANY); 167 | int ret = ::bind(lfd, (sockaddr*)&addr, sizeof addr); 168 | my_error(ret, "bind error"); 169 | 170 | ret = listen(lfd, 16); 171 | my_error(ret, "listen error"); 172 | 173 | printf("fd= %d\n", lfd); 174 | eventSet(&g_events[MAX_EVENTS], lfd, EPOLLIN, acceptConn, &g_events[MAX_EVENTS]); 175 | eventAdd(epfd, &g_events[MAX_EVENTS]); 176 | } 177 | 178 | int main() 179 | { 180 | unsigned short port = 8888; 181 | g_efd = epoll_create1(EPOLL_CLOEXEC); 182 | my_error(g_efd, "epoll_create error"); 183 | 184 | initlistensocket(g_efd, port); 185 | struct epoll_event events[MAX_EVENTS+1]; 186 | printf("server running:port[%d]\n", port); 187 | 188 | int checkpos = 0, i; 189 | while(1) 190 | { 191 | // 超时验证 192 | /* 193 | long now = time(NULL); 194 | for(i = 0; i < 100; i++, checkpos++) 195 | { 196 | if(checkpos == MAX_EVENTS) 197 | checkpos = 0; 198 | if(g_events[checkpos].status != 1) 199 | continue; 200 | 201 | long duration = now - g_events[checkpos].last_active; 202 | if(duration >= 60) 203 | { 204 | close(g_events[checkpos].fd); 205 | printf("[fd=%d] timeout\n", g_events[checkpos].fd); 206 | eventDel(g_efd, &g_events[checkpos]); 207 | } 208 | } 209 | */ 210 | 211 | int nfd = epoll_wait(g_efd, events, MAX_EVENTS + 1, 1000); 212 | my_error(nfd, "epoll_wait error"); 213 | for(i = 0; i < nfd; ++i) 214 | { 215 | struct myevent_s *ev = (struct myevent_s *)events[i].data.ptr; 216 | if((events[i].events & EPOLLIN) && (ev->events & EPOLLIN)) 217 | ev->call_back(ev->fd, events[i].events, ev->arg); 218 | if((events[i].events & EPOLLOUT) && (ev->events & EPOLLOUT)) 219 | ev->call_back(ev->fd, events[i].events, ev->arg); 220 | } 221 | } 222 | return 0; 223 | } 224 | -------------------------------------------------------------------------------- /cpp/build/CMakeFiles/Makefile.cmake: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | # The generator used is: 5 | set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") 6 | 7 | # The top level Makefile was generated from the following files: 8 | set(CMAKE_MAKEFILE_DEPENDS 9 | "CMakeCache.txt" 10 | "../CMakeLists.txt" 11 | "CMakeFiles/3.5.1/CMakeCCompiler.cmake" 12 | "CMakeFiles/3.5.1/CMakeCXXCompiler.cmake" 13 | "CMakeFiles/3.5.1/CMakeSystem.cmake" 14 | "CMakeFiles/feature_tests.c" 15 | "CMakeFiles/feature_tests.cxx" 16 | "/usr/share/cmake-3.5/Modules/CMakeCCompiler.cmake.in" 17 | "/usr/share/cmake-3.5/Modules/CMakeCCompilerABI.c" 18 | "/usr/share/cmake-3.5/Modules/CMakeCInformation.cmake" 19 | "/usr/share/cmake-3.5/Modules/CMakeCXXCompiler.cmake.in" 20 | "/usr/share/cmake-3.5/Modules/CMakeCXXCompilerABI.cpp" 21 | "/usr/share/cmake-3.5/Modules/CMakeCXXInformation.cmake" 22 | "/usr/share/cmake-3.5/Modules/CMakeCommonLanguageInclude.cmake" 23 | "/usr/share/cmake-3.5/Modules/CMakeCompilerIdDetection.cmake" 24 | "/usr/share/cmake-3.5/Modules/CMakeDetermineCCompiler.cmake" 25 | "/usr/share/cmake-3.5/Modules/CMakeDetermineCXXCompiler.cmake" 26 | "/usr/share/cmake-3.5/Modules/CMakeDetermineCompileFeatures.cmake" 27 | "/usr/share/cmake-3.5/Modules/CMakeDetermineCompiler.cmake" 28 | "/usr/share/cmake-3.5/Modules/CMakeDetermineCompilerABI.cmake" 29 | "/usr/share/cmake-3.5/Modules/CMakeDetermineCompilerId.cmake" 30 | "/usr/share/cmake-3.5/Modules/CMakeDetermineSystem.cmake" 31 | "/usr/share/cmake-3.5/Modules/CMakeFindBinUtils.cmake" 32 | "/usr/share/cmake-3.5/Modules/CMakeGenericSystem.cmake" 33 | "/usr/share/cmake-3.5/Modules/CMakeLanguageInformation.cmake" 34 | "/usr/share/cmake-3.5/Modules/CMakeParseArguments.cmake" 35 | "/usr/share/cmake-3.5/Modules/CMakeParseImplicitLinkInfo.cmake" 36 | "/usr/share/cmake-3.5/Modules/CMakeSystem.cmake.in" 37 | "/usr/share/cmake-3.5/Modules/CMakeSystemSpecificInformation.cmake" 38 | "/usr/share/cmake-3.5/Modules/CMakeSystemSpecificInitialize.cmake" 39 | "/usr/share/cmake-3.5/Modules/CMakeTestCCompiler.cmake" 40 | "/usr/share/cmake-3.5/Modules/CMakeTestCXXCompiler.cmake" 41 | "/usr/share/cmake-3.5/Modules/CMakeTestCompilerCommon.cmake" 42 | "/usr/share/cmake-3.5/Modules/CMakeUnixFindMake.cmake" 43 | "/usr/share/cmake-3.5/Modules/Compiler/ADSP-DetermineCompiler.cmake" 44 | "/usr/share/cmake-3.5/Modules/Compiler/ARMCC-DetermineCompiler.cmake" 45 | "/usr/share/cmake-3.5/Modules/Compiler/AppleClang-DetermineCompiler.cmake" 46 | "/usr/share/cmake-3.5/Modules/Compiler/Borland-DetermineCompiler.cmake" 47 | "/usr/share/cmake-3.5/Modules/Compiler/Clang-DetermineCompiler.cmake" 48 | "/usr/share/cmake-3.5/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" 49 | "/usr/share/cmake-3.5/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake" 50 | "/usr/share/cmake-3.5/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" 51 | "/usr/share/cmake-3.5/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" 52 | "/usr/share/cmake-3.5/Modules/Compiler/Cray-DetermineCompiler.cmake" 53 | "/usr/share/cmake-3.5/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" 54 | "/usr/share/cmake-3.5/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" 55 | "/usr/share/cmake-3.5/Modules/Compiler/GHS-DetermineCompiler.cmake" 56 | "/usr/share/cmake-3.5/Modules/Compiler/GNU-C-FeatureTests.cmake" 57 | "/usr/share/cmake-3.5/Modules/Compiler/GNU-C.cmake" 58 | "/usr/share/cmake-3.5/Modules/Compiler/GNU-CXX-FeatureTests.cmake" 59 | "/usr/share/cmake-3.5/Modules/Compiler/GNU-CXX.cmake" 60 | "/usr/share/cmake-3.5/Modules/Compiler/GNU-DetermineCompiler.cmake" 61 | "/usr/share/cmake-3.5/Modules/Compiler/GNU.cmake" 62 | "/usr/share/cmake-3.5/Modules/Compiler/HP-C-DetermineCompiler.cmake" 63 | "/usr/share/cmake-3.5/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" 64 | "/usr/share/cmake-3.5/Modules/Compiler/IAR-DetermineCompiler.cmake" 65 | "/usr/share/cmake-3.5/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" 66 | "/usr/share/cmake-3.5/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" 67 | "/usr/share/cmake-3.5/Modules/Compiler/Intel-DetermineCompiler.cmake" 68 | "/usr/share/cmake-3.5/Modules/Compiler/MIPSpro-DetermineCompiler.cmake" 69 | "/usr/share/cmake-3.5/Modules/Compiler/MSVC-DetermineCompiler.cmake" 70 | "/usr/share/cmake-3.5/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" 71 | "/usr/share/cmake-3.5/Modules/Compiler/PGI-DetermineCompiler.cmake" 72 | "/usr/share/cmake-3.5/Modules/Compiler/PathScale-DetermineCompiler.cmake" 73 | "/usr/share/cmake-3.5/Modules/Compiler/SCO-DetermineCompiler.cmake" 74 | "/usr/share/cmake-3.5/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" 75 | "/usr/share/cmake-3.5/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" 76 | "/usr/share/cmake-3.5/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" 77 | "/usr/share/cmake-3.5/Modules/Compiler/TI-DetermineCompiler.cmake" 78 | "/usr/share/cmake-3.5/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" 79 | "/usr/share/cmake-3.5/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" 80 | "/usr/share/cmake-3.5/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" 81 | "/usr/share/cmake-3.5/Modules/Compiler/Watcom-DetermineCompiler.cmake" 82 | "/usr/share/cmake-3.5/Modules/Compiler/XL-C-DetermineCompiler.cmake" 83 | "/usr/share/cmake-3.5/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" 84 | "/usr/share/cmake-3.5/Modules/Compiler/zOS-C-DetermineCompiler.cmake" 85 | "/usr/share/cmake-3.5/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" 86 | "/usr/share/cmake-3.5/Modules/Internal/FeatureTesting.cmake" 87 | "/usr/share/cmake-3.5/Modules/MultiArchCross.cmake" 88 | "/usr/share/cmake-3.5/Modules/Platform/Linux-CXX.cmake" 89 | "/usr/share/cmake-3.5/Modules/Platform/Linux-GNU-C.cmake" 90 | "/usr/share/cmake-3.5/Modules/Platform/Linux-GNU-CXX.cmake" 91 | "/usr/share/cmake-3.5/Modules/Platform/Linux-GNU.cmake" 92 | "/usr/share/cmake-3.5/Modules/Platform/Linux.cmake" 93 | "/usr/share/cmake-3.5/Modules/Platform/UnixPaths.cmake" 94 | ) 95 | 96 | # The corresponding makefile is: 97 | set(CMAKE_MAKEFILE_OUTPUTS 98 | "Makefile" 99 | "CMakeFiles/cmake.check_cache" 100 | ) 101 | 102 | # Byproducts of CMake generate step: 103 | set(CMAKE_MAKEFILE_PRODUCTS 104 | "CMakeFiles/3.5.1/CMakeSystem.cmake" 105 | "CMakeFiles/3.5.1/CMakeCCompiler.cmake" 106 | "CMakeFiles/3.5.1/CMakeCXXCompiler.cmake" 107 | "CMakeFiles/3.5.1/CMakeCCompiler.cmake" 108 | "CMakeFiles/3.5.1/CMakeCXXCompiler.cmake" 109 | "CMakeFiles/CMakeDirectoryInformation.cmake" 110 | ) 111 | 112 | # Dependency information for all targets: 113 | set(CMAKE_DEPEND_INFO_FILES 114 | "CMakeFiles/main.dir/DependInfo.cmake" 115 | ) 116 | -------------------------------------------------------------------------------- /cpp/build/Makefile: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | # Default target executed when no arguments are given to make. 5 | default_target: all 6 | 7 | .PHONY : default_target 8 | 9 | # Allow only one "make -f Makefile2" at a time, but pass parallelism. 10 | .NOTPARALLEL: 11 | 12 | 13 | #============================================================================= 14 | # Special targets provided by cmake. 15 | 16 | # Disable implicit rules so canonical targets will work. 17 | .SUFFIXES: 18 | 19 | 20 | # Remove some rules from gmake that .SUFFIXES does not remove. 21 | SUFFIXES = 22 | 23 | .SUFFIXES: .hpux_make_needs_suffix_list 24 | 25 | 26 | # Suppress display of executed commands. 27 | $(VERBOSE).SILENT: 28 | 29 | 30 | # A target that is always out of date. 31 | cmake_force: 32 | 33 | .PHONY : cmake_force 34 | 35 | #============================================================================= 36 | # Set environment variables for the build. 37 | 38 | # The shell in which to execute make rules. 39 | SHELL = /bin/sh 40 | 41 | # The CMake executable. 42 | CMAKE_COMMAND = /usr/bin/cmake 43 | 44 | # The command to remove a file. 45 | RM = /usr/bin/cmake -E remove -f 46 | 47 | # Escaping for special characters. 48 | EQUALS = = 49 | 50 | # The top-level source directory on which CMake was run. 51 | CMAKE_SOURCE_DIR = /home/jmx/project/reactor/cpp 52 | 53 | # The top-level build directory on which CMake was run. 54 | CMAKE_BINARY_DIR = /home/jmx/project/reactor/cpp/build 55 | 56 | #============================================================================= 57 | # Targets provided globally by CMake. 58 | 59 | # Special rule for the target rebuild_cache 60 | rebuild_cache: 61 | @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." 62 | /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) 63 | .PHONY : rebuild_cache 64 | 65 | # Special rule for the target rebuild_cache 66 | rebuild_cache/fast: rebuild_cache 67 | 68 | .PHONY : rebuild_cache/fast 69 | 70 | # Special rule for the target edit_cache 71 | edit_cache: 72 | @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..." 73 | /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. 74 | .PHONY : edit_cache 75 | 76 | # Special rule for the target edit_cache 77 | edit_cache/fast: edit_cache 78 | 79 | .PHONY : edit_cache/fast 80 | 81 | # The main all target 82 | all: cmake_check_build_system 83 | $(CMAKE_COMMAND) -E cmake_progress_start /home/jmx/project/reactor/cpp/build/CMakeFiles /home/jmx/project/reactor/cpp/build/CMakeFiles/progress.marks 84 | $(MAKE) -f CMakeFiles/Makefile2 all 85 | $(CMAKE_COMMAND) -E cmake_progress_start /home/jmx/project/reactor/cpp/build/CMakeFiles 0 86 | .PHONY : all 87 | 88 | # The main clean target 89 | clean: 90 | $(MAKE) -f CMakeFiles/Makefile2 clean 91 | .PHONY : clean 92 | 93 | # The main clean target 94 | clean/fast: clean 95 | 96 | .PHONY : clean/fast 97 | 98 | # Prepare targets for installation. 99 | preinstall: all 100 | $(MAKE) -f CMakeFiles/Makefile2 preinstall 101 | .PHONY : preinstall 102 | 103 | # Prepare targets for installation. 104 | preinstall/fast: 105 | $(MAKE) -f CMakeFiles/Makefile2 preinstall 106 | .PHONY : preinstall/fast 107 | 108 | # clear depends 109 | depend: 110 | $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 111 | .PHONY : depend 112 | 113 | #============================================================================= 114 | # Target rules for targets named main 115 | 116 | # Build rule for target. 117 | main: cmake_check_build_system 118 | $(MAKE) -f CMakeFiles/Makefile2 main 119 | .PHONY : main 120 | 121 | # fast build rule for target. 122 | main/fast: 123 | $(MAKE) -f CMakeFiles/main.dir/build.make CMakeFiles/main.dir/build 124 | .PHONY : main/fast 125 | 126 | EpollPoller.o: EpollPoller.cc.o 127 | 128 | .PHONY : EpollPoller.o 129 | 130 | # target to build an object file 131 | EpollPoller.cc.o: 132 | $(MAKE) -f CMakeFiles/main.dir/build.make CMakeFiles/main.dir/EpollPoller.cc.o 133 | .PHONY : EpollPoller.cc.o 134 | 135 | EpollPoller.i: EpollPoller.cc.i 136 | 137 | .PHONY : EpollPoller.i 138 | 139 | # target to preprocess a source file 140 | EpollPoller.cc.i: 141 | $(MAKE) -f CMakeFiles/main.dir/build.make CMakeFiles/main.dir/EpollPoller.cc.i 142 | .PHONY : EpollPoller.cc.i 143 | 144 | EpollPoller.s: EpollPoller.cc.s 145 | 146 | .PHONY : EpollPoller.s 147 | 148 | # target to generate assembly for a file 149 | EpollPoller.cc.s: 150 | $(MAKE) -f CMakeFiles/main.dir/build.make CMakeFiles/main.dir/EpollPoller.cc.s 151 | .PHONY : EpollPoller.cc.s 152 | 153 | Handler.o: Handler.cc.o 154 | 155 | .PHONY : Handler.o 156 | 157 | # target to build an object file 158 | Handler.cc.o: 159 | $(MAKE) -f CMakeFiles/main.dir/build.make CMakeFiles/main.dir/Handler.cc.o 160 | .PHONY : Handler.cc.o 161 | 162 | Handler.i: Handler.cc.i 163 | 164 | .PHONY : Handler.i 165 | 166 | # target to preprocess a source file 167 | Handler.cc.i: 168 | $(MAKE) -f CMakeFiles/main.dir/build.make CMakeFiles/main.dir/Handler.cc.i 169 | .PHONY : Handler.cc.i 170 | 171 | Handler.s: Handler.cc.s 172 | 173 | .PHONY : Handler.s 174 | 175 | # target to generate assembly for a file 176 | Handler.cc.s: 177 | $(MAKE) -f CMakeFiles/main.dir/build.make CMakeFiles/main.dir/Handler.cc.s 178 | .PHONY : Handler.cc.s 179 | 180 | Reactor.o: Reactor.cc.o 181 | 182 | .PHONY : Reactor.o 183 | 184 | # target to build an object file 185 | Reactor.cc.o: 186 | $(MAKE) -f CMakeFiles/main.dir/build.make CMakeFiles/main.dir/Reactor.cc.o 187 | .PHONY : Reactor.cc.o 188 | 189 | Reactor.i: Reactor.cc.i 190 | 191 | .PHONY : Reactor.i 192 | 193 | # target to preprocess a source file 194 | Reactor.cc.i: 195 | $(MAKE) -f CMakeFiles/main.dir/build.make CMakeFiles/main.dir/Reactor.cc.i 196 | .PHONY : Reactor.cc.i 197 | 198 | Reactor.s: Reactor.cc.s 199 | 200 | .PHONY : Reactor.s 201 | 202 | # target to generate assembly for a file 203 | Reactor.cc.s: 204 | $(MAKE) -f CMakeFiles/main.dir/build.make CMakeFiles/main.dir/Reactor.cc.s 205 | .PHONY : Reactor.cc.s 206 | 207 | main.o: main.cc.o 208 | 209 | .PHONY : main.o 210 | 211 | # target to build an object file 212 | main.cc.o: 213 | $(MAKE) -f CMakeFiles/main.dir/build.make CMakeFiles/main.dir/main.cc.o 214 | .PHONY : main.cc.o 215 | 216 | main.i: main.cc.i 217 | 218 | .PHONY : main.i 219 | 220 | # target to preprocess a source file 221 | main.cc.i: 222 | $(MAKE) -f CMakeFiles/main.dir/build.make CMakeFiles/main.dir/main.cc.i 223 | .PHONY : main.cc.i 224 | 225 | main.s: main.cc.s 226 | 227 | .PHONY : main.s 228 | 229 | # target to generate assembly for a file 230 | main.cc.s: 231 | $(MAKE) -f CMakeFiles/main.dir/build.make CMakeFiles/main.dir/main.cc.s 232 | .PHONY : main.cc.s 233 | 234 | # Help Target 235 | help: 236 | @echo "The following are some of the valid targets for this Makefile:" 237 | @echo "... all (the default if no target is provided)" 238 | @echo "... clean" 239 | @echo "... depend" 240 | @echo "... rebuild_cache" 241 | @echo "... edit_cache" 242 | @echo "... main" 243 | @echo "... EpollPoller.o" 244 | @echo "... EpollPoller.i" 245 | @echo "... EpollPoller.s" 246 | @echo "... Handler.o" 247 | @echo "... Handler.i" 248 | @echo "... Handler.s" 249 | @echo "... Reactor.o" 250 | @echo "... Reactor.i" 251 | @echo "... Reactor.s" 252 | @echo "... main.o" 253 | @echo "... main.i" 254 | @echo "... main.s" 255 | .PHONY : help 256 | 257 | 258 | 259 | #============================================================================= 260 | # Special targets to cleanup operation of make. 261 | 262 | # Special rule to run CMake to check the build system integrity. 263 | # No rule that depends on this can have commands that come from listfiles 264 | # because they might be regenerated. 265 | cmake_check_build_system: 266 | $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 267 | .PHONY : cmake_check_build_system 268 | 269 | -------------------------------------------------------------------------------- /cpp/build/CMakeFiles/main.dir/build.make: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | # Delete rule output on recipe failure. 5 | .DELETE_ON_ERROR: 6 | 7 | 8 | #============================================================================= 9 | # Special targets provided by cmake. 10 | 11 | # Disable implicit rules so canonical targets will work. 12 | .SUFFIXES: 13 | 14 | 15 | # Remove some rules from gmake that .SUFFIXES does not remove. 16 | SUFFIXES = 17 | 18 | .SUFFIXES: .hpux_make_needs_suffix_list 19 | 20 | 21 | # Suppress display of executed commands. 22 | $(VERBOSE).SILENT: 23 | 24 | 25 | # A target that is always out of date. 26 | cmake_force: 27 | 28 | .PHONY : cmake_force 29 | 30 | #============================================================================= 31 | # Set environment variables for the build. 32 | 33 | # The shell in which to execute make rules. 34 | SHELL = /bin/sh 35 | 36 | # The CMake executable. 37 | CMAKE_COMMAND = /usr/bin/cmake 38 | 39 | # The command to remove a file. 40 | RM = /usr/bin/cmake -E remove -f 41 | 42 | # Escaping for special characters. 43 | EQUALS = = 44 | 45 | # The top-level source directory on which CMake was run. 46 | CMAKE_SOURCE_DIR = /home/jmx/project/reactor/cpp 47 | 48 | # The top-level build directory on which CMake was run. 49 | CMAKE_BINARY_DIR = /home/jmx/project/reactor/cpp/build 50 | 51 | # Include any dependencies generated for this target. 52 | include CMakeFiles/main.dir/depend.make 53 | 54 | # Include the progress variables for this target. 55 | include CMakeFiles/main.dir/progress.make 56 | 57 | # Include the compile flags for this target's objects. 58 | include CMakeFiles/main.dir/flags.make 59 | 60 | CMakeFiles/main.dir/main.cc.o: CMakeFiles/main.dir/flags.make 61 | CMakeFiles/main.dir/main.cc.o: ../main.cc 62 | @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/jmx/project/reactor/cpp/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/main.dir/main.cc.o" 63 | /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/main.dir/main.cc.o -c /home/jmx/project/reactor/cpp/main.cc 64 | 65 | CMakeFiles/main.dir/main.cc.i: cmake_force 66 | @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/main.dir/main.cc.i" 67 | /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/jmx/project/reactor/cpp/main.cc > CMakeFiles/main.dir/main.cc.i 68 | 69 | CMakeFiles/main.dir/main.cc.s: cmake_force 70 | @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/main.dir/main.cc.s" 71 | /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/jmx/project/reactor/cpp/main.cc -o CMakeFiles/main.dir/main.cc.s 72 | 73 | CMakeFiles/main.dir/main.cc.o.requires: 74 | 75 | .PHONY : CMakeFiles/main.dir/main.cc.o.requires 76 | 77 | CMakeFiles/main.dir/main.cc.o.provides: CMakeFiles/main.dir/main.cc.o.requires 78 | $(MAKE) -f CMakeFiles/main.dir/build.make CMakeFiles/main.dir/main.cc.o.provides.build 79 | .PHONY : CMakeFiles/main.dir/main.cc.o.provides 80 | 81 | CMakeFiles/main.dir/main.cc.o.provides.build: CMakeFiles/main.dir/main.cc.o 82 | 83 | 84 | CMakeFiles/main.dir/Handler.cc.o: CMakeFiles/main.dir/flags.make 85 | CMakeFiles/main.dir/Handler.cc.o: ../Handler.cc 86 | @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/jmx/project/reactor/cpp/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object CMakeFiles/main.dir/Handler.cc.o" 87 | /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/main.dir/Handler.cc.o -c /home/jmx/project/reactor/cpp/Handler.cc 88 | 89 | CMakeFiles/main.dir/Handler.cc.i: cmake_force 90 | @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/main.dir/Handler.cc.i" 91 | /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/jmx/project/reactor/cpp/Handler.cc > CMakeFiles/main.dir/Handler.cc.i 92 | 93 | CMakeFiles/main.dir/Handler.cc.s: cmake_force 94 | @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/main.dir/Handler.cc.s" 95 | /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/jmx/project/reactor/cpp/Handler.cc -o CMakeFiles/main.dir/Handler.cc.s 96 | 97 | CMakeFiles/main.dir/Handler.cc.o.requires: 98 | 99 | .PHONY : CMakeFiles/main.dir/Handler.cc.o.requires 100 | 101 | CMakeFiles/main.dir/Handler.cc.o.provides: CMakeFiles/main.dir/Handler.cc.o.requires 102 | $(MAKE) -f CMakeFiles/main.dir/build.make CMakeFiles/main.dir/Handler.cc.o.provides.build 103 | .PHONY : CMakeFiles/main.dir/Handler.cc.o.provides 104 | 105 | CMakeFiles/main.dir/Handler.cc.o.provides.build: CMakeFiles/main.dir/Handler.cc.o 106 | 107 | 108 | CMakeFiles/main.dir/EpollPoller.cc.o: CMakeFiles/main.dir/flags.make 109 | CMakeFiles/main.dir/EpollPoller.cc.o: ../EpollPoller.cc 110 | @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/jmx/project/reactor/cpp/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object CMakeFiles/main.dir/EpollPoller.cc.o" 111 | /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/main.dir/EpollPoller.cc.o -c /home/jmx/project/reactor/cpp/EpollPoller.cc 112 | 113 | CMakeFiles/main.dir/EpollPoller.cc.i: cmake_force 114 | @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/main.dir/EpollPoller.cc.i" 115 | /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/jmx/project/reactor/cpp/EpollPoller.cc > CMakeFiles/main.dir/EpollPoller.cc.i 116 | 117 | CMakeFiles/main.dir/EpollPoller.cc.s: cmake_force 118 | @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/main.dir/EpollPoller.cc.s" 119 | /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/jmx/project/reactor/cpp/EpollPoller.cc -o CMakeFiles/main.dir/EpollPoller.cc.s 120 | 121 | CMakeFiles/main.dir/EpollPoller.cc.o.requires: 122 | 123 | .PHONY : CMakeFiles/main.dir/EpollPoller.cc.o.requires 124 | 125 | CMakeFiles/main.dir/EpollPoller.cc.o.provides: CMakeFiles/main.dir/EpollPoller.cc.o.requires 126 | $(MAKE) -f CMakeFiles/main.dir/build.make CMakeFiles/main.dir/EpollPoller.cc.o.provides.build 127 | .PHONY : CMakeFiles/main.dir/EpollPoller.cc.o.provides 128 | 129 | CMakeFiles/main.dir/EpollPoller.cc.o.provides.build: CMakeFiles/main.dir/EpollPoller.cc.o 130 | 131 | 132 | CMakeFiles/main.dir/Reactor.cc.o: CMakeFiles/main.dir/flags.make 133 | CMakeFiles/main.dir/Reactor.cc.o: ../Reactor.cc 134 | @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/jmx/project/reactor/cpp/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object CMakeFiles/main.dir/Reactor.cc.o" 135 | /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/main.dir/Reactor.cc.o -c /home/jmx/project/reactor/cpp/Reactor.cc 136 | 137 | CMakeFiles/main.dir/Reactor.cc.i: cmake_force 138 | @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/main.dir/Reactor.cc.i" 139 | /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/jmx/project/reactor/cpp/Reactor.cc > CMakeFiles/main.dir/Reactor.cc.i 140 | 141 | CMakeFiles/main.dir/Reactor.cc.s: cmake_force 142 | @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/main.dir/Reactor.cc.s" 143 | /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/jmx/project/reactor/cpp/Reactor.cc -o CMakeFiles/main.dir/Reactor.cc.s 144 | 145 | CMakeFiles/main.dir/Reactor.cc.o.requires: 146 | 147 | .PHONY : CMakeFiles/main.dir/Reactor.cc.o.requires 148 | 149 | CMakeFiles/main.dir/Reactor.cc.o.provides: CMakeFiles/main.dir/Reactor.cc.o.requires 150 | $(MAKE) -f CMakeFiles/main.dir/build.make CMakeFiles/main.dir/Reactor.cc.o.provides.build 151 | .PHONY : CMakeFiles/main.dir/Reactor.cc.o.provides 152 | 153 | CMakeFiles/main.dir/Reactor.cc.o.provides.build: CMakeFiles/main.dir/Reactor.cc.o 154 | 155 | 156 | # Object files for target main 157 | main_OBJECTS = \ 158 | "CMakeFiles/main.dir/main.cc.o" \ 159 | "CMakeFiles/main.dir/Handler.cc.o" \ 160 | "CMakeFiles/main.dir/EpollPoller.cc.o" \ 161 | "CMakeFiles/main.dir/Reactor.cc.o" 162 | 163 | # External object files for target main 164 | main_EXTERNAL_OBJECTS = 165 | 166 | ../bin/main: CMakeFiles/main.dir/main.cc.o 167 | ../bin/main: CMakeFiles/main.dir/Handler.cc.o 168 | ../bin/main: CMakeFiles/main.dir/EpollPoller.cc.o 169 | ../bin/main: CMakeFiles/main.dir/Reactor.cc.o 170 | ../bin/main: CMakeFiles/main.dir/build.make 171 | ../bin/main: CMakeFiles/main.dir/link.txt 172 | @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/jmx/project/reactor/cpp/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Linking CXX executable ../bin/main" 173 | $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/main.dir/link.txt --verbose=$(VERBOSE) 174 | 175 | # Rule to build all files generated by this target. 176 | CMakeFiles/main.dir/build: ../bin/main 177 | 178 | .PHONY : CMakeFiles/main.dir/build 179 | 180 | CMakeFiles/main.dir/requires: CMakeFiles/main.dir/main.cc.o.requires 181 | CMakeFiles/main.dir/requires: CMakeFiles/main.dir/Handler.cc.o.requires 182 | CMakeFiles/main.dir/requires: CMakeFiles/main.dir/EpollPoller.cc.o.requires 183 | CMakeFiles/main.dir/requires: CMakeFiles/main.dir/Reactor.cc.o.requires 184 | 185 | .PHONY : CMakeFiles/main.dir/requires 186 | 187 | CMakeFiles/main.dir/clean: 188 | $(CMAKE_COMMAND) -P CMakeFiles/main.dir/cmake_clean.cmake 189 | .PHONY : CMakeFiles/main.dir/clean 190 | 191 | CMakeFiles/main.dir/depend: 192 | cd /home/jmx/project/reactor/cpp/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/jmx/project/reactor/cpp /home/jmx/project/reactor/cpp /home/jmx/project/reactor/cpp/build /home/jmx/project/reactor/cpp/build /home/jmx/project/reactor/cpp/build/CMakeFiles/main.dir/DependInfo.cmake --color=$(COLOR) 193 | .PHONY : CMakeFiles/main.dir/depend 194 | 195 | -------------------------------------------------------------------------------- /cpp/build/CMakeFiles/feature_tests.cxx: -------------------------------------------------------------------------------- 1 | 2 | const char features[] = {"\n" 3 | "CXX_FEATURE:" 4 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L 5 | "1" 6 | #else 7 | "0" 8 | #endif 9 | "cxx_aggregate_default_initializers\n" 10 | "CXX_FEATURE:" 11 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L 12 | "1" 13 | #else 14 | "0" 15 | #endif 16 | "cxx_alias_templates\n" 17 | "CXX_FEATURE:" 18 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L 19 | "1" 20 | #else 21 | "0" 22 | #endif 23 | "cxx_alignas\n" 24 | "CXX_FEATURE:" 25 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L 26 | "1" 27 | #else 28 | "0" 29 | #endif 30 | "cxx_alignof\n" 31 | "CXX_FEATURE:" 32 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L 33 | "1" 34 | #else 35 | "0" 36 | #endif 37 | "cxx_attributes\n" 38 | "CXX_FEATURE:" 39 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L 40 | "1" 41 | #else 42 | "0" 43 | #endif 44 | "cxx_attribute_deprecated\n" 45 | "CXX_FEATURE:" 46 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) 47 | "1" 48 | #else 49 | "0" 50 | #endif 51 | "cxx_auto_type\n" 52 | "CXX_FEATURE:" 53 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L 54 | "1" 55 | #else 56 | "0" 57 | #endif 58 | "cxx_binary_literals\n" 59 | "CXX_FEATURE:" 60 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) 61 | "1" 62 | #else 63 | "0" 64 | #endif 65 | "cxx_constexpr\n" 66 | "CXX_FEATURE:" 67 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L 68 | "1" 69 | #else 70 | "0" 71 | #endif 72 | "cxx_contextual_conversions\n" 73 | "CXX_FEATURE:" 74 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) 75 | "1" 76 | #else 77 | "0" 78 | #endif 79 | "cxx_decltype\n" 80 | "CXX_FEATURE:" 81 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L 82 | "1" 83 | #else 84 | "0" 85 | #endif 86 | "cxx_decltype_auto\n" 87 | "CXX_FEATURE:" 88 | #if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L 89 | "1" 90 | #else 91 | "0" 92 | #endif 93 | "cxx_decltype_incomplete_return_types\n" 94 | "CXX_FEATURE:" 95 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) 96 | "1" 97 | #else 98 | "0" 99 | #endif 100 | "cxx_default_function_template_args\n" 101 | "CXX_FEATURE:" 102 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) 103 | "1" 104 | #else 105 | "0" 106 | #endif 107 | "cxx_defaulted_functions\n" 108 | "CXX_FEATURE:" 109 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) 110 | "1" 111 | #else 112 | "0" 113 | #endif 114 | "cxx_defaulted_move_initializers\n" 115 | "CXX_FEATURE:" 116 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L 117 | "1" 118 | #else 119 | "0" 120 | #endif 121 | "cxx_delegating_constructors\n" 122 | "CXX_FEATURE:" 123 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) 124 | "1" 125 | #else 126 | "0" 127 | #endif 128 | "cxx_deleted_functions\n" 129 | "CXX_FEATURE:" 130 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L 131 | "1" 132 | #else 133 | "0" 134 | #endif 135 | "cxx_digit_separators\n" 136 | "CXX_FEATURE:" 137 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) 138 | "1" 139 | #else 140 | "0" 141 | #endif 142 | "cxx_enum_forward_declarations\n" 143 | "CXX_FEATURE:" 144 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) 145 | "1" 146 | #else 147 | "0" 148 | #endif 149 | "cxx_explicit_conversions\n" 150 | "CXX_FEATURE:" 151 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L 152 | "1" 153 | #else 154 | "0" 155 | #endif 156 | "cxx_extended_friend_declarations\n" 157 | "CXX_FEATURE:" 158 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) 159 | "1" 160 | #else 161 | "0" 162 | #endif 163 | "cxx_extern_templates\n" 164 | "CXX_FEATURE:" 165 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L 166 | "1" 167 | #else 168 | "0" 169 | #endif 170 | "cxx_final\n" 171 | "CXX_FEATURE:" 172 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) 173 | "1" 174 | #else 175 | "0" 176 | #endif 177 | "cxx_func_identifier\n" 178 | "CXX_FEATURE:" 179 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) 180 | "1" 181 | #else 182 | "0" 183 | #endif 184 | "cxx_generalized_initializers\n" 185 | "CXX_FEATURE:" 186 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L 187 | "1" 188 | #else 189 | "0" 190 | #endif 191 | "cxx_generic_lambdas\n" 192 | "CXX_FEATURE:" 193 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L 194 | "1" 195 | #else 196 | "0" 197 | #endif 198 | "cxx_inheriting_constructors\n" 199 | "CXX_FEATURE:" 200 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) 201 | "1" 202 | #else 203 | "0" 204 | #endif 205 | "cxx_inline_namespaces\n" 206 | "CXX_FEATURE:" 207 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) 208 | "1" 209 | #else 210 | "0" 211 | #endif 212 | "cxx_lambdas\n" 213 | "CXX_FEATURE:" 214 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L 215 | "1" 216 | #else 217 | "0" 218 | #endif 219 | "cxx_lambda_init_captures\n" 220 | "CXX_FEATURE:" 221 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) 222 | "1" 223 | #else 224 | "0" 225 | #endif 226 | "cxx_local_type_template_args\n" 227 | "CXX_FEATURE:" 228 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) 229 | "1" 230 | #else 231 | "0" 232 | #endif 233 | "cxx_long_long_type\n" 234 | "CXX_FEATURE:" 235 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) 236 | "1" 237 | #else 238 | "0" 239 | #endif 240 | "cxx_noexcept\n" 241 | "CXX_FEATURE:" 242 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L 243 | "1" 244 | #else 245 | "0" 246 | #endif 247 | "cxx_nonstatic_member_init\n" 248 | "CXX_FEATURE:" 249 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) 250 | "1" 251 | #else 252 | "0" 253 | #endif 254 | "cxx_nullptr\n" 255 | "CXX_FEATURE:" 256 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L 257 | "1" 258 | #else 259 | "0" 260 | #endif 261 | "cxx_override\n" 262 | "CXX_FEATURE:" 263 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) 264 | "1" 265 | #else 266 | "0" 267 | #endif 268 | "cxx_range_for\n" 269 | "CXX_FEATURE:" 270 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) 271 | "1" 272 | #else 273 | "0" 274 | #endif 275 | "cxx_raw_string_literals\n" 276 | "CXX_FEATURE:" 277 | #if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L 278 | "1" 279 | #else 280 | "0" 281 | #endif 282 | "cxx_reference_qualified_functions\n" 283 | "CXX_FEATURE:" 284 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L 285 | "1" 286 | #else 287 | "0" 288 | #endif 289 | "cxx_relaxed_constexpr\n" 290 | "CXX_FEATURE:" 291 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L 292 | "1" 293 | #else 294 | "0" 295 | #endif 296 | "cxx_return_type_deduction\n" 297 | "CXX_FEATURE:" 298 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) 299 | "1" 300 | #else 301 | "0" 302 | #endif 303 | "cxx_right_angle_brackets\n" 304 | "CXX_FEATURE:" 305 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) 306 | "1" 307 | #else 308 | "0" 309 | #endif 310 | "cxx_rvalue_references\n" 311 | "CXX_FEATURE:" 312 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) 313 | "1" 314 | #else 315 | "0" 316 | #endif 317 | "cxx_sizeof_member\n" 318 | "CXX_FEATURE:" 319 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) 320 | "1" 321 | #else 322 | "0" 323 | #endif 324 | "cxx_static_assert\n" 325 | "CXX_FEATURE:" 326 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) 327 | "1" 328 | #else 329 | "0" 330 | #endif 331 | "cxx_strong_enums\n" 332 | "CXX_FEATURE:" 333 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && __cplusplus 334 | "1" 335 | #else 336 | "0" 337 | #endif 338 | "cxx_template_template_parameters\n" 339 | "CXX_FEATURE:" 340 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L 341 | "1" 342 | #else 343 | "0" 344 | #endif 345 | "cxx_thread_local\n" 346 | "CXX_FEATURE:" 347 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) 348 | "1" 349 | #else 350 | "0" 351 | #endif 352 | "cxx_trailing_return_types\n" 353 | "CXX_FEATURE:" 354 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) 355 | "1" 356 | #else 357 | "0" 358 | #endif 359 | "cxx_unicode_literals\n" 360 | "CXX_FEATURE:" 361 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) 362 | "1" 363 | #else 364 | "0" 365 | #endif 366 | "cxx_uniform_initialization\n" 367 | "CXX_FEATURE:" 368 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) 369 | "1" 370 | #else 371 | "0" 372 | #endif 373 | "cxx_unrestricted_unions\n" 374 | "CXX_FEATURE:" 375 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L 376 | "1" 377 | #else 378 | "0" 379 | #endif 380 | "cxx_user_literals\n" 381 | "CXX_FEATURE:" 382 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L 383 | "1" 384 | #else 385 | "0" 386 | #endif 387 | "cxx_variable_templates\n" 388 | "CXX_FEATURE:" 389 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) 390 | "1" 391 | #else 392 | "0" 393 | #endif 394 | "cxx_variadic_macros\n" 395 | "CXX_FEATURE:" 396 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) 397 | "1" 398 | #else 399 | "0" 400 | #endif 401 | "cxx_variadic_templates\n" 402 | 403 | }; 404 | 405 | int main(int argc, char** argv) { (void)argv; return features[argc]; } 406 | -------------------------------------------------------------------------------- /cpp/build/CMakeCache.txt: -------------------------------------------------------------------------------- 1 | # This is the CMakeCache file. 2 | # For build in directory: /home/jmx/project/reactor/cpp/build 3 | # It was generated by CMake: /usr/bin/cmake 4 | # You can edit this file to change values found and used by cmake. 5 | # If you do not want to change any of the values, simply exit the editor. 6 | # If you do want to change a value, simply edit, save, and exit the editor. 7 | # The syntax for the file is as follows: 8 | # KEY:TYPE=VALUE 9 | # KEY is the name of a variable in the cache. 10 | # TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. 11 | # VALUE is the current value for the KEY. 12 | 13 | ######################## 14 | # EXTERNAL cache entries 15 | ######################## 16 | 17 | //Path to a program. 18 | CMAKE_AR:FILEPATH=/usr/bin/ar 19 | 20 | //Choose the type of build, options are: None(CMAKE_CXX_FLAGS or 21 | // CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. 22 | CMAKE_BUILD_TYPE:STRING= 23 | 24 | //Enable/Disable color output during build. 25 | CMAKE_COLOR_MAKEFILE:BOOL=ON 26 | 27 | //CXX compiler 28 | CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ 29 | 30 | //Flags used by the compiler during all build types. 31 | CMAKE_CXX_FLAGS:STRING= 32 | 33 | //Flags used by the compiler during debug builds. 34 | CMAKE_CXX_FLAGS_DEBUG:STRING=-g 35 | 36 | //Flags used by the compiler during release builds for minimum 37 | // size. 38 | CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG 39 | 40 | //Flags used by the compiler during release builds. 41 | CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG 42 | 43 | //Flags used by the compiler during release builds with debug info. 44 | CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG 45 | 46 | //C compiler 47 | CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc 48 | 49 | //Flags used by the compiler during all build types. 50 | CMAKE_C_FLAGS:STRING= 51 | 52 | //Flags used by the compiler during debug builds. 53 | CMAKE_C_FLAGS_DEBUG:STRING=-g 54 | 55 | //Flags used by the compiler during release builds for minimum 56 | // size. 57 | CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG 58 | 59 | //Flags used by the compiler during release builds. 60 | CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG 61 | 62 | //Flags used by the compiler during release builds with debug info. 63 | CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG 64 | 65 | //Flags used by the linker. 66 | CMAKE_EXE_LINKER_FLAGS:STRING= 67 | 68 | //Flags used by the linker during debug builds. 69 | CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= 70 | 71 | //Flags used by the linker during release minsize builds. 72 | CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= 73 | 74 | //Flags used by the linker during release builds. 75 | CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= 76 | 77 | //Flags used by the linker during Release with Debug Info builds. 78 | CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= 79 | 80 | //Enable/Disable output of compile commands during generation. 81 | CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF 82 | 83 | //Install path prefix, prepended onto install directories. 84 | CMAKE_INSTALL_PREFIX:PATH=/usr/local 85 | 86 | //Path to a program. 87 | CMAKE_LINKER:FILEPATH=/usr/bin/ld 88 | 89 | //Path to a program. 90 | CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make 91 | 92 | //Flags used by the linker during the creation of modules. 93 | CMAKE_MODULE_LINKER_FLAGS:STRING= 94 | 95 | //Flags used by the linker during debug builds. 96 | CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= 97 | 98 | //Flags used by the linker during release minsize builds. 99 | CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= 100 | 101 | //Flags used by the linker during release builds. 102 | CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= 103 | 104 | //Flags used by the linker during Release with Debug Info builds. 105 | CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= 106 | 107 | //Path to a program. 108 | CMAKE_NM:FILEPATH=/usr/bin/nm 109 | 110 | //Path to a program. 111 | CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy 112 | 113 | //Path to a program. 114 | CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump 115 | 116 | //Value Computed by CMake 117 | CMAKE_PROJECT_NAME:STATIC=my_muduo_net 118 | 119 | //Path to a program. 120 | CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib 121 | 122 | //Flags used by the linker during the creation of dll's. 123 | CMAKE_SHARED_LINKER_FLAGS:STRING= 124 | 125 | //Flags used by the linker during debug builds. 126 | CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= 127 | 128 | //Flags used by the linker during release minsize builds. 129 | CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= 130 | 131 | //Flags used by the linker during release builds. 132 | CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= 133 | 134 | //Flags used by the linker during Release with Debug Info builds. 135 | CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= 136 | 137 | //If set, runtime paths are not added when installing shared libraries, 138 | // but are added when building. 139 | CMAKE_SKIP_INSTALL_RPATH:BOOL=NO 140 | 141 | //If set, runtime paths are not added when using shared libraries. 142 | CMAKE_SKIP_RPATH:BOOL=NO 143 | 144 | //Flags used by the linker during the creation of static libraries. 145 | CMAKE_STATIC_LINKER_FLAGS:STRING= 146 | 147 | //Flags used by the linker during debug builds. 148 | CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= 149 | 150 | //Flags used by the linker during release minsize builds. 151 | CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= 152 | 153 | //Flags used by the linker during release builds. 154 | CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= 155 | 156 | //Flags used by the linker during Release with Debug Info builds. 157 | CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= 158 | 159 | //Path to a program. 160 | CMAKE_STRIP:FILEPATH=/usr/bin/strip 161 | 162 | //If this value is on, makefiles will be generated without the 163 | // .SILENT directive, and all commands will be echoed to the console 164 | // during the make. This is useful for debugging only. With Visual 165 | // Studio IDE projects all commands are done without /nologo. 166 | CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE 167 | 168 | //Value Computed by CMake 169 | my_muduo_net_BINARY_DIR:STATIC=/home/jmx/project/reactor/cpp/build 170 | 171 | //Value Computed by CMake 172 | my_muduo_net_SOURCE_DIR:STATIC=/home/jmx/project/reactor/cpp 173 | 174 | 175 | ######################## 176 | # INTERNAL cache entries 177 | ######################## 178 | 179 | //ADVANCED property for variable: CMAKE_AR 180 | CMAKE_AR-ADVANCED:INTERNAL=1 181 | //This is the directory where this CMakeCache.txt was created 182 | CMAKE_CACHEFILE_DIR:INTERNAL=/home/jmx/project/reactor/cpp/build 183 | //Major version of cmake used to create the current loaded cache 184 | CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 185 | //Minor version of cmake used to create the current loaded cache 186 | CMAKE_CACHE_MINOR_VERSION:INTERNAL=5 187 | //Patch version of cmake used to create the current loaded cache 188 | CMAKE_CACHE_PATCH_VERSION:INTERNAL=1 189 | //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE 190 | CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 191 | //Path to CMake executable. 192 | CMAKE_COMMAND:INTERNAL=/usr/bin/cmake 193 | //Path to cpack program executable. 194 | CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack 195 | //Path to ctest program executable. 196 | CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest 197 | //ADVANCED property for variable: CMAKE_CXX_COMPILER 198 | CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 199 | //ADVANCED property for variable: CMAKE_CXX_FLAGS 200 | CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 201 | //ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG 202 | CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 203 | //ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL 204 | CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 205 | //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE 206 | CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 207 | //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO 208 | CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 209 | //ADVANCED property for variable: CMAKE_C_COMPILER 210 | CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 211 | //ADVANCED property for variable: CMAKE_C_FLAGS 212 | CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 213 | //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG 214 | CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 215 | //ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL 216 | CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 217 | //ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE 218 | CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 219 | //ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO 220 | CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 221 | //Executable file format 222 | CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF 223 | //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS 224 | CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 225 | //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG 226 | CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 227 | //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL 228 | CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 229 | //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE 230 | CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 231 | //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO 232 | CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 233 | //ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS 234 | CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 235 | //Name of external makefile project generator. 236 | CMAKE_EXTRA_GENERATOR:INTERNAL= 237 | //Name of generator. 238 | CMAKE_GENERATOR:INTERNAL=Unix Makefiles 239 | //Name of generator platform. 240 | CMAKE_GENERATOR_PLATFORM:INTERNAL= 241 | //Name of generator toolset. 242 | CMAKE_GENERATOR_TOOLSET:INTERNAL= 243 | //Source directory with the top level CMakeLists.txt file for this 244 | // project 245 | CMAKE_HOME_DIRECTORY:INTERNAL=/home/jmx/project/reactor/cpp 246 | //Install .so files without execute permission. 247 | CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 248 | //ADVANCED property for variable: CMAKE_LINKER 249 | CMAKE_LINKER-ADVANCED:INTERNAL=1 250 | //ADVANCED property for variable: CMAKE_MAKE_PROGRAM 251 | CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 252 | //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS 253 | CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 254 | //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG 255 | CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 256 | //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL 257 | CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 258 | //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE 259 | CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 260 | //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO 261 | CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 262 | //ADVANCED property for variable: CMAKE_NM 263 | CMAKE_NM-ADVANCED:INTERNAL=1 264 | //number of local generators 265 | CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 266 | //ADVANCED property for variable: CMAKE_OBJCOPY 267 | CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 268 | //ADVANCED property for variable: CMAKE_OBJDUMP 269 | CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 270 | //ADVANCED property for variable: CMAKE_RANLIB 271 | CMAKE_RANLIB-ADVANCED:INTERNAL=1 272 | //Path to CMake installation. 273 | CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.5 274 | //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS 275 | CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 276 | //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG 277 | CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 278 | //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL 279 | CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 280 | //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE 281 | CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 282 | //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO 283 | CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 284 | //ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH 285 | CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 286 | //ADVANCED property for variable: CMAKE_SKIP_RPATH 287 | CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 288 | //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS 289 | CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 290 | //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG 291 | CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 292 | //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL 293 | CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 294 | //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE 295 | CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 296 | //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO 297 | CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 298 | //ADVANCED property for variable: CMAKE_STRIP 299 | CMAKE_STRIP-ADVANCED:INTERNAL=1 300 | //uname command 301 | CMAKE_UNAME:INTERNAL=/bin/uname 302 | //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE 303 | CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 304 | 305 | -------------------------------------------------------------------------------- /cpp/build/CMakeFiles/3.5.1/CompilerIdCXX/CMakeCXXCompilerId.cpp: -------------------------------------------------------------------------------- 1 | /* This source file must have a .cpp extension so that all C++ compilers 2 | recognize the extension without flags. Borland does not know .cxx for 3 | example. */ 4 | #ifndef __cplusplus 5 | # error "A C compiler has been selected for C++." 6 | #endif 7 | 8 | 9 | /* Version number components: V=Version, R=Revision, P=Patch 10 | Version date components: YYYY=Year, MM=Month, DD=Day */ 11 | 12 | #if defined(__COMO__) 13 | # define COMPILER_ID "Comeau" 14 | /* __COMO_VERSION__ = VRR */ 15 | # define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) 16 | # define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) 17 | 18 | #elif defined(__INTEL_COMPILER) || defined(__ICC) 19 | # define COMPILER_ID "Intel" 20 | # if defined(_MSC_VER) 21 | # define SIMULATE_ID "MSVC" 22 | # endif 23 | /* __INTEL_COMPILER = VRP */ 24 | # define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) 25 | # define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) 26 | # if defined(__INTEL_COMPILER_UPDATE) 27 | # define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) 28 | # else 29 | # define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) 30 | # endif 31 | # if defined(__INTEL_COMPILER_BUILD_DATE) 32 | /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ 33 | # define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) 34 | # endif 35 | # if defined(_MSC_VER) 36 | /* _MSC_VER = VVRR */ 37 | # define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) 38 | # define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) 39 | # endif 40 | 41 | #elif defined(__PATHCC__) 42 | # define COMPILER_ID "PathScale" 43 | # define COMPILER_VERSION_MAJOR DEC(__PATHCC__) 44 | # define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) 45 | # if defined(__PATHCC_PATCHLEVEL__) 46 | # define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) 47 | # endif 48 | 49 | #elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) 50 | # define COMPILER_ID "Embarcadero" 51 | # define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) 52 | # define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) 53 | # define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) 54 | 55 | #elif defined(__BORLANDC__) 56 | # define COMPILER_ID "Borland" 57 | /* __BORLANDC__ = 0xVRR */ 58 | # define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) 59 | # define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) 60 | 61 | #elif defined(__WATCOMC__) && __WATCOMC__ < 1200 62 | # define COMPILER_ID "Watcom" 63 | /* __WATCOMC__ = VVRR */ 64 | # define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) 65 | # define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) 66 | # if (__WATCOMC__ % 10) > 0 67 | # define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) 68 | # endif 69 | 70 | #elif defined(__WATCOMC__) 71 | # define COMPILER_ID "OpenWatcom" 72 | /* __WATCOMC__ = VVRP + 1100 */ 73 | # define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) 74 | # define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) 75 | # if (__WATCOMC__ % 10) > 0 76 | # define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) 77 | # endif 78 | 79 | #elif defined(__SUNPRO_CC) 80 | # define COMPILER_ID "SunPro" 81 | # if __SUNPRO_CC >= 0x5100 82 | /* __SUNPRO_CC = 0xVRRP */ 83 | # define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) 84 | # define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) 85 | # define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) 86 | # else 87 | /* __SUNPRO_CC = 0xVRP */ 88 | # define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) 89 | # define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) 90 | # define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) 91 | # endif 92 | 93 | #elif defined(__HP_aCC) 94 | # define COMPILER_ID "HP" 95 | /* __HP_aCC = VVRRPP */ 96 | # define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) 97 | # define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) 98 | # define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) 99 | 100 | #elif defined(__DECCXX) 101 | # define COMPILER_ID "Compaq" 102 | /* __DECCXX_VER = VVRRTPPPP */ 103 | # define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) 104 | # define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) 105 | # define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) 106 | 107 | #elif defined(__IBMCPP__) && defined(__COMPILER_VER__) 108 | # define COMPILER_ID "zOS" 109 | /* __IBMCPP__ = VRP */ 110 | # define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) 111 | # define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) 112 | # define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) 113 | 114 | #elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 115 | # define COMPILER_ID "XL" 116 | /* __IBMCPP__ = VRP */ 117 | # define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) 118 | # define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) 119 | # define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) 120 | 121 | #elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 122 | # define COMPILER_ID "VisualAge" 123 | /* __IBMCPP__ = VRP */ 124 | # define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) 125 | # define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) 126 | # define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) 127 | 128 | #elif defined(__PGI) 129 | # define COMPILER_ID "PGI" 130 | # define COMPILER_VERSION_MAJOR DEC(__PGIC__) 131 | # define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) 132 | # if defined(__PGIC_PATCHLEVEL__) 133 | # define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) 134 | # endif 135 | 136 | #elif defined(_CRAYC) 137 | # define COMPILER_ID "Cray" 138 | # define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) 139 | # define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) 140 | 141 | #elif defined(__TI_COMPILER_VERSION__) 142 | # define COMPILER_ID "TI" 143 | /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ 144 | # define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) 145 | # define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) 146 | # define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) 147 | 148 | #elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version) 149 | # define COMPILER_ID "Fujitsu" 150 | 151 | #elif defined(__SCO_VERSION__) 152 | # define COMPILER_ID "SCO" 153 | 154 | #elif defined(__clang__) && defined(__apple_build_version__) 155 | # define COMPILER_ID "AppleClang" 156 | # if defined(_MSC_VER) 157 | # define SIMULATE_ID "MSVC" 158 | # endif 159 | # define COMPILER_VERSION_MAJOR DEC(__clang_major__) 160 | # define COMPILER_VERSION_MINOR DEC(__clang_minor__) 161 | # define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) 162 | # if defined(_MSC_VER) 163 | /* _MSC_VER = VVRR */ 164 | # define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) 165 | # define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) 166 | # endif 167 | # define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) 168 | 169 | #elif defined(__clang__) 170 | # define COMPILER_ID "Clang" 171 | # if defined(_MSC_VER) 172 | # define SIMULATE_ID "MSVC" 173 | # endif 174 | # define COMPILER_VERSION_MAJOR DEC(__clang_major__) 175 | # define COMPILER_VERSION_MINOR DEC(__clang_minor__) 176 | # define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) 177 | # if defined(_MSC_VER) 178 | /* _MSC_VER = VVRR */ 179 | # define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) 180 | # define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) 181 | # endif 182 | 183 | #elif defined(__GNUC__) 184 | # define COMPILER_ID "GNU" 185 | # define COMPILER_VERSION_MAJOR DEC(__GNUC__) 186 | # if defined(__GNUC_MINOR__) 187 | # define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) 188 | # endif 189 | # if defined(__GNUC_PATCHLEVEL__) 190 | # define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) 191 | # endif 192 | 193 | #elif defined(_MSC_VER) 194 | # define COMPILER_ID "MSVC" 195 | /* _MSC_VER = VVRR */ 196 | # define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) 197 | # define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) 198 | # if defined(_MSC_FULL_VER) 199 | # if _MSC_VER >= 1400 200 | /* _MSC_FULL_VER = VVRRPPPPP */ 201 | # define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) 202 | # else 203 | /* _MSC_FULL_VER = VVRRPPPP */ 204 | # define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) 205 | # endif 206 | # endif 207 | # if defined(_MSC_BUILD) 208 | # define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) 209 | # endif 210 | 211 | #elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) 212 | # define COMPILER_ID "ADSP" 213 | #if defined(__VISUALDSPVERSION__) 214 | /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ 215 | # define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) 216 | # define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) 217 | # define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) 218 | #endif 219 | 220 | #elif defined(__IAR_SYSTEMS_ICC__ ) || defined(__IAR_SYSTEMS_ICC) 221 | # define COMPILER_ID "IAR" 222 | 223 | #elif defined(__ARMCC_VERSION) 224 | # define COMPILER_ID "ARMCC" 225 | #if __ARMCC_VERSION >= 1000000 226 | /* __ARMCC_VERSION = VRRPPPP */ 227 | # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) 228 | # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) 229 | # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) 230 | #else 231 | /* __ARMCC_VERSION = VRPPPP */ 232 | # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) 233 | # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) 234 | # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) 235 | #endif 236 | 237 | 238 | #elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION) 239 | # define COMPILER_ID "MIPSpro" 240 | # if defined(_SGI_COMPILER_VERSION) 241 | /* _SGI_COMPILER_VERSION = VRP */ 242 | # define COMPILER_VERSION_MAJOR DEC(_SGI_COMPILER_VERSION/100) 243 | # define COMPILER_VERSION_MINOR DEC(_SGI_COMPILER_VERSION/10 % 10) 244 | # define COMPILER_VERSION_PATCH DEC(_SGI_COMPILER_VERSION % 10) 245 | # else 246 | /* _COMPILER_VERSION = VRP */ 247 | # define COMPILER_VERSION_MAJOR DEC(_COMPILER_VERSION/100) 248 | # define COMPILER_VERSION_MINOR DEC(_COMPILER_VERSION/10 % 10) 249 | # define COMPILER_VERSION_PATCH DEC(_COMPILER_VERSION % 10) 250 | # endif 251 | 252 | 253 | /* These compilers are either not known or too old to define an 254 | identification macro. Try to identify the platform and guess that 255 | it is the native compiler. */ 256 | #elif defined(__sgi) 257 | # define COMPILER_ID "MIPSpro" 258 | 259 | #elif defined(__hpux) || defined(__hpua) 260 | # define COMPILER_ID "HP" 261 | 262 | #else /* unknown compiler */ 263 | # define COMPILER_ID "" 264 | #endif 265 | 266 | /* Construct the string literal in pieces to prevent the source from 267 | getting matched. Store it in a pointer rather than an array 268 | because some compilers will just produce instructions to fill the 269 | array rather than assigning a pointer to a static array. */ 270 | char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; 271 | #ifdef SIMULATE_ID 272 | char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; 273 | #endif 274 | 275 | #ifdef __QNXNTO__ 276 | char const* qnxnto = "INFO" ":" "qnxnto[]"; 277 | #endif 278 | 279 | #if defined(__CRAYXE) || defined(__CRAYXC) 280 | char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; 281 | #endif 282 | 283 | #define STRINGIFY_HELPER(X) #X 284 | #define STRINGIFY(X) STRINGIFY_HELPER(X) 285 | 286 | /* Identify known platforms by name. */ 287 | #if defined(__linux) || defined(__linux__) || defined(linux) 288 | # define PLATFORM_ID "Linux" 289 | 290 | #elif defined(__CYGWIN__) 291 | # define PLATFORM_ID "Cygwin" 292 | 293 | #elif defined(__MINGW32__) 294 | # define PLATFORM_ID "MinGW" 295 | 296 | #elif defined(__APPLE__) 297 | # define PLATFORM_ID "Darwin" 298 | 299 | #elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) 300 | # define PLATFORM_ID "Windows" 301 | 302 | #elif defined(__FreeBSD__) || defined(__FreeBSD) 303 | # define PLATFORM_ID "FreeBSD" 304 | 305 | #elif defined(__NetBSD__) || defined(__NetBSD) 306 | # define PLATFORM_ID "NetBSD" 307 | 308 | #elif defined(__OpenBSD__) || defined(__OPENBSD) 309 | # define PLATFORM_ID "OpenBSD" 310 | 311 | #elif defined(__sun) || defined(sun) 312 | # define PLATFORM_ID "SunOS" 313 | 314 | #elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) 315 | # define PLATFORM_ID "AIX" 316 | 317 | #elif defined(__sgi) || defined(__sgi__) || defined(_SGI) 318 | # define PLATFORM_ID "IRIX" 319 | 320 | #elif defined(__hpux) || defined(__hpux__) 321 | # define PLATFORM_ID "HP-UX" 322 | 323 | #elif defined(__HAIKU__) 324 | # define PLATFORM_ID "Haiku" 325 | 326 | #elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) 327 | # define PLATFORM_ID "BeOS" 328 | 329 | #elif defined(__QNX__) || defined(__QNXNTO__) 330 | # define PLATFORM_ID "QNX" 331 | 332 | #elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) 333 | # define PLATFORM_ID "Tru64" 334 | 335 | #elif defined(__riscos) || defined(__riscos__) 336 | # define PLATFORM_ID "RISCos" 337 | 338 | #elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) 339 | # define PLATFORM_ID "SINIX" 340 | 341 | #elif defined(__UNIX_SV__) 342 | # define PLATFORM_ID "UNIX_SV" 343 | 344 | #elif defined(__bsdos__) 345 | # define PLATFORM_ID "BSDOS" 346 | 347 | #elif defined(_MPRAS) || defined(MPRAS) 348 | # define PLATFORM_ID "MP-RAS" 349 | 350 | #elif defined(__osf) || defined(__osf__) 351 | # define PLATFORM_ID "OSF1" 352 | 353 | #elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) 354 | # define PLATFORM_ID "SCO_SV" 355 | 356 | #elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) 357 | # define PLATFORM_ID "ULTRIX" 358 | 359 | #elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) 360 | # define PLATFORM_ID "Xenix" 361 | 362 | #elif defined(__WATCOMC__) 363 | # if defined(__LINUX__) 364 | # define PLATFORM_ID "Linux" 365 | 366 | # elif defined(__DOS__) 367 | # define PLATFORM_ID "DOS" 368 | 369 | # elif defined(__OS2__) 370 | # define PLATFORM_ID "OS2" 371 | 372 | # elif defined(__WINDOWS__) 373 | # define PLATFORM_ID "Windows3x" 374 | 375 | # else /* unknown platform */ 376 | # define PLATFORM_ID "" 377 | # endif 378 | 379 | #else /* unknown platform */ 380 | # define PLATFORM_ID "" 381 | 382 | #endif 383 | 384 | /* For windows compilers MSVC and Intel we can determine 385 | the architecture of the compiler being used. This is because 386 | the compilers do not have flags that can change the architecture, 387 | but rather depend on which compiler is being used 388 | */ 389 | #if defined(_WIN32) && defined(_MSC_VER) 390 | # if defined(_M_IA64) 391 | # define ARCHITECTURE_ID "IA64" 392 | 393 | # elif defined(_M_X64) || defined(_M_AMD64) 394 | # define ARCHITECTURE_ID "x64" 395 | 396 | # elif defined(_M_IX86) 397 | # define ARCHITECTURE_ID "X86" 398 | 399 | # elif defined(_M_ARM) 400 | # if _M_ARM == 4 401 | # define ARCHITECTURE_ID "ARMV4I" 402 | # elif _M_ARM == 5 403 | # define ARCHITECTURE_ID "ARMV5I" 404 | # else 405 | # define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) 406 | # endif 407 | 408 | # elif defined(_M_MIPS) 409 | # define ARCHITECTURE_ID "MIPS" 410 | 411 | # elif defined(_M_SH) 412 | # define ARCHITECTURE_ID "SHx" 413 | 414 | # else /* unknown architecture */ 415 | # define ARCHITECTURE_ID "" 416 | # endif 417 | 418 | #elif defined(__WATCOMC__) 419 | # if defined(_M_I86) 420 | # define ARCHITECTURE_ID "I86" 421 | 422 | # elif defined(_M_IX86) 423 | # define ARCHITECTURE_ID "X86" 424 | 425 | # else /* unknown architecture */ 426 | # define ARCHITECTURE_ID "" 427 | # endif 428 | 429 | #else 430 | # define ARCHITECTURE_ID "" 431 | #endif 432 | 433 | /* Convert integer to decimal digit literals. */ 434 | #define DEC(n) \ 435 | ('0' + (((n) / 10000000)%10)), \ 436 | ('0' + (((n) / 1000000)%10)), \ 437 | ('0' + (((n) / 100000)%10)), \ 438 | ('0' + (((n) / 10000)%10)), \ 439 | ('0' + (((n) / 1000)%10)), \ 440 | ('0' + (((n) / 100)%10)), \ 441 | ('0' + (((n) / 10)%10)), \ 442 | ('0' + ((n) % 10)) 443 | 444 | /* Convert integer to hex digit literals. */ 445 | #define HEX(n) \ 446 | ('0' + ((n)>>28 & 0xF)), \ 447 | ('0' + ((n)>>24 & 0xF)), \ 448 | ('0' + ((n)>>20 & 0xF)), \ 449 | ('0' + ((n)>>16 & 0xF)), \ 450 | ('0' + ((n)>>12 & 0xF)), \ 451 | ('0' + ((n)>>8 & 0xF)), \ 452 | ('0' + ((n)>>4 & 0xF)), \ 453 | ('0' + ((n) & 0xF)) 454 | 455 | /* Construct a string literal encoding the version number components. */ 456 | #ifdef COMPILER_VERSION_MAJOR 457 | char const info_version[] = { 458 | 'I', 'N', 'F', 'O', ':', 459 | 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', 460 | COMPILER_VERSION_MAJOR, 461 | # ifdef COMPILER_VERSION_MINOR 462 | '.', COMPILER_VERSION_MINOR, 463 | # ifdef COMPILER_VERSION_PATCH 464 | '.', COMPILER_VERSION_PATCH, 465 | # ifdef COMPILER_VERSION_TWEAK 466 | '.', COMPILER_VERSION_TWEAK, 467 | # endif 468 | # endif 469 | # endif 470 | ']','\0'}; 471 | #endif 472 | 473 | /* Construct a string literal encoding the version number components. */ 474 | #ifdef SIMULATE_VERSION_MAJOR 475 | char const info_simulate_version[] = { 476 | 'I', 'N', 'F', 'O', ':', 477 | 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', 478 | SIMULATE_VERSION_MAJOR, 479 | # ifdef SIMULATE_VERSION_MINOR 480 | '.', SIMULATE_VERSION_MINOR, 481 | # ifdef SIMULATE_VERSION_PATCH 482 | '.', SIMULATE_VERSION_PATCH, 483 | # ifdef SIMULATE_VERSION_TWEAK 484 | '.', SIMULATE_VERSION_TWEAK, 485 | # endif 486 | # endif 487 | # endif 488 | ']','\0'}; 489 | #endif 490 | 491 | /* Construct the string literal in pieces to prevent the source from 492 | getting matched. Store it in a pointer rather than an array 493 | because some compilers will just produce instructions to fill the 494 | array rather than assigning a pointer to a static array. */ 495 | char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; 496 | char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; 497 | 498 | 499 | 500 | 501 | const char* info_language_dialect_default = "INFO" ":" "dialect_default[" 502 | #if __cplusplus >= 201402L 503 | "14" 504 | #elif __cplusplus >= 201103L 505 | "11" 506 | #else 507 | "98" 508 | #endif 509 | "]"; 510 | 511 | /*--------------------------------------------------------------------------*/ 512 | 513 | int main(int argc, char* argv[]) 514 | { 515 | int require = 0; 516 | require += info_compiler[argc]; 517 | require += info_platform[argc]; 518 | #ifdef COMPILER_VERSION_MAJOR 519 | require += info_version[argc]; 520 | #endif 521 | #ifdef SIMULATE_ID 522 | require += info_simulate[argc]; 523 | #endif 524 | #ifdef SIMULATE_VERSION_MAJOR 525 | require += info_simulate_version[argc]; 526 | #endif 527 | #if defined(__CRAYXE) || defined(__CRAYXC) 528 | require += info_cray[argc]; 529 | #endif 530 | require += info_language_dialect_default[argc]; 531 | (void)argv; 532 | return require; 533 | } 534 | -------------------------------------------------------------------------------- /cpp/build/CMakeFiles/3.5.1/CompilerIdC/CMakeCCompilerId.c: -------------------------------------------------------------------------------- 1 | #ifdef __cplusplus 2 | # error "A C++ compiler has been selected for C." 3 | #endif 4 | 5 | #if defined(__18CXX) 6 | # define ID_VOID_MAIN 7 | #endif 8 | 9 | 10 | /* Version number components: V=Version, R=Revision, P=Patch 11 | Version date components: YYYY=Year, MM=Month, DD=Day */ 12 | 13 | #if defined(__INTEL_COMPILER) || defined(__ICC) 14 | # define COMPILER_ID "Intel" 15 | # if defined(_MSC_VER) 16 | # define SIMULATE_ID "MSVC" 17 | # endif 18 | /* __INTEL_COMPILER = VRP */ 19 | # define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) 20 | # define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) 21 | # if defined(__INTEL_COMPILER_UPDATE) 22 | # define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) 23 | # else 24 | # define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) 25 | # endif 26 | # if defined(__INTEL_COMPILER_BUILD_DATE) 27 | /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ 28 | # define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) 29 | # endif 30 | # if defined(_MSC_VER) 31 | /* _MSC_VER = VVRR */ 32 | # define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) 33 | # define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) 34 | # endif 35 | 36 | #elif defined(__PATHCC__) 37 | # define COMPILER_ID "PathScale" 38 | # define COMPILER_VERSION_MAJOR DEC(__PATHCC__) 39 | # define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) 40 | # if defined(__PATHCC_PATCHLEVEL__) 41 | # define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) 42 | # endif 43 | 44 | #elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) 45 | # define COMPILER_ID "Embarcadero" 46 | # define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) 47 | # define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) 48 | # define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) 49 | 50 | #elif defined(__BORLANDC__) 51 | # define COMPILER_ID "Borland" 52 | /* __BORLANDC__ = 0xVRR */ 53 | # define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) 54 | # define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) 55 | 56 | #elif defined(__WATCOMC__) && __WATCOMC__ < 1200 57 | # define COMPILER_ID "Watcom" 58 | /* __WATCOMC__ = VVRR */ 59 | # define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) 60 | # define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) 61 | # if (__WATCOMC__ % 10) > 0 62 | # define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) 63 | # endif 64 | 65 | #elif defined(__WATCOMC__) 66 | # define COMPILER_ID "OpenWatcom" 67 | /* __WATCOMC__ = VVRP + 1100 */ 68 | # define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) 69 | # define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) 70 | # if (__WATCOMC__ % 10) > 0 71 | # define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) 72 | # endif 73 | 74 | #elif defined(__SUNPRO_C) 75 | # define COMPILER_ID "SunPro" 76 | # if __SUNPRO_C >= 0x5100 77 | /* __SUNPRO_C = 0xVRRP */ 78 | # define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) 79 | # define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) 80 | # define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) 81 | # else 82 | /* __SUNPRO_CC = 0xVRP */ 83 | # define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) 84 | # define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) 85 | # define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) 86 | # endif 87 | 88 | #elif defined(__HP_cc) 89 | # define COMPILER_ID "HP" 90 | /* __HP_cc = VVRRPP */ 91 | # define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) 92 | # define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) 93 | # define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) 94 | 95 | #elif defined(__DECC) 96 | # define COMPILER_ID "Compaq" 97 | /* __DECC_VER = VVRRTPPPP */ 98 | # define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) 99 | # define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) 100 | # define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) 101 | 102 | #elif defined(__IBMC__) && defined(__COMPILER_VER__) 103 | # define COMPILER_ID "zOS" 104 | /* __IBMC__ = VRP */ 105 | # define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) 106 | # define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) 107 | # define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) 108 | 109 | #elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 110 | # define COMPILER_ID "XL" 111 | /* __IBMC__ = VRP */ 112 | # define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) 113 | # define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) 114 | # define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) 115 | 116 | #elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 117 | # define COMPILER_ID "VisualAge" 118 | /* __IBMC__ = VRP */ 119 | # define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) 120 | # define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) 121 | # define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) 122 | 123 | #elif defined(__PGI) 124 | # define COMPILER_ID "PGI" 125 | # define COMPILER_VERSION_MAJOR DEC(__PGIC__) 126 | # define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) 127 | # if defined(__PGIC_PATCHLEVEL__) 128 | # define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) 129 | # endif 130 | 131 | #elif defined(_CRAYC) 132 | # define COMPILER_ID "Cray" 133 | # define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) 134 | # define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) 135 | 136 | #elif defined(__TI_COMPILER_VERSION__) 137 | # define COMPILER_ID "TI" 138 | /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ 139 | # define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) 140 | # define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) 141 | # define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) 142 | 143 | #elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version) 144 | # define COMPILER_ID "Fujitsu" 145 | 146 | #elif defined(__TINYC__) 147 | # define COMPILER_ID "TinyCC" 148 | 149 | #elif defined(__SCO_VERSION__) 150 | # define COMPILER_ID "SCO" 151 | 152 | #elif defined(__clang__) && defined(__apple_build_version__) 153 | # define COMPILER_ID "AppleClang" 154 | # if defined(_MSC_VER) 155 | # define SIMULATE_ID "MSVC" 156 | # endif 157 | # define COMPILER_VERSION_MAJOR DEC(__clang_major__) 158 | # define COMPILER_VERSION_MINOR DEC(__clang_minor__) 159 | # define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) 160 | # if defined(_MSC_VER) 161 | /* _MSC_VER = VVRR */ 162 | # define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) 163 | # define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) 164 | # endif 165 | # define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) 166 | 167 | #elif defined(__clang__) 168 | # define COMPILER_ID "Clang" 169 | # if defined(_MSC_VER) 170 | # define SIMULATE_ID "MSVC" 171 | # endif 172 | # define COMPILER_VERSION_MAJOR DEC(__clang_major__) 173 | # define COMPILER_VERSION_MINOR DEC(__clang_minor__) 174 | # define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) 175 | # if defined(_MSC_VER) 176 | /* _MSC_VER = VVRR */ 177 | # define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) 178 | # define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) 179 | # endif 180 | 181 | #elif defined(__GNUC__) 182 | # define COMPILER_ID "GNU" 183 | # define COMPILER_VERSION_MAJOR DEC(__GNUC__) 184 | # if defined(__GNUC_MINOR__) 185 | # define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) 186 | # endif 187 | # if defined(__GNUC_PATCHLEVEL__) 188 | # define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) 189 | # endif 190 | 191 | #elif defined(_MSC_VER) 192 | # define COMPILER_ID "MSVC" 193 | /* _MSC_VER = VVRR */ 194 | # define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) 195 | # define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) 196 | # if defined(_MSC_FULL_VER) 197 | # if _MSC_VER >= 1400 198 | /* _MSC_FULL_VER = VVRRPPPPP */ 199 | # define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) 200 | # else 201 | /* _MSC_FULL_VER = VVRRPPPP */ 202 | # define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) 203 | # endif 204 | # endif 205 | # if defined(_MSC_BUILD) 206 | # define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) 207 | # endif 208 | 209 | #elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) 210 | # define COMPILER_ID "ADSP" 211 | #if defined(__VISUALDSPVERSION__) 212 | /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ 213 | # define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) 214 | # define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) 215 | # define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) 216 | #endif 217 | 218 | #elif defined(__IAR_SYSTEMS_ICC__ ) || defined(__IAR_SYSTEMS_ICC) 219 | # define COMPILER_ID "IAR" 220 | 221 | #elif defined(__ARMCC_VERSION) 222 | # define COMPILER_ID "ARMCC" 223 | #if __ARMCC_VERSION >= 1000000 224 | /* __ARMCC_VERSION = VRRPPPP */ 225 | # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) 226 | # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) 227 | # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) 228 | #else 229 | /* __ARMCC_VERSION = VRPPPP */ 230 | # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) 231 | # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) 232 | # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) 233 | #endif 234 | 235 | 236 | #elif defined(SDCC) 237 | # define COMPILER_ID "SDCC" 238 | /* SDCC = VRP */ 239 | # define COMPILER_VERSION_MAJOR DEC(SDCC/100) 240 | # define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) 241 | # define COMPILER_VERSION_PATCH DEC(SDCC % 10) 242 | 243 | #elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION) 244 | # define COMPILER_ID "MIPSpro" 245 | # if defined(_SGI_COMPILER_VERSION) 246 | /* _SGI_COMPILER_VERSION = VRP */ 247 | # define COMPILER_VERSION_MAJOR DEC(_SGI_COMPILER_VERSION/100) 248 | # define COMPILER_VERSION_MINOR DEC(_SGI_COMPILER_VERSION/10 % 10) 249 | # define COMPILER_VERSION_PATCH DEC(_SGI_COMPILER_VERSION % 10) 250 | # else 251 | /* _COMPILER_VERSION = VRP */ 252 | # define COMPILER_VERSION_MAJOR DEC(_COMPILER_VERSION/100) 253 | # define COMPILER_VERSION_MINOR DEC(_COMPILER_VERSION/10 % 10) 254 | # define COMPILER_VERSION_PATCH DEC(_COMPILER_VERSION % 10) 255 | # endif 256 | 257 | 258 | /* These compilers are either not known or too old to define an 259 | identification macro. Try to identify the platform and guess that 260 | it is the native compiler. */ 261 | #elif defined(__sgi) 262 | # define COMPILER_ID "MIPSpro" 263 | 264 | #elif defined(__hpux) || defined(__hpua) 265 | # define COMPILER_ID "HP" 266 | 267 | #else /* unknown compiler */ 268 | # define COMPILER_ID "" 269 | #endif 270 | 271 | /* Construct the string literal in pieces to prevent the source from 272 | getting matched. Store it in a pointer rather than an array 273 | because some compilers will just produce instructions to fill the 274 | array rather than assigning a pointer to a static array. */ 275 | char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; 276 | #ifdef SIMULATE_ID 277 | char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; 278 | #endif 279 | 280 | #ifdef __QNXNTO__ 281 | char const* qnxnto = "INFO" ":" "qnxnto[]"; 282 | #endif 283 | 284 | #if defined(__CRAYXE) || defined(__CRAYXC) 285 | char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; 286 | #endif 287 | 288 | #define STRINGIFY_HELPER(X) #X 289 | #define STRINGIFY(X) STRINGIFY_HELPER(X) 290 | 291 | /* Identify known platforms by name. */ 292 | #if defined(__linux) || defined(__linux__) || defined(linux) 293 | # define PLATFORM_ID "Linux" 294 | 295 | #elif defined(__CYGWIN__) 296 | # define PLATFORM_ID "Cygwin" 297 | 298 | #elif defined(__MINGW32__) 299 | # define PLATFORM_ID "MinGW" 300 | 301 | #elif defined(__APPLE__) 302 | # define PLATFORM_ID "Darwin" 303 | 304 | #elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) 305 | # define PLATFORM_ID "Windows" 306 | 307 | #elif defined(__FreeBSD__) || defined(__FreeBSD) 308 | # define PLATFORM_ID "FreeBSD" 309 | 310 | #elif defined(__NetBSD__) || defined(__NetBSD) 311 | # define PLATFORM_ID "NetBSD" 312 | 313 | #elif defined(__OpenBSD__) || defined(__OPENBSD) 314 | # define PLATFORM_ID "OpenBSD" 315 | 316 | #elif defined(__sun) || defined(sun) 317 | # define PLATFORM_ID "SunOS" 318 | 319 | #elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) 320 | # define PLATFORM_ID "AIX" 321 | 322 | #elif defined(__sgi) || defined(__sgi__) || defined(_SGI) 323 | # define PLATFORM_ID "IRIX" 324 | 325 | #elif defined(__hpux) || defined(__hpux__) 326 | # define PLATFORM_ID "HP-UX" 327 | 328 | #elif defined(__HAIKU__) 329 | # define PLATFORM_ID "Haiku" 330 | 331 | #elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) 332 | # define PLATFORM_ID "BeOS" 333 | 334 | #elif defined(__QNX__) || defined(__QNXNTO__) 335 | # define PLATFORM_ID "QNX" 336 | 337 | #elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) 338 | # define PLATFORM_ID "Tru64" 339 | 340 | #elif defined(__riscos) || defined(__riscos__) 341 | # define PLATFORM_ID "RISCos" 342 | 343 | #elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) 344 | # define PLATFORM_ID "SINIX" 345 | 346 | #elif defined(__UNIX_SV__) 347 | # define PLATFORM_ID "UNIX_SV" 348 | 349 | #elif defined(__bsdos__) 350 | # define PLATFORM_ID "BSDOS" 351 | 352 | #elif defined(_MPRAS) || defined(MPRAS) 353 | # define PLATFORM_ID "MP-RAS" 354 | 355 | #elif defined(__osf) || defined(__osf__) 356 | # define PLATFORM_ID "OSF1" 357 | 358 | #elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) 359 | # define PLATFORM_ID "SCO_SV" 360 | 361 | #elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) 362 | # define PLATFORM_ID "ULTRIX" 363 | 364 | #elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) 365 | # define PLATFORM_ID "Xenix" 366 | 367 | #elif defined(__WATCOMC__) 368 | # if defined(__LINUX__) 369 | # define PLATFORM_ID "Linux" 370 | 371 | # elif defined(__DOS__) 372 | # define PLATFORM_ID "DOS" 373 | 374 | # elif defined(__OS2__) 375 | # define PLATFORM_ID "OS2" 376 | 377 | # elif defined(__WINDOWS__) 378 | # define PLATFORM_ID "Windows3x" 379 | 380 | # else /* unknown platform */ 381 | # define PLATFORM_ID "" 382 | # endif 383 | 384 | #else /* unknown platform */ 385 | # define PLATFORM_ID "" 386 | 387 | #endif 388 | 389 | /* For windows compilers MSVC and Intel we can determine 390 | the architecture of the compiler being used. This is because 391 | the compilers do not have flags that can change the architecture, 392 | but rather depend on which compiler is being used 393 | */ 394 | #if defined(_WIN32) && defined(_MSC_VER) 395 | # if defined(_M_IA64) 396 | # define ARCHITECTURE_ID "IA64" 397 | 398 | # elif defined(_M_X64) || defined(_M_AMD64) 399 | # define ARCHITECTURE_ID "x64" 400 | 401 | # elif defined(_M_IX86) 402 | # define ARCHITECTURE_ID "X86" 403 | 404 | # elif defined(_M_ARM) 405 | # if _M_ARM == 4 406 | # define ARCHITECTURE_ID "ARMV4I" 407 | # elif _M_ARM == 5 408 | # define ARCHITECTURE_ID "ARMV5I" 409 | # else 410 | # define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) 411 | # endif 412 | 413 | # elif defined(_M_MIPS) 414 | # define ARCHITECTURE_ID "MIPS" 415 | 416 | # elif defined(_M_SH) 417 | # define ARCHITECTURE_ID "SHx" 418 | 419 | # else /* unknown architecture */ 420 | # define ARCHITECTURE_ID "" 421 | # endif 422 | 423 | #elif defined(__WATCOMC__) 424 | # if defined(_M_I86) 425 | # define ARCHITECTURE_ID "I86" 426 | 427 | # elif defined(_M_IX86) 428 | # define ARCHITECTURE_ID "X86" 429 | 430 | # else /* unknown architecture */ 431 | # define ARCHITECTURE_ID "" 432 | # endif 433 | 434 | #else 435 | # define ARCHITECTURE_ID "" 436 | #endif 437 | 438 | /* Convert integer to decimal digit literals. */ 439 | #define DEC(n) \ 440 | ('0' + (((n) / 10000000)%10)), \ 441 | ('0' + (((n) / 1000000)%10)), \ 442 | ('0' + (((n) / 100000)%10)), \ 443 | ('0' + (((n) / 10000)%10)), \ 444 | ('0' + (((n) / 1000)%10)), \ 445 | ('0' + (((n) / 100)%10)), \ 446 | ('0' + (((n) / 10)%10)), \ 447 | ('0' + ((n) % 10)) 448 | 449 | /* Convert integer to hex digit literals. */ 450 | #define HEX(n) \ 451 | ('0' + ((n)>>28 & 0xF)), \ 452 | ('0' + ((n)>>24 & 0xF)), \ 453 | ('0' + ((n)>>20 & 0xF)), \ 454 | ('0' + ((n)>>16 & 0xF)), \ 455 | ('0' + ((n)>>12 & 0xF)), \ 456 | ('0' + ((n)>>8 & 0xF)), \ 457 | ('0' + ((n)>>4 & 0xF)), \ 458 | ('0' + ((n) & 0xF)) 459 | 460 | /* Construct a string literal encoding the version number components. */ 461 | #ifdef COMPILER_VERSION_MAJOR 462 | char const info_version[] = { 463 | 'I', 'N', 'F', 'O', ':', 464 | 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', 465 | COMPILER_VERSION_MAJOR, 466 | # ifdef COMPILER_VERSION_MINOR 467 | '.', COMPILER_VERSION_MINOR, 468 | # ifdef COMPILER_VERSION_PATCH 469 | '.', COMPILER_VERSION_PATCH, 470 | # ifdef COMPILER_VERSION_TWEAK 471 | '.', COMPILER_VERSION_TWEAK, 472 | # endif 473 | # endif 474 | # endif 475 | ']','\0'}; 476 | #endif 477 | 478 | /* Construct a string literal encoding the version number components. */ 479 | #ifdef SIMULATE_VERSION_MAJOR 480 | char const info_simulate_version[] = { 481 | 'I', 'N', 'F', 'O', ':', 482 | 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', 483 | SIMULATE_VERSION_MAJOR, 484 | # ifdef SIMULATE_VERSION_MINOR 485 | '.', SIMULATE_VERSION_MINOR, 486 | # ifdef SIMULATE_VERSION_PATCH 487 | '.', SIMULATE_VERSION_PATCH, 488 | # ifdef SIMULATE_VERSION_TWEAK 489 | '.', SIMULATE_VERSION_TWEAK, 490 | # endif 491 | # endif 492 | # endif 493 | ']','\0'}; 494 | #endif 495 | 496 | /* Construct the string literal in pieces to prevent the source from 497 | getting matched. Store it in a pointer rather than an array 498 | because some compilers will just produce instructions to fill the 499 | array rather than assigning a pointer to a static array. */ 500 | char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; 501 | char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; 502 | 503 | 504 | 505 | 506 | const char* info_language_dialect_default = "INFO" ":" "dialect_default[" 507 | #if !defined(__STDC_VERSION__) 508 | "90" 509 | #elif __STDC_VERSION__ >= 201000L 510 | "11" 511 | #elif __STDC_VERSION__ >= 199901L 512 | "99" 513 | #else 514 | #endif 515 | "]"; 516 | 517 | /*--------------------------------------------------------------------------*/ 518 | 519 | #ifdef ID_VOID_MAIN 520 | void main() {} 521 | #else 522 | int main(int argc, char* argv[]) 523 | { 524 | int require = 0; 525 | require += info_compiler[argc]; 526 | require += info_platform[argc]; 527 | require += info_arch[argc]; 528 | #ifdef COMPILER_VERSION_MAJOR 529 | require += info_version[argc]; 530 | #endif 531 | #ifdef SIMULATE_ID 532 | require += info_simulate[argc]; 533 | #endif 534 | #ifdef SIMULATE_VERSION_MAJOR 535 | require += info_simulate_version[argc]; 536 | #endif 537 | #if defined(__CRAYXE) || defined(__CRAYXC) 538 | require += info_cray[argc]; 539 | #endif 540 | require += info_language_dialect_default[argc]; 541 | (void)argv; 542 | return require; 543 | } 544 | #endif 545 | -------------------------------------------------------------------------------- /cpp/build/CMakeFiles/CMakeOutput.log: -------------------------------------------------------------------------------- 1 | The system is: Linux - 4.4.0-31-generic - x86_64 2 | Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. 3 | Compiler: /usr/bin/cc 4 | Build flags: 5 | Id flags: 6 | 7 | The output was: 8 | 0 9 | 10 | 11 | Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" 12 | 13 | The C compiler identification is GNU, found in "/home/jmx/project/reactor/cpp/build/CMakeFiles/3.5.1/CompilerIdC/a.out" 14 | 15 | Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. 16 | Compiler: /usr/bin/c++ 17 | Build flags: 18 | Id flags: 19 | 20 | The output was: 21 | 0 22 | 23 | 24 | Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" 25 | 26 | The CXX compiler identification is GNU, found in "/home/jmx/project/reactor/cpp/build/CMakeFiles/3.5.1/CompilerIdCXX/a.out" 27 | 28 | Determining if the C compiler works passed with the following output: 29 | Change Dir: /home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp 30 | 31 | Run Build Command:"/usr/bin/make" "cmTC_bce6d/fast" 32 | /usr/bin/make -f CMakeFiles/cmTC_bce6d.dir/build.make CMakeFiles/cmTC_bce6d.dir/build 33 | make[1]: Entering directory '/home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp' 34 | Building C object CMakeFiles/cmTC_bce6d.dir/testCCompiler.c.o 35 | /usr/bin/cc -o CMakeFiles/cmTC_bce6d.dir/testCCompiler.c.o -c /home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp/testCCompiler.c 36 | Linking C executable cmTC_bce6d 37 | /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_bce6d.dir/link.txt --verbose=1 38 | /usr/bin/cc CMakeFiles/cmTC_bce6d.dir/testCCompiler.c.o -o cmTC_bce6d 39 | make[1]: Leaving directory '/home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp' 40 | 41 | 42 | Detecting C compiler ABI info compiled with the following output: 43 | Change Dir: /home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp 44 | 45 | Run Build Command:"/usr/bin/make" "cmTC_45982/fast" 46 | /usr/bin/make -f CMakeFiles/cmTC_45982.dir/build.make CMakeFiles/cmTC_45982.dir/build 47 | make[1]: Entering directory '/home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp' 48 | Building C object CMakeFiles/cmTC_45982.dir/CMakeCCompilerABI.c.o 49 | /usr/bin/cc -o CMakeFiles/cmTC_45982.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.5/Modules/CMakeCCompilerABI.c 50 | Linking C executable cmTC_45982 51 | /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_45982.dir/link.txt --verbose=1 52 | /usr/bin/cc -v CMakeFiles/cmTC_45982.dir/CMakeCCompilerABI.c.o -o cmTC_45982 53 | Using built-in specs. 54 | COLLECT_GCC=/usr/bin/cc 55 | COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper 56 | Target: x86_64-linux-gnu 57 | Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.10' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu 58 | Thread model: posix 59 | gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10) 60 | COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/ 61 | LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../:/lib/:/usr/lib/ 62 | COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_45982' '-mtune=generic' '-march=x86-64' 63 | /usr/lib/gcc/x86_64-linux-gnu/5/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/5/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper -plugin-opt=-fresolution=/tmp/ccFmLWKP.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTC_45982 /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/5/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/5 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/5/../../.. CMakeFiles/cmTC_45982.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/5/crtend.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crtn.o 64 | make[1]: Leaving directory '/home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp' 65 | 66 | 67 | Parsed C implicit link information from above output: 68 | link line regex: [^( *|.*[/\])(ld|([^/\]+-)?ld|collect2)[^/\]*( |$)] 69 | ignore line: [Change Dir: /home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp] 70 | ignore line: [] 71 | ignore line: [Run Build Command:"/usr/bin/make" "cmTC_45982/fast"] 72 | ignore line: [/usr/bin/make -f CMakeFiles/cmTC_45982.dir/build.make CMakeFiles/cmTC_45982.dir/build] 73 | ignore line: [make[1]: Entering directory '/home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp'] 74 | ignore line: [Building C object CMakeFiles/cmTC_45982.dir/CMakeCCompilerABI.c.o] 75 | ignore line: [/usr/bin/cc -o CMakeFiles/cmTC_45982.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.5/Modules/CMakeCCompilerABI.c] 76 | ignore line: [Linking C executable cmTC_45982] 77 | ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_45982.dir/link.txt --verbose=1] 78 | ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_45982.dir/CMakeCCompilerABI.c.o -o cmTC_45982 ] 79 | ignore line: [Using built-in specs.] 80 | ignore line: [COLLECT_GCC=/usr/bin/cc] 81 | ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper] 82 | ignore line: [Target: x86_64-linux-gnu] 83 | ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.10' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] 84 | ignore line: [Thread model: posix] 85 | ignore line: [gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10) ] 86 | ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/] 87 | ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../:/lib/:/usr/lib/] 88 | ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_45982' '-mtune=generic' '-march=x86-64'] 89 | link line: [ /usr/lib/gcc/x86_64-linux-gnu/5/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/5/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper -plugin-opt=-fresolution=/tmp/ccFmLWKP.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTC_45982 /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/5/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/5 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/5/../../.. CMakeFiles/cmTC_45982.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/5/crtend.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crtn.o] 90 | arg [/usr/lib/gcc/x86_64-linux-gnu/5/collect2] ==> ignore 91 | arg [-plugin] ==> ignore 92 | arg [/usr/lib/gcc/x86_64-linux-gnu/5/liblto_plugin.so] ==> ignore 93 | arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper] ==> ignore 94 | arg [-plugin-opt=-fresolution=/tmp/ccFmLWKP.res] ==> ignore 95 | arg [-plugin-opt=-pass-through=-lgcc] ==> ignore 96 | arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore 97 | arg [-plugin-opt=-pass-through=-lc] ==> ignore 98 | arg [-plugin-opt=-pass-through=-lgcc] ==> ignore 99 | arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore 100 | arg [--sysroot=/] ==> ignore 101 | arg [--build-id] ==> ignore 102 | arg [--eh-frame-hdr] ==> ignore 103 | arg [-m] ==> ignore 104 | arg [elf_x86_64] ==> ignore 105 | arg [--hash-style=gnu] ==> ignore 106 | arg [--as-needed] ==> ignore 107 | arg [-dynamic-linker] ==> ignore 108 | arg [/lib64/ld-linux-x86-64.so.2] ==> ignore 109 | arg [-zrelro] ==> ignore 110 | arg [-o] ==> ignore 111 | arg [cmTC_45982] ==> ignore 112 | arg [/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o] ==> ignore 113 | arg [/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crti.o] ==> ignore 114 | arg [/usr/lib/gcc/x86_64-linux-gnu/5/crtbegin.o] ==> ignore 115 | arg [-L/usr/lib/gcc/x86_64-linux-gnu/5] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/5] 116 | arg [-L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu] 117 | arg [-L/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib] 118 | arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] 119 | arg [-L/lib/../lib] ==> dir [/lib/../lib] 120 | arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] 121 | arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] 122 | arg [-L/usr/lib/gcc/x86_64-linux-gnu/5/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/5/../../..] 123 | arg [CMakeFiles/cmTC_45982.dir/CMakeCCompilerABI.c.o] ==> ignore 124 | arg [-lgcc] ==> lib [gcc] 125 | arg [--as-needed] ==> ignore 126 | arg [-lgcc_s] ==> lib [gcc_s] 127 | arg [--no-as-needed] ==> ignore 128 | arg [-lc] ==> lib [c] 129 | arg [-lgcc] ==> lib [gcc] 130 | arg [--as-needed] ==> ignore 131 | arg [-lgcc_s] ==> lib [gcc_s] 132 | arg [--no-as-needed] ==> ignore 133 | arg [/usr/lib/gcc/x86_64-linux-gnu/5/crtend.o] ==> ignore 134 | arg [/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crtn.o] ==> ignore 135 | remove lib [gcc] 136 | remove lib [gcc_s] 137 | remove lib [gcc] 138 | remove lib [gcc_s] 139 | collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/5] ==> [/usr/lib/gcc/x86_64-linux-gnu/5] 140 | collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] 141 | collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib] ==> [/usr/lib] 142 | collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] 143 | collapse library dir [/lib/../lib] ==> [/lib] 144 | collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] 145 | collapse library dir [/usr/lib/../lib] ==> [/usr/lib] 146 | collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/5/../../..] ==> [/usr/lib] 147 | implicit libs: [c] 148 | implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/5;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib] 149 | implicit fwks: [] 150 | 151 | 152 | 153 | 154 | Detecting C [-std=c11] compiler features compiled with the following output: 155 | Change Dir: /home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp 156 | 157 | Run Build Command:"/usr/bin/make" "cmTC_47da7/fast" 158 | /usr/bin/make -f CMakeFiles/cmTC_47da7.dir/build.make CMakeFiles/cmTC_47da7.dir/build 159 | make[1]: Entering directory '/home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp' 160 | Building C object CMakeFiles/cmTC_47da7.dir/feature_tests.c.o 161 | /usr/bin/cc -std=c11 -o CMakeFiles/cmTC_47da7.dir/feature_tests.c.o -c /home/jmx/project/reactor/cpp/build/CMakeFiles/feature_tests.c 162 | Linking C executable cmTC_47da7 163 | /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_47da7.dir/link.txt --verbose=1 164 | /usr/bin/cc CMakeFiles/cmTC_47da7.dir/feature_tests.c.o -o cmTC_47da7 165 | make[1]: Leaving directory '/home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp' 166 | 167 | 168 | Feature record: C_FEATURE:1c_function_prototypes 169 | Feature record: C_FEATURE:1c_restrict 170 | Feature record: C_FEATURE:1c_static_assert 171 | Feature record: C_FEATURE:1c_variadic_macros 172 | 173 | 174 | Detecting C [-std=c99] compiler features compiled with the following output: 175 | Change Dir: /home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp 176 | 177 | Run Build Command:"/usr/bin/make" "cmTC_df599/fast" 178 | /usr/bin/make -f CMakeFiles/cmTC_df599.dir/build.make CMakeFiles/cmTC_df599.dir/build 179 | make[1]: Entering directory '/home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp' 180 | Building C object CMakeFiles/cmTC_df599.dir/feature_tests.c.o 181 | /usr/bin/cc -std=c99 -o CMakeFiles/cmTC_df599.dir/feature_tests.c.o -c /home/jmx/project/reactor/cpp/build/CMakeFiles/feature_tests.c 182 | Linking C executable cmTC_df599 183 | /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_df599.dir/link.txt --verbose=1 184 | /usr/bin/cc CMakeFiles/cmTC_df599.dir/feature_tests.c.o -o cmTC_df599 185 | make[1]: Leaving directory '/home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp' 186 | 187 | 188 | Feature record: C_FEATURE:1c_function_prototypes 189 | Feature record: C_FEATURE:1c_restrict 190 | Feature record: C_FEATURE:0c_static_assert 191 | Feature record: C_FEATURE:1c_variadic_macros 192 | 193 | 194 | Detecting C [-std=c90] compiler features compiled with the following output: 195 | Change Dir: /home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp 196 | 197 | Run Build Command:"/usr/bin/make" "cmTC_6dd43/fast" 198 | /usr/bin/make -f CMakeFiles/cmTC_6dd43.dir/build.make CMakeFiles/cmTC_6dd43.dir/build 199 | make[1]: Entering directory '/home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp' 200 | Building C object CMakeFiles/cmTC_6dd43.dir/feature_tests.c.o 201 | /usr/bin/cc -std=c90 -o CMakeFiles/cmTC_6dd43.dir/feature_tests.c.o -c /home/jmx/project/reactor/cpp/build/CMakeFiles/feature_tests.c 202 | Linking C executable cmTC_6dd43 203 | /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_6dd43.dir/link.txt --verbose=1 204 | /usr/bin/cc CMakeFiles/cmTC_6dd43.dir/feature_tests.c.o -o cmTC_6dd43 205 | make[1]: Leaving directory '/home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp' 206 | 207 | 208 | Feature record: C_FEATURE:1c_function_prototypes 209 | Feature record: C_FEATURE:0c_restrict 210 | Feature record: C_FEATURE:0c_static_assert 211 | Feature record: C_FEATURE:0c_variadic_macros 212 | Determining if the CXX compiler works passed with the following output: 213 | Change Dir: /home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp 214 | 215 | Run Build Command:"/usr/bin/make" "cmTC_f8691/fast" 216 | /usr/bin/make -f CMakeFiles/cmTC_f8691.dir/build.make CMakeFiles/cmTC_f8691.dir/build 217 | make[1]: Entering directory '/home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp' 218 | Building CXX object CMakeFiles/cmTC_f8691.dir/testCXXCompiler.cxx.o 219 | /usr/bin/c++ -o CMakeFiles/cmTC_f8691.dir/testCXXCompiler.cxx.o -c /home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx 220 | Linking CXX executable cmTC_f8691 221 | /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f8691.dir/link.txt --verbose=1 222 | /usr/bin/c++ CMakeFiles/cmTC_f8691.dir/testCXXCompiler.cxx.o -o cmTC_f8691 223 | make[1]: Leaving directory '/home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp' 224 | 225 | 226 | Detecting CXX compiler ABI info compiled with the following output: 227 | Change Dir: /home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp 228 | 229 | Run Build Command:"/usr/bin/make" "cmTC_31a02/fast" 230 | /usr/bin/make -f CMakeFiles/cmTC_31a02.dir/build.make CMakeFiles/cmTC_31a02.dir/build 231 | make[1]: Entering directory '/home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp' 232 | Building CXX object CMakeFiles/cmTC_31a02.dir/CMakeCXXCompilerABI.cpp.o 233 | /usr/bin/c++ -o CMakeFiles/cmTC_31a02.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.5/Modules/CMakeCXXCompilerABI.cpp 234 | Linking CXX executable cmTC_31a02 235 | /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_31a02.dir/link.txt --verbose=1 236 | /usr/bin/c++ -v CMakeFiles/cmTC_31a02.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_31a02 237 | Using built-in specs. 238 | COLLECT_GCC=/usr/bin/c++ 239 | COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper 240 | Target: x86_64-linux-gnu 241 | Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.10' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu 242 | Thread model: posix 243 | gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10) 244 | COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/ 245 | LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../:/lib/:/usr/lib/ 246 | COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_31a02' '-shared-libgcc' '-mtune=generic' '-march=x86-64' 247 | /usr/lib/gcc/x86_64-linux-gnu/5/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/5/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper -plugin-opt=-fresolution=/tmp/ccfFZUVb.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTC_31a02 /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/5/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/5 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/5/../../.. CMakeFiles/cmTC_31a02.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/5/crtend.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crtn.o 248 | make[1]: Leaving directory '/home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp' 249 | 250 | 251 | Parsed CXX implicit link information from above output: 252 | link line regex: [^( *|.*[/\])(ld|([^/\]+-)?ld|collect2)[^/\]*( |$)] 253 | ignore line: [Change Dir: /home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp] 254 | ignore line: [] 255 | ignore line: [Run Build Command:"/usr/bin/make" "cmTC_31a02/fast"] 256 | ignore line: [/usr/bin/make -f CMakeFiles/cmTC_31a02.dir/build.make CMakeFiles/cmTC_31a02.dir/build] 257 | ignore line: [make[1]: Entering directory '/home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp'] 258 | ignore line: [Building CXX object CMakeFiles/cmTC_31a02.dir/CMakeCXXCompilerABI.cpp.o] 259 | ignore line: [/usr/bin/c++ -o CMakeFiles/cmTC_31a02.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.5/Modules/CMakeCXXCompilerABI.cpp] 260 | ignore line: [Linking CXX executable cmTC_31a02] 261 | ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_31a02.dir/link.txt --verbose=1] 262 | ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_31a02.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_31a02 ] 263 | ignore line: [Using built-in specs.] 264 | ignore line: [COLLECT_GCC=/usr/bin/c++] 265 | ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper] 266 | ignore line: [Target: x86_64-linux-gnu] 267 | ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.10' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] 268 | ignore line: [Thread model: posix] 269 | ignore line: [gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10) ] 270 | ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/] 271 | ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../:/lib/:/usr/lib/] 272 | ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_31a02' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] 273 | link line: [ /usr/lib/gcc/x86_64-linux-gnu/5/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/5/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper -plugin-opt=-fresolution=/tmp/ccfFZUVb.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTC_31a02 /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/5/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/5 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/5/../../.. CMakeFiles/cmTC_31a02.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/5/crtend.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crtn.o] 274 | arg [/usr/lib/gcc/x86_64-linux-gnu/5/collect2] ==> ignore 275 | arg [-plugin] ==> ignore 276 | arg [/usr/lib/gcc/x86_64-linux-gnu/5/liblto_plugin.so] ==> ignore 277 | arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper] ==> ignore 278 | arg [-plugin-opt=-fresolution=/tmp/ccfFZUVb.res] ==> ignore 279 | arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore 280 | arg [-plugin-opt=-pass-through=-lgcc] ==> ignore 281 | arg [-plugin-opt=-pass-through=-lc] ==> ignore 282 | arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore 283 | arg [-plugin-opt=-pass-through=-lgcc] ==> ignore 284 | arg [--sysroot=/] ==> ignore 285 | arg [--build-id] ==> ignore 286 | arg [--eh-frame-hdr] ==> ignore 287 | arg [-m] ==> ignore 288 | arg [elf_x86_64] ==> ignore 289 | arg [--hash-style=gnu] ==> ignore 290 | arg [--as-needed] ==> ignore 291 | arg [-dynamic-linker] ==> ignore 292 | arg [/lib64/ld-linux-x86-64.so.2] ==> ignore 293 | arg [-zrelro] ==> ignore 294 | arg [-o] ==> ignore 295 | arg [cmTC_31a02] ==> ignore 296 | arg [/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o] ==> ignore 297 | arg [/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crti.o] ==> ignore 298 | arg [/usr/lib/gcc/x86_64-linux-gnu/5/crtbegin.o] ==> ignore 299 | arg [-L/usr/lib/gcc/x86_64-linux-gnu/5] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/5] 300 | arg [-L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu] 301 | arg [-L/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib] 302 | arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] 303 | arg [-L/lib/../lib] ==> dir [/lib/../lib] 304 | arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] 305 | arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] 306 | arg [-L/usr/lib/gcc/x86_64-linux-gnu/5/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/5/../../..] 307 | arg [CMakeFiles/cmTC_31a02.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore 308 | arg [-lstdc++] ==> lib [stdc++] 309 | arg [-lm] ==> lib [m] 310 | arg [-lgcc_s] ==> lib [gcc_s] 311 | arg [-lgcc] ==> lib [gcc] 312 | arg [-lc] ==> lib [c] 313 | arg [-lgcc_s] ==> lib [gcc_s] 314 | arg [-lgcc] ==> lib [gcc] 315 | arg [/usr/lib/gcc/x86_64-linux-gnu/5/crtend.o] ==> ignore 316 | arg [/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crtn.o] ==> ignore 317 | remove lib [gcc_s] 318 | remove lib [gcc] 319 | remove lib [gcc_s] 320 | remove lib [gcc] 321 | collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/5] ==> [/usr/lib/gcc/x86_64-linux-gnu/5] 322 | collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] 323 | collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib] ==> [/usr/lib] 324 | collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] 325 | collapse library dir [/lib/../lib] ==> [/lib] 326 | collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] 327 | collapse library dir [/usr/lib/../lib] ==> [/usr/lib] 328 | collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/5/../../..] ==> [/usr/lib] 329 | implicit libs: [stdc++;m;c] 330 | implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/5;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib] 331 | implicit fwks: [] 332 | 333 | 334 | 335 | 336 | Detecting CXX [-std=c++14] compiler features compiled with the following output: 337 | Change Dir: /home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp 338 | 339 | Run Build Command:"/usr/bin/make" "cmTC_04f39/fast" 340 | /usr/bin/make -f CMakeFiles/cmTC_04f39.dir/build.make CMakeFiles/cmTC_04f39.dir/build 341 | make[1]: Entering directory '/home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp' 342 | Building CXX object CMakeFiles/cmTC_04f39.dir/feature_tests.cxx.o 343 | /usr/bin/c++ -std=c++14 -o CMakeFiles/cmTC_04f39.dir/feature_tests.cxx.o -c /home/jmx/project/reactor/cpp/build/CMakeFiles/feature_tests.cxx 344 | Linking CXX executable cmTC_04f39 345 | /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_04f39.dir/link.txt --verbose=1 346 | /usr/bin/c++ CMakeFiles/cmTC_04f39.dir/feature_tests.cxx.o -o cmTC_04f39 347 | make[1]: Leaving directory '/home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp' 348 | 349 | 350 | Feature record: CXX_FEATURE:1cxx_aggregate_default_initializers 351 | Feature record: CXX_FEATURE:1cxx_alias_templates 352 | Feature record: CXX_FEATURE:1cxx_alignas 353 | Feature record: CXX_FEATURE:1cxx_alignof 354 | Feature record: CXX_FEATURE:1cxx_attributes 355 | Feature record: CXX_FEATURE:1cxx_attribute_deprecated 356 | Feature record: CXX_FEATURE:1cxx_auto_type 357 | Feature record: CXX_FEATURE:1cxx_binary_literals 358 | Feature record: CXX_FEATURE:1cxx_constexpr 359 | Feature record: CXX_FEATURE:1cxx_contextual_conversions 360 | Feature record: CXX_FEATURE:1cxx_decltype 361 | Feature record: CXX_FEATURE:1cxx_decltype_auto 362 | Feature record: CXX_FEATURE:1cxx_decltype_incomplete_return_types 363 | Feature record: CXX_FEATURE:1cxx_default_function_template_args 364 | Feature record: CXX_FEATURE:1cxx_defaulted_functions 365 | Feature record: CXX_FEATURE:1cxx_defaulted_move_initializers 366 | Feature record: CXX_FEATURE:1cxx_delegating_constructors 367 | Feature record: CXX_FEATURE:1cxx_deleted_functions 368 | Feature record: CXX_FEATURE:1cxx_digit_separators 369 | Feature record: CXX_FEATURE:1cxx_enum_forward_declarations 370 | Feature record: CXX_FEATURE:1cxx_explicit_conversions 371 | Feature record: CXX_FEATURE:1cxx_extended_friend_declarations 372 | Feature record: CXX_FEATURE:1cxx_extern_templates 373 | Feature record: CXX_FEATURE:1cxx_final 374 | Feature record: CXX_FEATURE:1cxx_func_identifier 375 | Feature record: CXX_FEATURE:1cxx_generalized_initializers 376 | Feature record: CXX_FEATURE:1cxx_generic_lambdas 377 | Feature record: CXX_FEATURE:1cxx_inheriting_constructors 378 | Feature record: CXX_FEATURE:1cxx_inline_namespaces 379 | Feature record: CXX_FEATURE:1cxx_lambdas 380 | Feature record: CXX_FEATURE:1cxx_lambda_init_captures 381 | Feature record: CXX_FEATURE:1cxx_local_type_template_args 382 | Feature record: CXX_FEATURE:1cxx_long_long_type 383 | Feature record: CXX_FEATURE:1cxx_noexcept 384 | Feature record: CXX_FEATURE:1cxx_nonstatic_member_init 385 | Feature record: CXX_FEATURE:1cxx_nullptr 386 | Feature record: CXX_FEATURE:1cxx_override 387 | Feature record: CXX_FEATURE:1cxx_range_for 388 | Feature record: CXX_FEATURE:1cxx_raw_string_literals 389 | Feature record: CXX_FEATURE:1cxx_reference_qualified_functions 390 | Feature record: CXX_FEATURE:1cxx_relaxed_constexpr 391 | Feature record: CXX_FEATURE:1cxx_return_type_deduction 392 | Feature record: CXX_FEATURE:1cxx_right_angle_brackets 393 | Feature record: CXX_FEATURE:1cxx_rvalue_references 394 | Feature record: CXX_FEATURE:1cxx_sizeof_member 395 | Feature record: CXX_FEATURE:1cxx_static_assert 396 | Feature record: CXX_FEATURE:1cxx_strong_enums 397 | Feature record: CXX_FEATURE:1cxx_template_template_parameters 398 | Feature record: CXX_FEATURE:1cxx_thread_local 399 | Feature record: CXX_FEATURE:1cxx_trailing_return_types 400 | Feature record: CXX_FEATURE:1cxx_unicode_literals 401 | Feature record: CXX_FEATURE:1cxx_uniform_initialization 402 | Feature record: CXX_FEATURE:1cxx_unrestricted_unions 403 | Feature record: CXX_FEATURE:1cxx_user_literals 404 | Feature record: CXX_FEATURE:1cxx_variable_templates 405 | Feature record: CXX_FEATURE:1cxx_variadic_macros 406 | Feature record: CXX_FEATURE:1cxx_variadic_templates 407 | 408 | 409 | Detecting CXX [-std=c++11] compiler features compiled with the following output: 410 | Change Dir: /home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp 411 | 412 | Run Build Command:"/usr/bin/make" "cmTC_60ec5/fast" 413 | /usr/bin/make -f CMakeFiles/cmTC_60ec5.dir/build.make CMakeFiles/cmTC_60ec5.dir/build 414 | make[1]: Entering directory '/home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp' 415 | Building CXX object CMakeFiles/cmTC_60ec5.dir/feature_tests.cxx.o 416 | /usr/bin/c++ -std=c++11 -o CMakeFiles/cmTC_60ec5.dir/feature_tests.cxx.o -c /home/jmx/project/reactor/cpp/build/CMakeFiles/feature_tests.cxx 417 | Linking CXX executable cmTC_60ec5 418 | /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_60ec5.dir/link.txt --verbose=1 419 | /usr/bin/c++ CMakeFiles/cmTC_60ec5.dir/feature_tests.cxx.o -o cmTC_60ec5 420 | make[1]: Leaving directory '/home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp' 421 | 422 | 423 | Feature record: CXX_FEATURE:0cxx_aggregate_default_initializers 424 | Feature record: CXX_FEATURE:1cxx_alias_templates 425 | Feature record: CXX_FEATURE:1cxx_alignas 426 | Feature record: CXX_FEATURE:1cxx_alignof 427 | Feature record: CXX_FEATURE:1cxx_attributes 428 | Feature record: CXX_FEATURE:0cxx_attribute_deprecated 429 | Feature record: CXX_FEATURE:1cxx_auto_type 430 | Feature record: CXX_FEATURE:0cxx_binary_literals 431 | Feature record: CXX_FEATURE:1cxx_constexpr 432 | Feature record: CXX_FEATURE:0cxx_contextual_conversions 433 | Feature record: CXX_FEATURE:1cxx_decltype 434 | Feature record: CXX_FEATURE:0cxx_decltype_auto 435 | Feature record: CXX_FEATURE:1cxx_decltype_incomplete_return_types 436 | Feature record: CXX_FEATURE:1cxx_default_function_template_args 437 | Feature record: CXX_FEATURE:1cxx_defaulted_functions 438 | Feature record: CXX_FEATURE:1cxx_defaulted_move_initializers 439 | Feature record: CXX_FEATURE:1cxx_delegating_constructors 440 | Feature record: CXX_FEATURE:1cxx_deleted_functions 441 | Feature record: CXX_FEATURE:0cxx_digit_separators 442 | Feature record: CXX_FEATURE:1cxx_enum_forward_declarations 443 | Feature record: CXX_FEATURE:1cxx_explicit_conversions 444 | Feature record: CXX_FEATURE:1cxx_extended_friend_declarations 445 | Feature record: CXX_FEATURE:1cxx_extern_templates 446 | Feature record: CXX_FEATURE:1cxx_final 447 | Feature record: CXX_FEATURE:1cxx_func_identifier 448 | Feature record: CXX_FEATURE:1cxx_generalized_initializers 449 | Feature record: CXX_FEATURE:0cxx_generic_lambdas 450 | Feature record: CXX_FEATURE:1cxx_inheriting_constructors 451 | Feature record: CXX_FEATURE:1cxx_inline_namespaces 452 | Feature record: CXX_FEATURE:1cxx_lambdas 453 | Feature record: CXX_FEATURE:0cxx_lambda_init_captures 454 | Feature record: CXX_FEATURE:1cxx_local_type_template_args 455 | Feature record: CXX_FEATURE:1cxx_long_long_type 456 | Feature record: CXX_FEATURE:1cxx_noexcept 457 | Feature record: CXX_FEATURE:1cxx_nonstatic_member_init 458 | Feature record: CXX_FEATURE:1cxx_nullptr 459 | Feature record: CXX_FEATURE:1cxx_override 460 | Feature record: CXX_FEATURE:1cxx_range_for 461 | Feature record: CXX_FEATURE:1cxx_raw_string_literals 462 | Feature record: CXX_FEATURE:1cxx_reference_qualified_functions 463 | Feature record: CXX_FEATURE:0cxx_relaxed_constexpr 464 | Feature record: CXX_FEATURE:0cxx_return_type_deduction 465 | Feature record: CXX_FEATURE:1cxx_right_angle_brackets 466 | Feature record: CXX_FEATURE:1cxx_rvalue_references 467 | Feature record: CXX_FEATURE:1cxx_sizeof_member 468 | Feature record: CXX_FEATURE:1cxx_static_assert 469 | Feature record: CXX_FEATURE:1cxx_strong_enums 470 | Feature record: CXX_FEATURE:1cxx_template_template_parameters 471 | Feature record: CXX_FEATURE:1cxx_thread_local 472 | Feature record: CXX_FEATURE:1cxx_trailing_return_types 473 | Feature record: CXX_FEATURE:1cxx_unicode_literals 474 | Feature record: CXX_FEATURE:1cxx_uniform_initialization 475 | Feature record: CXX_FEATURE:1cxx_unrestricted_unions 476 | Feature record: CXX_FEATURE:1cxx_user_literals 477 | Feature record: CXX_FEATURE:0cxx_variable_templates 478 | Feature record: CXX_FEATURE:1cxx_variadic_macros 479 | Feature record: CXX_FEATURE:1cxx_variadic_templates 480 | 481 | 482 | Detecting CXX [-std=c++98] compiler features compiled with the following output: 483 | Change Dir: /home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp 484 | 485 | Run Build Command:"/usr/bin/make" "cmTC_e309b/fast" 486 | /usr/bin/make -f CMakeFiles/cmTC_e309b.dir/build.make CMakeFiles/cmTC_e309b.dir/build 487 | make[1]: Entering directory '/home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp' 488 | Building CXX object CMakeFiles/cmTC_e309b.dir/feature_tests.cxx.o 489 | /usr/bin/c++ -std=c++98 -o CMakeFiles/cmTC_e309b.dir/feature_tests.cxx.o -c /home/jmx/project/reactor/cpp/build/CMakeFiles/feature_tests.cxx 490 | Linking CXX executable cmTC_e309b 491 | /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e309b.dir/link.txt --verbose=1 492 | /usr/bin/c++ CMakeFiles/cmTC_e309b.dir/feature_tests.cxx.o -o cmTC_e309b 493 | make[1]: Leaving directory '/home/jmx/project/reactor/cpp/build/CMakeFiles/CMakeTmp' 494 | 495 | 496 | Feature record: CXX_FEATURE:0cxx_aggregate_default_initializers 497 | Feature record: CXX_FEATURE:0cxx_alias_templates 498 | Feature record: CXX_FEATURE:0cxx_alignas 499 | Feature record: CXX_FEATURE:0cxx_alignof 500 | Feature record: CXX_FEATURE:0cxx_attributes 501 | Feature record: CXX_FEATURE:0cxx_attribute_deprecated 502 | Feature record: CXX_FEATURE:0cxx_auto_type 503 | Feature record: CXX_FEATURE:0cxx_binary_literals 504 | Feature record: CXX_FEATURE:0cxx_constexpr 505 | Feature record: CXX_FEATURE:0cxx_contextual_conversions 506 | Feature record: CXX_FEATURE:0cxx_decltype 507 | Feature record: CXX_FEATURE:0cxx_decltype_auto 508 | Feature record: CXX_FEATURE:0cxx_decltype_incomplete_return_types 509 | Feature record: CXX_FEATURE:0cxx_default_function_template_args 510 | Feature record: CXX_FEATURE:0cxx_defaulted_functions 511 | Feature record: CXX_FEATURE:0cxx_defaulted_move_initializers 512 | Feature record: CXX_FEATURE:0cxx_delegating_constructors 513 | Feature record: CXX_FEATURE:0cxx_deleted_functions 514 | Feature record: CXX_FEATURE:0cxx_digit_separators 515 | Feature record: CXX_FEATURE:0cxx_enum_forward_declarations 516 | Feature record: CXX_FEATURE:0cxx_explicit_conversions 517 | Feature record: CXX_FEATURE:0cxx_extended_friend_declarations 518 | Feature record: CXX_FEATURE:0cxx_extern_templates 519 | Feature record: CXX_FEATURE:0cxx_final 520 | Feature record: CXX_FEATURE:0cxx_func_identifier 521 | Feature record: CXX_FEATURE:0cxx_generalized_initializers 522 | Feature record: CXX_FEATURE:0cxx_generic_lambdas 523 | Feature record: CXX_FEATURE:0cxx_inheriting_constructors 524 | Feature record: CXX_FEATURE:0cxx_inline_namespaces 525 | Feature record: CXX_FEATURE:0cxx_lambdas 526 | Feature record: CXX_FEATURE:0cxx_lambda_init_captures 527 | Feature record: CXX_FEATURE:0cxx_local_type_template_args 528 | Feature record: CXX_FEATURE:0cxx_long_long_type 529 | Feature record: CXX_FEATURE:0cxx_noexcept 530 | Feature record: CXX_FEATURE:0cxx_nonstatic_member_init 531 | Feature record: CXX_FEATURE:0cxx_nullptr 532 | Feature record: CXX_FEATURE:0cxx_override 533 | Feature record: CXX_FEATURE:0cxx_range_for 534 | Feature record: CXX_FEATURE:0cxx_raw_string_literals 535 | Feature record: CXX_FEATURE:0cxx_reference_qualified_functions 536 | Feature record: CXX_FEATURE:0cxx_relaxed_constexpr 537 | Feature record: CXX_FEATURE:0cxx_return_type_deduction 538 | Feature record: CXX_FEATURE:0cxx_right_angle_brackets 539 | Feature record: CXX_FEATURE:0cxx_rvalue_references 540 | Feature record: CXX_FEATURE:0cxx_sizeof_member 541 | Feature record: CXX_FEATURE:0cxx_static_assert 542 | Feature record: CXX_FEATURE:0cxx_strong_enums 543 | Feature record: CXX_FEATURE:1cxx_template_template_parameters 544 | Feature record: CXX_FEATURE:0cxx_thread_local 545 | Feature record: CXX_FEATURE:0cxx_trailing_return_types 546 | Feature record: CXX_FEATURE:0cxx_unicode_literals 547 | Feature record: CXX_FEATURE:0cxx_uniform_initialization 548 | Feature record: CXX_FEATURE:0cxx_unrestricted_unions 549 | Feature record: CXX_FEATURE:0cxx_user_literals 550 | Feature record: CXX_FEATURE:0cxx_variable_templates 551 | Feature record: CXX_FEATURE:0cxx_variadic_macros 552 | Feature record: CXX_FEATURE:0cxx_variadic_templates 553 | --------------------------------------------------------------------------------