diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000000000000000000000000000000000000..994e25dd81388a76d94cdb09813a4bb354a6b632 --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +Project1 \ No newline at end of file diff --git a/.idea/Project1.iml b/.idea/Project1.iml new file mode 100644 index 0000000000000000000000000000000000000000..f08604bb65b25149b195f9e9f282f9683a428592 --- /dev/null +++ b/.idea/Project1.iml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<module classpath="CMake" type="CPP_MODULE" version="4" /> \ No newline at end of file diff --git a/.idea/dictionaries/sherifsas.xml b/.idea/dictionaries/sherifsas.xml new file mode 100644 index 0000000000000000000000000000000000000000..33220812fd14c73c5206c92fc8b35f27277d6699 --- /dev/null +++ b/.idea/dictionaries/sherifsas.xml @@ -0,0 +1,7 @@ +<component name="ProjectDictionaryState"> + <dictionary name="sherifsas"> + <words> + <w>inititalization</w> + </words> + </dictionary> +</component> \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000000000000000000000000000000000000..79b3c94830bab93d40d0770f2765540fe24ed423 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="CMakeWorkspace" PROJECT_DIR="$PROJECT_DIR$" /> +</project> \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000000000000000000000000000000000000..3db647aa02b73db81b98a595bedaeafad2e9731f --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="ProjectModuleManager"> + <modules> + <module fileurl="file://$PROJECT_DIR$/.idea/Project1.iml" filepath="$PROJECT_DIR$/.idea/Project1.iml" /> + </modules> + </component> +</project> \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000000000000000000000000000000000000..ff042ca66669bf2aa3a1c767f586bdc1ae8bf7df --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,304 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="CMakeRunConfigurationManager" shouldGenerate="true" shouldDeleteObsolete="true" buildAllGenerated="true"> + <generated> + <config projectName="Project1" targetName="Project1" /> + </generated> + </component> + <component name="CMakeSettings"> + <configurations> + <configuration CONFIG_NAME="Debug" /> + </configurations> + </component> + <component name="ChangeListManager"> + <list default="true" id="2d172ec0-e9f8-4c02-9403-25e0461dca57" name="Default" comment="" /> + <ignored path="$PROJECT_DIR$/cmake-build-debug/" /> + <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> + <option name="TRACKING_ENABLED" value="true" /> + <option name="SHOW_DIALOG" value="false" /> + <option name="HIGHLIGHT_CONFLICTS" value="true" /> + <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" /> + <option name="LAST_RESOLUTION" value="IGNORE" /> + </component> + <component name="FileEditorManager"> + <leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> + <file leaf-file-name="util.h" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/util.h"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="1037"> + <caret line="61" column="14" lean-forward="false" selection-start-line="61" selection-start-column="14" selection-end-line="61" selection-end-column="14" /> + <folding> + <element signature="e#899#918#0" expanded="true" /> + </folding> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="run.h" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/run.h"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="0"> + <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="run.c" pinned="false" current-in-tab="true"> + <entry file="file://$PROJECT_DIR$/run.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="0"> + <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <folding> + <marker date="1511438946595" expanded="true" signature="1153:1208" ph="{...}" /> + <marker date="1511438946595" expanded="true" signature="1251:1538" ph="{...}" /> + <marker date="1511438946595" expanded="true" signature="1561:5282" ph="{...}" /> + <marker date="1511438946595" expanded="true" signature="5306:8039" ph="{...}" /> + <marker date="1511438946595" expanded="true" signature="8062:8519" ph="{...}" /> + <marker date="1511438946595" expanded="true" signature="8543:8777" ph="{...}" /> + <marker date="1511438946595" expanded="true" signature="9269:10693" ph="{...}" /> + </folding> + </state> + </provider> + </entry> + </file> + </leaf> + </component> + <component name="FindInProjectRecents"> + <findStrings> + <find>program_f</find> + <find>line</find> + <find>main</find> + <find>run</find> + <find>argc</find> + <find>INST_INFO</find> + <find>address</find> + <find>bi</find> + <find>value</find> + </findStrings> + </component> + <component name="IdeDocumentHistory"> + <option name="CHANGED_PATHS"> + <list> + <option value="$PROJECT_DIR$/cse561.c" /> + <option value="$PROJECT_DIR$/util.c" /> + <option value="$PROJECT_DIR$/README.md" /> + <option value="$PROJECT_DIR$/util.h" /> + <option value="$PROJECT_DIR$/parse.c" /> + <option value="$PROJECT_DIR$/run.c" /> + </list> + </option> + </component> + <component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" /> + <component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" /> + <component name="JsGulpfileManager"> + <detection-done>true</detection-done> + <sorting>DEFINITION_ORDER</sorting> + </component> + <component name="ProjectFrameBounds" extendedState="6"> + <option name="x" value="1912" /> + <option name="y" value="-8" /> + <option name="width" value="1936" /> + <option name="height" value="1056" /> + </component> + <component name="ProjectView"> + <navigator currentView="ProjectPane" proportions="" version="1"> + <flattenPackages /> + <showMembers /> + <showModules /> + <showLibraryContents /> + <hideEmptyPackages /> + <abbreviatePackageNames /> + <autoscrollToSource /> + <autoscrollFromSource /> + <sortByType /> + <manualOrder /> + <foldersAlwaysOnTop value="true" /> + </navigator> + <panes> + <pane id="ProjectPane"> + <subPane> + <expand> + <path> + <item name="Project1" type="dad4c3:CidrFilesViewHelper$MyProjectTreeStructure$1" /> + <item name="Project1" type="462c0819:PsiDirectoryNode" /> + </path> + </expand> + <select /> + </subPane> + </pane> + </panes> + </component> + <component name="PropertiesComponent"> + <property name="WebServerToolWindowFactoryState" value="false" /> + </component> + <component name="RunDashboard"> + <option name="ruleStates"> + <list> + <RuleState> + <option name="name" value="ConfigurationTypeDashboardGroupingRule" /> + </RuleState> + <RuleState> + <option name="name" value="StatusDashboardGroupingRule" /> + </RuleState> + </list> + </option> + </component> + <component name="RunManager" selected="Application.Project1"> + <configuration name="Build All" type="CMakeRunConfiguration" factoryName="Application" PASS_PARENT_ENVS_2="true" CONFIG_NAME="Debug" EXPLICIT_BUILD_TARGET_NAME="all"> + <envs /> + </configuration> + <configuration name="Project1" type="CMakeRunConfiguration" factoryName="Application" PASS_PARENT_ENVS_2="true" PROJECT_NAME="Project1" TARGET_NAME="Project1" CONFIG_NAME="Debug" RUN_TARGET_PROJECT_NAME="Project1" RUN_TARGET_NAME="Project1"> + <envs /> + </configuration> + <list size="2"> + <item index="0" class="java.lang.String" itemvalue="Application.Build All" /> + <item index="1" class="java.lang.String" itemvalue="Application.Project1" /> + </list> + </component> + <component name="ShelveChangesManager" show_recycled="false"> + <option name="remove_strategy" value="false" /> + </component> + <component name="TaskManager"> + <task active="true" id="Default" summary="Default task"> + <changelist id="2d172ec0-e9f8-4c02-9403-25e0461dca57" name="Default" comment="" /> + <created>1508229970008</created> + <option name="number" value="Default" /> + <option name="presentableId" value="Default" /> + <updated>1508229970008</updated> + <workItem from="1508229971344" duration="6448000" /> + <workItem from="1508237450109" duration="7363000" /> + <workItem from="1511434361967" duration="599000" /> + <workItem from="1511439517202" duration="33000" /> + </task> + <servers /> + </component> + <component name="TimeTrackingManager"> + <option name="totallyTimeSpent" value="14443000" /> + </component> + <component name="ToolWindowManager"> + <frame x="1912" y="-8" width="1936" height="1056" extended-state="6" /> + <layout> + <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> + <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> + <window_info id="CMake" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> + <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" /> + <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> + <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32979852" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> + <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> + <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> + <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" /> + <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> + <window_info id="Data View" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> + <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> + <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32979852" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> + <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> + <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> + <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> + <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" /> + <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> + <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> + </layout> + </component> + <component name="TypeScriptGeneratedFilesManager"> + <option name="version" value="1" /> + </component> + <component name="VcsContentAnnotationSettings"> + <option name="myLimit" value="2678400000" /> + </component> + <component name="XDebuggerManager"> + <breakpoint-manager> + <option name="time" value="4" /> + </breakpoint-manager> + <watches-manager /> + </component> + <component name="editorHistoryManager"> + <entry file="file://$PROJECT_DIR$/util.h"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="1037"> + <caret line="61" column="14" lean-forward="false" selection-start-line="61" selection-start-column="14" selection-end-line="61" selection-end-column="14" /> + <folding> + <element signature="e#899#918#0" expanded="true" /> + </folding> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/run.h"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="0"> + <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/util.h"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="0"> + <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <folding> + <element signature="e#899#918#0" expanded="true" /> + </folding> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/parse.c" /> + <entry file="file://$PROJECT_DIR$/util.h"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="1734"> + <caret line="102" column="29" lean-forward="true" selection-start-line="102" selection-start-column="29" selection-end-line="102" selection-end-column="29" /> + <folding> + <element signature="e#899#918#0" expanded="true" /> + </folding> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/util.c" /> + <entry file="file://$PROJECT_DIR$/cse561.c" /> + <entry file="file://$PROJECT_DIR$/sample_input/example01.s" /> + <entry file="file://$PROJECT_DIR$/CMakeLists.txt"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="0"> + <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/cse561.c" /> + <entry file="file://$PROJECT_DIR$/util.h"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="1037"> + <caret line="61" column="14" lean-forward="false" selection-start-line="61" selection-start-column="14" selection-end-line="61" selection-end-column="14" /> + <folding> + <element signature="e#899#918#0" expanded="true" /> + </folding> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/util.c" /> + <entry file="file://$PROJECT_DIR$/parse.c" /> + <entry file="file://$PROJECT_DIR$/README.md" /> + <entry file="file://$PROJECT_DIR$/run.h"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="0"> + <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/run.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="0"> + <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <folding> + <marker date="1511438946595" expanded="true" signature="1153:1208" ph="{...}" /> + <marker date="1511438946595" expanded="true" signature="1251:1538" ph="{...}" /> + <marker date="1511438946595" expanded="true" signature="1561:5282" ph="{...}" /> + <marker date="1511438946595" expanded="true" signature="5306:8039" ph="{...}" /> + <marker date="1511438946595" expanded="true" signature="8062:8519" ph="{...}" /> + <marker date="1511438946595" expanded="true" signature="8543:8777" ph="{...}" /> + <marker date="1511438946595" expanded="true" signature="9269:10693" ph="{...}" /> + </folding> + </state> + </provider> + </entry> + </component> +</project> \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..e9f64782fac05624db75f52000d719825ccbe649 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required(VERSION 3.8) +project(Project1) + +set(CMAKE_CXX_STANDARD 11) + +set(SOURCE_FILES + cse561.c + parse.c + parse.h + run.c + run.h + util.c + util.h) + +add_executable(Project1 ${SOURCE_FILES}) \ No newline at end of file diff --git a/Makefile b/Makefile index f1000d5196795d180c6db1b42b06b79e67e70a75..aca19f25e52219de94df0717facb4517d8b049f6 100644 --- a/Makefile +++ b/Makefile @@ -1,61 +1,46 @@ cse561sim: cse561.c util.c parse.c run.c gcc -g -O2 $^ -o $@ -.PHONY: clean +.PHONY: clean test help clean: rm -rf *~ cse561sim help: @echo "The following options are provided with Make\n\t-make:\t\tbuild simulator\n\t-make clean:\tclean the build\n\t-make test:\ttest your simulator" -test: cse561sim test_1 test_2 test_3 test_4 test_5 test_leaf test_beq test_double_loop test_jal test_various_inst +test: cse561sim test_1 test_2 test_3 test_4 test_5 test_fact test_leaf test_1: @echo "Testing example01"; \ - ./cse561sim -p sample_input/example01.o | diff -Naur sample_output/example01 - ;\ + ./cse561sim -m 0x10000000:0x10000010 -n 50 sample_input/example01.o | diff -Naur sample_output/example01 - ;\ if [ $$? -eq 0 ]; then echo "\tTest seems correct\n"; else echo "\tResults not identical, check the diff output\n"; fi test_2: @echo "Testing example02"; \ - ./cse561sim -p sample_input/example02.o | diff -Naur sample_output/example02 - ;\ + ./cse561sim -n 50 sample_input/example02.o | diff -Naur sample_output/example02 - ;\ if [ $$? -eq 0 ]; then echo "\tTest seems correct\n"; else echo "\tResults not identical, check the diff output\n"; fi test_3: @echo "Testing example03"; \ - ./cse561sim -p sample_input/example03.o | diff -Naur sample_output/example03 - ;\ + ./cse561sim -n 100 sample_input/example03.o | diff -Naur sample_output/example03 - ;\ if [ $$? -eq 0 ]; then echo "\tTest seems correct\n"; else echo "\tResults not identical, check the diff output\n"; fi test_4: @echo "Testing example04"; \ - ./cse561sim -p sample_input/example04.o | diff -Naur sample_output/example04 - ;\ + ./cse561sim -n 100 sample_input/example04.o | diff -Naur sample_output/example04 - ;\ if [ $$? -eq 0 ]; then echo "\tTest seems correct\n"; else echo "\tResults not identical, check the diff output\n"; fi test_5: @echo "Testing example05"; \ - ./cse561sim -p sample_input/example05.o | diff -Naur sample_output/example05 - ;\ + ./cse561sim -n 100 sample_input/example05.o | diff -Naur sample_output/example05 - ;\ if [ $$? -eq 0 ]; then echo "\tTest seems correct\n"; else echo "\tResults not identical, check the diff output\n"; fi -test_leaf: - @echo "Testing leaf_example"; \ - ./cse561sim -p sample_input/leaf_example.o | diff -Naur sample_output/leaf_example - ;\ - if [ $$? -eq 0 ]; then echo "\tTest seems correct\n"; else echo "\tResults not identical, check the diff output\n"; fi - -test_beq: - @echo "Testing beq_test"; \ - ./cse561sim -p sample_input/beq_test.o | diff -Naur sample_output/beq_test - ;\ - if [ $$? -eq 0 ]; then echo "\tTest seems correct\n"; else echo "\tResults not identical, check the diff output\n"; fi - -test_double_loop: - @echo "Testing double_loop"; \ - ./cse561sim -p sample_input/double_loop.o | diff -Naur sample_output/double_loop - ;\ - if [ $$? -eq 0 ]; then echo "\tTest seems correct\n"; else echo "\tResults not identical, check the diff output\n"; fi - -test_jal: - @echo "Testing jal_test"; \ - ./cse561sim -p sample_input/jal_test.o | diff -Naur sample_output/jal_test - ;\ +test_fact: + @echo "Testing fact"; \ + ./cse561sim -n 100 sample_input/fact.o | diff -Naur sample_output/fact - ;\ if [ $$? -eq 0 ]; then echo "\tTest seems correct\n"; else echo "\tResults not identical, check the diff output\n"; fi -test_various_inst: - @echo "Testing various_inst"; \ - ./cse561sim -p sample_input/various_inst.o | diff -Naur sample_output/various_inst - ;\ +test_leaf: + @echo "Testing leaf_example"; \ + ./cse561sim -n 100 sample_input/leaf_example.o | diff -Naur sample_output/leaf_example - ;\ if [ $$? -eq 0 ]; then echo "\tTest seems correct\n"; else echo "\tResults not identical, check the diff output\n"; fi diff --git a/README.md b/README.md index 09cb6fc7dd7d61f539275e7f3936f3630794e676..5b097911c64eede2f2f06818ae078d2bd16d7377 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,37 @@ -# Project 3. MIPS Pipelined Simulator -Skeleton developed by CMU and KAIST, -modified for Ajou Univeristy CSE561. - ## Instructions -There are three files you may modify: `util.h`, `run.h`, and `run.c`. +There are three functions you need to implement, located in the following two files: `parse.c`, `run.c` + +### 1. parse.c + +**Implement** the following parsing functions. + + instruction parsing_instr(const char* buffer, int index) + void parsing_data(const char* buffer, int index) -### 1. util.h +The `parsing_instr()` function is called for every instruction in the input file, and converts them into the `instruction` type. +The `instruction` type is defined in util.h -We have setup the basic CPU\_State that is sufficient to implement the project. -However, you may decide to add more variables, and modify/remove any misleading variables. +The `parsing_data()` function is called for every data field in the input file, and you need to fill the data into the `simulated memory`. +Use the `mem_read_32` and `mem_write_32` as mentioned in the Hints section below. -### 2. run.h +There is a helper function you can use to convert binary strings to int (32bit) variables: -You may add any additional functions that will be called by your implementation of `process_instruction()`. -In fact, we encourage you to split your implementation of `process_instruction()` into many other helping functions. -You may decide to have functions for each stages of the pipeline. -Function(s) to handle flushes (adding bubbles into the pipeline), etc. + int fromBinary(char * s) -### 3. run.c + +### 2. run.c **Implement** the following function: void process_instruction() -The `process_instruction()` function is used by the `cycle()` function to simulate a `cycle` of the pipelined simulator. -Each `cycle()` the pipeline will advance to the next instruction (if there are no stalls/hazards, etc.). -Your internal register, memory, and pipeline register state should be updated according to the instruction -that is being executed at each stage. +The `process_instruction()` function is used by the `cycle()` instruction to execute the instruction at the current PC. +Your internal register/memory state should be changed according to the instruction that is pointed to by the current PC. + +## Hints + +* Always use the `mem_read_32()`, `mem_write32()` functions when trying to read or write from the `simulated memory`. +This includes your implementation of the load/store functions, but also when you are loading `data` region to the `simulated memory`. +* You may generate input files of very simple instructions to check the functionality of your simulator. For example, `add $1, $1, 5`. +Then you can check if the R1 of your simulator has been incremented by 5, etc.. +* To compare your results to the reference simulator of the TAs that will be used to grade your simulator, execute `make test`. diff --git a/Sim.exe b/Sim.exe new file mode 100644 index 0000000000000000000000000000000000000000..f19245481536e9fc2671d5c65d70e2e8e9b2c55a Binary files /dev/null and b/Sim.exe differ diff --git a/Simulator.exe b/Simulator.exe new file mode 100644 index 0000000000000000000000000000000000000000..0451df1f55564eaf36ad6fb248d52f92bf617359 Binary files /dev/null and b/Simulator.exe differ diff --git a/Simulator_Result_01.JPG b/Simulator_Result_01.JPG new file mode 100644 index 0000000000000000000000000000000000000000..7dfe54cdb17aa5ec90790e45a91e933adfcd4317 Binary files /dev/null and b/Simulator_Result_01.JPG differ diff --git a/Simulator_Result_02.JPG b/Simulator_Result_02.JPG new file mode 100644 index 0000000000000000000000000000000000000000..0e2a1250472e9c73d6870a5eef53f3318f978b21 Binary files /dev/null and b/Simulator_Result_02.JPG differ diff --git a/Simulator_Result_03.JPG b/Simulator_Result_03.JPG new file mode 100644 index 0000000000000000000000000000000000000000..b8f4375fb4b912929d1ddd50af32ec99cc8c7b26 Binary files /dev/null and b/Simulator_Result_03.JPG differ diff --git a/cmake-build-debug/CMakeCache.txt b/cmake-build-debug/CMakeCache.txt new file mode 100644 index 0000000000000000000000000000000000000000..e8db4711881ede6269747275d07f13f60edf05bb --- /dev/null +++ b/cmake-build-debug/CMakeCache.txt @@ -0,0 +1,363 @@ +# This is the CMakeCache file. +# For build in directory: c:/Users/sherifsas/Desktop/Project2/cmake-build-debug +# It was generated by CMake: C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/bin/cmake.exe +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Path to a program. +CMAKE_AR:FILEPATH=C:/MinGW/bin/ar.exe + +//Choose the type of build, options are: None(CMAKE_CXX_FLAGS or +// CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. +CMAKE_BUILD_TYPE:STRING=Debug + +//The CodeBlocks executable +CMAKE_CODEBLOCKS_EXECUTABLE:FILEPATH=CMAKE_CODEBLOCKS_EXECUTABLE-NOTFOUND + +//Additional command line arguments when CodeBlocks invokes make. +// Enter e.g. -j<some_number> to get parallel builds +CMAKE_CODEBLOCKS_MAKE_ARGUMENTS:STRING= + +//Enable/Disable color output during build. +CMAKE_COLOR_MAKEFILE:BOOL=ON + +//CXX compiler +CMAKE_CXX_COMPILER:FILEPATH=C:/MinGW/bin/g++.exe + +//Flags used by the compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_CXX_FLAGS_DEBUG:STRING=-g + +//Flags used by the compiler during release builds for minimum +// size. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the compiler during release builds. +CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the compiler during release builds with debug info. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Libraries linked by default with all C++ applications. +CMAKE_CXX_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 + +//C compiler +CMAKE_C_COMPILER:FILEPATH=C:/MinGW/bin/gcc.exe + +//Flags used by the compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_C_FLAGS_DEBUG:STRING=-g + +//Flags used by the compiler during release builds for minimum +// size. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the compiler during release builds. +CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the compiler during release builds with debug info. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Libraries linked by default with all C applications. +CMAKE_C_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 + +//Flags used by the linker. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during debug builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during release minsize builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during release builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during Release with Debug Info builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Convert GNU import libraries to MS format (requires Visual Studio) +CMAKE_GNUtoMS:BOOL=OFF + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/Project1 + +//Path to a program. +CMAKE_LINKER:FILEPATH=C:/MinGW/bin/ld.exe + +//Path to a program. +CMAKE_MAKE_PROGRAM:FILEPATH=C:/MinGW/bin/mingw32-make.exe + +//Flags used by the linker during the creation of modules. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during debug builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during release minsize builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during release builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during Release with Debug Info builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=C:/MinGW/bin/nm.exe + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=C:/MinGW/bin/objcopy.exe + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=C:/MinGW/bin/objdump.exe + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=Project1 + +//Path to a program. +CMAKE_RANLIB:FILEPATH=C:/MinGW/bin/ranlib.exe + +//RC compiler +CMAKE_RC_COMPILER:FILEPATH=C:/MinGW/bin/windres.exe + +//Flags for Windows Resource Compiler. +CMAKE_RC_FLAGS:STRING= + +//Flags for Windows Resource Compiler during debug builds. +CMAKE_RC_FLAGS_DEBUG:STRING= + +//Flags for Windows Resource Compiler during release builds for +// minimum size. +CMAKE_RC_FLAGS_MINSIZEREL:STRING= + +//Flags for Windows Resource Compiler during release builds. +CMAKE_RC_FLAGS_RELEASE:STRING= + +//Flags for Windows Resource Compiler during release builds with +// debug info. +CMAKE_RC_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_SH:FILEPATH=CMAKE_SH-NOTFOUND + +//Flags used by the linker during the creation of dll's. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during debug builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during release minsize builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during release builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during Release with Debug Info builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during debug builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during release minsize builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during release builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during Release with Debug Info builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_STRIP:FILEPATH=C:/MinGW/bin/strip.exe + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Value Computed by CMake +Project1_BINARY_DIR:STATIC=C:/Users/sherifsas/Desktop/Project2/cmake-build-debug + +//Value Computed by CMake +Project1_SOURCE_DIR:STATIC=C:/Users/sherifsas/Desktop/Project2 + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=c:/Users/sherifsas/Desktop/Project2/cmake-build-debug +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=2 +//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE +CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/bin/cmake.exe +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/bin/cpack.exe +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/bin/ctest.exe +//ADVANCED property for variable: CMAKE_CXX_COMPILER +CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES +CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES +CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL=CodeBlocks +//CXX compiler system defined macros +CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_DEFINED_MACROS:INTERNAL=__STDC__;1;__STDC_VERSION__;201112L;__STDC_UTF_16__;1;__STDC_UTF_32__;1;__STDC_HOSTED__;1;__GNUC__;6;__GNUC_MINOR__;3;__GNUC_PATCHLEVEL__; ;__VERSION__;"6.3.0";__ATOMIC_RELAXED; ;__ATOMIC_SEQ_CST;5;__ATOMIC_ACQUIRE;2;__ATOMIC_RELEASE;3;__ATOMIC_ACQ_REL;4;__ATOMIC_CONSUME;1;__pic__;1;__PIC__;1;__FINITE_MATH_ONLY__; ;__SIZEOF_INT__;4;__SIZEOF_LONG__;4;__SIZEOF_LONG_LONG__;8;__SIZEOF_SHORT__;2;__SIZEOF_FLOAT__;4;__SIZEOF_DOUBLE__;8;__SIZEOF_LONG_DOUBLE__;16;__SIZEOF_SIZE_T__;8;__CHAR_BIT__;8;__BIGGEST_ALIGNMENT__;16;__ORDER_LITTLE_ENDIAN__;1234;__ORDER_BIG_ENDIAN__;4321;__ORDER_PDP_ENDIAN__;3412;__BYTE_ORDER__;__ORDER_LITTLE_ENDIAN__;__FLOAT_WORD_ORDER__;__ORDER_LITTLE_ENDIAN__;__SIZEOF_POINTER__;8;__SIZE_TYPE__;long long unsigned int;__PTRDIFF_TYPE__;long long int;__WCHAR_TYPE__;short unsigned int;__WINT_TYPE__;short unsigned int;__INTMAX_TYPE__;long long int;__UINTMAX_TYPE__;long long unsigned int;__CHAR16_TYPE__;short unsigned int;__CHAR32_TYPE__;unsigned int;__SIG_ATOMIC_TYPE__;int;__INT8_TYPE__;signed char;__INT16_TYPE__;short int;__INT32_TYPE__;int;__INT64_TYPE__;long long int;__UINT8_TYPE__;unsigned char;__UINT16_TYPE__;short unsigned int;__UINT32_TYPE__;unsigned int;__UINT64_TYPE__;long long unsigned int;__INT_LEAST8_TYPE__;signed char;__INT_LEAST16_TYPE__;short int;__INT_LEAST32_TYPE__;int;__INT_LEAST64_TYPE__;long long int;__UINT_LEAST8_TYPE__;unsigned char;__UINT_LEAST16_TYPE__;short unsigned int;__UINT_LEAST32_TYPE__;unsigned int;__UINT_LEAST64_TYPE__;long long unsigned int;__INT_FAST8_TYPE__;signed char;__INT_FAST16_TYPE__;short int;__INT_FAST32_TYPE__;int;__INT_FAST64_TYPE__;long long int;__UINT_FAST8_TYPE__;unsigned char;__UINT_FAST16_TYPE__;short unsigned int;__UINT_FAST32_TYPE__;unsigned int;__UINT_FAST64_TYPE__;long long unsigned int;__INTPTR_TYPE__;long long int;__UINTPTR_TYPE__;long long unsigned int;__has_include(STR);__has_include__(STR);__has_include_next(STR);__has_include_next__(STR);__GXX_ABI_VERSION;1010;__SCHAR_MAX__;0x7f;__SHRT_MAX__;0x7fff;__INT_MAX__;0x7fffffff;__LONG_MAX__;0x7fffffffL;__LONG_LONG_MAX__;0x7fffffffffffffffLL;__WCHAR_MAX__;0xffff;__WCHAR_MIN__; ;__WINT_MAX__;0xffff;__WINT_MIN__; ;__PTRDIFF_MAX__;0x7fffffffffffffffLL;__SIZE_MAX__;0xffffffffffffffffULL;__INTMAX_MAX__;0x7fffffffffffffffLL;__INTMAX_C(c);c ## LL;__UINTMAX_MAX__;0xffffffffffffffffULL;__UINTMAX_C(c);c ## ULL;__SIG_ATOMIC_MAX__;0x7fffffff;__SIG_ATOMIC_MIN__;(-__SIG_ATOMIC_MAX__ - 1);__INT8_MAX__;0x7f;__INT16_MAX__;0x7fff;__INT32_MAX__;0x7fffffff;__INT64_MAX__;0x7fffffffffffffffLL;__UINT8_MAX__;0xff;__UINT16_MAX__;0xffff;__UINT32_MAX__;0xffffffffU;__UINT64_MAX__;0xffffffffffffffffULL;__INT_LEAST8_MAX__;0x7f;__INT8_C(c);c;__INT_LEAST16_MAX__;0x7fff;__INT16_C(c);c;__INT_LEAST32_MAX__;0x7fffffff;__INT32_C(c);c;__INT_LEAST64_MAX__;0x7fffffffffffffffLL;__INT64_C(c);c ## LL;__UINT_LEAST8_MAX__;0xff;__UINT8_C(c);c;__UINT_LEAST16_MAX__;0xffff;__UINT16_C(c);c;__UINT_LEAST32_MAX__;0xffffffffU;__UINT32_C(c);c ## U;__UINT_LEAST64_MAX__;0xffffffffffffffffULL;__UINT64_C(c);c ## ULL;__INT_FAST8_MAX__;0x7f;__INT_FAST16_MAX__;0x7fff;__INT_FAST32_MAX__;0x7fffffff;__INT_FAST64_MAX__;0x7fffffffffffffffLL;__UINT_FAST8_MAX__;0xff;__UINT_FAST16_MAX__;0xffff;__UINT_FAST32_MAX__;0xffffffffU;__UINT_FAST64_MAX__;0xffffffffffffffffULL;__INTPTR_MAX__;0x7fffffffffffffffLL;__UINTPTR_MAX__;0xffffffffffffffffULL;__GCC_IEC_559;2;__GCC_IEC_559_COMPLEX;2;__FLT_EVAL_METHOD__; ;__DEC_EVAL_METHOD__;2;__FLT_RADIX__;2;__FLT_MANT_DIG__;24;__FLT_DIG__;6;__FLT_MIN_EXP__;(-125);__FLT_MIN_10_EXP__;(-37);__FLT_MAX_EXP__;128;__FLT_MAX_10_EXP__;38;__FLT_DECIMAL_DIG__;9;__FLT_MAX__;3.40282346638528859812e+38F;__FLT_MIN__;1.17549435082228750797e-38F;__FLT_EPSILON__;1.19209289550781250000e-7F;__FLT_DENORM_MIN__;1.40129846432481707092e-45F;__FLT_HAS_DENORM__;1;__FLT_HAS_INFINITY__;1;__FLT_HAS_QUIET_NAN__;1;__DBL_MANT_DIG__;53;__DBL_DIG__;15;__DBL_MIN_EXP__;(-1021);__DBL_MIN_10_EXP__;(-307);__DBL_MAX_EXP__;1024;__DBL_MAX_10_EXP__;308;__DBL_DECIMAL_DIG__;17;__DBL_MAX__;((double)1.79769313486231570815e+308L);__DBL_MIN__;((double)2.22507385850720138309e-308L);__DBL_EPSILON__;((double)2.22044604925031308085e-16L);__DBL_DENORM_MIN__;((double)4.94065645841246544177e-324L);__DBL_HAS_DENORM__;1;__DBL_HAS_INFINITY__;1;__DBL_HAS_QUIET_NAN__;1;__LDBL_MANT_DIG__;64;__LDBL_DIG__;18;__LDBL_MIN_EXP__;(-16381);__LDBL_MIN_10_EXP__;(-4931);__LDBL_MAX_EXP__;16384;__LDBL_MAX_10_EXP__;4932;__DECIMAL_DIG__;21;__LDBL_MAX__;1.18973149535723176502e+4932L;__LDBL_MIN__;3.36210314311209350626e-4932L;__LDBL_EPSILON__;1.08420217248550443401e-19L;__LDBL_DENORM_MIN__;3.64519953188247460253e-4951L;__LDBL_HAS_DENORM__;1;__LDBL_HAS_INFINITY__;1;__LDBL_HAS_QUIET_NAN__;1;__DEC32_MANT_DIG__;7;__DEC32_MIN_EXP__;(-94);__DEC32_MAX_EXP__;97;__DEC32_MIN__;1E-95DF;__DEC32_MAX__;9.999999E96DF;__DEC32_EPSILON__;1E-6DF;__DEC32_SUBNORMAL_MIN__;0.000001E-95DF;__DEC64_MANT_DIG__;16;__DEC64_MIN_EXP__;(-382);__DEC64_MAX_EXP__;385;__DEC64_MIN__;1E-383DD;__DEC64_MAX__;9.999999999999999E384DD;__DEC64_EPSILON__;1E-15DD;__DEC64_SUBNORMAL_MIN__;0.000000000000001E-383DD;__DEC128_MANT_DIG__;34;__DEC128_MIN_EXP__;(-6142);__DEC128_MAX_EXP__;6145;__DEC128_MIN__;1E-6143DL;__DEC128_MAX__;9.999999999999999999999999999999999E6144DL;__DEC128_EPSILON__;1E-33DL;__DEC128_SUBNORMAL_MIN__;0.000000000000000000000000000000001E-6143DL;__REGISTER_PREFIX__; ;__USER_LABEL_PREFIX__; ;__GNUC_STDC_INLINE__;1;__NO_INLINE__;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8;1;__GCC_ATOMIC_BOOL_LOCK_FREE;2;__GCC_ATOMIC_CHAR_LOCK_FREE;2;__GCC_ATOMIC_CHAR16_T_LOCK_FREE;2;__GCC_ATOMIC_CHAR32_T_LOCK_FREE;2;__GCC_ATOMIC_WCHAR_T_LOCK_FREE;2;__GCC_ATOMIC_SHORT_LOCK_FREE;2;__GCC_ATOMIC_INT_LOCK_FREE;2;__GCC_ATOMIC_LONG_LOCK_FREE;2;__GCC_ATOMIC_LLONG_LOCK_FREE;2;__GCC_ATOMIC_TEST_AND_SET_TRUEVAL;1;__GCC_ATOMIC_POINTER_LOCK_FREE;2;__PRAGMA_REDEFINE_EXTNAME;1;__SIZEOF_INT128__;16;__SIZEOF_WCHAR_T__;2;__SIZEOF_WINT_T__;2;__SIZEOF_PTRDIFF_T__;8;__amd64;1;__amd64__;1;__x86_64;1;__x86_64__;1;__SIZEOF_FLOAT80__;16;__SIZEOF_FLOAT128__;16;__ATOMIC_HLE_ACQUIRE;65536;__ATOMIC_HLE_RELEASE;131072;__GCC_ASM_FLAG_OUTPUTS__;1;__k8;1;__k8__;1;__code_model_medium__;1;__MMX__;1;__SSE__;1;__SSE2__;1;__FXSR__;1;__SSE_MATH__;1;__SSE2_MATH__;1;__SEG_FS;1;__SEG_GS;1;__SEH__;1;__stdcall;__attribute__((__stdcall__));__fastcall;__attribute__((__fastcall__));__thiscall;__attribute__((__thiscall__));__cdecl;__attribute__((__cdecl__));_stdcall;__attribute__((__stdcall__));_fastcall;__attribute__((__fastcall__));_thiscall;__attribute__((__thiscall__));_cdecl;__attribute__((__cdecl__));__GXX_MERGED_TYPEINFO_NAMES; ;__GXX_TYPEINFO_EQUALITY_INLINE; ;__MSVCRT__;1;__MINGW32__;1;_WIN32;1;__WIN32;1;__WIN32__;1;WIN32;1;__WINNT;1;__WINNT__;1;WINNT;1;_INTEGRAL_MAX_BITS;64;__MINGW64__;1;__WIN64;1;__WIN64__;1;WIN64;1;_WIN64;1;__declspec(x);__attribute__((x));__DECIMAL_BID_FORMAT__;1;__STDC__;1;__cplusplus;201402L;__STDC_UTF_16__;1;__STDC_UTF_32__;1;__STDC_HOSTED__;1;__GNUC__;6;__GNUC_MINOR__;3;__GNUC_PATCHLEVEL__; ;__VERSION__;"6.3.0";__ATOMIC_RELAXED; ;__ATOMIC_SEQ_CST;5;__ATOMIC_ACQUIRE;2;__ATOMIC_RELEASE;3;__ATOMIC_ACQ_REL;4;__ATOMIC_CONSUME;1;__pic__;1;__PIC__;1;__FINITE_MATH_ONLY__; ;__SIZEOF_INT__;4;__SIZEOF_LONG__;4;__SIZEOF_LONG_LONG__;8;__SIZEOF_SHORT__;2;__SIZEOF_FLOAT__;4;__SIZEOF_DOUBLE__;8;__SIZEOF_LONG_DOUBLE__;16;__SIZEOF_SIZE_T__;8;__CHAR_BIT__;8;__BIGGEST_ALIGNMENT__;16;__ORDER_LITTLE_ENDIAN__;1234;__ORDER_BIG_ENDIAN__;4321;__ORDER_PDP_ENDIAN__;3412;__BYTE_ORDER__;__ORDER_LITTLE_ENDIAN__;__FLOAT_WORD_ORDER__;__ORDER_LITTLE_ENDIAN__;__SIZEOF_POINTER__;8;__GNUG__;6;__SIZE_TYPE__;long long unsigned int;__PTRDIFF_TYPE__;long long int;__WCHAR_TYPE__;short unsigned int;__WINT_TYPE__;short unsigned int;__INTMAX_TYPE__;long long int;__UINTMAX_TYPE__;long long unsigned int;__CHAR16_TYPE__;short unsigned int;__CHAR32_TYPE__;unsigned int;__SIG_ATOMIC_TYPE__;int;__INT8_TYPE__;signed char;__INT16_TYPE__;short int;__INT32_TYPE__;int;__INT64_TYPE__;long long int;__UINT8_TYPE__;unsigned char;__UINT16_TYPE__;short unsigned int;__UINT32_TYPE__;unsigned int;__UINT64_TYPE__;long long unsigned int;__INT_LEAST8_TYPE__;signed char;__INT_LEAST16_TYPE__;short int;__INT_LEAST32_TYPE__;int;__INT_LEAST64_TYPE__;long long int;__UINT_LEAST8_TYPE__;unsigned char;__UINT_LEAST16_TYPE__;short unsigned int;__UINT_LEAST32_TYPE__;unsigned int;__UINT_LEAST64_TYPE__;long long unsigned int;__INT_FAST8_TYPE__;signed char;__INT_FAST16_TYPE__;short int;__INT_FAST32_TYPE__;int;__INT_FAST64_TYPE__;long long int;__UINT_FAST8_TYPE__;unsigned char;__UINT_FAST16_TYPE__;short unsigned int;__UINT_FAST32_TYPE__;unsigned int;__UINT_FAST64_TYPE__;long long unsigned int;__INTPTR_TYPE__;long long int;__UINTPTR_TYPE__;long long unsigned int;__has_include(STR);__has_include__(STR);__has_include_next(STR);__has_include_next__(STR);__GXX_WEAK__;1;__DEPRECATED;1;__GXX_RTTI;1;__cpp_rtti;199711;__GXX_EXPERIMENTAL_CXX0X__;1;__cpp_binary_literals;201304;__cpp_hex_float;201603;__cpp_runtime_arrays;198712;__cpp_unicode_characters;200704;__cpp_raw_strings;200710;__cpp_unicode_literals;200710;__cpp_user_defined_literals;200809;__cpp_lambdas;200907;__cpp_range_based_for;200907;__cpp_static_assert;200410;__cpp_decltype;200707;__cpp_attributes;200809;__cpp_rvalue_reference;200610;__cpp_rvalue_references;200610;__cpp_variadic_templates;200704;__cpp_initializer_lists;200806;__cpp_delegating_constructors;200604;__cpp_nsdmi;200809;__cpp_inheriting_constructors;200802;__cpp_ref_qualifiers;200710;__cpp_alias_templates;200704;__cpp_return_type_deduction;201304;__cpp_init_captures;201304;__cpp_generic_lambdas;201304;__cpp_constexpr;201304;__cpp_decltype_auto;201304;__cpp_aggregate_nsdmi;201304;__cpp_variable_templates;201304;__cpp_digit_separators;201309;__cpp_sized_deallocation;201309;__EXCEPTIONS;1;__cpp_exceptions;199711;__GXX_ABI_VERSION;1010;__SCHAR_MAX__;0x7f;__SHRT_MAX__;0x7fff;__INT_MAX__;0x7fffffff;__LONG_MAX__;0x7fffffffL;__LONG_LONG_MAX__;0x7fffffffffffffffLL;__WCHAR_MAX__;0xffff;__WCHAR_MIN__; ;__WINT_MAX__;0xffff;__WINT_MIN__; ;__PTRDIFF_MAX__;0x7fffffffffffffffLL;__SIZE_MAX__;0xffffffffffffffffULL;__GLIBCXX_TYPE_INT_N_0;__int128;__GLIBCXX_BITSIZE_INT_N_0;128;__INTMAX_MAX__;0x7fffffffffffffffLL;__INTMAX_C(c);c ## LL;__UINTMAX_MAX__;0xffffffffffffffffULL;__UINTMAX_C(c);c ## ULL;__SIG_ATOMIC_MAX__;0x7fffffff;__SIG_ATOMIC_MIN__;(-__SIG_ATOMIC_MAX__ - 1);__INT8_MAX__;0x7f;__INT16_MAX__;0x7fff;__INT32_MAX__;0x7fffffff;__INT64_MAX__;0x7fffffffffffffffLL;__UINT8_MAX__;0xff;__UINT16_MAX__;0xffff;__UINT32_MAX__;0xffffffffU;__UINT64_MAX__;0xffffffffffffffffULL;__INT_LEAST8_MAX__;0x7f;__INT8_C(c);c;__INT_LEAST16_MAX__;0x7fff;__INT16_C(c);c;__INT_LEAST32_MAX__;0x7fffffff;__INT32_C(c);c;__INT_LEAST64_MAX__;0x7fffffffffffffffLL;__INT64_C(c);c ## LL;__UINT_LEAST8_MAX__;0xff;__UINT8_C(c);c;__UINT_LEAST16_MAX__;0xffff;__UINT16_C(c);c;__UINT_LEAST32_MAX__;0xffffffffU;__UINT32_C(c);c ## U;__UINT_LEAST64_MAX__;0xffffffffffffffffULL;__UINT64_C(c);c ## ULL;__INT_FAST8_MAX__;0x7f;__INT_FAST16_MAX__;0x7fff;__INT_FAST32_MAX__;0x7fffffff;__INT_FAST64_MAX__;0x7fffffffffffffffLL;__UINT_FAST8_MAX__;0xff;__UINT_FAST16_MAX__;0xffff;__UINT_FAST32_MAX__;0xffffffffU;__UINT_FAST64_MAX__;0xffffffffffffffffULL;__INTPTR_MAX__;0x7fffffffffffffffLL;__UINTPTR_MAX__;0xffffffffffffffffULL;__GCC_IEC_559;2;__GCC_IEC_559_COMPLEX;2;__FLT_EVAL_METHOD__; ;__DEC_EVAL_METHOD__;2;__FLT_RADIX__;2;__FLT_MANT_DIG__;24;__FLT_DIG__;6;__FLT_MIN_EXP__;(-125);__FLT_MIN_10_EXP__;(-37);__FLT_MAX_EXP__;128;__FLT_MAX_10_EXP__;38;__FLT_DECIMAL_DIG__;9;__FLT_MAX__;3.40282346638528859812e+38F;__FLT_MIN__;1.17549435082228750797e-38F;__FLT_EPSILON__;1.19209289550781250000e-7F;__FLT_DENORM_MIN__;1.40129846432481707092e-45F;__FLT_HAS_DENORM__;1;__FLT_HAS_INFINITY__;1;__FLT_HAS_QUIET_NAN__;1;__DBL_MANT_DIG__;53;__DBL_DIG__;15;__DBL_MIN_EXP__;(-1021);__DBL_MIN_10_EXP__;(-307);__DBL_MAX_EXP__;1024;__DBL_MAX_10_EXP__;308;__DBL_DECIMAL_DIG__;17;__DBL_MAX__;double(1.79769313486231570815e+308L);__DBL_MIN__;double(2.22507385850720138309e-308L);__DBL_EPSILON__;double(2.22044604925031308085e-16L);__DBL_DENORM_MIN__;double(4.94065645841246544177e-324L);__DBL_HAS_DENORM__;1;__DBL_HAS_INFINITY__;1;__DBL_HAS_QUIET_NAN__;1;__LDBL_MANT_DIG__;64;__LDBL_DIG__;18;__LDBL_MIN_EXP__;(-16381);__LDBL_MIN_10_EXP__;(-4931);__LDBL_MAX_EXP__;16384;__LDBL_MAX_10_EXP__;4932;__DECIMAL_DIG__;21;__LDBL_MAX__;1.18973149535723176502e+4932L;__LDBL_MIN__;3.36210314311209350626e-4932L;__LDBL_EPSILON__;1.08420217248550443401e-19L;__LDBL_DENORM_MIN__;3.64519953188247460253e-4951L;__LDBL_HAS_DENORM__;1;__LDBL_HAS_INFINITY__;1;__LDBL_HAS_QUIET_NAN__;1;__DEC32_MANT_DIG__;7;__DEC32_MIN_EXP__;(-94);__DEC32_MAX_EXP__;97;__DEC32_MIN__;1E-95DF;__DEC32_MAX__;9.999999E96DF;__DEC32_EPSILON__;1E-6DF;__DEC32_SUBNORMAL_MIN__;0.000001E-95DF;__DEC64_MANT_DIG__;16;__DEC64_MIN_EXP__;(-382);__DEC64_MAX_EXP__;385;__DEC64_MIN__;1E-383DD;__DEC64_MAX__;9.999999999999999E384DD;__DEC64_EPSILON__;1E-15DD;__DEC64_SUBNORMAL_MIN__;0.000000000000001E-383DD;__DEC128_MANT_DIG__;34;__DEC128_MIN_EXP__;(-6142);__DEC128_MAX_EXP__;6145;__DEC128_MIN__;1E-6143DL;__DEC128_MAX__;9.999999999999999999999999999999999E6144DL;__DEC128_EPSILON__;1E-33DL;__DEC128_SUBNORMAL_MIN__;0.000000000000000000000000000000001E-6143DL;__REGISTER_PREFIX__; ;__USER_LABEL_PREFIX__; ;__GNUC_STDC_INLINE__;1;__NO_INLINE__;1;__WCHAR_UNSIGNED__;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8;1;__GCC_ATOMIC_BOOL_LOCK_FREE;2;__GCC_ATOMIC_CHAR_LOCK_FREE;2;__GCC_ATOMIC_CHAR16_T_LOCK_FREE;2;__GCC_ATOMIC_CHAR32_T_LOCK_FREE;2;__GCC_ATOMIC_WCHAR_T_LOCK_FREE;2;__GCC_ATOMIC_SHORT_LOCK_FREE;2;__GCC_ATOMIC_INT_LOCK_FREE;2;__GCC_ATOMIC_LONG_LOCK_FREE;2;__GCC_ATOMIC_LLONG_LOCK_FREE;2;__GCC_ATOMIC_TEST_AND_SET_TRUEVAL;1;__GCC_ATOMIC_POINTER_LOCK_FREE;2;__PRAGMA_REDEFINE_EXTNAME;1;__SIZEOF_INT128__;16;__SIZEOF_WCHAR_T__;2;__SIZEOF_WINT_T__;2;__SIZEOF_PTRDIFF_T__;8;__amd64;1;__amd64__;1;__x86_64;1;__x86_64__;1;__SIZEOF_FLOAT80__;16;__SIZEOF_FLOAT128__;16;__ATOMIC_HLE_ACQUIRE;65536;__ATOMIC_HLE_RELEASE;131072;__GCC_ASM_FLAG_OUTPUTS__;1;__k8;1;__k8__;1;__code_model_medium__;1;__MMX__;1;__SSE__;1;__SSE2__;1;__FXSR__;1;__SSE_MATH__;1;__SSE2_MATH__;1;__SEG_FS;1;__SEG_GS;1;__SEH__;1;__stdcall;__attribute__((__stdcall__));__fastcall;__attribute__((__fastcall__));__thiscall;__attribute__((__thiscall__));__cdecl;__attribute__((__cdecl__));_stdcall;__attribute__((__stdcall__));_fastcall;__attribute__((__fastcall__));_thiscall;__attribute__((__thiscall__));_cdecl;__attribute__((__cdecl__));__GXX_MERGED_TYPEINFO_NAMES; ;__GXX_TYPEINFO_EQUALITY_INLINE; ;__MSVCRT__;1;__MINGW32__;1;_WIN32;1;__WIN32;1;__WIN32__;1;WIN32;1;__WINNT;1;__WINNT__;1;WINNT;1;_INTEGRAL_MAX_BITS;64;__MINGW64__;1;__WIN64;1;__WIN64__;1;WIN64;1;_WIN64;1;__declspec(x);__attribute__((x));__DECIMAL_BID_FORMAT__;1 +//CXX compiler system include directories +CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_INCLUDE_DIRS:INTERNAL=c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../include/c++/6.3.0;c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../include/c++/6.3.0/x86_64-w64-mingw32;c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../include/c++/6.3.0/backward;c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/6.3.0/include;c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/6.3.0/include-fixed;c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/include +//C compiler system defined macros +CMAKE_EXTRA_GENERATOR_C_SYSTEM_DEFINED_MACROS:INTERNAL=__STDC__;1;__STDC_VERSION__;201112L;__STDC_UTF_16__;1;__STDC_UTF_32__;1;__STDC_HOSTED__;1;__GNUC__;6;__GNUC_MINOR__;3;__GNUC_PATCHLEVEL__; ;__VERSION__;"6.3.0";__ATOMIC_RELAXED; ;__ATOMIC_SEQ_CST;5;__ATOMIC_ACQUIRE;2;__ATOMIC_RELEASE;3;__ATOMIC_ACQ_REL;4;__ATOMIC_CONSUME;1;__pic__;1;__PIC__;1;__FINITE_MATH_ONLY__; ;__SIZEOF_INT__;4;__SIZEOF_LONG__;4;__SIZEOF_LONG_LONG__;8;__SIZEOF_SHORT__;2;__SIZEOF_FLOAT__;4;__SIZEOF_DOUBLE__;8;__SIZEOF_LONG_DOUBLE__;16;__SIZEOF_SIZE_T__;8;__CHAR_BIT__;8;__BIGGEST_ALIGNMENT__;16;__ORDER_LITTLE_ENDIAN__;1234;__ORDER_BIG_ENDIAN__;4321;__ORDER_PDP_ENDIAN__;3412;__BYTE_ORDER__;__ORDER_LITTLE_ENDIAN__;__FLOAT_WORD_ORDER__;__ORDER_LITTLE_ENDIAN__;__SIZEOF_POINTER__;8;__SIZE_TYPE__;long long unsigned int;__PTRDIFF_TYPE__;long long int;__WCHAR_TYPE__;short unsigned int;__WINT_TYPE__;short unsigned int;__INTMAX_TYPE__;long long int;__UINTMAX_TYPE__;long long unsigned int;__CHAR16_TYPE__;short unsigned int;__CHAR32_TYPE__;unsigned int;__SIG_ATOMIC_TYPE__;int;__INT8_TYPE__;signed char;__INT16_TYPE__;short int;__INT32_TYPE__;int;__INT64_TYPE__;long long int;__UINT8_TYPE__;unsigned char;__UINT16_TYPE__;short unsigned int;__UINT32_TYPE__;unsigned int;__UINT64_TYPE__;long long unsigned int;__INT_LEAST8_TYPE__;signed char;__INT_LEAST16_TYPE__;short int;__INT_LEAST32_TYPE__;int;__INT_LEAST64_TYPE__;long long int;__UINT_LEAST8_TYPE__;unsigned char;__UINT_LEAST16_TYPE__;short unsigned int;__UINT_LEAST32_TYPE__;unsigned int;__UINT_LEAST64_TYPE__;long long unsigned int;__INT_FAST8_TYPE__;signed char;__INT_FAST16_TYPE__;short int;__INT_FAST32_TYPE__;int;__INT_FAST64_TYPE__;long long int;__UINT_FAST8_TYPE__;unsigned char;__UINT_FAST16_TYPE__;short unsigned int;__UINT_FAST32_TYPE__;unsigned int;__UINT_FAST64_TYPE__;long long unsigned int;__INTPTR_TYPE__;long long int;__UINTPTR_TYPE__;long long unsigned int;__has_include(STR);__has_include__(STR);__has_include_next(STR);__has_include_next__(STR);__GXX_ABI_VERSION;1010;__SCHAR_MAX__;0x7f;__SHRT_MAX__;0x7fff;__INT_MAX__;0x7fffffff;__LONG_MAX__;0x7fffffffL;__LONG_LONG_MAX__;0x7fffffffffffffffLL;__WCHAR_MAX__;0xffff;__WCHAR_MIN__; ;__WINT_MAX__;0xffff;__WINT_MIN__; ;__PTRDIFF_MAX__;0x7fffffffffffffffLL;__SIZE_MAX__;0xffffffffffffffffULL;__INTMAX_MAX__;0x7fffffffffffffffLL;__INTMAX_C(c);c ## LL;__UINTMAX_MAX__;0xffffffffffffffffULL;__UINTMAX_C(c);c ## ULL;__SIG_ATOMIC_MAX__;0x7fffffff;__SIG_ATOMIC_MIN__;(-__SIG_ATOMIC_MAX__ - 1);__INT8_MAX__;0x7f;__INT16_MAX__;0x7fff;__INT32_MAX__;0x7fffffff;__INT64_MAX__;0x7fffffffffffffffLL;__UINT8_MAX__;0xff;__UINT16_MAX__;0xffff;__UINT32_MAX__;0xffffffffU;__UINT64_MAX__;0xffffffffffffffffULL;__INT_LEAST8_MAX__;0x7f;__INT8_C(c);c;__INT_LEAST16_MAX__;0x7fff;__INT16_C(c);c;__INT_LEAST32_MAX__;0x7fffffff;__INT32_C(c);c;__INT_LEAST64_MAX__;0x7fffffffffffffffLL;__INT64_C(c);c ## LL;__UINT_LEAST8_MAX__;0xff;__UINT8_C(c);c;__UINT_LEAST16_MAX__;0xffff;__UINT16_C(c);c;__UINT_LEAST32_MAX__;0xffffffffU;__UINT32_C(c);c ## U;__UINT_LEAST64_MAX__;0xffffffffffffffffULL;__UINT64_C(c);c ## ULL;__INT_FAST8_MAX__;0x7f;__INT_FAST16_MAX__;0x7fff;__INT_FAST32_MAX__;0x7fffffff;__INT_FAST64_MAX__;0x7fffffffffffffffLL;__UINT_FAST8_MAX__;0xff;__UINT_FAST16_MAX__;0xffff;__UINT_FAST32_MAX__;0xffffffffU;__UINT_FAST64_MAX__;0xffffffffffffffffULL;__INTPTR_MAX__;0x7fffffffffffffffLL;__UINTPTR_MAX__;0xffffffffffffffffULL;__GCC_IEC_559;2;__GCC_IEC_559_COMPLEX;2;__FLT_EVAL_METHOD__; ;__DEC_EVAL_METHOD__;2;__FLT_RADIX__;2;__FLT_MANT_DIG__;24;__FLT_DIG__;6;__FLT_MIN_EXP__;(-125);__FLT_MIN_10_EXP__;(-37);__FLT_MAX_EXP__;128;__FLT_MAX_10_EXP__;38;__FLT_DECIMAL_DIG__;9;__FLT_MAX__;3.40282346638528859812e+38F;__FLT_MIN__;1.17549435082228750797e-38F;__FLT_EPSILON__;1.19209289550781250000e-7F;__FLT_DENORM_MIN__;1.40129846432481707092e-45F;__FLT_HAS_DENORM__;1;__FLT_HAS_INFINITY__;1;__FLT_HAS_QUIET_NAN__;1;__DBL_MANT_DIG__;53;__DBL_DIG__;15;__DBL_MIN_EXP__;(-1021);__DBL_MIN_10_EXP__;(-307);__DBL_MAX_EXP__;1024;__DBL_MAX_10_EXP__;308;__DBL_DECIMAL_DIG__;17;__DBL_MAX__;((double)1.79769313486231570815e+308L);__DBL_MIN__;((double)2.22507385850720138309e-308L);__DBL_EPSILON__;((double)2.22044604925031308085e-16L);__DBL_DENORM_MIN__;((double)4.94065645841246544177e-324L);__DBL_HAS_DENORM__;1;__DBL_HAS_INFINITY__;1;__DBL_HAS_QUIET_NAN__;1;__LDBL_MANT_DIG__;64;__LDBL_DIG__;18;__LDBL_MIN_EXP__;(-16381);__LDBL_MIN_10_EXP__;(-4931);__LDBL_MAX_EXP__;16384;__LDBL_MAX_10_EXP__;4932;__DECIMAL_DIG__;21;__LDBL_MAX__;1.18973149535723176502e+4932L;__LDBL_MIN__;3.36210314311209350626e-4932L;__LDBL_EPSILON__;1.08420217248550443401e-19L;__LDBL_DENORM_MIN__;3.64519953188247460253e-4951L;__LDBL_HAS_DENORM__;1;__LDBL_HAS_INFINITY__;1;__LDBL_HAS_QUIET_NAN__;1;__DEC32_MANT_DIG__;7;__DEC32_MIN_EXP__;(-94);__DEC32_MAX_EXP__;97;__DEC32_MIN__;1E-95DF;__DEC32_MAX__;9.999999E96DF;__DEC32_EPSILON__;1E-6DF;__DEC32_SUBNORMAL_MIN__;0.000001E-95DF;__DEC64_MANT_DIG__;16;__DEC64_MIN_EXP__;(-382);__DEC64_MAX_EXP__;385;__DEC64_MIN__;1E-383DD;__DEC64_MAX__;9.999999999999999E384DD;__DEC64_EPSILON__;1E-15DD;__DEC64_SUBNORMAL_MIN__;0.000000000000001E-383DD;__DEC128_MANT_DIG__;34;__DEC128_MIN_EXP__;(-6142);__DEC128_MAX_EXP__;6145;__DEC128_MIN__;1E-6143DL;__DEC128_MAX__;9.999999999999999999999999999999999E6144DL;__DEC128_EPSILON__;1E-33DL;__DEC128_SUBNORMAL_MIN__;0.000000000000000000000000000000001E-6143DL;__REGISTER_PREFIX__; ;__USER_LABEL_PREFIX__; ;__GNUC_STDC_INLINE__;1;__NO_INLINE__;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8;1;__GCC_ATOMIC_BOOL_LOCK_FREE;2;__GCC_ATOMIC_CHAR_LOCK_FREE;2;__GCC_ATOMIC_CHAR16_T_LOCK_FREE;2;__GCC_ATOMIC_CHAR32_T_LOCK_FREE;2;__GCC_ATOMIC_WCHAR_T_LOCK_FREE;2;__GCC_ATOMIC_SHORT_LOCK_FREE;2;__GCC_ATOMIC_INT_LOCK_FREE;2;__GCC_ATOMIC_LONG_LOCK_FREE;2;__GCC_ATOMIC_LLONG_LOCK_FREE;2;__GCC_ATOMIC_TEST_AND_SET_TRUEVAL;1;__GCC_ATOMIC_POINTER_LOCK_FREE;2;__PRAGMA_REDEFINE_EXTNAME;1;__SIZEOF_INT128__;16;__SIZEOF_WCHAR_T__;2;__SIZEOF_WINT_T__;2;__SIZEOF_PTRDIFF_T__;8;__amd64;1;__amd64__;1;__x86_64;1;__x86_64__;1;__SIZEOF_FLOAT80__;16;__SIZEOF_FLOAT128__;16;__ATOMIC_HLE_ACQUIRE;65536;__ATOMIC_HLE_RELEASE;131072;__GCC_ASM_FLAG_OUTPUTS__;1;__k8;1;__k8__;1;__code_model_medium__;1;__MMX__;1;__SSE__;1;__SSE2__;1;__FXSR__;1;__SSE_MATH__;1;__SSE2_MATH__;1;__SEG_FS;1;__SEG_GS;1;__SEH__;1;__stdcall;__attribute__((__stdcall__));__fastcall;__attribute__((__fastcall__));__thiscall;__attribute__((__thiscall__));__cdecl;__attribute__((__cdecl__));_stdcall;__attribute__((__stdcall__));_fastcall;__attribute__((__fastcall__));_thiscall;__attribute__((__thiscall__));_cdecl;__attribute__((__cdecl__));__GXX_MERGED_TYPEINFO_NAMES; ;__GXX_TYPEINFO_EQUALITY_INLINE; ;__MSVCRT__;1;__MINGW32__;1;_WIN32;1;__WIN32;1;__WIN32__;1;WIN32;1;__WINNT;1;__WINNT__;1;WINNT;1;_INTEGRAL_MAX_BITS;64;__MINGW64__;1;__WIN64;1;__WIN64__;1;WIN64;1;_WIN64;1;__declspec(x);__attribute__((x));__DECIMAL_BID_FORMAT__;1 +//C compiler system include directories +CMAKE_EXTRA_GENERATOR_C_SYSTEM_INCLUDE_DIRS:INTERNAL=c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/6.3.0/include;c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/6.3.0/include-fixed;c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/include +//Name of generator. +CMAKE_GENERATOR:INTERNAL=MinGW Makefiles +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=C:/Users/sherifsas/Desktop/Project2 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MAKE_PROGRAM +CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_COMPILER +CMAKE_RC_COMPILER-ADVANCED:INTERNAL=1 +CMAKE_RC_COMPILER_WORKS:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_FLAGS +CMAKE_RC_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_FLAGS_DEBUG +CMAKE_RC_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_FLAGS_MINSIZEREL +CMAKE_RC_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_FLAGS_RELEASE +CMAKE_RC_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_FLAGS_RELWITHDEBINFO +CMAKE_RC_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8 +//ADVANCED property for variable: CMAKE_SH +CMAKE_SH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 + diff --git a/cmake-build-debug/CMakeFiles/3.8.2/CMakeCCompiler.cmake b/cmake-build-debug/CMakeFiles/3.8.2/CMakeCCompiler.cmake new file mode 100644 index 0000000000000000000000000000000000000000..a9456d2ec7f9d512d40663d91e9cd979352eb7ed --- /dev/null +++ b/cmake-build-debug/CMakeFiles/3.8.2/CMakeCCompiler.cmake @@ -0,0 +1,68 @@ +set(CMAKE_C_COMPILER "C:/MinGW/bin/gcc.exe") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "GNU") +set(CMAKE_C_COMPILER_VERSION "6.3.0") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") + +set(CMAKE_C_PLATFORM_ID "MinGW") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_SIMULATE_VERSION "") + +set(CMAKE_AR "C:/MinGW/bin/ar.exe") +set(CMAKE_RANLIB "C:/MinGW/bin/ranlib.exe") +set(CMAKE_LINKER "C:/MinGW/bin/ld.exe") +set(CMAKE_COMPILER_IS_GNUCC 1) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) +set(CMAKE_COMPILER_IS_MINGW 1) +set(CMAKE_COMPILER_IS_CYGWIN ) +if(CMAKE_COMPILER_IS_CYGWIN) + set(CYGWIN 1) + set(UNIX 1) +endif() + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +if(CMAKE_COMPILER_IS_MINGW) + set(MINGW 1) +endif() +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "8") +set(CMAKE_C_COMPILER_ABI "") +set(CMAKE_C_LIBRARY_ARCHITECTURE "") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "mingw32;moldname;mingwex;msvcrt;advapi32;shell32;user32;kernel32;mingw32;moldname;mingwex;msvcrt") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "C:/MinGW/lib/gcc/x86_64-w64-mingw32/6.3.0;C:/MinGW/lib/gcc;C:/MinGW/x86_64-w64-mingw32/lib;C:/MinGW/lib") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/cmake-build-debug/CMakeFiles/3.8.2/CMakeCXXCompiler.cmake b/cmake-build-debug/CMakeFiles/3.8.2/CMakeCXXCompiler.cmake new file mode 100644 index 0000000000000000000000000000000000000000..bea8fd4d6cacc5104012d69852ae8d1e6457bfd9 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/3.8.2/CMakeCXXCompiler.cmake @@ -0,0 +1,70 @@ +set(CMAKE_CXX_COMPILER "C:/MinGW/bin/g++.exe") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "GNU") +set(CMAKE_CXX_COMPILER_VERSION "6.3.0") +set(CMAKE_CXX_COMPILER_WRAPPER "") +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17") +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") +set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") +set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") + +set(CMAKE_CXX_PLATFORM_ID "MinGW") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_SIMULATE_VERSION "") + +set(CMAKE_AR "C:/MinGW/bin/ar.exe") +set(CMAKE_RANLIB "C:/MinGW/bin/ranlib.exe") +set(CMAKE_LINKER "C:/MinGW/bin/ld.exe") +set(CMAKE_COMPILER_IS_GNUCXX 1) +set(CMAKE_CXX_COMPILER_LOADED 1) +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_CXX_ABI_COMPILED TRUE) +set(CMAKE_COMPILER_IS_MINGW 1) +set(CMAKE_COMPILER_IS_CYGWIN ) +if(CMAKE_COMPILER_IS_CYGWIN) + set(CYGWIN 1) + set(UNIX 1) +endif() + +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +if(CMAKE_COMPILER_IS_MINGW) + set(MINGW 1) +endif() +set(CMAKE_CXX_COMPILER_ID_RUN 1) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;mm;CPP) +set(CMAKE_CXX_LINKER_PREFERENCE 30) +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) + +# Save compiler ABI information. +set(CMAKE_CXX_SIZEOF_DATA_PTR "8") +set(CMAKE_CXX_COMPILER_ABI "") +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "") + +if(CMAKE_CXX_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_CXX_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +endif() + +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;mingw32;moldname;mingwex;msvcrt;advapi32;shell32;user32;kernel32;mingw32;moldname;mingwex;msvcrt") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "C:/MinGW/lib/gcc/x86_64-w64-mingw32/6.3.0;C:/MinGW/lib/gcc;C:/MinGW/x86_64-w64-mingw32/lib;C:/MinGW/lib") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/cmake-build-debug/CMakeFiles/3.8.2/CMakeDetermineCompilerABI_C.bin b/cmake-build-debug/CMakeFiles/3.8.2/CMakeDetermineCompilerABI_C.bin new file mode 100644 index 0000000000000000000000000000000000000000..18da1cd7e2ad79c787b1ca6800dbe12ae467cf7b Binary files /dev/null and b/cmake-build-debug/CMakeFiles/3.8.2/CMakeDetermineCompilerABI_C.bin differ diff --git a/cmake-build-debug/CMakeFiles/3.8.2/CMakeDetermineCompilerABI_CXX.bin b/cmake-build-debug/CMakeFiles/3.8.2/CMakeDetermineCompilerABI_CXX.bin new file mode 100644 index 0000000000000000000000000000000000000000..7a1a14279eaada933f3c5ffc888f25f3c06bb80c Binary files /dev/null and b/cmake-build-debug/CMakeFiles/3.8.2/CMakeDetermineCompilerABI_CXX.bin differ diff --git a/cmake-build-debug/CMakeFiles/3.8.2/CMakeRCCompiler.cmake b/cmake-build-debug/CMakeFiles/3.8.2/CMakeRCCompiler.cmake new file mode 100644 index 0000000000000000000000000000000000000000..124429e773866444907a8bda107cde74926dfb2f --- /dev/null +++ b/cmake-build-debug/CMakeFiles/3.8.2/CMakeRCCompiler.cmake @@ -0,0 +1,6 @@ +set(CMAKE_RC_COMPILER "C:/MinGW/bin/windres.exe") +set(CMAKE_RC_COMPILER_ARG1 "") +set(CMAKE_RC_COMPILER_LOADED 1) +set(CMAKE_RC_SOURCE_FILE_EXTENSIONS rc;RC) +set(CMAKE_RC_OUTPUT_EXTENSION .obj) +set(CMAKE_RC_COMPILER_ENV_VAR "RC") diff --git a/cmake-build-debug/CMakeFiles/3.8.2/CMakeSystem.cmake b/cmake-build-debug/CMakeFiles/3.8.2/CMakeSystem.cmake new file mode 100644 index 0000000000000000000000000000000000000000..b4f51500ae9d4f131f9b88c95122bd5383e6f781 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/3.8.2/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Windows-10.0.15063") +set(CMAKE_HOST_SYSTEM_NAME "Windows") +set(CMAKE_HOST_SYSTEM_VERSION "10.0.15063") +set(CMAKE_HOST_SYSTEM_PROCESSOR "AMD64") + + + +set(CMAKE_SYSTEM "Windows-10.0.15063") +set(CMAKE_SYSTEM_NAME "Windows") +set(CMAKE_SYSTEM_VERSION "10.0.15063") +set(CMAKE_SYSTEM_PROCESSOR "AMD64") + +set(CMAKE_CROSSCOMPILING "FALSE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/cmake-build-debug/CMakeFiles/3.8.2/CompilerIdC/CMakeCCompilerId.c b/cmake-build-debug/CMakeFiles/3.8.2/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 0000000000000000000000000000000000000000..df91dafed5154594b27404de06cb3f51d680aee2 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/3.8.2/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,567 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif +#if defined(__CLASSIC_C__) +/* cv-qualifiers did not exist in K&R C */ +# define const +# define volatile +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif + /* __INTEL_COMPILER = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version) +# define COMPILER_ID "Fujitsu" + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__ ) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" + +#elif defined(__ARMCC_VERSION) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + +#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION) +# define COMPILER_ID "MIPSpro" +# if defined(_SGI_COMPILER_VERSION) + /* _SGI_COMPILER_VERSION = VRP */ +# define COMPILER_VERSION_MAJOR DEC(_SGI_COMPILER_VERSION/100) +# define COMPILER_VERSION_MINOR DEC(_SGI_COMPILER_VERSION/10 % 10) +# define COMPILER_VERSION_PATCH DEC(_SGI_COMPILER_VERSION % 10) +# else + /* _COMPILER_VERSION = VRP */ +# define COMPILER_VERSION_MAJOR DEC(_COMPILER_VERSION/100) +# define COMPILER_VERSION_MINOR DEC(_COMPILER_VERSION/10 % 10) +# define COMPILER_VERSION_PATCH DEC(_COMPILER_VERSION % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__sgi) +# define COMPILER_ID "MIPSpro" + +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXE) || defined(__CRAYXC) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__sgi) || defined(__sgi__) || defined(_SGI) +# define PLATFORM_ID "IRIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number components. */ +#ifdef COMPILER_VERSION_MAJOR +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + + +#if !defined(__STDC__) +# if defined(_MSC_VER) && !defined(__clang__) +# define C_DIALECT "90" +# else +# define C_DIALECT +# endif +#elif __STDC_VERSION__ >= 201000L +# define C_DIALECT "11" +#elif __STDC_VERSION__ >= 199901L +# define C_DIALECT "99" +#else +# define C_DIALECT "90" +#endif +const char* info_language_dialect_default = + "INFO" ":" "dialect_default[" C_DIALECT "]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXE) || defined(__CRAYXC) + require += info_cray[argc]; +#endif + require += info_language_dialect_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/cmake-build-debug/CMakeFiles/3.8.2/CompilerIdC/a.exe b/cmake-build-debug/CMakeFiles/3.8.2/CompilerIdC/a.exe new file mode 100644 index 0000000000000000000000000000000000000000..f0334a428dfd604946292b4dfbb06d169c72ee01 Binary files /dev/null and b/cmake-build-debug/CMakeFiles/3.8.2/CompilerIdC/a.exe differ diff --git a/cmake-build-debug/CMakeFiles/3.8.2/CompilerIdCXX/CMakeCXXCompilerId.cpp b/cmake-build-debug/CMakeFiles/3.8.2/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 0000000000000000000000000000000000000000..e7037e5010c857ea7fc9d3479e88e0c07c2c69bd --- /dev/null +++ b/cmake-build-debug/CMakeFiles/3.8.2/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,539 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__COMO__) +# define COMPILER_ID "Comeau" + /* __COMO_VERSION__ = VRR */ +# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) +# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) + +#elif defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif + /* __INTEL_COMPILER = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version) +# define COMPILER_ID "Fujitsu" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__ ) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" + +#elif defined(__ARMCC_VERSION) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION) +# define COMPILER_ID "MIPSpro" +# if defined(_SGI_COMPILER_VERSION) + /* _SGI_COMPILER_VERSION = VRP */ +# define COMPILER_VERSION_MAJOR DEC(_SGI_COMPILER_VERSION/100) +# define COMPILER_VERSION_MINOR DEC(_SGI_COMPILER_VERSION/10 % 10) +# define COMPILER_VERSION_PATCH DEC(_SGI_COMPILER_VERSION % 10) +# else + /* _COMPILER_VERSION = VRP */ +# define COMPILER_VERSION_MAJOR DEC(_COMPILER_VERSION/100) +# define COMPILER_VERSION_MINOR DEC(_COMPILER_VERSION/10 % 10) +# define COMPILER_VERSION_PATCH DEC(_COMPILER_VERSION % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__sgi) +# define COMPILER_ID "MIPSpro" + +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXE) || defined(__CRAYXC) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__sgi) || defined(__sgi__) || defined(_SGI) +# define PLATFORM_ID "IRIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number components. */ +#ifdef COMPILER_VERSION_MAJOR +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + + +const char* info_language_dialect_default = "INFO" ":" "dialect_default[" +#if __cplusplus > 201402L + "17" +#elif __cplusplus >= 201402L + "14" +#elif __cplusplus >= 201103L + "11" +#else + "98" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXE) || defined(__CRAYXC) + require += info_cray[argc]; +#endif + require += info_language_dialect_default[argc]; + (void)argv; + return require; +} diff --git a/cmake-build-debug/CMakeFiles/3.8.2/CompilerIdCXX/a.exe b/cmake-build-debug/CMakeFiles/3.8.2/CompilerIdCXX/a.exe new file mode 100644 index 0000000000000000000000000000000000000000..094103d5ceccb87f290589f1c19456d4a845540e Binary files /dev/null and b/cmake-build-debug/CMakeFiles/3.8.2/CompilerIdCXX/a.exe differ diff --git a/cmake-build-debug/CMakeFiles/CMakeDirectoryInformation.cmake b/cmake-build-debug/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000000000000000000000000000000000000..3bf746082f0a2ce9d20147a9cf6efa3ec9bf8bd2 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "MinGW Makefiles" Generator, CMake Version 3.8 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "C:/Users/sherifsas/Desktop/Project2") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "C:/Users/sherifsas/Desktop/Project2/cmake-build-debug") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/cmake-build-debug/CMakeFiles/CMakeOutput.log b/cmake-build-debug/CMakeFiles/CMakeOutput.log new file mode 100644 index 0000000000000000000000000000000000000000..9a67338eda000b110bef88f1dad5b6e7062e3758 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/CMakeOutput.log @@ -0,0 +1,702 @@ +The system is: Windows - 10.0.15063 - AMD64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: C:/MinGW/bin/gcc.exe +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.exe" + +The C compiler identification is GNU, found in "C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/3.8.2/CompilerIdC/a.exe" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: C:/MinGW/bin/g++.exe +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.exe" + +The CXX compiler identification is GNU, found in "C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/3.8.2/CompilerIdCXX/a.exe" + +Determining if the C compiler works passed with the following output: +Change Dir: C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp + +Run Build Command:"C:/MinGW/bin/mingw32-make.exe" "cmTC_c89c6/fast" +C:/MinGW/bin/mingw32-make.exe -f CMakeFiles\cmTC_c89c6.dir\build.make CMakeFiles/cmTC_c89c6.dir/build +mingw32-make.exe[1]: Entering directory 'C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_c89c6.dir/testCCompiler.c.obj +C:\MinGW\bin\gcc.exe -o CMakeFiles\cmTC_c89c6.dir\testCCompiler.c.obj -c C:\Users\sherifsas\Desktop\Project2\cmake-build-debug\CMakeFiles\CMakeTmp\testCCompiler.c +Linking C executable cmTC_c89c6.exe +"C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -E cmake_link_script CMakeFiles\cmTC_c89c6.dir\link.txt --verbose=1 +"C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -E remove -f CMakeFiles\cmTC_c89c6.dir/objects.a +C:\MinGW\bin\ar.exe cr CMakeFiles\cmTC_c89c6.dir/objects.a @CMakeFiles\cmTC_c89c6.dir\objects1.rsp +C:\MinGW\bin\gcc.exe -Wl,--whole-archive CMakeFiles\cmTC_c89c6.dir/objects.a -Wl,--no-whole-archive -o cmTC_c89c6.exe -Wl,--out-implib,libcmTC_c89c6.dll.a -Wl,--major-image-version,0,--minor-image-version,0 @CMakeFiles\cmTC_c89c6.dir\linklibs.rsp +mingw32-make.exe[1]: Leaving directory 'C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp + +Run Build Command:"C:/MinGW/bin/mingw32-make.exe" "cmTC_8eef5/fast" +C:/MinGW/bin/mingw32-make.exe -f CMakeFiles\cmTC_8eef5.dir\build.make CMakeFiles/cmTC_8eef5.dir/build +mingw32-make.exe[1]: Entering directory 'C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_8eef5.dir/CMakeCCompilerABI.c.obj +C:\MinGW\bin\gcc.exe -o CMakeFiles\cmTC_8eef5.dir\CMakeCCompilerABI.c.obj -c "C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\share\cmake-3.8\Modules\CMakeCCompilerABI.c" +Linking C executable cmTC_8eef5.exe +"C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -E cmake_link_script CMakeFiles\cmTC_8eef5.dir\link.txt --verbose=1 +"C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -E remove -f CMakeFiles\cmTC_8eef5.dir/objects.a +C:\MinGW\bin\ar.exe cr CMakeFiles\cmTC_8eef5.dir/objects.a @CMakeFiles\cmTC_8eef5.dir\objects1.rsp +C:\MinGW\bin\gcc.exe -v -Wl,--whole-archive CMakeFiles\cmTC_8eef5.dir/objects.a -Wl,--no-whole-archive -o cmTC_8eef5.exe -Wl,--out-implib,libcmTC_8eef5.dll.a -Wl,--major-image-version,0,--minor-image-version,0 +Built by Equation Solution <http://www.Equation.com>. +Using built-in specs. +COLLECT_GCC=C:\MinGW\bin\gcc.exe +COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/6.3.0/lto-wrapper.exe +Target: x86_64-w64-mingw32 +Configured with: ../gcc-6.3.0-mingw/configure --host=x86_64-w64-mingw32 --build=x86_64-unknown-linux-gnu --target=x86_64-w64-mingw32 --prefix=/home/gfortran/gcc-home/binary/mingw32/native/x86_64/gcc/6.3.0 --with-sysroot=/home/gfortran/gcc-home/binary/mingw32/cross/x86_64/gcc/7-20161113 --with-gcc --with-gnu-ld --with-gnu-as --with-ld64=no --with-gmp=/home/gfortran/gcc-home/binary/mingw32/native/x86_64/gmp --with-mpfr=/home/gfortran/gcc-home/binary/mingw32/native/x86_64/mpfr --with-mpc=/home/gfortran/gcc-home/binary/mingw32/native/x86_64/mpc --with-cloog=/home/gfortran/gcc-home/binary/mingw32/native/x86_64/cloog --with-diagnostics-color=auto-if-env --enable-cloog-backend=isl --enable-targets=i686-w64-mingw32,x86_64-w64-mingw32 --enable-lto --enable-languages=c,c++,fortran --enable-threads=win32 --enable-static --enable-shared=lto-plugin --enable-plugins --enable-ld=yes --enable-libquadmath --enable-libquadmath-support --enable-libgomp --disable-checking --disable-nls --disable-tls --disable-win32-registry +Thread model: win32 +gcc version 6.3.0 (GCC) +COMPILER_PATH=c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/6.3.0/;c:/mingw/bin/../libexec/gcc/;c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/bin/ +EQ_LIBRARY_PATH=c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/;c:/mingw/bin/../lib/gcc/;C:/MinGW/x86_64-w64-mingw32/lib/../lib/;c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/lib/../lib/;c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../lib/;C:/MinGW/x86_64-w64-mingw32/lib/;c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/lib/;c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_8eef5.exe' '-mtune=generic' '-march=x86-64' + c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/6.3.0/collect2.exe -plugin c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/6.3.0/liblto_plugin-0.dll -plugin-opt=c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/6.3.0/lto-wrapper.exe -plugin-opt=-fresolution=C:\Users\SHERIF~1\AppData\Local\Temp\ccUCkb8E.res -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-ladvapi32 -plugin-opt=-pass-through=-lshell32 -plugin-opt=-pass-through=-luser32 -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt --sysroot=/home/gfortran/gcc-home/binary/mingw32/cross/x86_64/gcc/7-20161113 -m i386pep -Bdynamic -o cmTC_8eef5.exe C:/MinGW/x86_64-w64-mingw32/lib/../lib/crt2.o c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/crtbegin.o -Lc:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0 -Lc:/mingw/bin/../lib/gcc -LC:/MinGW/x86_64-w64-mingw32/lib/../lib -Lc:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/lib/../lib -Lc:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../lib -LC:/MinGW/x86_64-w64-mingw32/lib -Lc:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/lib -Lc:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../.. --whole-archive CMakeFiles\cmTC_8eef5.dir/objects.a --no-whole-archive --out-implib libcmTC_8eef5.dll.a --major-image-version 0 --minor-image-version 0 -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/crtend.o +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_8eef5.exe' '-mtune=generic' '-march=x86-64' +mingw32-make.exe[1]: Leaving directory 'C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld\.exe|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:"C:/MinGW/bin/mingw32-make.exe" "cmTC_8eef5/fast"] + ignore line: [C:/MinGW/bin/mingw32-make.exe -f CMakeFiles\cmTC_8eef5.dir\build.make CMakeFiles/cmTC_8eef5.dir/build] + ignore line: [mingw32-make.exe[1]: Entering directory 'C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp'] + ignore line: [Building C object CMakeFiles/cmTC_8eef5.dir/CMakeCCompilerABI.c.obj] + ignore line: [C:\MinGW\bin\gcc.exe -o CMakeFiles\cmTC_8eef5.dir\CMakeCCompilerABI.c.obj -c "C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\share\cmake-3.8\Modules\CMakeCCompilerABI.c"] + ignore line: [Linking C executable cmTC_8eef5.exe] + ignore line: ["C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -E cmake_link_script CMakeFiles\cmTC_8eef5.dir\link.txt --verbose=1] + ignore line: ["C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -E remove -f CMakeFiles\cmTC_8eef5.dir/objects.a] + ignore line: [C:\MinGW\bin\ar.exe cr CMakeFiles\cmTC_8eef5.dir/objects.a @CMakeFiles\cmTC_8eef5.dir\objects1.rsp] + ignore line: [C:\MinGW\bin\gcc.exe -v -Wl,--whole-archive CMakeFiles\cmTC_8eef5.dir/objects.a -Wl,--no-whole-archive -o cmTC_8eef5.exe -Wl,--out-implib,libcmTC_8eef5.dll.a -Wl,--major-image-version,0,--minor-image-version,0 ] + ignore line: [Built by Equation Solution <http://www.Equation.com>.] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=C:\MinGW\bin\gcc.exe] + ignore line: [COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/6.3.0/lto-wrapper.exe] + ignore line: [Target: x86_64-w64-mingw32] + ignore line: [Configured with: ../gcc-6.3.0-mingw/configure --host=x86_64-w64-mingw32 --build=x86_64-unknown-linux-gnu --target=x86_64-w64-mingw32 --prefix=/home/gfortran/gcc-home/binary/mingw32/native/x86_64/gcc/6.3.0 --with-sysroot=/home/gfortran/gcc-home/binary/mingw32/cross/x86_64/gcc/7-20161113 --with-gcc --with-gnu-ld --with-gnu-as --with-ld64=no --with-gmp=/home/gfortran/gcc-home/binary/mingw32/native/x86_64/gmp --with-mpfr=/home/gfortran/gcc-home/binary/mingw32/native/x86_64/mpfr --with-mpc=/home/gfortran/gcc-home/binary/mingw32/native/x86_64/mpc --with-cloog=/home/gfortran/gcc-home/binary/mingw32/native/x86_64/cloog --with-diagnostics-color=auto-if-env --enable-cloog-backend=isl --enable-targets=i686-w64-mingw32,x86_64-w64-mingw32 --enable-lto --enable-languages=c,c++,fortran --enable-threads=win32 --enable-static --enable-shared=lto-plugin --enable-plugins --enable-ld=yes --enable-libquadmath --enable-libquadmath-support --enable-libgomp --disable-checking --disable-nls --disable-tls --disable-win32-registry] + ignore line: [Thread model: win32] + ignore line: [gcc version 6.3.0 (GCC) ] + ignore line: [COMPILER_PATH=c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/6.3.0/] + ignore line: [c:/mingw/bin/../libexec/gcc/] + ignore line: [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/bin/] + ignore line: [EQ_LIBRARY_PATH=c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/] + ignore line: [c:/mingw/bin/../lib/gcc/] + ignore line: [C:/MinGW/x86_64-w64-mingw32/lib/../lib/] + ignore line: [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/lib/../lib/] + ignore line: [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../lib/] + ignore line: [C:/MinGW/x86_64-w64-mingw32/lib/] + ignore line: [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/lib/] + ignore line: [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_8eef5.exe' '-mtune=generic' '-march=x86-64'] + link line: [ c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/6.3.0/collect2.exe -plugin c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/6.3.0/liblto_plugin-0.dll -plugin-opt=c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/6.3.0/lto-wrapper.exe -plugin-opt=-fresolution=C:\Users\SHERIF~1\AppData\Local\Temp\ccUCkb8E.res -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-ladvapi32 -plugin-opt=-pass-through=-lshell32 -plugin-opt=-pass-through=-luser32 -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt --sysroot=/home/gfortran/gcc-home/binary/mingw32/cross/x86_64/gcc/7-20161113 -m i386pep -Bdynamic -o cmTC_8eef5.exe C:/MinGW/x86_64-w64-mingw32/lib/../lib/crt2.o c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/crtbegin.o -Lc:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0 -Lc:/mingw/bin/../lib/gcc -LC:/MinGW/x86_64-w64-mingw32/lib/../lib -Lc:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/lib/../lib -Lc:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../lib -LC:/MinGW/x86_64-w64-mingw32/lib -Lc:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/lib -Lc:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../.. --whole-archive CMakeFiles\cmTC_8eef5.dir/objects.a --no-whole-archive --out-implib libcmTC_8eef5.dll.a --major-image-version 0 --minor-image-version 0 -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/crtend.o] + arg [c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/6.3.0/collect2.exe] ==> ignore + arg [-plugin] ==> ignore + arg [c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/6.3.0/liblto_plugin-0.dll] ==> ignore + arg [-plugin-opt=c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/6.3.0/lto-wrapper.exe] ==> ignore + arg [-plugin-opt=-fresolution=C:\Users\SHERIF~1\AppData\Local\Temp\ccUCkb8E.res] ==> ignore + arg [-plugin-opt=-pass-through=-lmingw32] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lmoldname] ==> ignore + arg [-plugin-opt=-pass-through=-lmingwex] ==> ignore + arg [-plugin-opt=-pass-through=-lmsvcrt] ==> ignore + arg [-plugin-opt=-pass-through=-ladvapi32] ==> ignore + arg [-plugin-opt=-pass-through=-lshell32] ==> ignore + arg [-plugin-opt=-pass-through=-luser32] ==> ignore + arg [-plugin-opt=-pass-through=-lkernel32] ==> ignore + arg [-plugin-opt=-pass-through=-lmingw32] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lmoldname] ==> ignore + arg [-plugin-opt=-pass-through=-lmingwex] ==> ignore + arg [-plugin-opt=-pass-through=-lmsvcrt] ==> ignore + arg [--sysroot=/home/gfortran/gcc-home/binary/mingw32/cross/x86_64/gcc/7-20161113] ==> ignore + arg [-m] ==> ignore + arg [i386pep] ==> ignore + arg [-Bdynamic] ==> ignore + arg [-o] ==> ignore + arg [cmTC_8eef5.exe] ==> ignore + arg [C:/MinGW/x86_64-w64-mingw32/lib/../lib/crt2.o] ==> ignore + arg [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/crtbegin.o] ==> ignore + arg [-Lc:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0] ==> dir [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0] + arg [-Lc:/mingw/bin/../lib/gcc] ==> dir [c:/mingw/bin/../lib/gcc] + arg [-LC:/MinGW/x86_64-w64-mingw32/lib/../lib] ==> dir [C:/MinGW/x86_64-w64-mingw32/lib/../lib] + arg [-Lc:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/lib/../lib] ==> dir [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/lib/../lib] + arg [-Lc:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../lib] ==> dir [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../lib] + arg [-LC:/MinGW/x86_64-w64-mingw32/lib] ==> dir [C:/MinGW/x86_64-w64-mingw32/lib] + arg [-Lc:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/lib] ==> dir [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/lib] + arg [-Lc:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../..] ==> dir [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../..] + arg [--whole-archive] ==> ignore + arg [CMakeFiles\cmTC_8eef5.dir/objects.a] ==> ignore + arg [--no-whole-archive] ==> ignore + arg [--out-implib] ==> ignore + arg [libcmTC_8eef5.dll.a] ==> ignore + arg [--major-image-version] ==> ignore + arg [0] ==> ignore + arg [--minor-image-version] ==> ignore + arg [0] ==> ignore + arg [-lmingw32] ==> lib [mingw32] + arg [-lgcc] ==> lib [gcc] + arg [-lmoldname] ==> lib [moldname] + arg [-lmingwex] ==> lib [mingwex] + arg [-lmsvcrt] ==> lib [msvcrt] + arg [-ladvapi32] ==> lib [advapi32] + arg [-lshell32] ==> lib [shell32] + arg [-luser32] ==> lib [user32] + arg [-lkernel32] ==> lib [kernel32] + arg [-lmingw32] ==> lib [mingw32] + arg [-lgcc] ==> lib [gcc] + arg [-lmoldname] ==> lib [moldname] + arg [-lmingwex] ==> lib [mingwex] + arg [-lmsvcrt] ==> lib [msvcrt] + arg [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/crtend.o] ==> ignore + remove lib [gcc] + remove lib [gcc] + collapse library dir [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0] ==> [C:/MinGW/lib/gcc/x86_64-w64-mingw32/6.3.0] + collapse library dir [c:/mingw/bin/../lib/gcc] ==> [C:/MinGW/lib/gcc] + collapse library dir [C:/MinGW/x86_64-w64-mingw32/lib/../lib] ==> [C:/MinGW/x86_64-w64-mingw32/lib] + collapse library dir [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/lib/../lib] ==> [C:/MinGW/x86_64-w64-mingw32/lib] + collapse library dir [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../lib] ==> [C:/MinGW/lib] + collapse library dir [C:/MinGW/x86_64-w64-mingw32/lib] ==> [C:/MinGW/x86_64-w64-mingw32/lib] + collapse library dir [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/lib] ==> [C:/MinGW/x86_64-w64-mingw32/lib] + collapse library dir [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../..] ==> [C:/MinGW/lib] + implicit libs: [mingw32;moldname;mingwex;msvcrt;advapi32;shell32;user32;kernel32;mingw32;moldname;mingwex;msvcrt] + implicit dirs: [C:/MinGW/lib/gcc/x86_64-w64-mingw32/6.3.0;C:/MinGW/lib/gcc;C:/MinGW/x86_64-w64-mingw32/lib;C:/MinGW/lib] + implicit fwks: [] + + + + +Detecting C [-std=c11] compiler features compiled with the following output: +Change Dir: C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp + +Run Build Command:"C:/MinGW/bin/mingw32-make.exe" "cmTC_fe40f/fast" +C:/MinGW/bin/mingw32-make.exe -f CMakeFiles\cmTC_fe40f.dir\build.make CMakeFiles/cmTC_fe40f.dir/build +mingw32-make.exe[1]: Entering directory 'C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_fe40f.dir/feature_tests.c.obj +C:\MinGW\bin\gcc.exe -std=c11 -o CMakeFiles\cmTC_fe40f.dir\feature_tests.c.obj -c C:\Users\sherifsas\Desktop\Project2\cmake-build-debug\CMakeFiles\feature_tests.c +Linking C executable cmTC_fe40f.exe +"C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -E cmake_link_script CMakeFiles\cmTC_fe40f.dir\link.txt --verbose=1 +"C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -E remove -f CMakeFiles\cmTC_fe40f.dir/objects.a +C:\MinGW\bin\ar.exe cr CMakeFiles\cmTC_fe40f.dir/objects.a @CMakeFiles\cmTC_fe40f.dir\objects1.rsp +C:\MinGW\bin\gcc.exe -Wl,--whole-archive CMakeFiles\cmTC_fe40f.dir/objects.a -Wl,--no-whole-archive -o cmTC_fe40f.exe -Wl,--out-implib,libcmTC_fe40f.dll.a -Wl,--major-image-version,0,--minor-image-version,0 @CMakeFiles\cmTC_fe40f.dir\linklibs.rsp +mingw32-make.exe[1]: Leaving directory 'C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp' + + + Feature record: C_FEATURE:1c_function_prototypes + Feature record: C_FEATURE:1c_restrict + Feature record: C_FEATURE:1c_static_assert + Feature record: C_FEATURE:1c_variadic_macros + + +Detecting C [-std=c99] compiler features compiled with the following output: +Change Dir: C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp + +Run Build Command:"C:/MinGW/bin/mingw32-make.exe" "cmTC_d0e04/fast" +C:/MinGW/bin/mingw32-make.exe -f CMakeFiles\cmTC_d0e04.dir\build.make CMakeFiles/cmTC_d0e04.dir/build +mingw32-make.exe[1]: Entering directory 'C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_d0e04.dir/feature_tests.c.obj +C:\MinGW\bin\gcc.exe -std=c99 -o CMakeFiles\cmTC_d0e04.dir\feature_tests.c.obj -c C:\Users\sherifsas\Desktop\Project2\cmake-build-debug\CMakeFiles\feature_tests.c +Linking C executable cmTC_d0e04.exe +"C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -E cmake_link_script CMakeFiles\cmTC_d0e04.dir\link.txt --verbose=1 +"C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -E remove -f CMakeFiles\cmTC_d0e04.dir/objects.a +C:\MinGW\bin\ar.exe cr CMakeFiles\cmTC_d0e04.dir/objects.a @CMakeFiles\cmTC_d0e04.dir\objects1.rsp +C:\MinGW\bin\gcc.exe -Wl,--whole-archive CMakeFiles\cmTC_d0e04.dir/objects.a -Wl,--no-whole-archive -o cmTC_d0e04.exe -Wl,--out-implib,libcmTC_d0e04.dll.a -Wl,--major-image-version,0,--minor-image-version,0 @CMakeFiles\cmTC_d0e04.dir\linklibs.rsp +mingw32-make.exe[1]: Leaving directory 'C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp' + + + Feature record: C_FEATURE:1c_function_prototypes + Feature record: C_FEATURE:1c_restrict + Feature record: C_FEATURE:0c_static_assert + Feature record: C_FEATURE:1c_variadic_macros + + +Detecting C [-std=c90] compiler features compiled with the following output: +Change Dir: C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp + +Run Build Command:"C:/MinGW/bin/mingw32-make.exe" "cmTC_e7c77/fast" +C:/MinGW/bin/mingw32-make.exe -f CMakeFiles\cmTC_e7c77.dir\build.make CMakeFiles/cmTC_e7c77.dir/build +mingw32-make.exe[1]: Entering directory 'C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_e7c77.dir/feature_tests.c.obj +C:\MinGW\bin\gcc.exe -std=c90 -o CMakeFiles\cmTC_e7c77.dir\feature_tests.c.obj -c C:\Users\sherifsas\Desktop\Project2\cmake-build-debug\CMakeFiles\feature_tests.c +Linking C executable cmTC_e7c77.exe +"C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -E cmake_link_script CMakeFiles\cmTC_e7c77.dir\link.txt --verbose=1 +"C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -E remove -f CMakeFiles\cmTC_e7c77.dir/objects.a +C:\MinGW\bin\ar.exe cr CMakeFiles\cmTC_e7c77.dir/objects.a @CMakeFiles\cmTC_e7c77.dir\objects1.rsp +C:\MinGW\bin\gcc.exe -Wl,--whole-archive CMakeFiles\cmTC_e7c77.dir/objects.a -Wl,--no-whole-archive -o cmTC_e7c77.exe -Wl,--out-implib,libcmTC_e7c77.dll.a -Wl,--major-image-version,0,--minor-image-version,0 @CMakeFiles\cmTC_e7c77.dir\linklibs.rsp +mingw32-make.exe[1]: Leaving directory 'C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp' + + + Feature record: C_FEATURE:1c_function_prototypes + Feature record: C_FEATURE:0c_restrict + Feature record: C_FEATURE:0c_static_assert + Feature record: C_FEATURE:0c_variadic_macros +Determining if the CXX compiler works passed with the following output: +Change Dir: C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp + +Run Build Command:"C:/MinGW/bin/mingw32-make.exe" "cmTC_9242e/fast" +C:/MinGW/bin/mingw32-make.exe -f CMakeFiles\cmTC_9242e.dir\build.make CMakeFiles/cmTC_9242e.dir/build +mingw32-make.exe[1]: Entering directory 'C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp' +Building CXX object CMakeFiles/cmTC_9242e.dir/testCXXCompiler.cxx.obj +C:\MinGW\bin\g++.exe -o CMakeFiles\cmTC_9242e.dir\testCXXCompiler.cxx.obj -c C:\Users\sherifsas\Desktop\Project2\cmake-build-debug\CMakeFiles\CMakeTmp\testCXXCompiler.cxx +Linking CXX executable cmTC_9242e.exe +"C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -E cmake_link_script CMakeFiles\cmTC_9242e.dir\link.txt --verbose=1 +"C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -E remove -f CMakeFiles\cmTC_9242e.dir/objects.a +C:\MinGW\bin\ar.exe cr CMakeFiles\cmTC_9242e.dir/objects.a @CMakeFiles\cmTC_9242e.dir\objects1.rsp +C:\MinGW\bin\g++.exe -Wl,--whole-archive CMakeFiles\cmTC_9242e.dir/objects.a -Wl,--no-whole-archive -o cmTC_9242e.exe -Wl,--out-implib,libcmTC_9242e.dll.a -Wl,--major-image-version,0,--minor-image-version,0 @CMakeFiles\cmTC_9242e.dir\linklibs.rsp +mingw32-make.exe[1]: Leaving directory 'C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp + +Run Build Command:"C:/MinGW/bin/mingw32-make.exe" "cmTC_1f637/fast" +C:/MinGW/bin/mingw32-make.exe -f CMakeFiles\cmTC_1f637.dir\build.make CMakeFiles/cmTC_1f637.dir/build +mingw32-make.exe[1]: Entering directory 'C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp' +Building CXX object CMakeFiles/cmTC_1f637.dir/CMakeCXXCompilerABI.cpp.obj +C:\MinGW\bin\g++.exe -o CMakeFiles\cmTC_1f637.dir\CMakeCXXCompilerABI.cpp.obj -c "C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\share\cmake-3.8\Modules\CMakeCXXCompilerABI.cpp" +Linking CXX executable cmTC_1f637.exe +"C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -E cmake_link_script CMakeFiles\cmTC_1f637.dir\link.txt --verbose=1 +"C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -E remove -f CMakeFiles\cmTC_1f637.dir/objects.a +C:\MinGW\bin\ar.exe cr CMakeFiles\cmTC_1f637.dir/objects.a @CMakeFiles\cmTC_1f637.dir\objects1.rsp +C:\MinGW\bin\g++.exe -v -Wl,--whole-archive CMakeFiles\cmTC_1f637.dir/objects.a -Wl,--no-whole-archive -o cmTC_1f637.exe -Wl,--out-implib,libcmTC_1f637.dll.a -Wl,--major-image-version,0,--minor-image-version,0 +Built by Equation Solution <http://www.Equation.com>. +Using built-in specs. +COLLECT_GCC=C:\MinGW\bin\g++.exe +COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/6.3.0/lto-wrapper.exe +Target: x86_64-w64-mingw32 +Configured with: ../gcc-6.3.0-mingw/configure --host=x86_64-w64-mingw32 --build=x86_64-unknown-linux-gnu --target=x86_64-w64-mingw32 --prefix=/home/gfortran/gcc-home/binary/mingw32/native/x86_64/gcc/6.3.0 --with-sysroot=/home/gfortran/gcc-home/binary/mingw32/cross/x86_64/gcc/7-20161113 --with-gcc --with-gnu-ld --with-gnu-as --with-ld64=no --with-gmp=/home/gfortran/gcc-home/binary/mingw32/native/x86_64/gmp --with-mpfr=/home/gfortran/gcc-home/binary/mingw32/native/x86_64/mpfr --with-mpc=/home/gfortran/gcc-home/binary/mingw32/native/x86_64/mpc --with-cloog=/home/gfortran/gcc-home/binary/mingw32/native/x86_64/cloog --with-diagnostics-color=auto-if-env --enable-cloog-backend=isl --enable-targets=i686-w64-mingw32,x86_64-w64-mingw32 --enable-lto --enable-languages=c,c++,fortran --enable-threads=win32 --enable-static --enable-shared=lto-plugin --enable-plugins --enable-ld=yes --enable-libquadmath --enable-libquadmath-support --enable-libgomp --disable-checking --disable-nls --disable-tls --disable-win32-registry +Thread model: win32 +gcc version 6.3.0 (GCC) +COMPILER_PATH=c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/6.3.0/;c:/mingw/bin/../libexec/gcc/;c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/bin/ +EQ_LIBRARY_PATH=c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/;c:/mingw/bin/../lib/gcc/;C:/MinGW/x86_64-w64-mingw32/lib/../lib/;c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/lib/../lib/;c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../lib/;C:/MinGW/x86_64-w64-mingw32/lib/;c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/lib/;c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_1f637.exe' '-mtune=generic' '-march=x86-64' + c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/6.3.0/collect2.exe -plugin c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/6.3.0/liblto_plugin-0.dll -plugin-opt=c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/6.3.0/lto-wrapper.exe -plugin-opt=-fresolution=C:\Users\SHERIF~1\AppData\Local\Temp\ccKl6NBI.res -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-ladvapi32 -plugin-opt=-pass-through=-lshell32 -plugin-opt=-pass-through=-luser32 -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt --sysroot=/home/gfortran/gcc-home/binary/mingw32/cross/x86_64/gcc/7-20161113 -m i386pep -Bdynamic -o cmTC_1f637.exe C:/MinGW/x86_64-w64-mingw32/lib/../lib/crt2.o c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/crtbegin.o -Lc:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0 -Lc:/mingw/bin/../lib/gcc -LC:/MinGW/x86_64-w64-mingw32/lib/../lib -Lc:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/lib/../lib -Lc:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../lib -LC:/MinGW/x86_64-w64-mingw32/lib -Lc:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/lib -Lc:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../.. --whole-archive CMakeFiles\cmTC_1f637.dir/objects.a --no-whole-archive --out-implib libcmTC_1f637.dll.a --major-image-version 0 --minor-image-version 0 -lstdc++ -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/crtend.o +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_1f637.exe' '-mtune=generic' '-march=x86-64' +mingw32-make.exe[1]: Leaving directory 'C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld\.exe|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:"C:/MinGW/bin/mingw32-make.exe" "cmTC_1f637/fast"] + ignore line: [C:/MinGW/bin/mingw32-make.exe -f CMakeFiles\cmTC_1f637.dir\build.make CMakeFiles/cmTC_1f637.dir/build] + ignore line: [mingw32-make.exe[1]: Entering directory 'C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp'] + ignore line: [Building CXX object CMakeFiles/cmTC_1f637.dir/CMakeCXXCompilerABI.cpp.obj] + ignore line: [C:\MinGW\bin\g++.exe -o CMakeFiles\cmTC_1f637.dir\CMakeCXXCompilerABI.cpp.obj -c "C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\share\cmake-3.8\Modules\CMakeCXXCompilerABI.cpp"] + ignore line: [Linking CXX executable cmTC_1f637.exe] + ignore line: ["C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -E cmake_link_script CMakeFiles\cmTC_1f637.dir\link.txt --verbose=1] + ignore line: ["C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -E remove -f CMakeFiles\cmTC_1f637.dir/objects.a] + ignore line: [C:\MinGW\bin\ar.exe cr CMakeFiles\cmTC_1f637.dir/objects.a @CMakeFiles\cmTC_1f637.dir\objects1.rsp] + ignore line: [C:\MinGW\bin\g++.exe -v -Wl,--whole-archive CMakeFiles\cmTC_1f637.dir/objects.a -Wl,--no-whole-archive -o cmTC_1f637.exe -Wl,--out-implib,libcmTC_1f637.dll.a -Wl,--major-image-version,0,--minor-image-version,0 ] + ignore line: [Built by Equation Solution <http://www.Equation.com>.] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=C:\MinGW\bin\g++.exe] + ignore line: [COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/6.3.0/lto-wrapper.exe] + ignore line: [Target: x86_64-w64-mingw32] + ignore line: [Configured with: ../gcc-6.3.0-mingw/configure --host=x86_64-w64-mingw32 --build=x86_64-unknown-linux-gnu --target=x86_64-w64-mingw32 --prefix=/home/gfortran/gcc-home/binary/mingw32/native/x86_64/gcc/6.3.0 --with-sysroot=/home/gfortran/gcc-home/binary/mingw32/cross/x86_64/gcc/7-20161113 --with-gcc --with-gnu-ld --with-gnu-as --with-ld64=no --with-gmp=/home/gfortran/gcc-home/binary/mingw32/native/x86_64/gmp --with-mpfr=/home/gfortran/gcc-home/binary/mingw32/native/x86_64/mpfr --with-mpc=/home/gfortran/gcc-home/binary/mingw32/native/x86_64/mpc --with-cloog=/home/gfortran/gcc-home/binary/mingw32/native/x86_64/cloog --with-diagnostics-color=auto-if-env --enable-cloog-backend=isl --enable-targets=i686-w64-mingw32,x86_64-w64-mingw32 --enable-lto --enable-languages=c,c++,fortran --enable-threads=win32 --enable-static --enable-shared=lto-plugin --enable-plugins --enable-ld=yes --enable-libquadmath --enable-libquadmath-support --enable-libgomp --disable-checking --disable-nls --disable-tls --disable-win32-registry] + ignore line: [Thread model: win32] + ignore line: [gcc version 6.3.0 (GCC) ] + ignore line: [COMPILER_PATH=c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/6.3.0/] + ignore line: [c:/mingw/bin/../libexec/gcc/] + ignore line: [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/bin/] + ignore line: [EQ_LIBRARY_PATH=c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/] + ignore line: [c:/mingw/bin/../lib/gcc/] + ignore line: [C:/MinGW/x86_64-w64-mingw32/lib/../lib/] + ignore line: [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/lib/../lib/] + ignore line: [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../lib/] + ignore line: [C:/MinGW/x86_64-w64-mingw32/lib/] + ignore line: [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/lib/] + ignore line: [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_1f637.exe' '-mtune=generic' '-march=x86-64'] + link line: [ c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/6.3.0/collect2.exe -plugin c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/6.3.0/liblto_plugin-0.dll -plugin-opt=c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/6.3.0/lto-wrapper.exe -plugin-opt=-fresolution=C:\Users\SHERIF~1\AppData\Local\Temp\ccKl6NBI.res -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-ladvapi32 -plugin-opt=-pass-through=-lshell32 -plugin-opt=-pass-through=-luser32 -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt --sysroot=/home/gfortran/gcc-home/binary/mingw32/cross/x86_64/gcc/7-20161113 -m i386pep -Bdynamic -o cmTC_1f637.exe C:/MinGW/x86_64-w64-mingw32/lib/../lib/crt2.o c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/crtbegin.o -Lc:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0 -Lc:/mingw/bin/../lib/gcc -LC:/MinGW/x86_64-w64-mingw32/lib/../lib -Lc:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/lib/../lib -Lc:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../lib -LC:/MinGW/x86_64-w64-mingw32/lib -Lc:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/lib -Lc:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../.. --whole-archive CMakeFiles\cmTC_1f637.dir/objects.a --no-whole-archive --out-implib libcmTC_1f637.dll.a --major-image-version 0 --minor-image-version 0 -lstdc++ -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/crtend.o] + arg [c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/6.3.0/collect2.exe] ==> ignore + arg [-plugin] ==> ignore + arg [c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/6.3.0/liblto_plugin-0.dll] ==> ignore + arg [-plugin-opt=c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/6.3.0/lto-wrapper.exe] ==> ignore + arg [-plugin-opt=-fresolution=C:\Users\SHERIF~1\AppData\Local\Temp\ccKl6NBI.res] ==> ignore + arg [-plugin-opt=-pass-through=-lmingw32] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lmoldname] ==> ignore + arg [-plugin-opt=-pass-through=-lmingwex] ==> ignore + arg [-plugin-opt=-pass-through=-lmsvcrt] ==> ignore + arg [-plugin-opt=-pass-through=-ladvapi32] ==> ignore + arg [-plugin-opt=-pass-through=-lshell32] ==> ignore + arg [-plugin-opt=-pass-through=-luser32] ==> ignore + arg [-plugin-opt=-pass-through=-lkernel32] ==> ignore + arg [-plugin-opt=-pass-through=-lmingw32] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lmoldname] ==> ignore + arg [-plugin-opt=-pass-through=-lmingwex] ==> ignore + arg [-plugin-opt=-pass-through=-lmsvcrt] ==> ignore + arg [--sysroot=/home/gfortran/gcc-home/binary/mingw32/cross/x86_64/gcc/7-20161113] ==> ignore + arg [-m] ==> ignore + arg [i386pep] ==> ignore + arg [-Bdynamic] ==> ignore + arg [-o] ==> ignore + arg [cmTC_1f637.exe] ==> ignore + arg [C:/MinGW/x86_64-w64-mingw32/lib/../lib/crt2.o] ==> ignore + arg [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/crtbegin.o] ==> ignore + arg [-Lc:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0] ==> dir [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0] + arg [-Lc:/mingw/bin/../lib/gcc] ==> dir [c:/mingw/bin/../lib/gcc] + arg [-LC:/MinGW/x86_64-w64-mingw32/lib/../lib] ==> dir [C:/MinGW/x86_64-w64-mingw32/lib/../lib] + arg [-Lc:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/lib/../lib] ==> dir [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/lib/../lib] + arg [-Lc:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../lib] ==> dir [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../lib] + arg [-LC:/MinGW/x86_64-w64-mingw32/lib] ==> dir [C:/MinGW/x86_64-w64-mingw32/lib] + arg [-Lc:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/lib] ==> dir [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/lib] + arg [-Lc:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../..] ==> dir [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../..] + arg [--whole-archive] ==> ignore + arg [CMakeFiles\cmTC_1f637.dir/objects.a] ==> ignore + arg [--no-whole-archive] ==> ignore + arg [--out-implib] ==> ignore + arg [libcmTC_1f637.dll.a] ==> ignore + arg [--major-image-version] ==> ignore + arg [0] ==> ignore + arg [--minor-image-version] ==> ignore + arg [0] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lmingw32] ==> lib [mingw32] + arg [-lgcc] ==> lib [gcc] + arg [-lmoldname] ==> lib [moldname] + arg [-lmingwex] ==> lib [mingwex] + arg [-lmsvcrt] ==> lib [msvcrt] + arg [-ladvapi32] ==> lib [advapi32] + arg [-lshell32] ==> lib [shell32] + arg [-luser32] ==> lib [user32] + arg [-lkernel32] ==> lib [kernel32] + arg [-lmingw32] ==> lib [mingw32] + arg [-lgcc] ==> lib [gcc] + arg [-lmoldname] ==> lib [moldname] + arg [-lmingwex] ==> lib [mingwex] + arg [-lmsvcrt] ==> lib [msvcrt] + arg [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/crtend.o] ==> ignore + remove lib [gcc] + remove lib [gcc] + collapse library dir [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0] ==> [C:/MinGW/lib/gcc/x86_64-w64-mingw32/6.3.0] + collapse library dir [c:/mingw/bin/../lib/gcc] ==> [C:/MinGW/lib/gcc] + collapse library dir [C:/MinGW/x86_64-w64-mingw32/lib/../lib] ==> [C:/MinGW/x86_64-w64-mingw32/lib] + collapse library dir [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/lib/../lib] ==> [C:/MinGW/x86_64-w64-mingw32/lib] + collapse library dir [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../lib] ==> [C:/MinGW/lib] + collapse library dir [C:/MinGW/x86_64-w64-mingw32/lib] ==> [C:/MinGW/x86_64-w64-mingw32/lib] + collapse library dir [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/lib] ==> [C:/MinGW/x86_64-w64-mingw32/lib] + collapse library dir [c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../..] ==> [C:/MinGW/lib] + implicit libs: [stdc++;mingw32;moldname;mingwex;msvcrt;advapi32;shell32;user32;kernel32;mingw32;moldname;mingwex;msvcrt] + implicit dirs: [C:/MinGW/lib/gcc/x86_64-w64-mingw32/6.3.0;C:/MinGW/lib/gcc;C:/MinGW/x86_64-w64-mingw32/lib;C:/MinGW/lib] + implicit fwks: [] + + + + +Detecting CXX [-std=c++1z] compiler features compiled with the following output: +Change Dir: C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp + +Run Build Command:"C:/MinGW/bin/mingw32-make.exe" "cmTC_1f864/fast" +C:/MinGW/bin/mingw32-make.exe -f CMakeFiles\cmTC_1f864.dir\build.make CMakeFiles/cmTC_1f864.dir/build +mingw32-make.exe[1]: Entering directory 'C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp' +Building CXX object CMakeFiles/cmTC_1f864.dir/feature_tests.cxx.obj +C:\MinGW\bin\g++.exe -std=c++1z -o CMakeFiles\cmTC_1f864.dir\feature_tests.cxx.obj -c C:\Users\sherifsas\Desktop\Project2\cmake-build-debug\CMakeFiles\feature_tests.cxx +Linking CXX executable cmTC_1f864.exe +"C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -E cmake_link_script CMakeFiles\cmTC_1f864.dir\link.txt --verbose=1 +"C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -E remove -f CMakeFiles\cmTC_1f864.dir/objects.a +C:\MinGW\bin\ar.exe cr CMakeFiles\cmTC_1f864.dir/objects.a @CMakeFiles\cmTC_1f864.dir\objects1.rsp +C:\MinGW\bin\g++.exe -Wl,--whole-archive CMakeFiles\cmTC_1f864.dir/objects.a -Wl,--no-whole-archive -o cmTC_1f864.exe -Wl,--out-implib,libcmTC_1f864.dll.a -Wl,--major-image-version,0,--minor-image-version,0 @CMakeFiles\cmTC_1f864.dir\linklibs.rsp +mingw32-make.exe[1]: Leaving directory 'C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp' + + + Feature record: CXX_FEATURE:1cxx_aggregate_default_initializers + Feature record: CXX_FEATURE:1cxx_alias_templates + Feature record: CXX_FEATURE:1cxx_alignas + Feature record: CXX_FEATURE:1cxx_alignof + Feature record: CXX_FEATURE:1cxx_attributes + Feature record: CXX_FEATURE:1cxx_attribute_deprecated + Feature record: CXX_FEATURE:1cxx_auto_type + Feature record: CXX_FEATURE:1cxx_binary_literals + Feature record: CXX_FEATURE:1cxx_constexpr + Feature record: CXX_FEATURE:1cxx_contextual_conversions + Feature record: CXX_FEATURE:1cxx_decltype + Feature record: CXX_FEATURE:1cxx_decltype_auto + Feature record: CXX_FEATURE:1cxx_decltype_incomplete_return_types + Feature record: CXX_FEATURE:1cxx_default_function_template_args + Feature record: CXX_FEATURE:1cxx_defaulted_functions + Feature record: CXX_FEATURE:1cxx_defaulted_move_initializers + Feature record: CXX_FEATURE:1cxx_delegating_constructors + Feature record: CXX_FEATURE:1cxx_deleted_functions + Feature record: CXX_FEATURE:1cxx_digit_separators + Feature record: CXX_FEATURE:1cxx_enum_forward_declarations + Feature record: CXX_FEATURE:1cxx_explicit_conversions + Feature record: CXX_FEATURE:1cxx_extended_friend_declarations + Feature record: CXX_FEATURE:1cxx_extern_templates + Feature record: CXX_FEATURE:1cxx_final + Feature record: CXX_FEATURE:1cxx_func_identifier + Feature record: CXX_FEATURE:1cxx_generalized_initializers + Feature record: CXX_FEATURE:1cxx_generic_lambdas + Feature record: CXX_FEATURE:1cxx_inheriting_constructors + Feature record: CXX_FEATURE:1cxx_inline_namespaces + Feature record: CXX_FEATURE:1cxx_lambdas + Feature record: CXX_FEATURE:1cxx_lambda_init_captures + Feature record: CXX_FEATURE:1cxx_local_type_template_args + Feature record: CXX_FEATURE:1cxx_long_long_type + Feature record: CXX_FEATURE:1cxx_noexcept + Feature record: CXX_FEATURE:1cxx_nonstatic_member_init + Feature record: CXX_FEATURE:1cxx_nullptr + Feature record: CXX_FEATURE:1cxx_override + Feature record: CXX_FEATURE:1cxx_range_for + Feature record: CXX_FEATURE:1cxx_raw_string_literals + Feature record: CXX_FEATURE:1cxx_reference_qualified_functions + Feature record: CXX_FEATURE:1cxx_relaxed_constexpr + Feature record: CXX_FEATURE:1cxx_return_type_deduction + Feature record: CXX_FEATURE:1cxx_right_angle_brackets + Feature record: CXX_FEATURE:1cxx_rvalue_references + Feature record: CXX_FEATURE:1cxx_sizeof_member + Feature record: CXX_FEATURE:1cxx_static_assert + Feature record: CXX_FEATURE:1cxx_strong_enums + Feature record: CXX_FEATURE:1cxx_template_template_parameters + Feature record: CXX_FEATURE:1cxx_thread_local + Feature record: CXX_FEATURE:1cxx_trailing_return_types + Feature record: CXX_FEATURE:1cxx_unicode_literals + Feature record: CXX_FEATURE:1cxx_uniform_initialization + Feature record: CXX_FEATURE:1cxx_unrestricted_unions + Feature record: CXX_FEATURE:1cxx_user_literals + Feature record: CXX_FEATURE:1cxx_variable_templates + Feature record: CXX_FEATURE:1cxx_variadic_macros + Feature record: CXX_FEATURE:1cxx_variadic_templates + + +Detecting CXX [-std=c++14] compiler features compiled with the following output: +Change Dir: C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp + +Run Build Command:"C:/MinGW/bin/mingw32-make.exe" "cmTC_2d1e8/fast" +C:/MinGW/bin/mingw32-make.exe -f CMakeFiles\cmTC_2d1e8.dir\build.make CMakeFiles/cmTC_2d1e8.dir/build +mingw32-make.exe[1]: Entering directory 'C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp' +Building CXX object CMakeFiles/cmTC_2d1e8.dir/feature_tests.cxx.obj +C:\MinGW\bin\g++.exe -std=c++14 -o CMakeFiles\cmTC_2d1e8.dir\feature_tests.cxx.obj -c C:\Users\sherifsas\Desktop\Project2\cmake-build-debug\CMakeFiles\feature_tests.cxx +Linking CXX executable cmTC_2d1e8.exe +"C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -E cmake_link_script CMakeFiles\cmTC_2d1e8.dir\link.txt --verbose=1 +"C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -E remove -f CMakeFiles\cmTC_2d1e8.dir/objects.a +C:\MinGW\bin\ar.exe cr CMakeFiles\cmTC_2d1e8.dir/objects.a @CMakeFiles\cmTC_2d1e8.dir\objects1.rsp +C:\MinGW\bin\g++.exe -Wl,--whole-archive CMakeFiles\cmTC_2d1e8.dir/objects.a -Wl,--no-whole-archive -o cmTC_2d1e8.exe -Wl,--out-implib,libcmTC_2d1e8.dll.a -Wl,--major-image-version,0,--minor-image-version,0 @CMakeFiles\cmTC_2d1e8.dir\linklibs.rsp +mingw32-make.exe[1]: Leaving directory 'C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp' + + + Feature record: CXX_FEATURE:1cxx_aggregate_default_initializers + Feature record: CXX_FEATURE:1cxx_alias_templates + Feature record: CXX_FEATURE:1cxx_alignas + Feature record: CXX_FEATURE:1cxx_alignof + Feature record: CXX_FEATURE:1cxx_attributes + Feature record: CXX_FEATURE:1cxx_attribute_deprecated + Feature record: CXX_FEATURE:1cxx_auto_type + Feature record: CXX_FEATURE:1cxx_binary_literals + Feature record: CXX_FEATURE:1cxx_constexpr + Feature record: CXX_FEATURE:1cxx_contextual_conversions + Feature record: CXX_FEATURE:1cxx_decltype + Feature record: CXX_FEATURE:1cxx_decltype_auto + Feature record: CXX_FEATURE:1cxx_decltype_incomplete_return_types + Feature record: CXX_FEATURE:1cxx_default_function_template_args + Feature record: CXX_FEATURE:1cxx_defaulted_functions + Feature record: CXX_FEATURE:1cxx_defaulted_move_initializers + Feature record: CXX_FEATURE:1cxx_delegating_constructors + Feature record: CXX_FEATURE:1cxx_deleted_functions + Feature record: CXX_FEATURE:1cxx_digit_separators + Feature record: CXX_FEATURE:1cxx_enum_forward_declarations + Feature record: CXX_FEATURE:1cxx_explicit_conversions + Feature record: CXX_FEATURE:1cxx_extended_friend_declarations + Feature record: CXX_FEATURE:1cxx_extern_templates + Feature record: CXX_FEATURE:1cxx_final + Feature record: CXX_FEATURE:1cxx_func_identifier + Feature record: CXX_FEATURE:1cxx_generalized_initializers + Feature record: CXX_FEATURE:1cxx_generic_lambdas + Feature record: CXX_FEATURE:1cxx_inheriting_constructors + Feature record: CXX_FEATURE:1cxx_inline_namespaces + Feature record: CXX_FEATURE:1cxx_lambdas + Feature record: CXX_FEATURE:1cxx_lambda_init_captures + Feature record: CXX_FEATURE:1cxx_local_type_template_args + Feature record: CXX_FEATURE:1cxx_long_long_type + Feature record: CXX_FEATURE:1cxx_noexcept + Feature record: CXX_FEATURE:1cxx_nonstatic_member_init + Feature record: CXX_FEATURE:1cxx_nullptr + Feature record: CXX_FEATURE:1cxx_override + Feature record: CXX_FEATURE:1cxx_range_for + Feature record: CXX_FEATURE:1cxx_raw_string_literals + Feature record: CXX_FEATURE:1cxx_reference_qualified_functions + Feature record: CXX_FEATURE:1cxx_relaxed_constexpr + Feature record: CXX_FEATURE:1cxx_return_type_deduction + Feature record: CXX_FEATURE:1cxx_right_angle_brackets + Feature record: CXX_FEATURE:1cxx_rvalue_references + Feature record: CXX_FEATURE:1cxx_sizeof_member + Feature record: CXX_FEATURE:1cxx_static_assert + Feature record: CXX_FEATURE:1cxx_strong_enums + Feature record: CXX_FEATURE:1cxx_template_template_parameters + Feature record: CXX_FEATURE:1cxx_thread_local + Feature record: CXX_FEATURE:1cxx_trailing_return_types + Feature record: CXX_FEATURE:1cxx_unicode_literals + Feature record: CXX_FEATURE:1cxx_uniform_initialization + Feature record: CXX_FEATURE:1cxx_unrestricted_unions + Feature record: CXX_FEATURE:1cxx_user_literals + Feature record: CXX_FEATURE:1cxx_variable_templates + Feature record: CXX_FEATURE:1cxx_variadic_macros + Feature record: CXX_FEATURE:1cxx_variadic_templates + + +Detecting CXX [-std=c++11] compiler features compiled with the following output: +Change Dir: C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp + +Run Build Command:"C:/MinGW/bin/mingw32-make.exe" "cmTC_bae69/fast" +C:/MinGW/bin/mingw32-make.exe -f CMakeFiles\cmTC_bae69.dir\build.make CMakeFiles/cmTC_bae69.dir/build +mingw32-make.exe[1]: Entering directory 'C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp' +Building CXX object CMakeFiles/cmTC_bae69.dir/feature_tests.cxx.obj +C:\MinGW\bin\g++.exe -std=c++11 -o CMakeFiles\cmTC_bae69.dir\feature_tests.cxx.obj -c C:\Users\sherifsas\Desktop\Project2\cmake-build-debug\CMakeFiles\feature_tests.cxx +Linking CXX executable cmTC_bae69.exe +"C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -E cmake_link_script CMakeFiles\cmTC_bae69.dir\link.txt --verbose=1 +"C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -E remove -f CMakeFiles\cmTC_bae69.dir/objects.a +C:\MinGW\bin\ar.exe cr CMakeFiles\cmTC_bae69.dir/objects.a @CMakeFiles\cmTC_bae69.dir\objects1.rsp +C:\MinGW\bin\g++.exe -Wl,--whole-archive CMakeFiles\cmTC_bae69.dir/objects.a -Wl,--no-whole-archive -o cmTC_bae69.exe -Wl,--out-implib,libcmTC_bae69.dll.a -Wl,--major-image-version,0,--minor-image-version,0 @CMakeFiles\cmTC_bae69.dir\linklibs.rsp +mingw32-make.exe[1]: Leaving directory 'C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp' + + + Feature record: CXX_FEATURE:0cxx_aggregate_default_initializers + Feature record: CXX_FEATURE:1cxx_alias_templates + Feature record: CXX_FEATURE:1cxx_alignas + Feature record: CXX_FEATURE:1cxx_alignof + Feature record: CXX_FEATURE:1cxx_attributes + Feature record: CXX_FEATURE:0cxx_attribute_deprecated + Feature record: CXX_FEATURE:1cxx_auto_type + Feature record: CXX_FEATURE:0cxx_binary_literals + Feature record: CXX_FEATURE:1cxx_constexpr + Feature record: CXX_FEATURE:0cxx_contextual_conversions + Feature record: CXX_FEATURE:1cxx_decltype + Feature record: CXX_FEATURE:0cxx_decltype_auto + Feature record: CXX_FEATURE:1cxx_decltype_incomplete_return_types + Feature record: CXX_FEATURE:1cxx_default_function_template_args + Feature record: CXX_FEATURE:1cxx_defaulted_functions + Feature record: CXX_FEATURE:1cxx_defaulted_move_initializers + Feature record: CXX_FEATURE:1cxx_delegating_constructors + Feature record: CXX_FEATURE:1cxx_deleted_functions + Feature record: CXX_FEATURE:0cxx_digit_separators + Feature record: CXX_FEATURE:1cxx_enum_forward_declarations + Feature record: CXX_FEATURE:1cxx_explicit_conversions + Feature record: CXX_FEATURE:1cxx_extended_friend_declarations + Feature record: CXX_FEATURE:1cxx_extern_templates + Feature record: CXX_FEATURE:1cxx_final + Feature record: CXX_FEATURE:1cxx_func_identifier + Feature record: CXX_FEATURE:1cxx_generalized_initializers + Feature record: CXX_FEATURE:0cxx_generic_lambdas + Feature record: CXX_FEATURE:1cxx_inheriting_constructors + Feature record: CXX_FEATURE:1cxx_inline_namespaces + Feature record: CXX_FEATURE:1cxx_lambdas + Feature record: CXX_FEATURE:0cxx_lambda_init_captures + Feature record: CXX_FEATURE:1cxx_local_type_template_args + Feature record: CXX_FEATURE:1cxx_long_long_type + Feature record: CXX_FEATURE:1cxx_noexcept + Feature record: CXX_FEATURE:1cxx_nonstatic_member_init + Feature record: CXX_FEATURE:1cxx_nullptr + Feature record: CXX_FEATURE:1cxx_override + Feature record: CXX_FEATURE:1cxx_range_for + Feature record: CXX_FEATURE:1cxx_raw_string_literals + Feature record: CXX_FEATURE:1cxx_reference_qualified_functions + Feature record: CXX_FEATURE:0cxx_relaxed_constexpr + Feature record: CXX_FEATURE:0cxx_return_type_deduction + Feature record: CXX_FEATURE:1cxx_right_angle_brackets + Feature record: CXX_FEATURE:1cxx_rvalue_references + Feature record: CXX_FEATURE:1cxx_sizeof_member + Feature record: CXX_FEATURE:1cxx_static_assert + Feature record: CXX_FEATURE:1cxx_strong_enums + Feature record: CXX_FEATURE:1cxx_template_template_parameters + Feature record: CXX_FEATURE:1cxx_thread_local + Feature record: CXX_FEATURE:1cxx_trailing_return_types + Feature record: CXX_FEATURE:1cxx_unicode_literals + Feature record: CXX_FEATURE:1cxx_uniform_initialization + Feature record: CXX_FEATURE:1cxx_unrestricted_unions + Feature record: CXX_FEATURE:1cxx_user_literals + Feature record: CXX_FEATURE:0cxx_variable_templates + Feature record: CXX_FEATURE:1cxx_variadic_macros + Feature record: CXX_FEATURE:1cxx_variadic_templates + + +Detecting CXX [-std=c++98] compiler features compiled with the following output: +Change Dir: C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp + +Run Build Command:"C:/MinGW/bin/mingw32-make.exe" "cmTC_4d4ba/fast" +C:/MinGW/bin/mingw32-make.exe -f CMakeFiles\cmTC_4d4ba.dir\build.make CMakeFiles/cmTC_4d4ba.dir/build +mingw32-make.exe[1]: Entering directory 'C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp' +Building CXX object CMakeFiles/cmTC_4d4ba.dir/feature_tests.cxx.obj +C:\MinGW\bin\g++.exe -std=c++98 -o CMakeFiles\cmTC_4d4ba.dir\feature_tests.cxx.obj -c C:\Users\sherifsas\Desktop\Project2\cmake-build-debug\CMakeFiles\feature_tests.cxx +Linking CXX executable cmTC_4d4ba.exe +"C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -E cmake_link_script CMakeFiles\cmTC_4d4ba.dir\link.txt --verbose=1 +"C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -E remove -f CMakeFiles\cmTC_4d4ba.dir/objects.a +C:\MinGW\bin\ar.exe cr CMakeFiles\cmTC_4d4ba.dir/objects.a @CMakeFiles\cmTC_4d4ba.dir\objects1.rsp +C:\MinGW\bin\g++.exe -Wl,--whole-archive CMakeFiles\cmTC_4d4ba.dir/objects.a -Wl,--no-whole-archive -o cmTC_4d4ba.exe -Wl,--out-implib,libcmTC_4d4ba.dll.a -Wl,--major-image-version,0,--minor-image-version,0 @CMakeFiles\cmTC_4d4ba.dir\linklibs.rsp +mingw32-make.exe[1]: Leaving directory 'C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/CMakeTmp' + + + Feature record: CXX_FEATURE:0cxx_aggregate_default_initializers + Feature record: CXX_FEATURE:0cxx_alias_templates + Feature record: CXX_FEATURE:0cxx_alignas + Feature record: CXX_FEATURE:0cxx_alignof + Feature record: CXX_FEATURE:0cxx_attributes + Feature record: CXX_FEATURE:0cxx_attribute_deprecated + Feature record: CXX_FEATURE:0cxx_auto_type + Feature record: CXX_FEATURE:0cxx_binary_literals + Feature record: CXX_FEATURE:0cxx_constexpr + Feature record: CXX_FEATURE:0cxx_contextual_conversions + Feature record: CXX_FEATURE:0cxx_decltype + Feature record: CXX_FEATURE:0cxx_decltype_auto + Feature record: CXX_FEATURE:0cxx_decltype_incomplete_return_types + Feature record: CXX_FEATURE:0cxx_default_function_template_args + Feature record: CXX_FEATURE:0cxx_defaulted_functions + Feature record: CXX_FEATURE:0cxx_defaulted_move_initializers + Feature record: CXX_FEATURE:0cxx_delegating_constructors + Feature record: CXX_FEATURE:0cxx_deleted_functions + Feature record: CXX_FEATURE:0cxx_digit_separators + Feature record: CXX_FEATURE:0cxx_enum_forward_declarations + Feature record: CXX_FEATURE:0cxx_explicit_conversions + Feature record: CXX_FEATURE:0cxx_extended_friend_declarations + Feature record: CXX_FEATURE:0cxx_extern_templates + Feature record: CXX_FEATURE:0cxx_final + Feature record: CXX_FEATURE:0cxx_func_identifier + Feature record: CXX_FEATURE:0cxx_generalized_initializers + Feature record: CXX_FEATURE:0cxx_generic_lambdas + Feature record: CXX_FEATURE:0cxx_inheriting_constructors + Feature record: CXX_FEATURE:0cxx_inline_namespaces + Feature record: CXX_FEATURE:0cxx_lambdas + Feature record: CXX_FEATURE:0cxx_lambda_init_captures + Feature record: CXX_FEATURE:0cxx_local_type_template_args + Feature record: CXX_FEATURE:0cxx_long_long_type + Feature record: CXX_FEATURE:0cxx_noexcept + Feature record: CXX_FEATURE:0cxx_nonstatic_member_init + Feature record: CXX_FEATURE:0cxx_nullptr + Feature record: CXX_FEATURE:0cxx_override + Feature record: CXX_FEATURE:0cxx_range_for + Feature record: CXX_FEATURE:0cxx_raw_string_literals + Feature record: CXX_FEATURE:0cxx_reference_qualified_functions + Feature record: CXX_FEATURE:0cxx_relaxed_constexpr + Feature record: CXX_FEATURE:0cxx_return_type_deduction + Feature record: CXX_FEATURE:0cxx_right_angle_brackets + Feature record: CXX_FEATURE:0cxx_rvalue_references + Feature record: CXX_FEATURE:0cxx_sizeof_member + Feature record: CXX_FEATURE:0cxx_static_assert + Feature record: CXX_FEATURE:0cxx_strong_enums + Feature record: CXX_FEATURE:1cxx_template_template_parameters + Feature record: CXX_FEATURE:0cxx_thread_local + Feature record: CXX_FEATURE:0cxx_trailing_return_types + Feature record: CXX_FEATURE:0cxx_unicode_literals + Feature record: CXX_FEATURE:0cxx_uniform_initialization + Feature record: CXX_FEATURE:0cxx_unrestricted_unions + Feature record: CXX_FEATURE:0cxx_user_literals + Feature record: CXX_FEATURE:0cxx_variable_templates + Feature record: CXX_FEATURE:0cxx_variadic_macros + Feature record: CXX_FEATURE:0cxx_variadic_templates diff --git a/cmake-build-debug/CMakeFiles/Makefile.cmake b/cmake-build-debug/CMakeFiles/Makefile.cmake new file mode 100644 index 0000000000000000000000000000000000000000..1f62c22142664755941b7e0328267608eb33ed9f --- /dev/null +++ b/cmake-build-debug/CMakeFiles/Makefile.cmake @@ -0,0 +1,128 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "MinGW Makefiles" Generator, CMake Version 3.8 + +# The generator used is: +set(CMAKE_DEPENDS_GENERATOR "MinGW Makefiles") + +# The top level Makefile was generated from the following files: +set(CMAKE_MAKEFILE_DEPENDS + "CMakeCache.txt" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeCCompiler.cmake.in" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeCCompilerABI.c" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeCInformation.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeCXXCompiler.cmake.in" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeCXXCompilerABI.cpp" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeCXXInformation.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeCommonLanguageInclude.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeCompilerIdDetection.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeDetermineCCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeDetermineCXXCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeDetermineCompileFeatures.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeDetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeDetermineCompilerABI.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeDetermineCompilerId.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeDetermineRCCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeDetermineSystem.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeFindBinUtils.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeFindCodeBlocks.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeGenericSystem.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeLanguageInformation.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeMinGWFindMake.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeParseImplicitLinkInfo.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeRCCompiler.cmake.in" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeRCInformation.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeSystem.cmake.in" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeSystemSpecificInformation.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeSystemSpecificInitialize.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeTestCCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeTestCXXCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeTestCompilerCommon.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/CMakeTestRCCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/ADSP-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/Borland-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/Clang-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/Cray-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/GHS-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/GNU-C-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/GNU-C-FeatureTests.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/GNU-C.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/GNU-CXX-FeatureTests.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/GNU-CXX.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/GNU.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/HP-C-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/IAR-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/Intel-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/MIPSpro-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/MSVC-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/PGI-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/PathScale-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/SCO-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/TI-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/Watcom-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/XL-C-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/zOS-C-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Internal/FeatureTesting.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Platform/Windows-Determine-CXX.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Platform/Windows-GNU-C-ABI.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Platform/Windows-GNU-C.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Platform/Windows-GNU-CXX-ABI.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Platform/Windows-GNU-CXX.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Platform/Windows-GNU.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Platform/Windows-windres.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Platform/Windows.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/Platform/WindowsPaths.cmake" + "C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/ProcessorCount.cmake" + "../CMakeLists.txt" + "CMakeFiles/3.8.2/CMakeCCompiler.cmake" + "CMakeFiles/3.8.2/CMakeCXXCompiler.cmake" + "CMakeFiles/3.8.2/CMakeRCCompiler.cmake" + "CMakeFiles/3.8.2/CMakeSystem.cmake" + "CMakeFiles/feature_tests.c" + "CMakeFiles/feature_tests.cxx" + ) + +# The corresponding makefile is: +set(CMAKE_MAKEFILE_OUTPUTS + "Makefile" + "CMakeFiles/cmake.check_cache" + ) + +# Byproducts of CMake generate step: +set(CMAKE_MAKEFILE_PRODUCTS + "CMakeFiles/3.8.2/CMakeSystem.cmake" + "CMakeFiles/3.8.2/CMakeCCompiler.cmake" + "CMakeFiles/3.8.2/CMakeCXXCompiler.cmake" + "CMakeFiles/3.8.2/CMakeRCCompiler.cmake" + "CMakeFiles/3.8.2/CMakeCCompiler.cmake" + "CMakeFiles/3.8.2/CMakeCXXCompiler.cmake" + "CMakeFiles/CMakeDirectoryInformation.cmake" + ) + +# Dependency information for all targets: +set(CMAKE_DEPEND_INFO_FILES + "CMakeFiles/Project1.dir/DependInfo.cmake" + ) diff --git a/cmake-build-debug/CMakeFiles/Makefile2 b/cmake-build-debug/CMakeFiles/Makefile2 new file mode 100644 index 0000000000000000000000000000000000000000..e6e6b03ad3f6688a54c933adee1084f6fbf43a7c --- /dev/null +++ b/cmake-build-debug/CMakeFiles/Makefile2 @@ -0,0 +1,107 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "MinGW Makefiles" Generator, CMake Version 3.8 + +# Default target executed when no arguments are given to make. +default_target: all + +.PHONY : default_target + +# The main recursive all target +all: + +.PHONY : all + +# The main recursive preinstall target +preinstall: + +.PHONY : preinstall + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +SHELL = cmd.exe + +# The CMake executable. +CMAKE_COMMAND = "C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" + +# The command to remove a file. +RM = "C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = C:\Users\sherifsas\Desktop\Project2 + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = C:\Users\sherifsas\Desktop\Project2\cmake-build-debug + +#============================================================================= +# Target rules for target CMakeFiles/Project1.dir + +# All Build rule for target. +CMakeFiles/Project1.dir/all: + $(MAKE) -f CMakeFiles\Project1.dir\build.make CMakeFiles/Project1.dir/depend + $(MAKE) -f CMakeFiles\Project1.dir\build.make CMakeFiles/Project1.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=C:\Users\sherifsas\Desktop\Project2\cmake-build-debug\CMakeFiles --progress-num=1,2,3,4,5 "Built target Project1" +.PHONY : CMakeFiles/Project1.dir/all + +# Include target in all. +all: CMakeFiles/Project1.dir/all + +.PHONY : all + +# Build rule for subdir invocation for target. +CMakeFiles/Project1.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start C:\Users\sherifsas\Desktop\Project2\cmake-build-debug\CMakeFiles 5 + $(MAKE) -f CMakeFiles\Makefile2 CMakeFiles/Project1.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start C:\Users\sherifsas\Desktop\Project2\cmake-build-debug\CMakeFiles 0 +.PHONY : CMakeFiles/Project1.dir/rule + +# Convenience name for target. +Project1: CMakeFiles/Project1.dir/rule + +.PHONY : Project1 + +# clean rule for target. +CMakeFiles/Project1.dir/clean: + $(MAKE) -f CMakeFiles\Project1.dir\build.make CMakeFiles/Project1.dir/clean +.PHONY : CMakeFiles/Project1.dir/clean + +# clean rule for target. +clean: CMakeFiles/Project1.dir/clean + +.PHONY : clean + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles\Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/cmake-build-debug/CMakeFiles/Project1.dir/DependInfo.cmake b/cmake-build-debug/CMakeFiles/Project1.dir/DependInfo.cmake new file mode 100644 index 0000000000000000000000000000000000000000..7d028df0aeebfb81729c615379f0100d8471d482 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/Project1.dir/DependInfo.cmake @@ -0,0 +1,23 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + "C" + ) +# The set of files for implicit dependencies of each language: +set(CMAKE_DEPENDS_CHECK_C + "C:/Users/sherifsas/Desktop/Project2/cse561.c" "C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/Project1.dir/cse561.c.obj" + "C:/Users/sherifsas/Desktop/Project2/parse.c" "C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/Project1.dir/parse.c.obj" + "C:/Users/sherifsas/Desktop/Project2/run.c" "C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/Project1.dir/run.c.obj" + "C:/Users/sherifsas/Desktop/Project2/util.c" "C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/Project1.dir/util.c.obj" + ) +set(CMAKE_C_COMPILER_ID "GNU") + +# The include file search paths: +set(CMAKE_C_TARGET_INCLUDE_PATH + ) + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/cmake-build-debug/CMakeFiles/Project1.dir/build.make b/cmake-build-debug/CMakeFiles/Project1.dir/build.make new file mode 100644 index 0000000000000000000000000000000000000000..65daf79aa1cdf95363de9b573a5d4c31eb71b822 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/Project1.dir/build.make @@ -0,0 +1,195 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "MinGW Makefiles" Generator, CMake Version 3.8 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +SHELL = cmd.exe + +# The CMake executable. +CMAKE_COMMAND = "C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" + +# The command to remove a file. +RM = "C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = C:\Users\sherifsas\Desktop\Project2 + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = C:\Users\sherifsas\Desktop\Project2\cmake-build-debug + +# Include any dependencies generated for this target. +include CMakeFiles/Project1.dir/depend.make + +# Include the progress variables for this target. +include CMakeFiles/Project1.dir/progress.make + +# Include the compile flags for this target's objects. +include CMakeFiles/Project1.dir/flags.make + +CMakeFiles/Project1.dir/cse561.c.obj: CMakeFiles/Project1.dir/flags.make +CMakeFiles/Project1.dir/cse561.c.obj: ../cse561.c + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\sherifsas\Desktop\Project2\cmake-build-debug\CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object CMakeFiles/Project1.dir/cse561.c.obj" + C:\MinGW\bin\gcc.exe $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles\Project1.dir\cse561.c.obj -c C:\Users\sherifsas\Desktop\Project2\cse561.c + +CMakeFiles/Project1.dir/cse561.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/Project1.dir/cse561.c.i" + C:\MinGW\bin\gcc.exe $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E C:\Users\sherifsas\Desktop\Project2\cse561.c > CMakeFiles\Project1.dir\cse561.c.i + +CMakeFiles/Project1.dir/cse561.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/Project1.dir/cse561.c.s" + C:\MinGW\bin\gcc.exe $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S C:\Users\sherifsas\Desktop\Project2\cse561.c -o CMakeFiles\Project1.dir\cse561.c.s + +CMakeFiles/Project1.dir/cse561.c.obj.requires: + +.PHONY : CMakeFiles/Project1.dir/cse561.c.obj.requires + +CMakeFiles/Project1.dir/cse561.c.obj.provides: CMakeFiles/Project1.dir/cse561.c.obj.requires + $(MAKE) -f CMakeFiles\Project1.dir\build.make CMakeFiles/Project1.dir/cse561.c.obj.provides.build +.PHONY : CMakeFiles/Project1.dir/cse561.c.obj.provides + +CMakeFiles/Project1.dir/cse561.c.obj.provides.build: CMakeFiles/Project1.dir/cse561.c.obj + + +CMakeFiles/Project1.dir/parse.c.obj: CMakeFiles/Project1.dir/flags.make +CMakeFiles/Project1.dir/parse.c.obj: ../parse.c + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\sherifsas\Desktop\Project2\cmake-build-debug\CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object CMakeFiles/Project1.dir/parse.c.obj" + C:\MinGW\bin\gcc.exe $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles\Project1.dir\parse.c.obj -c C:\Users\sherifsas\Desktop\Project2\parse.c + +CMakeFiles/Project1.dir/parse.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/Project1.dir/parse.c.i" + C:\MinGW\bin\gcc.exe $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E C:\Users\sherifsas\Desktop\Project2\parse.c > CMakeFiles\Project1.dir\parse.c.i + +CMakeFiles/Project1.dir/parse.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/Project1.dir/parse.c.s" + C:\MinGW\bin\gcc.exe $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S C:\Users\sherifsas\Desktop\Project2\parse.c -o CMakeFiles\Project1.dir\parse.c.s + +CMakeFiles/Project1.dir/parse.c.obj.requires: + +.PHONY : CMakeFiles/Project1.dir/parse.c.obj.requires + +CMakeFiles/Project1.dir/parse.c.obj.provides: CMakeFiles/Project1.dir/parse.c.obj.requires + $(MAKE) -f CMakeFiles\Project1.dir\build.make CMakeFiles/Project1.dir/parse.c.obj.provides.build +.PHONY : CMakeFiles/Project1.dir/parse.c.obj.provides + +CMakeFiles/Project1.dir/parse.c.obj.provides.build: CMakeFiles/Project1.dir/parse.c.obj + + +CMakeFiles/Project1.dir/run.c.obj: CMakeFiles/Project1.dir/flags.make +CMakeFiles/Project1.dir/run.c.obj: ../run.c + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\sherifsas\Desktop\Project2\cmake-build-debug\CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object CMakeFiles/Project1.dir/run.c.obj" + C:\MinGW\bin\gcc.exe $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles\Project1.dir\run.c.obj -c C:\Users\sherifsas\Desktop\Project2\run.c + +CMakeFiles/Project1.dir/run.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/Project1.dir/run.c.i" + C:\MinGW\bin\gcc.exe $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E C:\Users\sherifsas\Desktop\Project2\run.c > CMakeFiles\Project1.dir\run.c.i + +CMakeFiles/Project1.dir/run.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/Project1.dir/run.c.s" + C:\MinGW\bin\gcc.exe $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S C:\Users\sherifsas\Desktop\Project2\run.c -o CMakeFiles\Project1.dir\run.c.s + +CMakeFiles/Project1.dir/run.c.obj.requires: + +.PHONY : CMakeFiles/Project1.dir/run.c.obj.requires + +CMakeFiles/Project1.dir/run.c.obj.provides: CMakeFiles/Project1.dir/run.c.obj.requires + $(MAKE) -f CMakeFiles\Project1.dir\build.make CMakeFiles/Project1.dir/run.c.obj.provides.build +.PHONY : CMakeFiles/Project1.dir/run.c.obj.provides + +CMakeFiles/Project1.dir/run.c.obj.provides.build: CMakeFiles/Project1.dir/run.c.obj + + +CMakeFiles/Project1.dir/util.c.obj: CMakeFiles/Project1.dir/flags.make +CMakeFiles/Project1.dir/util.c.obj: ../util.c + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\sherifsas\Desktop\Project2\cmake-build-debug\CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building C object CMakeFiles/Project1.dir/util.c.obj" + C:\MinGW\bin\gcc.exe $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles\Project1.dir\util.c.obj -c C:\Users\sherifsas\Desktop\Project2\util.c + +CMakeFiles/Project1.dir/util.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/Project1.dir/util.c.i" + C:\MinGW\bin\gcc.exe $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E C:\Users\sherifsas\Desktop\Project2\util.c > CMakeFiles\Project1.dir\util.c.i + +CMakeFiles/Project1.dir/util.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/Project1.dir/util.c.s" + C:\MinGW\bin\gcc.exe $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S C:\Users\sherifsas\Desktop\Project2\util.c -o CMakeFiles\Project1.dir\util.c.s + +CMakeFiles/Project1.dir/util.c.obj.requires: + +.PHONY : CMakeFiles/Project1.dir/util.c.obj.requires + +CMakeFiles/Project1.dir/util.c.obj.provides: CMakeFiles/Project1.dir/util.c.obj.requires + $(MAKE) -f CMakeFiles\Project1.dir\build.make CMakeFiles/Project1.dir/util.c.obj.provides.build +.PHONY : CMakeFiles/Project1.dir/util.c.obj.provides + +CMakeFiles/Project1.dir/util.c.obj.provides.build: CMakeFiles/Project1.dir/util.c.obj + + +# Object files for target Project1 +Project1_OBJECTS = \ +"CMakeFiles/Project1.dir/cse561.c.obj" \ +"CMakeFiles/Project1.dir/parse.c.obj" \ +"CMakeFiles/Project1.dir/run.c.obj" \ +"CMakeFiles/Project1.dir/util.c.obj" + +# External object files for target Project1 +Project1_EXTERNAL_OBJECTS = + +Project1.exe: CMakeFiles/Project1.dir/cse561.c.obj +Project1.exe: CMakeFiles/Project1.dir/parse.c.obj +Project1.exe: CMakeFiles/Project1.dir/run.c.obj +Project1.exe: CMakeFiles/Project1.dir/util.c.obj +Project1.exe: CMakeFiles/Project1.dir/build.make +Project1.exe: CMakeFiles/Project1.dir/linklibs.rsp +Project1.exe: CMakeFiles/Project1.dir/objects1.rsp +Project1.exe: CMakeFiles/Project1.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=C:\Users\sherifsas\Desktop\Project2\cmake-build-debug\CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Linking C executable Project1.exe" + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles\Project1.dir\link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +CMakeFiles/Project1.dir/build: Project1.exe + +.PHONY : CMakeFiles/Project1.dir/build + +CMakeFiles/Project1.dir/requires: CMakeFiles/Project1.dir/cse561.c.obj.requires +CMakeFiles/Project1.dir/requires: CMakeFiles/Project1.dir/parse.c.obj.requires +CMakeFiles/Project1.dir/requires: CMakeFiles/Project1.dir/run.c.obj.requires +CMakeFiles/Project1.dir/requires: CMakeFiles/Project1.dir/util.c.obj.requires + +.PHONY : CMakeFiles/Project1.dir/requires + +CMakeFiles/Project1.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles\Project1.dir\cmake_clean.cmake +.PHONY : CMakeFiles/Project1.dir/clean + +CMakeFiles/Project1.dir/depend: + $(CMAKE_COMMAND) -E cmake_depends "MinGW Makefiles" C:\Users\sherifsas\Desktop\Project2 C:\Users\sherifsas\Desktop\Project2 C:\Users\sherifsas\Desktop\Project2\cmake-build-debug C:\Users\sherifsas\Desktop\Project2\cmake-build-debug C:\Users\sherifsas\Desktop\Project2\cmake-build-debug\CMakeFiles\Project1.dir\DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/Project1.dir/depend + diff --git a/cmake-build-debug/CMakeFiles/Project1.dir/cmake_clean.cmake b/cmake-build-debug/CMakeFiles/Project1.dir/cmake_clean.cmake new file mode 100644 index 0000000000000000000000000000000000000000..2e0d89b4a356c0dd52b6fc11cbdb391ac9815481 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/Project1.dir/cmake_clean.cmake @@ -0,0 +1,15 @@ +file(REMOVE_RECURSE + "CMakeFiles/Project1.dir/cse561.c.obj" + "CMakeFiles/Project1.dir/parse.c.obj" + "CMakeFiles/Project1.dir/run.c.obj" + "CMakeFiles/Project1.dir/util.c.obj" + "Project1.pdb" + "Project1.exe" + "Project1.exe.manifest" + "libProject1.dll.a" +) + +# Per-language clean rules from dependency scanning. +foreach(lang C) + include(CMakeFiles/Project1.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/cmake-build-debug/CMakeFiles/Project1.dir/depend.make b/cmake-build-debug/CMakeFiles/Project1.dir/depend.make new file mode 100644 index 0000000000000000000000000000000000000000..a086e064bcb9b536f537628c5e5965e86e9c0a10 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/Project1.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for Project1. +# This may be replaced when dependencies are built. diff --git a/cmake-build-debug/CMakeFiles/Project1.dir/flags.make b/cmake-build-debug/CMakeFiles/Project1.dir/flags.make new file mode 100644 index 0000000000000000000000000000000000000000..4ec45a0412fb37c07563cf11e1285a8b743584fc --- /dev/null +++ b/cmake-build-debug/CMakeFiles/Project1.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "MinGW Makefiles" Generator, CMake Version 3.8 + +# compile C with C:/MinGW/bin/gcc.exe +C_FLAGS = -g + +C_DEFINES = + +C_INCLUDES = + diff --git a/cmake-build-debug/CMakeFiles/Project1.dir/link.txt b/cmake-build-debug/CMakeFiles/Project1.dir/link.txt new file mode 100644 index 0000000000000000000000000000000000000000..0037f819372417bed79afd9beace2d578d92e11d --- /dev/null +++ b/cmake-build-debug/CMakeFiles/Project1.dir/link.txt @@ -0,0 +1,3 @@ +"C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -E remove -f CMakeFiles\Project1.dir/objects.a +C:\MinGW\bin\ar.exe cr CMakeFiles\Project1.dir/objects.a @CMakeFiles\Project1.dir\objects1.rsp +C:\MinGW\bin\gcc.exe -g -Wl,--whole-archive CMakeFiles\Project1.dir/objects.a -Wl,--no-whole-archive -o Project1.exe -Wl,--out-implib,libProject1.dll.a -Wl,--major-image-version,0,--minor-image-version,0 @CMakeFiles\Project1.dir\linklibs.rsp diff --git a/cmake-build-debug/CMakeFiles/Project1.dir/linklibs.rsp b/cmake-build-debug/CMakeFiles/Project1.dir/linklibs.rsp new file mode 100644 index 0000000000000000000000000000000000000000..a5e94317048009ac733d1670b2f6b26a301c75a4 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/Project1.dir/linklibs.rsp @@ -0,0 +1 @@ +-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 diff --git a/cmake-build-debug/CMakeFiles/Project1.dir/objects1.rsp b/cmake-build-debug/CMakeFiles/Project1.dir/objects1.rsp new file mode 100644 index 0000000000000000000000000000000000000000..fab62273d64d12e415075ee4c117d4d215b4d218 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/Project1.dir/objects1.rsp @@ -0,0 +1 @@ +CMakeFiles/Project1.dir/cse561.c.obj CMakeFiles/Project1.dir/parse.c.obj CMakeFiles/Project1.dir/run.c.obj CMakeFiles/Project1.dir/util.c.obj diff --git a/cmake-build-debug/CMakeFiles/Project1.dir/progress.make b/cmake-build-debug/CMakeFiles/Project1.dir/progress.make new file mode 100644 index 0000000000000000000000000000000000000000..33e6bffba3730113ad4bec358b7c8a00b5a67431 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/Project1.dir/progress.make @@ -0,0 +1,6 @@ +CMAKE_PROGRESS_1 = 1 +CMAKE_PROGRESS_2 = 2 +CMAKE_PROGRESS_3 = 3 +CMAKE_PROGRESS_4 = 4 +CMAKE_PROGRESS_5 = 5 + diff --git a/cmake-build-debug/CMakeFiles/TargetDirectories.txt b/cmake-build-debug/CMakeFiles/TargetDirectories.txt new file mode 100644 index 0000000000000000000000000000000000000000..6854edce5203f8508fcea4a92435f4c54bbed167 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,3 @@ +C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/rebuild_cache.dir +C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/Project1.dir +C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/CMakeFiles/edit_cache.dir diff --git a/cmake-build-debug/CMakeFiles/clion-environment.txt b/cmake-build-debug/CMakeFiles/clion-environment.txt new file mode 100644 index 0000000000000000000000000000000000000000..85141ed1cdff34690d2fb2c3ab6937ee37fb251d --- /dev/null +++ b/cmake-build-debug/CMakeFiles/clion-environment.txt @@ -0,0 +1,3 @@ +ToolSet: w64 5.0@C:\MinGW +Options: +CMake: 3.8.2@C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe diff --git a/cmake-build-debug/CMakeFiles/clion-log.txt b/cmake-build-debug/CMakeFiles/clion-log.txt new file mode 100644 index 0000000000000000000000000000000000000000..384ab09be61c0a20e99f60eb3f97684227e78848 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/clion-log.txt @@ -0,0 +1,18 @@ +"C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -DCMAKE_BUILD_TYPE=Debug -G "CodeBlocks - MinGW Makefiles" C:\Users\sherifsas\Desktop\Project2 +-- The C compiler identification is GNU 6.3.0 +-- The CXX compiler identification is GNU 6.3.0 +-- Check for working C compiler: C:/MinGW/bin/gcc.exe +-- Check for working C compiler: C:/MinGW/bin/gcc.exe -- works +-- Detecting C compiler ABI info +-- Detecting C compiler ABI info - done +-- Detecting C compile features +-- Detecting C compile features - done +-- Check for working CXX compiler: C:/MinGW/bin/g++.exe +-- Check for working CXX compiler: C:/MinGW/bin/g++.exe -- works +-- Detecting CXX compiler ABI info +-- Detecting CXX compiler ABI info - done +-- Detecting CXX compile features +-- Detecting CXX compile features - done +-- Configuring done +-- Generating done +-- Build files have been written to: C:/Users/sherifsas/Desktop/Project2/cmake-build-debug diff --git a/cmake-build-debug/CMakeFiles/cmake.check_cache b/cmake-build-debug/CMakeFiles/cmake.check_cache new file mode 100644 index 0000000000000000000000000000000000000000..3dccd731726d7faa8b29d8d7dba3b981a53ca497 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/cmake-build-debug/CMakeFiles/feature_tests.bin b/cmake-build-debug/CMakeFiles/feature_tests.bin new file mode 100644 index 0000000000000000000000000000000000000000..480c20546af3e314aecf305b19d6a5feb0b3bf92 Binary files /dev/null and b/cmake-build-debug/CMakeFiles/feature_tests.bin differ diff --git a/cmake-build-debug/CMakeFiles/feature_tests.c b/cmake-build-debug/CMakeFiles/feature_tests.c new file mode 100644 index 0000000000000000000000000000000000000000..83e86dd8cd85f9f7554f51122b8cd08412ec01f2 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/feature_tests.c @@ -0,0 +1,34 @@ + + const char features[] = {"\n" +"C_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 304 +"1" +#else +"0" +#endif +"c_function_prototypes\n" +"C_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L +"1" +#else +"0" +#endif +"c_restrict\n" +"C_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201000L +"1" +#else +"0" +#endif +"c_static_assert\n" +"C_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L +"1" +#else +"0" +#endif +"c_variadic_macros\n" + +}; + +int main(int argc, char** argv) { (void)argv; return features[argc]; } diff --git a/cmake-build-debug/CMakeFiles/feature_tests.cxx b/cmake-build-debug/CMakeFiles/feature_tests.cxx new file mode 100644 index 0000000000000000000000000000000000000000..b93418c6ed69feaf1b5c2feb9592bbdb5a5f042c --- /dev/null +++ b/cmake-build-debug/CMakeFiles/feature_tests.cxx @@ -0,0 +1,405 @@ + + const char features[] = {"\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L +"1" +#else +"0" +#endif +"cxx_aggregate_default_initializers\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_alias_templates\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_alignas\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_alignof\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_attributes\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L +"1" +#else +"0" +#endif +"cxx_attribute_deprecated\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_auto_type\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L +"1" +#else +"0" +#endif +"cxx_binary_literals\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_constexpr\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L +"1" +#else +"0" +#endif +"cxx_contextual_conversions\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_decltype\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L +"1" +#else +"0" +#endif +"cxx_decltype_auto\n" +"CXX_FEATURE:" +#if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_decltype_incomplete_return_types\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_default_function_template_args\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_defaulted_functions\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_defaulted_move_initializers\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_delegating_constructors\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_deleted_functions\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L +"1" +#else +"0" +#endif +"cxx_digit_separators\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_enum_forward_declarations\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_explicit_conversions\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_extended_friend_declarations\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_extern_templates\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_final\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_func_identifier\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_generalized_initializers\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L +"1" +#else +"0" +#endif +"cxx_generic_lambdas\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_inheriting_constructors\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_inline_namespaces\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_lambdas\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L +"1" +#else +"0" +#endif +"cxx_lambda_init_captures\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_local_type_template_args\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_long_long_type\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_noexcept\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_nonstatic_member_init\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_nullptr\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_override\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_range_for\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_raw_string_literals\n" +"CXX_FEATURE:" +#if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_reference_qualified_functions\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L +"1" +#else +"0" +#endif +"cxx_relaxed_constexpr\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L +"1" +#else +"0" +#endif +"cxx_return_type_deduction\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_right_angle_brackets\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_rvalue_references\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_sizeof_member\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_static_assert\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_strong_enums\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && __cplusplus +"1" +#else +"0" +#endif +"cxx_template_template_parameters\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_thread_local\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_trailing_return_types\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_unicode_literals\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_uniform_initialization\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_unrestricted_unions\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_user_literals\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L +"1" +#else +"0" +#endif +"cxx_variable_templates\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_variadic_macros\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_variadic_templates\n" + +}; + +int main(int argc, char** argv) { (void)argv; return features[argc]; } diff --git a/cmake-build-debug/CMakeFiles/progress.marks b/cmake-build-debug/CMakeFiles/progress.marks new file mode 100644 index 0000000000000000000000000000000000000000..7ed6ff82de6bcc2a78243fc9c54d3ef5ac14da69 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/progress.marks @@ -0,0 +1 @@ +5 diff --git a/cmake-build-debug/Makefile b/cmake-build-debug/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..ddf7983098b11605dd823ace8f87e4f5eecf74cb --- /dev/null +++ b/cmake-build-debug/Makefile @@ -0,0 +1,267 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "MinGW Makefiles" Generator, CMake Version 3.8 + +# Default target executed when no arguments are given to make. +default_target: all + +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +SHELL = cmd.exe + +# The CMake executable. +CMAKE_COMMAND = "C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" + +# The command to remove a file. +RM = "C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = C:\Users\sherifsas\Desktop\Project2 + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = C:\Users\sherifsas\Desktop\Project2\cmake-build-debug + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + "C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache + +.PHONY : rebuild_cache/fast + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..." + "C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -E echo "No interactive CMake dialog available." +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache + +.PHONY : edit_cache/fast + +# The main all target +all: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start C:\Users\sherifsas\Desktop\Project2\cmake-build-debug\CMakeFiles C:\Users\sherifsas\Desktop\Project2\cmake-build-debug\CMakeFiles\progress.marks + $(MAKE) -f CMakeFiles\Makefile2 all + $(CMAKE_COMMAND) -E cmake_progress_start C:\Users\sherifsas\Desktop\Project2\cmake-build-debug\CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + $(MAKE) -f CMakeFiles\Makefile2 clean +.PHONY : clean + +# The main clean target +clean/fast: clean + +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + $(MAKE) -f CMakeFiles\Makefile2 preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + $(MAKE) -f CMakeFiles\Makefile2 preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles\Makefile.cmake 1 +.PHONY : depend + +#============================================================================= +# Target rules for targets named Project1 + +# Build rule for target. +Project1: cmake_check_build_system + $(MAKE) -f CMakeFiles\Makefile2 Project1 +.PHONY : Project1 + +# fast build rule for target. +Project1/fast: + $(MAKE) -f CMakeFiles\Project1.dir\build.make CMakeFiles/Project1.dir/build +.PHONY : Project1/fast + +cse561.obj: cse561.c.obj + +.PHONY : cse561.obj + +# target to build an object file +cse561.c.obj: + $(MAKE) -f CMakeFiles\Project1.dir\build.make CMakeFiles/Project1.dir/cse561.c.obj +.PHONY : cse561.c.obj + +cse561.i: cse561.c.i + +.PHONY : cse561.i + +# target to preprocess a source file +cse561.c.i: + $(MAKE) -f CMakeFiles\Project1.dir\build.make CMakeFiles/Project1.dir/cse561.c.i +.PHONY : cse561.c.i + +cse561.s: cse561.c.s + +.PHONY : cse561.s + +# target to generate assembly for a file +cse561.c.s: + $(MAKE) -f CMakeFiles\Project1.dir\build.make CMakeFiles/Project1.dir/cse561.c.s +.PHONY : cse561.c.s + +parse.obj: parse.c.obj + +.PHONY : parse.obj + +# target to build an object file +parse.c.obj: + $(MAKE) -f CMakeFiles\Project1.dir\build.make CMakeFiles/Project1.dir/parse.c.obj +.PHONY : parse.c.obj + +parse.i: parse.c.i + +.PHONY : parse.i + +# target to preprocess a source file +parse.c.i: + $(MAKE) -f CMakeFiles\Project1.dir\build.make CMakeFiles/Project1.dir/parse.c.i +.PHONY : parse.c.i + +parse.s: parse.c.s + +.PHONY : parse.s + +# target to generate assembly for a file +parse.c.s: + $(MAKE) -f CMakeFiles\Project1.dir\build.make CMakeFiles/Project1.dir/parse.c.s +.PHONY : parse.c.s + +run.obj: run.c.obj + +.PHONY : run.obj + +# target to build an object file +run.c.obj: + $(MAKE) -f CMakeFiles\Project1.dir\build.make CMakeFiles/Project1.dir/run.c.obj +.PHONY : run.c.obj + +run.i: run.c.i + +.PHONY : run.i + +# target to preprocess a source file +run.c.i: + $(MAKE) -f CMakeFiles\Project1.dir\build.make CMakeFiles/Project1.dir/run.c.i +.PHONY : run.c.i + +run.s: run.c.s + +.PHONY : run.s + +# target to generate assembly for a file +run.c.s: + $(MAKE) -f CMakeFiles\Project1.dir\build.make CMakeFiles/Project1.dir/run.c.s +.PHONY : run.c.s + +util.obj: util.c.obj + +.PHONY : util.obj + +# target to build an object file +util.c.obj: + $(MAKE) -f CMakeFiles\Project1.dir\build.make CMakeFiles/Project1.dir/util.c.obj +.PHONY : util.c.obj + +util.i: util.c.i + +.PHONY : util.i + +# target to preprocess a source file +util.c.i: + $(MAKE) -f CMakeFiles\Project1.dir\build.make CMakeFiles/Project1.dir/util.c.i +.PHONY : util.c.i + +util.s: util.c.s + +.PHONY : util.s + +# target to generate assembly for a file +util.c.s: + $(MAKE) -f CMakeFiles\Project1.dir\build.make CMakeFiles/Project1.dir/util.c.s +.PHONY : util.c.s + +# Help Target +help: + @echo The following are some of the valid targets for this Makefile: + @echo ... all (the default if no target is provided) + @echo ... clean + @echo ... depend + @echo ... rebuild_cache + @echo ... Project1 + @echo ... edit_cache + @echo ... cse561.obj + @echo ... cse561.i + @echo ... cse561.s + @echo ... parse.obj + @echo ... parse.i + @echo ... parse.s + @echo ... run.obj + @echo ... run.i + @echo ... run.s + @echo ... util.obj + @echo ... util.i + @echo ... util.s +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles\Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/cmake-build-debug/Project1.cbp b/cmake-build-debug/Project1.cbp new file mode 100644 index 0000000000000000000000000000000000000000..50a6807cb35e0ba1b5cc934a15b25411eaa7b87d --- /dev/null +++ b/cmake-build-debug/Project1.cbp @@ -0,0 +1,108 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CodeBlocks_project_file> + <FileVersion major="1" minor="6"/> + <Project> + <Option title="Project1"/> + <Option makefile_is_custom="1"/> + <Option compiler="gcc"/> + <Option virtualFolders="CMake Files\;"/> + <Build> + <Target title="all"> + <Option working_dir="C:/Users/sherifsas/Desktop/Project2/cmake-build-debug"/> + <Option type="4"/> + <MakeCommands> + <Build command="C:/MinGW/bin/mingw32-make.exe -f "C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/Makefile" VERBOSE=1 all"/> + <CompileFile command="C:/MinGW/bin/mingw32-make.exe -f "C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/Makefile" VERBOSE=1 "$file""/> + <Clean command="C:/MinGW/bin/mingw32-make.exe -f "C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/Makefile" VERBOSE=1 clean"/> + <DistClean command="C:/MinGW/bin/mingw32-make.exe -f "C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/Makefile" VERBOSE=1 clean"/> + </MakeCommands> + </Target> + <Target title="rebuild_cache"> + <Option working_dir="C:/Users/sherifsas/Desktop/Project2/cmake-build-debug"/> + <Option type="4"/> + <MakeCommands> + <Build command="C:/MinGW/bin/mingw32-make.exe -f "C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/Makefile" VERBOSE=1 rebuild_cache"/> + <CompileFile command="C:/MinGW/bin/mingw32-make.exe -f "C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/Makefile" VERBOSE=1 "$file""/> + <Clean command="C:/MinGW/bin/mingw32-make.exe -f "C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/Makefile" VERBOSE=1 clean"/> + <DistClean command="C:/MinGW/bin/mingw32-make.exe -f "C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/Makefile" VERBOSE=1 clean"/> + </MakeCommands> + </Target> + <Target title="Project1"> + <Option output="C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/Project1.exe" prefix_auto="0" extension_auto="0"/> + <Option working_dir="C:/Users/sherifsas/Desktop/Project2/cmake-build-debug"/> + <Option object_output="./"/> + <Option type="1"/> + <Option compiler="gcc"/> + <Compiler> + <Add directory="c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../include/c++/6.3.0"/> + <Add directory="c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../include/c++/6.3.0/x86_64-w64-mingw32"/> + <Add directory="c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../include/c++/6.3.0/backward"/> + <Add directory="c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/6.3.0/include"/> + <Add directory="c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/6.3.0/include-fixed"/> + <Add directory="c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/include"/> + </Compiler> + <MakeCommands> + <Build command="C:/MinGW/bin/mingw32-make.exe -f "C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/Makefile" VERBOSE=1 Project1"/> + <CompileFile command="C:/MinGW/bin/mingw32-make.exe -f "C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/Makefile" VERBOSE=1 "$file""/> + <Clean command="C:/MinGW/bin/mingw32-make.exe -f "C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/Makefile" VERBOSE=1 clean"/> + <DistClean command="C:/MinGW/bin/mingw32-make.exe -f "C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/Makefile" VERBOSE=1 clean"/> + </MakeCommands> + </Target> + <Target title="Project1/fast"> + <Option output="C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/Project1.exe" prefix_auto="0" extension_auto="0"/> + <Option working_dir="C:/Users/sherifsas/Desktop/Project2/cmake-build-debug"/> + <Option object_output="./"/> + <Option type="1"/> + <Option compiler="gcc"/> + <Compiler> + <Add directory="c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../include/c++/6.3.0"/> + <Add directory="c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../include/c++/6.3.0/x86_64-w64-mingw32"/> + <Add directory="c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../include/c++/6.3.0/backward"/> + <Add directory="c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/6.3.0/include"/> + <Add directory="c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/6.3.0/include-fixed"/> + <Add directory="c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/include"/> + </Compiler> + <MakeCommands> + <Build command="C:/MinGW/bin/mingw32-make.exe -f "C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/Makefile" VERBOSE=1 Project1/fast"/> + <CompileFile command="C:/MinGW/bin/mingw32-make.exe -f "C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/Makefile" VERBOSE=1 "$file""/> + <Clean command="C:/MinGW/bin/mingw32-make.exe -f "C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/Makefile" VERBOSE=1 clean"/> + <DistClean command="C:/MinGW/bin/mingw32-make.exe -f "C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/Makefile" VERBOSE=1 clean"/> + </MakeCommands> + </Target> + <Target title="edit_cache"> + <Option working_dir="C:/Users/sherifsas/Desktop/Project2/cmake-build-debug"/> + <Option type="4"/> + <MakeCommands> + <Build command="C:/MinGW/bin/mingw32-make.exe -f "C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/Makefile" VERBOSE=1 edit_cache"/> + <CompileFile command="C:/MinGW/bin/mingw32-make.exe -f "C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/Makefile" VERBOSE=1 "$file""/> + <Clean command="C:/MinGW/bin/mingw32-make.exe -f "C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/Makefile" VERBOSE=1 clean"/> + <DistClean command="C:/MinGW/bin/mingw32-make.exe -f "C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/Makefile" VERBOSE=1 clean"/> + </MakeCommands> + </Target> + </Build> + <Unit filename="C:/Users/sherifsas/Desktop/Project2/cse561.c"> + <Option target="Project1"/> + </Unit> + <Unit filename="C:/Users/sherifsas/Desktop/Project2/parse.c"> + <Option target="Project1"/> + </Unit> + <Unit filename="C:/Users/sherifsas/Desktop/Project2/parse.h"> + <Option target="Project1"/> + </Unit> + <Unit filename="C:/Users/sherifsas/Desktop/Project2/run.c"> + <Option target="Project1"/> + </Unit> + <Unit filename="C:/Users/sherifsas/Desktop/Project2/run.h"> + <Option target="Project1"/> + </Unit> + <Unit filename="C:/Users/sherifsas/Desktop/Project2/util.c"> + <Option target="Project1"/> + </Unit> + <Unit filename="C:/Users/sherifsas/Desktop/Project2/util.h"> + <Option target="Project1"/> + </Unit> + <Unit filename="C:/Users/sherifsas/Desktop/Project2/CMakeLists.txt"> + <Option virtualFolder="CMake Files\"/> + </Unit> + </Project> +</CodeBlocks_project_file> diff --git a/cmake-build-debug/Project1.exe b/cmake-build-debug/Project1.exe new file mode 100644 index 0000000000000000000000000000000000000000..89205a484e8ee140c34462cc5b599d42cb00ae2c Binary files /dev/null and b/cmake-build-debug/Project1.exe differ diff --git a/cmake-build-debug/cmake_install.cmake b/cmake-build-debug/cmake_install.cmake new file mode 100644 index 0000000000000000000000000000000000000000..4b0221be8657f0ff68e98e79332c2e7e524fd555 --- /dev/null +++ b/cmake-build-debug/cmake_install.cmake @@ -0,0 +1,39 @@ +# Install script for directory: C:/Users/sherifsas/Desktop/Project2 + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "C:/Program Files (x86)/Project1") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Debug") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +if(CMAKE_INSTALL_COMPONENT) + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") +else() + set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +endif() + +string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT + "${CMAKE_INSTALL_MANIFEST_FILES}") +file(WRITE "C:/Users/sherifsas/Desktop/Project2/cmake-build-debug/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/cmake-build-debug/example01.o b/cmake-build-debug/example01.o new file mode 100644 index 0000000000000000000000000000000000000000..4a47d1fdffc0d9a8b0da054006508b5b315403cc --- /dev/null +++ b/cmake-build-debug/example01.o @@ -0,0 +1 @@ +000000000000000000000000010110000000000000000000000000000000110000000010001000001000100000100100000000100100000010010000001001000011110000001000000100000000000000111100000010010001000000000000001101010010100100000000000001000000000101000000010100000010010000000001011000000101100000100100001001100011000100000000000000010010010101101011000000000000000100000001001000000100100000100101000101010110100011111111111111000010011001010010000000000000001000100101011010110000000000000001000000000001000110010000010000000000000000010010100010000100001000000010001100101001100000100100000101010110100111111111111110100000000010111111001010000010000100000010001100101000000000100111000100010100100000000000000000010000100000010000000000000000011000110110000100001111000011110000000000000000000000000000011001000000000000000000000000001100100000010010001101000101011001111000 diff --git a/cse561.c b/cse561.c index 3e2d59b94f824d70287ad7188657dca015af1280..4c19f901a5bcffab933db44103a72beaa58dcb39 100644 --- a/cse561.c +++ b/cse561.c @@ -9,8 +9,8 @@ /***************************************************************/ /* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */ -/* DO NOT MODIFY THIS FILE! */ -/* You should only modify the run.c, run.h and util.h file! */ +/* DO NOT MODIFY THIS FILE! */ +/* You should only the parse.c and run.c files! */ /* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */ #include <assert.h> @@ -41,51 +41,51 @@ void load_program(char *program_filename) { /* Open program file. */ prog = fopen(program_filename, "r"); + if (prog == NULL) { - printf("Error: Can't open program file %s\n", program_filename); - exit(-1); + printf("Error: Can't open program file %s\n", program_filename); + exit(-1); } /* Read in the program. */ ii = 0; //read 32bits + '\0' = 33 - while (fgets(buffer,33,prog) != NULL) - { - if(flag == 0) - { - //check text segment size - text_size = fromBinary(buffer); - NUM_INST = text_size/4; - //initial memory allocation of text segment - INST_INFO = malloc(sizeof(instruction)*NUM_INST); - init_inst_info(NUM_INST); - } - - else if(flag == 1) - { - //check data segment size - data_size = fromBinary(buffer); - } - - else - { - if(ii < text_size){ - INST_INFO[text_index++] = parsing_instr(buffer, ii); - } - else if(ii < text_size + data_size){ - parsing_data(buffer, ii-text_size); - } - else - { - //Do not enter this case - //assert(0); - //However, there is a newline in the input file - } - ii += 4; - } - flag++; + while (fgets(buffer,33,prog) != NULL) { + + if (flag == 0) { + + //check text segment size + text_size = fromBinary(buffer); + NUM_INST = text_size/4; + //initial memory allocation of text segment + INST_INFO = malloc(sizeof(instruction)*(text_size/4)); + init_inst_info(text_size/4); + + } else if (flag == 1) { + + //check data segment size + data_size = fromBinary(buffer); + //initial memory allocation of data segment + //if you would like to add data, you can re-allocate memory. + /* data_seg = malloc(sizeof(uint32_t)*(data_size/4)); */ + + } else { + + if(ii < text_size) { + INST_INFO[text_index++] = parsing_instr(buffer, ii); + } else if(ii < text_size + data_size) { + parsing_data(buffer, ii-text_size); + } else { + //Do not enter this case + //assert(0); + //However, there is a newline in the input file + } + ii += 4; + } + flag++; } + CURRENT_STATE.PC = MEM_TEXT_START; //printf("Read %d words from program into memory.\n\n", ii/4); } @@ -98,34 +98,12 @@ void load_program(char *program_filename) { /* and set up initial state of the machine. */ /* */ /************************************************************/ -void initialize(char *program_filename) { +void initialize(char *program_filename) { int i; init_memory(); - load_program(program_filename); - - INSTRUCTION_COUNT = 0; - CYCLE_COUNT = 0; - BR_BIT = TRUE; - FORWARDING_BIT = TRUE; - - for (i = 0; i < PIPE_STAGE; i++){ - CURRENT_STATE.PIPE[i] = 0; - CURRENT_STATE.PIPE_STALL[i] = FALSE; - } - - CURRENT_STATE.IF_ID_INST = 0; - CURRENT_STATE.IF_ID_NPC = 0; - CURRENT_STATE.ID_EX_NPC = 0; - CURRENT_STATE.ID_EX_REG1 = 0; - CURRENT_STATE.ID_EX_REG2 = 0; - CURRENT_STATE.ID_EX_IMM = 0; - CURRENT_STATE.EX_MEM_ALU_OUT = 0; - CURRENT_STATE.EX_MEM_BR_TARGET = 0; - CURRENT_STATE.MEM_WB_ALU_OUT = 0; - + load_program("example01.o"); RUN_BIT = TRUE; - FETCH_BIT = TRUE; } /***************************************************************/ @@ -133,7 +111,7 @@ void initialize(char *program_filename) { /* Procedure : main */ /* */ /***************************************************************/ -int main(int argc, char *argv[]) { +int main(int argc, char *argv[]) { char** tokens; int count = 1; int addr1 = 0; @@ -144,72 +122,64 @@ int main(int argc, char *argv[]) { int mem_dump_set = 0; int debug_set = 0; int num_inst_set = 0; - int pipe_dump_set = 0; /* Error Checking */ - if (argc < 2) - { - printf("Usage: %s [-nobp] [-nof] [-m addr1:addr2] [-d] [-p] [-n num_instr] inputBinary\n", argv[0]); - exit(1); + if (argc < 2) { + printf("Error: usage: %s [-m addr1:addr2] [-d] [-n num_instr] inputBinary\n", argv[0]); + exit(1); } initialize(argv[argc-1]); //for checking parse result + print_parse_result(); - while(count != argc-1){ - if(strcmp(argv[count], "-m") == 0){ - tokens = str_split(argv[++count],':'); - - addr1 = (int)strtol(*(tokens), NULL, 16); - addr2 = (int)strtol(*(tokens+1), NULL, 16); - mem_dump_set = 1; - } - else if(strcmp(argv[count], "-d") == 0) - debug_set = 1; - else if(strcmp(argv[count], "-n") == 0){ - num_inst = (int)strtol(argv[++count], NULL, 10); - num_inst_set = 1; - } - else if(strcmp(argv[count], "-p") == 0) - pipe_dump_set = 1; - else if(strcmp(argv[count], "-nobp") == 0) - BR_BIT = FALSE; - else if(strcmp(argv[count], "-nof") == 0) - FORWARDING_BIT = FALSE; - else { - printf("Usage: %s [-m addr1:addr2] [-d] [-p] [-n num_instr] inputBinary\n", argv[0]); - exit(1); - } - count++; - } + while (count != argc-1) { - if(num_inst_set) MAX_INSTRUCTION_NUM = num_inst; - else MAX_INSTRUCTION_NUM = i; + if (strcmp(argv[count], "-m") == 0) { + tokens = str_split(argv[++count],':'); - if(num_inst_set && num_inst <= 0){ - printf("Error: The number of instructions should be positive integer\n"); - return -1; - } + addr1 = (int)strtol(*(tokens), NULL, 16); + addr2 = (int)strtol(*(tokens+1), NULL, 16); + mem_dump_set = 1; + + } else if(strcmp(argv[count], "-d") == 0) { + debug_set = 1; - if(debug_set || pipe_dump_set){ - printf("Simulating for %lu instructions...\n\n", MAX_INSTRUCTION_NUM); + } else if(strcmp(argv[count], "-n") == 0) { + num_inst = (int)strtol(argv[++count], NULL, 10); + num_inst_set = 1; - while(RUN_BIT){ - cycle(); + } else{ + printf("Error: usage: %s [-m addr1:addr2] [-d] [-n num_instr] inputBinary\n", argv[0]); + exit(1); + } + count++; + } - if(pipe_dump_set) pdump(); - if(debug_set) rdump(); - } - if(!debug_set) rdump(); - if(mem_dump_set) mdump(addr1, addr2); - printf("Simulator halted after %lu cycles\n\n", CYCLE_COUNT); + if (num_inst_set) { + i = num_inst; } - else{ - run(); - rdump(); - if(mem_dump_set) mdump(addr1, addr2); + if (debug_set) { + printf("Simulating for %d cycles...\n\n", i); + + for(; i > 0; i--){ + cycle(); + rdump(); + + if (mem_dump_set) { + mdump(addr1, addr2); + } + } + + } else { + run(i); + rdump(); + + if (mem_dump_set) { + mdump(addr1, addr2); + } } return 0; diff --git a/my_output/example01 b/my_output/example01 new file mode 100644 index 0000000000000000000000000000000000000000..eba2dbb41d1f9fc672c6f54c7cddb21217fbd742 --- /dev/null +++ b/my_output/example01 @@ -0,0 +1 @@ +Error: Can't open program file example01.o diff --git a/my_output/example02 b/my_output/example02 new file mode 100644 index 0000000000000000000000000000000000000000..eba2dbb41d1f9fc672c6f54c7cddb21217fbd742 --- /dev/null +++ b/my_output/example02 @@ -0,0 +1 @@ +Error: Can't open program file example01.o diff --git a/my_output/example03 b/my_output/example03 new file mode 100644 index 0000000000000000000000000000000000000000..eba2dbb41d1f9fc672c6f54c7cddb21217fbd742 --- /dev/null +++ b/my_output/example03 @@ -0,0 +1 @@ +Error: Can't open program file example01.o diff --git a/my_output/example04 b/my_output/example04 new file mode 100644 index 0000000000000000000000000000000000000000..eba2dbb41d1f9fc672c6f54c7cddb21217fbd742 --- /dev/null +++ b/my_output/example04 @@ -0,0 +1 @@ +Error: Can't open program file example01.o diff --git a/my_output/example05 b/my_output/example05 new file mode 100644 index 0000000000000000000000000000000000000000..eba2dbb41d1f9fc672c6f54c7cddb21217fbd742 --- /dev/null +++ b/my_output/example05 @@ -0,0 +1 @@ +Error: Can't open program file example01.o diff --git a/my_output/fact b/my_output/fact new file mode 100644 index 0000000000000000000000000000000000000000..eba2dbb41d1f9fc672c6f54c7cddb21217fbd742 --- /dev/null +++ b/my_output/fact @@ -0,0 +1 @@ +Error: Can't open program file example01.o diff --git a/my_output/leaf_example b/my_output/leaf_example new file mode 100644 index 0000000000000000000000000000000000000000..eba2dbb41d1f9fc672c6f54c7cddb21217fbd742 --- /dev/null +++ b/my_output/leaf_example @@ -0,0 +1 @@ +Error: Can't open program file example01.o diff --git a/parse.c b/parse.c index ce96a71c5121e7f5206665e745d62f7b18e5fa6c..22bb8959f70ed34cd18c67a893e71e1d8079e1ee 100644 --- a/parse.c +++ b/parse.c @@ -8,13 +8,8 @@ /* */ /***************************************************************/ -/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */ -/* DO NOT MODIFY THIS FILE! */ -/* You should only modify the run.c, run.h and util.h file! */ -/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */ - - #include <stdio.h> +#include <stdint.h> #include "util.h" #include "parse.h" @@ -22,13 +17,18 @@ int text_size; int data_size; -instruction parsing_instr(const char *buffer, const int index) -{ +instruction parsing_instr(const char *buffer, const int index) { instruction instr; - char opcode[7],rs[6],rt[6],rd[6],shamt[6],imm[17],target[27],func_code[7] = {0}; + /*init var*/ + + /*R format [opcode(6), rs(5), rt(5), rd(5), shamt(5), funct(6)] + I format [opcode(6), rs(5), rt(5), imm(16)] + J format [opcode(6), address(26)] */ + + char opcode[7],rs[6],rt[6],rd[6],shamt[6],imm[17],target[27],func[7] = {0}; int word; word = fromBinary(buffer); - mem_write_32(MEM_TEXT_START + index, word); + mem_write_32(MEM_TEXT_START + index, word); //write on memory in Text segment sscanf(buffer, "%6s", opcode); instr.value = word; @@ -36,113 +36,112 @@ instruction parsing_instr(const char *buffer, const int index) switch(instr.opcode) { - //Type I - case 0x9: //(0x001001)ADDIU - case 0xc: //(0x001100)ANDI - case 0xf: //(0x001111)LUI - case 0xd: //(0x001101)ORI - case 0xb: //(0x001011)SLTIU - case 0x23: //(0x100011)LW - case 0x2b: //(0x101011)SW - case 0x4: //(0x000100)BEQ - case 0x5: //(0x000101)BNE - sscanf(buffer,"%6s%5s%5s%16s",opcode,rs,rt,imm); - instr.r_t.r_i.rs = (unsigned char)fromBinary(rs); - instr.r_t.r_i.rt = (unsigned char)fromBinary(rt); - instr.r_t.r_i.r_i.imm = (short)fromBinary(imm); - break; - - //TYPE R - case 0x0: //(0x000000)ADDU, AND, NOR, OR, SLTU, SLL, SRL, SUBU if JR - sscanf(buffer,"%6s%5s%5s%5s%5s%6s",opcode,rs,rt,rd,shamt,func_code); - instr.func_code = (short)fromBinary(func_code); - - //JR exception - if(instr.func_code == 0x8) - instr.r_t.r_i.rs = (unsigned char)fromBinary(rs); - else - { - instr.r_t.r_i.rs = (unsigned char)fromBinary(rs); - instr.r_t.r_i.rt = (unsigned char)fromBinary(rt); - instr.r_t.r_i.r_i.r.rd = (unsigned char)fromBinary(rd); - instr.r_t.r_i.r_i.r.shamt = (unsigned char)fromBinary(shamt); - } - break; - - //TYPE J - case 0x2: //(0x000010)J - case 0x3: //(0x000011)JAL - sscanf(buffer,"%6s%26s",opcode,target); - instr.r_t.target = fromBinary(target); - break; - - default: - printf("Not available instruction\n"); - assert(0); + //R-Type + case 0x0: // All R-Type Starts with 0x0 ....(ADDU, AND, NOR, OR, SLTU, SLL, SRL, SUBU if JR + sscanf(buffer,"%6s%5s%5s%5s%5s%6s",opcode,rs,rt,rd,shamt,func); + instr.func_code = (short)fromBinary(func); + + //exception Jumping Register (JR) opcode = 0x0, However, func = 0x8 + if(instr.func_code == 0x8) + instr.r_t.r_i.rs = (unsigned char)fromBinary(rs); + else + { + instr.r_t.r_i.rs = (unsigned char)fromBinary(rs); + instr.r_t.r_i.rt = (unsigned char)fromBinary(rt); + instr.r_t.r_i.r_i.r.rd = (unsigned char)fromBinary(rd); + instr.r_t.r_i.r_i.r.shamt = (unsigned char)fromBinary(shamt); + } + break; + + //I-Type + case 0x9: //(0x001001)ADDIU + case 0xc: //(0x001100)ANDI + case 0xf: //(0x001111)LUI + case 0xd: //(0x001101)ORI + case 0xb: //(0x001011)SLTIU + case 0x23: //(0x100011)LW + case 0x2b: //(0x101011)SW + case 0x4: //(0x000100)BEQ + case 0x5: //(0x000101)BNE + sscanf(buffer,"%6s%5s%5s%16s",opcode,rs,rt,imm); + instr.r_t.r_i.rs = (unsigned char)fromBinary(rs); + instr.r_t.r_i.rt = (unsigned char)fromBinary(rt); + instr.r_t.r_i.r_i.imm = (short)fromBinary(imm); + break; + + //TYPE J + case 0x2: //(0x000010)J + case 0x3: //(0x000011)JAL + sscanf(buffer,"%6s%26s",opcode,target); + instr.r_t.target = (uint32_t)fromBinary(target); + break; + + default: + printf("There's no available instruction\n"); + assert(0); } + return instr; } -void parsing_data(const char *buffer, const int index) -{ - uint32_t word; +void parsing_data(const char *buffer, const int index) { + int word; word = fromBinary(buffer); - mem_write_32(MEM_DATA_START + index, word); + mem_write_32(MEM_DATA_START + index, word); //write on memory in Data segment } -void print_parse_result() -{ +void print_parse_result() { int i; printf("Instruction Information\n"); for(i = 0; i < text_size/4; i++) { - printf("INST_INFO[%d].value : %x\n",i, INST_INFO[i].value); - printf("INST_INFO[%d].opcode : %d\n",i, INST_INFO[i].opcode); - - switch(INST_INFO[i].opcode) - { - //Type I - case 0x9: //(0x001001)ADDIU - case 0xc: //(0x001100)ANDI - case 0xf: //(0x001111)LUI - case 0xd: //(0x001101)ORI - case 0xb: //(0x001011)SLTIU - case 0x23: //(0x100011)LW - case 0x2b: //(0x101011)SW - case 0x4: //(0x000100)BEQ - case 0x5: //(0x000101)BNE - printf("INST_INFO[%d].rs : %d\n",i, INST_INFO[i].r_t.r_i.rs); - printf("INST_INFO[%d].rt : %d\n",i, INST_INFO[i].r_t.r_i.rt); - printf("INST_INFO[%d].imm : %d\n",i, INST_INFO[i].r_t.r_i.r_i.imm); - break; - - //TYPE R - case 0x0: //(0x000000)ADDU, AND, NOR, OR, SLTU, SLL, SRL, SUBU if JR - printf("INST_INFO[%d].func_code : %d\n",i, INST_INFO[i].func_code); - printf("INST_INFO[%d].rs : %d\n",i, INST_INFO[i].r_t.r_i.rs); - printf("INST_INFO[%d].rt : %d\n",i, INST_INFO[i].r_t.r_i.rt); - printf("INST_INFO[%d].rd : %d\n",i, INST_INFO[i].r_t.r_i.r_i.r.rd); - printf("INST_INFO[%d].shamt : %d\n",i, INST_INFO[i].r_t.r_i.r_i.r.shamt); - break; - - //TYPE J - case 0x2: //(0x000010)J - case 0x3: //(0x000011)JAL - printf("INST_INFO[%d].target : %d\n",i, INST_INFO[i].r_t.target); - break; - - default: - printf("Not available instruction\n"); - assert(0); - } + printf("INST_INFO[%d].value : %x\n",i, INST_INFO[i].value); + printf("INST_INFO[%d].opcode : %d\n",i, INST_INFO[i].opcode); + + switch(INST_INFO[i].opcode) + { + //Type I + case 0x9: //(0x001001)ADDIU + case 0xc: //(0x001100)ANDI + case 0xf: //(0x001111)LUI + case 0xd: //(0x001101)ORI + case 0xb: //(0x001011)SLTIU + case 0x23: //(0x100011)LW + case 0x2b: //(0x101011)SW + case 0x4: //(0x000100)BEQ + case 0x5: //(0x000101)BNE + printf("INST_INFO[%d].rs : %d\n",i, INST_INFO[i].r_t.r_i.rs); + printf("INST_INFO[%d].rt : %d\n",i, INST_INFO[i].r_t.r_i.rt); + printf("INST_INFO[%d].imm : %d\n",i, INST_INFO[i].r_t.r_i.r_i.imm); + break; + + //TYPE R + case 0x0: //(0x000000)ADDU, AND, NOR, OR, SLTU, SLL, SRL, SUBU if JR + printf("INST_INFO[%d].func_code : %d\n",i, INST_INFO[i].func_code); + printf("INST_INFO[%d].rs : %d\n",i, INST_INFO[i].r_t.r_i.rs); + printf("INST_INFO[%d].rt : %d\n",i, INST_INFO[i].r_t.r_i.rt); + printf("INST_INFO[%d].rd : %d\n",i, INST_INFO[i].r_t.r_i.r_i.r.rd); + printf("INST_INFO[%d].shamt : %d\n",i, INST_INFO[i].r_t.r_i.r_i.r.shamt); + break; + + //TYPE J + case 0x2: //(0x000010)J + case 0x3: //(0x000011)JAL + printf("INST_INFO[%d].target : %d\n",i, INST_INFO[i].r_t.target); + break; + + default: + printf("Not available instruction\n"); + assert(0); + } } printf("Memory Dump - Text Segment\n"); for(i = 0; i < text_size; i+=4) - printf("text_seg[%d] : %x\n", i, mem_read_32(MEM_TEXT_START + i)); + printf("text_seg[%d] : %x\n", i, mem_read_32(MEM_TEXT_START + i)); for(i = 0; i < data_size; i+=4) - printf("data_seg[%d] : %x\n", i, mem_read_32(MEM_DATA_START + i)); + printf("data_seg[%d] : %x\n", i, mem_read_32(MEM_DATA_START + i)); printf("Current PC: %x\n", CURRENT_STATE.PC); } diff --git a/parse.h b/parse.h index 8c89f75f2d9e81ca30bdfebdb60df8a0f6d9c3f2..a51c65235704986bf3356c947059051dac04f869 100644 --- a/parse.h +++ b/parse.h @@ -9,8 +9,8 @@ /***************************************************************/ /* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */ -/* DO NOT MODIFY THIS FILE! */ -/* You should only modify the run.c, run.h and util.h file! */ +/* DO NOT MODIFY THIS FILE! */ +/* You should only the parse.c and run.c files! */ /* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */ #ifndef _PARSE_H_ @@ -24,6 +24,7 @@ extern int text_size; extern int data_size; /* functions */ +/** Implement the two parsing_* functions in parse.c */ instruction parsing_instr(const char *buffer, const int index); void parsing_data(const char *buffer, const int index); void print_parse_result(); diff --git a/run.c b/run.c index f42981e4bcf3071bb25c3a7195d05624e248196a..7e2424ecb1ead3095cac9d32dd963615e45b5c0a 100644 --- a/run.c +++ b/run.c @@ -25,6 +25,293 @@ instruction* get_inst_info(uint32_t pc) { } +// Pipleline stage + +IF_ID Fetch_Stage() { + IF_ID next_latch; + if (!CURRENT_STATE.PC) { // Stall + memset(&next_latch, 0, sizeof(next_latch)); + return next_latch; + } + + next_latch.NPC = CURRENT_STATE.PC; + next_latch.INSTR = INST_INFO[(CURRENT_STATE.PC - MEM_TEXT_START) >> 2]; + return next_latch; +} + +ID_EX Decode_Stage() { + IF_ID latch = CURRENT_STATE.if_id; + ID_EX next_latch; + + next_latch.NPC = latch.NPC; + + instruction *inst = &latch.INSTR; + short op = OPCODE (inst); + short func = FUNC (inst); + + next_latch.REG1 = CURRENT_STATE.REGS[RS (inst)]; + next_latch.REG2 = CURRENT_STATE.REGS[RT (inst)]; + + next_latch.RS = RS (inst); + next_latch.RT = RT (inst); + next_latch.RD = RD (inst); + next_latch.IMM = IMM (inst); + next_latch.SHAMT = SHAMT (inst); + + if (op == 0x0 || op == 0x3) { + next_latch.DEST = RD (inst); + } + else { + next_latch.DEST = RT (inst); + } + + next_latch.ALUSrc = (op == 0x4 || op == 0x5 || op == 0x9 || op == 0xb || + op == 0xc || op == 0xd || op == 0xf || op == 0x23 || op == 0x2b); + next_latch.ALUNeg = (op == 0x27 || op == 0x5); + + next_latch.Branch = (op == 0x4 || op == 0x5); + next_latch.MemRead = (op == 0x23); + next_latch.MemWrite = (op == 0x2b); + + next_latch.RegWrite = !(op == 0x2b || op == 0x4 || op == 0x05 || + op == 0x2 || (op == 0x0 && func == 0x8)); + next_latch.MemtoReg = (op == 0x23); + + switch (op) { + case 0x0: + switch(func) { + case 0x21: //ADDU + next_latch.ALUOp = 1; + break; + case 0x24: //AND + next_latch.ALUOp = 3; + break; + case 0x27: //NOR + next_latch.ALUOp = 4; + next_latch.ALUNeg = 1; + break; + case 0x25: //OR + next_latch.ALUOp = 4; + break; + case 0x2B: //SLTU + next_latch.ALUOp = 7; + break; + case 0x0: //SLL + next_latch.ALUOp = 5; + break; + case 0x2: //SRL + next_latch.ALUOp = 6; + break; + case 0x23: //SUBU + next_latch.ALUOp = 2; + break; + + case 0x8: //JR + next_latch.ALUOp = 0; + CURRENT_STATE.PC = CURRENT_STATE.REGS[next_latch.RS]; + break; + + default: + printf("Unknown function code type: %d\n", FUNC(inst)); + break; + } + break; + + case 0x9: //(0x001001)ADDIU + next_latch.ALUOp = 1; + break; + + case 0xc: //(0x001100)ANDI + next_latch.ALUOp = 3; + break; + + case 0xf: //(0x001111)LUI + next_latch.ALUOp = 8; + break; + case 0xd: //(0x001101)ORI + next_latch.ALUOp = 4; + break; + case 0xb: //(0x001011)SLTIU + next_latch.ALUOp = 7; + break; + case 0x23: //(0x100011)LW + next_latch.ALUOp = 1; + break; + case 0x4: //(0x000100)BEQ + case 0x5: //(0x000101)BNE + next_latch.ALUOp = 2; + + break; + + case 0x2: //(0x000010)J + next_latch.ALUOp = 0; + CURRENT_STATE.PC = ((next_latch.NPC & 0xf0000000) | (next_latch.IMM << 2)); + break; + + case 0x3: //(0x000011)JAL + next_latch.ALUOp = 9; + CURRENT_STATE.REGS[31] = next_latch.NPC + 4; // TODO: 이거 여기서하는지 EX에서 하는지 + CURRENT_STATE.PC = ((next_latch.NPC & 0xf0000000) | (next_latch.IMM << 2)); + break; + + default: + printf("Unknown instruction type: %d\n", OPCODE(inst)); + break; + + } + return next_latch; +} + +EX_MEM Execute_Stage(){ + ID_EX latch = CURRENT_STATE.id_ex; + EX_MEM next_latch; + + // load-use + + EX_MEM ex_mem = CURRENT_STATE.ex_mem; + + if (ex_mem.MemRead) { + if (latch.DEST == latch.RT) { + if (latch.RS == ex_mem.DEST) { + CURRENT_STATE.LoadUse = 1; + return ex_mem; + } + } + else { + if ((latch.RS == ex_mem.DEST) || (latch.RT == ex_mem.DEST)) { + CURRENT_STATE.LoadUse = 1; + return ex_mem; + } + } + } + + next_latch.DEST = latch.DEST; + + next_latch.Branch = latch.Branch; + next_latch.MemRead = latch.MemRead; + next_latch.MemWrite = latch.MemWrite; + + next_latch.RegWrite = latch.RegWrite; + next_latch.MemtoReg = latch.MemtoReg; + + switch (latch.ALUOp) { + case 1: // add + if (latch.ALUSrc) { + next_latch.ALU_OUT = latch.REG1 + latch.IMM; + } + else { + next_latch.ALU_OUT = latch.REG1 + latch.REG2; + } + break; + + case 2: // sub + next_latch.ALU_OUT = latch.REG1 - latch.REG2; + if (latch.ALUNeg) { + next_latch.ALU_OUT = !(next_latch.ALU_OUT); // bne + } + break; + + case 3: // and + if (latch.ALUSrc) { + next_latch.ALU_OUT = latch.REG1 & latch.IMM; + } + else { + next_latch.ALU_OUT = latch.REG1 & latch.REG2; + } + break; + + case 4: // or + if (latch.ALUSrc) { + next_latch.ALU_OUT = latch.REG1 | latch.IMM; + } + else { + next_latch.ALU_OUT = latch.REG1 | latch.REG2; + } + + if (latch.ALUNeg) { + next_latch.ALU_OUT = !(next_latch.ALU_OUT); + } + break; + + case 5: // shift left + next_latch.ALU_OUT = latch.REG2 << latch.SHAMT; + break; + + case 6: // shift right + next_latch.ALU_OUT = latch.REG2 >> latch.SHAMT; + break; + + case 7: // set less than + if (latch.ALUSrc) { + if (latch.REG1 < latch.IMM) { + next_latch.ALU_OUT = 1; + } + else { + next_latch.ALU_OUT = 0; + } + } + else { + if (latch.REG1 < latch.REG2) { + next_latch.ALU_OUT = 1; + } + else { + next_latch.ALU_OUT = 0; + } + } + break; + + case 8: // lui + next_latch.ALU_OUT = latch.IMM << 16; + + break; + + case 9: // jal + break; + + default: + break; + } + if (latch.MemWrite) { + next_latch.MemValue = latch.REG2; + } +} + +MEM_WB Memory_Stage(){ + EX_MEM latch = CURRENT_STATE.ex_mem; + MEM_WB next_latch; + + next_latch.RegWrite = latch.RegWrite; + next_latch.MemtoReg = latch.MemtoReg; + next_latch.DEST = latch.DEST; + next_latch.ALU_OUT = latch.ALU_OUT; + + if (latch.MemWrite) + { + mem_write_32(latch.ALU_OUT, latch.MemValue); + } + else if (latch.MemRead) + { + next_latch.MEM_OUT = mem_read_32(latch.ALU_OUT);// Read from memory + } + + return next_latch; + +} + +void WriteBack_Stage(){ + MEM_WB latch = CURRENT_STATE.mem_wb; + + if (latch.RegWrite) + { + CURRENT_STATE.REGS[latch.DEST] = latch.ALU_OUT; + } + else if (latch.MemtoReg) + { + CURRENT_STATE.REGS[latch.DEST] = latch.MEM_OUT; + } +} + + /***************************************************************/ /* */ /* Procedure: process_instruction */ @@ -32,6 +319,58 @@ instruction* get_inst_info(uint32_t pc) { /* Purpose: Process one instrction */ /* */ /***************************************************************/ -void process_instruction(){ - /** Your implementation here */ +void process_instruction() { + + instruction *inst; + int i; // for loop + uint32_t dest; + + /* pipeline */ + for ( i = PIPE_STAGE - 1; i > 0; i--) + CURRENT_STATE.PIPE[i] = CURRENT_STATE.PIPE[i-1]; + CURRENT_STATE.PIPE[0] = CURRENT_STATE.PC; + + inst = get_inst_info(CURRENT_STATE.PC); + CURRENT_STATE.PC += BYTES_PER_WORD; // PC = nPC + + // WB Stage + WriteBack_Stage(); + + // MEM Stage + CURRENT_STATE.mem_wb = Memory_Stage(); + + if (!CURRENT_STATE.LoadUse) { + CURRENT_STATE.LoadUse = 0; + // EX Stage + CURRENT_STATE.ex_mem = Execute_Stage(); + + // ID Stage + CURRENT_STATE.id_ex = Decode_Stage(); + + // IF Stage + CURRENT_STATE.if_id = Fetch_Stage(); + } + + + // Fetch Stall caused by Control Hazard + if (CURRENT_STATE.STALL) { + CURRENT_STATE.PC -= BYTES_PER_WORD; // PC = nPC 취소 + CURRENT_STATE.STALL -= 1; + } + + // Flush + if (CURRENT_STATE.FLUSH) { + for (i=0; i<CURRENT_STATE.FLUSH; i++) { + CURRENT_STATE.PIPE[i] = 0; + switch (i) { + case 1: + memset(&CURRENT_STATE.if_id, 0, sizeof(CURRENT_STATE.if_id)); + case 2: + memset(&CURRENT_STATE.id_ex, 0, sizeof(CURRENT_STATE.id_ex)); + } + } + } + + if (CURRENT_STATE.PC < MEM_REGIONS[0].start || CURRENT_STATE.PC >= (MEM_REGIONS[0].start + (NUM_INST * 4))) + RUN_BIT = FALSE; } diff --git a/run.h b/run.h index 56ab55acf0b799994c1f2770701b0407b020c064..b7ecd719d5771c151657775e7a1a6acd15318a92 100644 --- a/run.h +++ b/run.h @@ -8,6 +8,10 @@ /* */ /***************************************************************/ +/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */ +/* DO NOT MODIFY THIS FILE! */ +/* You should only the parse.c and run.c files! */ +/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */ #ifndef _RUN_H_ #define _RUN_H_ @@ -115,11 +119,4 @@ instruction* get_inst_info(uint32_t pc); void process_instruction(); -/* Add any functions declarations that you require */ -/* Suggestions for some possible functions */ -//void IF_Stage(); -//void ID_Stage(); -//void EX_Stage(); -//void MEM_Stage(); -//void WB_Stage(); #endif diff --git a/sample_input/example01.o b/sample_input/example01.o index 4988f01c45881d666ed9f8f763e1208a7a0d1cf6..4a47d1fdffc0d9a8b0da054006508b5b315403cc 100644 --- a/sample_input/example01.o +++ b/sample_input/example01.o @@ -1 +1 @@ -000000000000000000000000010110000000000000000000000000000000110000000010001000001000100000100100000000100100000010010000001001000011110000001000000100000000000000111100000010010001000000000000001101010010100100000000000001000000000101000000010100000010010000000001011000000101100000100100001001100011000100000000000000010010010101101011000000000000000100000001001000000100100000100101000101010110100011111111111111000010011001010010000000000000001000100101011010110000000000000001000000000001000110010000010000000000000000010010100010000100001000000010001100101001100000100100000101010110100111111111111110100000000010111111001010000010000100000010001100101000000000100111000100010100100000000000000000010000100000010000000000000000011000110110000100001111000011110000000000000000000000000000011001000000000000000000000000001100100000010010001101000101011001111000 \ No newline at end of file +000000000000000000000000010110000000000000000000000000000000110000000010001000001000100000100100000000100100000010010000001001000011110000001000000100000000000000111100000010010001000000000000001101010010100100000000000001000000000101000000010100000010010000000001011000000101100000100100001001100011000100000000000000010010010101101011000000000000000100000001001000000100100000100101000101010110100011111111111111000010011001010010000000000000001000100101011010110000000000000001000000000001000110010000010000000000000000010010100010000100001000000010001100101001100000100100000101010110100111111111111110100000000010111111001010000010000100000010001100101000000000100111000100010100100000000000000000010000100000010000000000000000011000110110000100001111000011110000000000000000000000000000011001000000000000000000000000001100100000010010001101000101011001111000 diff --git a/sample_input/example02.o b/sample_input/example02.o index 4b6799324b6a3da2c0f4db1e3b9003f2115f10f7..7b2f8c10e1c8906a93f3202b714daf425f037211 100644 --- a/sample_input/example02.o +++ b/sample_input/example02.o @@ -1 +1 @@ -000000000000000000000000001111000000000000000000000000000001000000100100000000100000010000000000000000000100001000011000001000010000000001100010001000000010010100000000000001010011010000000000001001001100011100100111000011110000000011100010010000000010001100000000100000110100100000100111001101000100101000000000111111110000000000000110010110010100001000111100000001000001000000000000001101001000010000000000000011000000000101100101011010000010010000110000100011100000000001100100001111000001000100000000011001000010010000000010000000000000101000000000000000000000000000000011000000000000000000000000011110110000000000000000000100001111101000010001000100010001000100010001 \ No newline at end of file +000000000000000000000000001111000000000000000000000000000001000000100100000000100000010000000000000000000100001000011000001000010000000001100010001000000010010100000000000001010011010000000000001001001100011100100111000011110000000011100010010000000010001100000000100000110100100000100111001101000100101000000000111111110000000000000110010110010100001000111100000001000001000000000000001101001000010000000000000011000000000101100101011010000010010000110000100011100000000001100100001111000001000100000000011001000010010000000010000000000000101000000000000000000000000000000011000000000000000000000000011110110000000000000000000100001111101000010001000100010001000100010001 diff --git a/sample_input/example02.s b/sample_input/example02.s index 08b4665bc7fb09ec86521cfe950339ec523d1cff..063b66bee490304f846ed4bbd1b41460bd4a3f8b 100644 --- a/sample_input/example02.s +++ b/sample_input/example02.s @@ -5,17 +5,17 @@ array: .word 3 array2: .word 0x11111111 .text main: - addiu $2, $0, 1024 //00 - addu $3, $2, $2 //04 - or $4, $3, $2 //08 - sll $6, $5, 16 //0c - addiu $7, $6, 9999 //10 - subu $8, $7, $2 //14 - nor $9, $4, $3 //18 - ori $10, $2, 255 //1c - srl $11, $6, 5 //20 - la $4, array2 //24: lui $4, $4, 0x1000 / 28: ori $4, $4, 0x000c - and $13, $11, $5 //2c - andi $14, $4, 100 //30 - lui $17, 100 //34 - addiu $2, $0, 0xa //38 + addiu $2, $0, 1024 + addu $3, $2, $2 + or $4, $3, $2 + sll $6, $5, 16 + addiu $7, $6, 9999 + subu $8, $7, $2 + nor $9, $4, $3 + ori $10, $2, 255 + srl $11, $6, 5 + la $4, array2 + and $13, $11, $5 + andi $14, $4, 100 + lui $17, 100 + addiu $2, $0, 0xa diff --git a/sample_input/example03.s b/sample_input/example03.s index 6423f798f043341e559be2b9bfd45a91929e2aed..c9957eab1b859e32cf407dbdb9c4b64a22813f73 100644 --- a/sample_input/example03.s +++ b/sample_input/example03.s @@ -5,18 +5,18 @@ data3: .word 0x12345678 .word 0x12341 .text main: - lui $3, 0x1000 //00 - lw $5, 0($3) //04 - lw $8, 4($3) //08 - lw $9, 8($3) //0c - lw $10, 12($3) //10 - addiu $5, $5, 24 //14 - addiu $6, $0, 124 //18 - addu $7, $5, $6 //1c - sw $5, 16($3) //20 - sw $6, 20($3) //24 - sw $7, 24($3) //28 - addiu $3, $3, 12 //2c - lw $12, -4($3) //30 - lw $13, -8($3) //34 - lw $14, -12($3) //38 + lui $3, 0x1000 + lw $5, 0($3) + lw $8, 4($3) + lw $9, 8($3) + lw $10, 12($3) + addiu $5, $5, 24 + addiu $6, $0, 124 + addu $7, $5, $6 + sw $5, 16($3) + sw $6, 20($3) + sw $7, 24($3) + addiu $3, $3, 12 + lw $12, -4($3) + lw $13, -8($3) + lw $14, -12($3) diff --git a/sample_input/example04.o b/sample_input/example04.o index 396fe82cc49f4b49c2cc2493897ad388c36859d9..b17849148f253271410406368ece1febf4aa2638 100644 --- a/sample_input/example04.o +++ b/sample_input/example04.o @@ -1 +1 @@ -00000000000000000000000001000100000000000000000000000000000000000000000010000101000100000010000100000000110001110001000000100001000000000110001001001000001000110000000101100000010110000010010000100101010010100000000000000001000000001100000000110000001001010000110000010000000000000000100000000000000000000000000000100001000000000000011000111000100000000000000000000100001010001000001000101101010010010000000001100100000100010010000000000000000000010000001111100000000000000000100000000000010000110010000000101011000101001000000000000000000000010000100000010000000000000000001100110110000100001111000011110000 \ No newline at end of file +000000000000000000000000010000000000000000000000000000000000000000000000100001010001000000100001000000001100011100010000001000010000000001100010010010000010001100000001011000000101100000100100001001010100101000000000000000010000000011000000001100000010010100001100000100000000000000000111000000000000011000111000100000000000000000000100001010001000001000101101010010010000000001100100000100010010000000000000000000010000001111100000000000000000100000000000010000110010000000101011000101001000000000000000000000010000100000010000000000000000001100110110000100001111000011110000 \ No newline at end of file diff --git a/sample_input/example04.s b/sample_input/example04.s index fef866a45e85543eafa1ceb144221b4ee4f35985..46c70849bfc143cba6d31218bf65540d28a2eed7 100644 --- a/sample_input/example04.s +++ b/sample_input/example04.s @@ -8,8 +8,7 @@ lab1: and $11, $11, $0 addiu $10, $10, 0x1 or $6, $6, $0 - jal lab3 - addu $0, $0, $0 + jal lab3 lab3: sll $7, $6, 2 srl $5, $4, 2 diff --git a/sample_input/example05.o b/sample_input/example05.o index e860d9e4f7c724c6196071c2332197cae2c857e6..deae504c8a39ce3a3463fc0cc2437e014349c284 100644 --- a/sample_input/example05.o +++ b/sample_input/example05.o @@ -1 +1 @@ -00000000000000000000000001101100000000000000000000000000000101000011110000001111000100000000000000110101111011110000000000001100001001011000110011111111100111000010010111001110111111111111111100100101101011011111111111111111000000001000010100010000001000010000000011000111000100000010000100000000011000100100100000100011000000010110000001011000001001000010010101001010000000000000000100000000110000000011000000100101000011000001000000000000000011010000000000000000000000000010000110001101111001100000000000000100000000000000011000111000100000001010110111100111000000000000100000000000000001000010100010000010000000001010000000101000001001110010110101001001111111111111110000010001001000000000000000000001000000111110000000000000000010000011110000010001000100000000000010001110001100100000000000010101000000000100001100100000001010110001010010000000000000000000000100001000000100000000000000001000001101100001000011110000111100000000000000000000000000000000001100000000000000000001000000000000000000000000111101001100001010100111111111111111111111111111111001111111111111111111111111111111 \ No newline at end of file +000000000000000000000000011010000000000000000000000000000001010000111100000011110001000000000000001101011110111100000000000011000010010110001100111111111001110000100101110011101111111111111111001001011010110111111111111111110000000010000101000100000010000100000000110001110001000000100001000000000110001001001000001000110000000101100000010110000010010000100101010010100000000000000001000000001100000000110000001001010000110000010000000000000000110010001101111001100000000000000100000000000000011000111000100000001010110111100111000000000000100000000000000001000010100010000010000000001010000000101000001001110010110101001001111111111111110000010001001000000000000000000001000000111110000000000000000010000011110000010001000100000000000010001110001100100000000000000000000000000100001100100000001010110001010010000000000000000000000100001000000100000000000000001000001101100001000011110000111100000000000000000000000000000000001100000000000000000001000000000000000000000000111101001100001010100111111111111111111111111111111001111111111111111111111111111111 \ No newline at end of file diff --git a/sample_input/example05.s b/sample_input/example05.s index a43ea04f53afbf832a42b916e438d9c0b45da35a..1a81c736c9f87e4fbfb981b701ebea9d9012a36b 100644 --- a/sample_input/example05.s +++ b/sample_input/example05.s @@ -13,26 +13,25 @@ main: addu $2, $4, $5 addu $2, $6, $7 subu $9, $3, $2 -cse561: +cs311: and $11, $11, $0 addiu $10, $10, 0x1 or $6, $6, $0 - jal cse562 - addu $0, $0, $0 -cse562: + jal cs312 +cs312: lw $6, 4($15) sll $7, $6, 2 sw $7, 8($15) srl $5, $4, 2 nor $5, $5, $0 sltiu $9, $10, -4 - beq $9, $0, cse563 + beq $9, $0, cs313 jr $31 -cse563: +cs313: lui $17, 0x1000 lw $18, 0($17) sltu $4, $2, $3 - bne $4, $0, cse564 - j cse561 -cse564: + bne $4, $0, cs314 + j cs311 +cs314: ori $16, $16, 0xf0f0 diff --git a/sample_input/fact.o b/sample_input/fact.o new file mode 100644 index 0000000000000000000000000000000000000000..b59d6b6da8a26b0e9fa2772d6c68c79f5ba985a3 --- /dev/null +++ b/sample_input/fact.o @@ -0,0 +1 @@ +0000000000000000000000000010010000000000000000000000000000000000101011111010010000000000000000000010110010001000000000000000000100010001000000000000000000000001001001000000001000000000000000010010010010000100111111111111111100001100000100000000000000000000100011111010010000000000000000001000111110111111000000000000010000000000100000100001000000100001 \ No newline at end of file diff --git a/sample_input/fact.s b/sample_input/fact.s new file mode 100644 index 0000000000000000000000000000000000000000..86651661c28882c22ccdff339f145b243fc5103f --- /dev/null +++ b/sample_input/fact.s @@ -0,0 +1,13 @@ + .data + .text +main: + sw $a0, 0($sp) + sltiu $t0, $a0, 1 + beq $t0, $zero, L1 + addiu $v0, $zero, 1 +L1: + addiu $a0, $a0, -1 + jal main + lw $a0, 0($sp) + lw $ra, 4($sp) + addu $v0, $a0, $v0 diff --git a/sample_input/leaf_example.o b/sample_input/leaf_example.o index 22ae6e0c6e238bcce19654b3efaf2eba221e721e..552ecf3d3e0ec586bf514762acaf79922e564de3 100644 --- a/sample_input/leaf_example.o +++ b/sample_input/leaf_example.o @@ -1 +1 @@ -000000000000000000000000001001000000000000000000000000000001000000111100000001000001000000000000100011001000010100000000000001001000110010000110000000000000100010001100100001110000000000001100100011001000010000000000000000000000000010000101010000000010000100000000110001110100100000100001000000010010100010000000001000110000001000000000000100000010000100000000000000000000000000000001000000000000000000000000000000100000000000000000000000000000001100000000000000000000000000000100 \ No newline at end of file +000000000000000000000000000100000000000000000000000000000000000000000000100001010100000000100001000000001100011101001000001000010000000100001001100000000010001100000010000000000001000000100001 \ No newline at end of file diff --git a/sample_input/leaf_example.s b/sample_input/leaf_example.s index 730ae70732999a342010af6678aa84d0a8b3d6ca..f1f2d88c1619da09157f8506d14317fc8806997e 100644 --- a/sample_input/leaf_example.s +++ b/sample_input/leaf_example.s @@ -1,17 +1,7 @@ .data -data1: .word 1 -data2: .word 2 -data3: .word 3 -data4: .word 4 .text main: - la $4, data1 # 00 - lw $5, 4($4) # 04 - lw $6, 8($4) # 08 - lw $7, 12($4) # 0c - lw $4, 0($4) # 10 - - addu $8, $4, $5 # 14 - addu $9, $6, $7 # 18 - subu $16, $9, $8 # 1c - addu $2, $16, $0 # 20 + addu $t0, $a0, $a1 + addu $t1, $a2, $a3 + subu $s0, $t0, $t1 + addu $v0, $s0, $zero diff --git a/sample_output/example01 b/sample_output/example01 index 00e0e56427d1842937b3f3f85c6f0eea96094de9..9dc3766350ce008ef9bd7bffe9659d77d016cff5 100644 --- a/sample_output/example01 +++ b/sample_output/example01 @@ -1,700 +1,8 @@ -Simulating for 100 instructions... - -Current pipeline PC state : -------------------------------------- -CYCLE 1:0x00400000| | | | - -Current pipeline PC state : -------------------------------------- -CYCLE 2:0x00400004|0x00400000| | | - -Current pipeline PC state : -------------------------------------- -CYCLE 3:0x00400008|0x00400004|0x00400000| | - -Current pipeline PC state : -------------------------------------- -CYCLE 4:0x0040000c|0x00400008|0x00400004|0x00400000| - -Current pipeline PC state : -------------------------------------- -CYCLE 5:0x00400010|0x0040000c|0x00400008|0x00400004|0x00400000 - -Current pipeline PC state : -------------------------------------- -CYCLE 6:0x00400014|0x00400010|0x0040000c|0x00400008|0x00400004 - -Current pipeline PC state : -------------------------------------- -CYCLE 7:0x00400018|0x00400014|0x00400010|0x0040000c|0x00400008 - -Current pipeline PC state : -------------------------------------- -CYCLE 8:0x0040001c|0x00400018|0x00400014|0x00400010|0x0040000c - -Current pipeline PC state : -------------------------------------- -CYCLE 9:0x00400020|0x0040001c|0x00400018|0x00400014|0x00400010 - -Current pipeline PC state : -------------------------------------- -CYCLE 10:0x00400024|0x00400020|0x0040001c|0x00400018|0x00400014 - -Current pipeline PC state : -------------------------------------- -CYCLE 11:0x00400028|0x00400024|0x00400020|0x0040001c|0x00400018 - -Current pipeline PC state : -------------------------------------- -CYCLE 12:0x0040002c|0x00400028|0x00400024|0x00400020|0x0040001c - -Current pipeline PC state : -------------------------------------- -CYCLE 13:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 14: | | |0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 15:0x0040001c| | | |0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 16:0x00400020|0x0040001c| | | - -Current pipeline PC state : -------------------------------------- -CYCLE 17:0x00400024|0x00400020|0x0040001c| | - -Current pipeline PC state : -------------------------------------- -CYCLE 18:0x00400028|0x00400024|0x00400020|0x0040001c| - -Current pipeline PC state : -------------------------------------- -CYCLE 19:0x0040002c|0x00400028|0x00400024|0x00400020|0x0040001c - -Current pipeline PC state : -------------------------------------- -CYCLE 20:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 21: | | |0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 22:0x0040001c| | | |0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 23:0x00400020|0x0040001c| | | - -Current pipeline PC state : -------------------------------------- -CYCLE 24:0x00400024|0x00400020|0x0040001c| | - -Current pipeline PC state : -------------------------------------- -CYCLE 25:0x00400028|0x00400024|0x00400020|0x0040001c| - -Current pipeline PC state : -------------------------------------- -CYCLE 26:0x0040002c|0x00400028|0x00400024|0x00400020|0x0040001c - -Current pipeline PC state : -------------------------------------- -CYCLE 27:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 28: | | |0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 29:0x0040001c| | | |0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 30:0x00400020|0x0040001c| | | - -Current pipeline PC state : -------------------------------------- -CYCLE 31:0x00400024|0x00400020|0x0040001c| | - -Current pipeline PC state : -------------------------------------- -CYCLE 32:0x00400028|0x00400024|0x00400020|0x0040001c| - -Current pipeline PC state : -------------------------------------- -CYCLE 33:0x0040002c|0x00400028|0x00400024|0x00400020|0x0040001c - -Current pipeline PC state : -------------------------------------- -CYCLE 34:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 35: | | |0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 36:0x0040001c| | | |0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 37:0x00400020|0x0040001c| | | - -Current pipeline PC state : -------------------------------------- -CYCLE 38:0x00400024|0x00400020|0x0040001c| | - -Current pipeline PC state : -------------------------------------- -CYCLE 39:0x00400028|0x00400024|0x00400020|0x0040001c| - -Current pipeline PC state : -------------------------------------- -CYCLE 40:0x0040002c|0x00400028|0x00400024|0x00400020|0x0040001c - -Current pipeline PC state : -------------------------------------- -CYCLE 41:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 42: | | |0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 43:0x0040001c| | | |0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 44:0x00400020|0x0040001c| | | - -Current pipeline PC state : -------------------------------------- -CYCLE 45:0x00400024|0x00400020|0x0040001c| | - -Current pipeline PC state : -------------------------------------- -CYCLE 46:0x00400028|0x00400024|0x00400020|0x0040001c| - -Current pipeline PC state : -------------------------------------- -CYCLE 47:0x0040002c|0x00400028|0x00400024|0x00400020|0x0040001c - -Current pipeline PC state : -------------------------------------- -CYCLE 48:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 49: | | |0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 50:0x0040001c| | | |0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 51:0x00400020|0x0040001c| | | - -Current pipeline PC state : -------------------------------------- -CYCLE 52:0x00400024|0x00400020|0x0040001c| | - -Current pipeline PC state : -------------------------------------- -CYCLE 53:0x00400028|0x00400024|0x00400020|0x0040001c| - -Current pipeline PC state : -------------------------------------- -CYCLE 54:0x0040002c|0x00400028|0x00400024|0x00400020|0x0040001c - -Current pipeline PC state : -------------------------------------- -CYCLE 55:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 56: | | |0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 57:0x0040001c| | | |0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 58:0x00400020|0x0040001c| | | - -Current pipeline PC state : -------------------------------------- -CYCLE 59:0x00400024|0x00400020|0x0040001c| | - -Current pipeline PC state : -------------------------------------- -CYCLE 60:0x00400028|0x00400024|0x00400020|0x0040001c| - -Current pipeline PC state : -------------------------------------- -CYCLE 61:0x0040002c|0x00400028|0x00400024|0x00400020|0x0040001c - -Current pipeline PC state : -------------------------------------- -CYCLE 62:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 63: | | |0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 64:0x0040001c| | | |0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 65:0x00400020|0x0040001c| | | - -Current pipeline PC state : -------------------------------------- -CYCLE 66:0x00400024|0x00400020|0x0040001c| | - -Current pipeline PC state : -------------------------------------- -CYCLE 67:0x00400028|0x00400024|0x00400020|0x0040001c| - -Current pipeline PC state : -------------------------------------- -CYCLE 68:0x0040002c|0x00400028|0x00400024|0x00400020|0x0040001c - -Current pipeline PC state : -------------------------------------- -CYCLE 69:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 70: | | |0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 71:0x0040001c| | | |0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 72:0x00400020|0x0040001c| | | - -Current pipeline PC state : -------------------------------------- -CYCLE 73:0x00400024|0x00400020|0x0040001c| | - -Current pipeline PC state : -------------------------------------- -CYCLE 74:0x00400028|0x00400024|0x00400020|0x0040001c| - -Current pipeline PC state : -------------------------------------- -CYCLE 75:0x0040002c|0x00400028|0x00400024|0x00400020|0x0040001c - -Current pipeline PC state : -------------------------------------- -CYCLE 76:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 77: | | |0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 78:0x0040001c| | | |0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 79:0x00400020|0x0040001c| | | - -Current pipeline PC state : -------------------------------------- -CYCLE 80:0x00400024|0x00400020|0x0040001c| | - -Current pipeline PC state : -------------------------------------- -CYCLE 81:0x00400028|0x00400024|0x00400020|0x0040001c| - -Current pipeline PC state : -------------------------------------- -CYCLE 82:0x0040002c|0x00400028|0x00400024|0x00400020|0x0040001c - -Current pipeline PC state : -------------------------------------- -CYCLE 83:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 84: | | |0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 85:0x0040001c| | | |0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 86:0x00400020|0x0040001c| | | - -Current pipeline PC state : -------------------------------------- -CYCLE 87:0x00400024|0x00400020|0x0040001c| | - -Current pipeline PC state : -------------------------------------- -CYCLE 88:0x00400028|0x00400024|0x00400020|0x0040001c| - -Current pipeline PC state : -------------------------------------- -CYCLE 89:0x0040002c|0x00400028|0x00400024|0x00400020|0x0040001c - -Current pipeline PC state : -------------------------------------- -CYCLE 90:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 91: | | |0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 92:0x0040001c| | | |0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 93:0x00400020|0x0040001c| | | - -Current pipeline PC state : -------------------------------------- -CYCLE 94:0x00400024|0x00400020|0x0040001c| | - -Current pipeline PC state : -------------------------------------- -CYCLE 95:0x00400028|0x00400024|0x00400020|0x0040001c| - -Current pipeline PC state : -------------------------------------- -CYCLE 96:0x0040002c|0x00400028|0x00400024|0x00400020|0x0040001c - -Current pipeline PC state : -------------------------------------- -CYCLE 97:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 98: | | |0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 99:0x0040001c| | | |0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 100:0x00400020|0x0040001c| | | - -Current pipeline PC state : -------------------------------------- -CYCLE 101:0x00400024|0x00400020|0x0040001c| | - -Current pipeline PC state : -------------------------------------- -CYCLE 102:0x00400028|0x00400024|0x00400020|0x0040001c| - -Current pipeline PC state : -------------------------------------- -CYCLE 103:0x0040002c|0x00400028|0x00400024|0x00400020|0x0040001c - -Current pipeline PC state : -------------------------------------- -CYCLE 104:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 105: | | |0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 106:0x0040001c| | | |0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 107:0x00400020|0x0040001c| | | - -Current pipeline PC state : -------------------------------------- -CYCLE 108:0x00400024|0x00400020|0x0040001c| | - -Current pipeline PC state : -------------------------------------- -CYCLE 109:0x00400028|0x00400024|0x00400020|0x0040001c| - -Current pipeline PC state : -------------------------------------- -CYCLE 110:0x0040002c|0x00400028|0x00400024|0x00400020|0x0040001c - -Current pipeline PC state : -------------------------------------- -CYCLE 111:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 112: | | |0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 113:0x0040001c| | | |0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 114:0x00400020|0x0040001c| | | - -Current pipeline PC state : -------------------------------------- -CYCLE 115:0x00400024|0x00400020|0x0040001c| | - -Current pipeline PC state : -------------------------------------- -CYCLE 116:0x00400028|0x00400024|0x00400020|0x0040001c| - -Current pipeline PC state : -------------------------------------- -CYCLE 117:0x0040002c|0x00400028|0x00400024|0x00400020|0x0040001c - -Current pipeline PC state : -------------------------------------- -CYCLE 118:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 119: | | |0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 120:0x0040001c| | | |0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 121:0x00400020|0x0040001c| | | - -Current pipeline PC state : -------------------------------------- -CYCLE 122:0x00400024|0x00400020|0x0040001c| | - -Current pipeline PC state : -------------------------------------- -CYCLE 123:0x00400028|0x00400024|0x00400020|0x0040001c| - -Current pipeline PC state : -------------------------------------- -CYCLE 124:0x0040002c|0x00400028|0x00400024|0x00400020|0x0040001c - -Current pipeline PC state : -------------------------------------- -CYCLE 125:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 126: | | |0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 127:0x0040001c| | | |0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 128:0x00400020|0x0040001c| | | - -Current pipeline PC state : -------------------------------------- -CYCLE 129:0x00400024|0x00400020|0x0040001c| | - -Current pipeline PC state : -------------------------------------- -CYCLE 130:0x00400028|0x00400024|0x00400020|0x0040001c| - -Current pipeline PC state : -------------------------------------- -CYCLE 131:0x0040002c|0x00400028|0x00400024|0x00400020|0x0040001c - -Current pipeline PC state : -------------------------------------- -CYCLE 132:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 133: | | |0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 134:0x0040001c| | | |0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 135:0x00400020|0x0040001c| | | - -Current pipeline PC state : -------------------------------------- -CYCLE 136:0x00400024|0x00400020|0x0040001c| | - -Current pipeline PC state : -------------------------------------- -CYCLE 137:0x00400028|0x00400024|0x00400020|0x0040001c| - -Current pipeline PC state : -------------------------------------- -CYCLE 138:0x0040002c|0x00400028|0x00400024|0x00400020|0x0040001c - -Current pipeline PC state : -------------------------------------- -CYCLE 139:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 140: | | |0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 141:0x0040001c| | | |0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 142:0x00400020|0x0040001c| | | - -Current pipeline PC state : -------------------------------------- -CYCLE 143:0x00400024|0x00400020|0x0040001c| | - -Current pipeline PC state : -------------------------------------- -CYCLE 144:0x00400028|0x00400024|0x00400020|0x0040001c| - -Current pipeline PC state : -------------------------------------- -CYCLE 145:0x0040002c|0x00400028|0x00400024|0x00400020|0x0040001c - -Current pipeline PC state : -------------------------------------- -CYCLE 146:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 147: | | |0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 148:0x0040001c| | | |0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 149:0x00400020|0x0040001c| | | - -Current pipeline PC state : -------------------------------------- -CYCLE 150:0x00400024|0x00400020|0x0040001c| | - -Current pipeline PC state : -------------------------------------- -CYCLE 151:0x00400028|0x00400024|0x00400020|0x0040001c| - -Current pipeline PC state : -------------------------------------- -CYCLE 152:0x0040002c|0x00400028|0x00400024|0x00400020|0x0040001c - -Current pipeline PC state : -------------------------------------- -CYCLE 153:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 154: | | |0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 155:0x0040001c| | | |0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 156:0x00400020|0x0040001c| | | - -Current pipeline PC state : -------------------------------------- -CYCLE 157:0x00400024|0x00400020|0x0040001c| | - -Current pipeline PC state : -------------------------------------- -CYCLE 158:0x00400028|0x00400024|0x00400020|0x0040001c| - -Current pipeline PC state : -------------------------------------- -CYCLE 159:0x0040002c|0x00400028|0x00400024|0x00400020|0x0040001c - -Current pipeline PC state : -------------------------------------- -CYCLE 160:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 161: | | |0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 162:0x0040001c| | | |0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 163:0x00400020|0x0040001c| | | - -Current pipeline PC state : -------------------------------------- -CYCLE 164:0x00400024|0x00400020|0x0040001c| | - -Current pipeline PC state : -------------------------------------- -CYCLE 165:0x00400028|0x00400024|0x00400020|0x0040001c| - -Current pipeline PC state : -------------------------------------- -CYCLE 166:0x0040002c|0x00400028|0x00400024|0x00400020|0x0040001c - -Current pipeline PC state : -------------------------------------- -CYCLE 167:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 168: | | |0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 169:0x0040001c| | | |0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 170:0x00400020|0x0040001c| | | - -Current pipeline PC state : -------------------------------------- -CYCLE 171:0x00400024|0x00400020|0x0040001c| | - -Current pipeline PC state : -------------------------------------- -CYCLE 172:0x00400028|0x00400024|0x00400020|0x0040001c| - -Current pipeline PC state : -------------------------------------- -CYCLE 173:0x0040002c|0x00400028|0x00400024|0x00400020|0x0040001c +Simulating for 50 cycles... Current register values : ------------------------------------- -PC: 0x00400030 +PC: 0x00400028 Registers: R0: 0x00000000 R1: 0x00000000 @@ -707,13 +15,13 @@ R7: 0x00000000 R8: 0x10000000 R9: 0x10000004 R10: 0x00000000 -R11: 0x00000017 +R11: 0x0000000b R12: 0x00000000 R13: 0x00000000 R14: 0x00000000 R15: 0x00000000 R16: 0x00000000 -R17: 0x00000018 +R17: 0x0000000b R18: 0x00000000 R19: 0x00000000 R20: 0x00000000 @@ -729,5 +37,11 @@ R29: 0x00000000 R30: 0x00000000 R31: 0x00000000 -Simulator halted after 173 cycles +Memory content [0x10000000..0x10000010] : +------------------------------------- +0x10000000: 0x00000064 +0x10000004: 0x000000c8 +0x10000008: 0x12345678 +0x1000000c: 0x00000000 +0x10000010: 0x00000000 diff --git a/sample_output/example02 b/sample_output/example02 index aaa50c2001deeb06f10cf4b5a99809788d7e4d56..373da2c6a290bb641f9d3250718064615b3734c5 100644 --- a/sample_output/example02 +++ b/sample_output/example02 @@ -1,80 +1,7 @@ -Simulating for 100 instructions... +Simulating for 50 cycles... -Current pipeline PC state : -------------------------------------- -CYCLE 1:0x00400000| | | | - -Current pipeline PC state : -------------------------------------- -CYCLE 2:0x00400004|0x00400000| | | - -Current pipeline PC state : -------------------------------------- -CYCLE 3:0x00400008|0x00400004|0x00400000| | - -Current pipeline PC state : -------------------------------------- -CYCLE 4:0x0040000c|0x00400008|0x00400004|0x00400000| - -Current pipeline PC state : -------------------------------------- -CYCLE 5:0x00400010|0x0040000c|0x00400008|0x00400004|0x00400000 - -Current pipeline PC state : -------------------------------------- -CYCLE 6:0x00400014|0x00400010|0x0040000c|0x00400008|0x00400004 - -Current pipeline PC state : -------------------------------------- -CYCLE 7:0x00400018|0x00400014|0x00400010|0x0040000c|0x00400008 - -Current pipeline PC state : -------------------------------------- -CYCLE 8:0x0040001c|0x00400018|0x00400014|0x00400010|0x0040000c - -Current pipeline PC state : -------------------------------------- -CYCLE 9:0x00400020|0x0040001c|0x00400018|0x00400014|0x00400010 - -Current pipeline PC state : -------------------------------------- -CYCLE 10:0x00400024|0x00400020|0x0040001c|0x00400018|0x00400014 - -Current pipeline PC state : -------------------------------------- -CYCLE 11:0x00400028|0x00400024|0x00400020|0x0040001c|0x00400018 - -Current pipeline PC state : -------------------------------------- -CYCLE 12:0x0040002c|0x00400028|0x00400024|0x00400020|0x0040001c - -Current pipeline PC state : -------------------------------------- -CYCLE 13:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 14:0x00400034|0x00400030|0x0040002c|0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 15:0x00400038|0x00400034|0x00400030|0x0040002c|0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 16: |0x00400038|0x00400034|0x00400030|0x0040002c - -Current pipeline PC state : -------------------------------------- -CYCLE 17: | |0x00400038|0x00400034|0x00400030 - -Current pipeline PC state : -------------------------------------- -CYCLE 18: | | |0x00400038|0x00400034 - -Current pipeline PC state : -------------------------------------- -CYCLE 19: | | | |0x00400038 +Run bit unset pc: 40003c +Simulator halted Current register values : ------------------------------------- @@ -113,5 +40,3 @@ R29: 0x00000000 R30: 0x00000000 R31: 0x00000000 -Simulator halted after 19 cycles - diff --git a/sample_output/example03 b/sample_output/example03 index cb975499650e44a6530437bb71c5886d39a75d04..a64e2bf490028aae408feac2f71fc307f557bbac 100644 --- a/sample_output/example03 +++ b/sample_output/example03 @@ -1,80 +1,7 @@ -Simulating for 100 instructions... +Simulating for 100 cycles... -Current pipeline PC state : -------------------------------------- -CYCLE 1:0x00400000| | | | - -Current pipeline PC state : -------------------------------------- -CYCLE 2:0x00400004|0x00400000| | | - -Current pipeline PC state : -------------------------------------- -CYCLE 3:0x00400008|0x00400004|0x00400000| | - -Current pipeline PC state : -------------------------------------- -CYCLE 4:0x0040000c|0x00400008|0x00400004|0x00400000| - -Current pipeline PC state : -------------------------------------- -CYCLE 5:0x00400010|0x0040000c|0x00400008|0x00400004|0x00400000 - -Current pipeline PC state : -------------------------------------- -CYCLE 6:0x00400014|0x00400010|0x0040000c|0x00400008|0x00400004 - -Current pipeline PC state : -------------------------------------- -CYCLE 7:0x00400018|0x00400014|0x00400010|0x0040000c|0x00400008 - -Current pipeline PC state : -------------------------------------- -CYCLE 8:0x0040001c|0x00400018|0x00400014|0x00400010|0x0040000c - -Current pipeline PC state : -------------------------------------- -CYCLE 9:0x00400020|0x0040001c|0x00400018|0x00400014|0x00400010 - -Current pipeline PC state : -------------------------------------- -CYCLE 10:0x00400024|0x00400020|0x0040001c|0x00400018|0x00400014 - -Current pipeline PC state : -------------------------------------- -CYCLE 11:0x00400028|0x00400024|0x00400020|0x0040001c|0x00400018 - -Current pipeline PC state : -------------------------------------- -CYCLE 12:0x0040002c|0x00400028|0x00400024|0x00400020|0x0040001c - -Current pipeline PC state : -------------------------------------- -CYCLE 13:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 14:0x00400034|0x00400030|0x0040002c|0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 15:0x00400038|0x00400034|0x00400030|0x0040002c|0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 16: |0x00400038|0x00400034|0x00400030|0x0040002c - -Current pipeline PC state : -------------------------------------- -CYCLE 17: | |0x00400038|0x00400034|0x00400030 - -Current pipeline PC state : -------------------------------------- -CYCLE 18: | | |0x00400038|0x00400034 - -Current pipeline PC state : -------------------------------------- -CYCLE 19: | | | |0x00400038 +Run bit unset pc: 40003c +Simulator halted Current register values : ------------------------------------- @@ -113,5 +40,3 @@ R29: 0x00000000 R30: 0x00000000 R31: 0x00000000 -Simulator halted after 19 cycles - diff --git a/sample_output/example04 b/sample_output/example04 index 6afa5b94855466aed34ab405bf8ec0321ee0f8ec..f96e7a8b5a760a50d9766a7098327ec2c7d408af 100644 --- a/sample_output/example04 +++ b/sample_output/example04 @@ -1,500 +1,16 @@ -Simulating for 100 instructions... - -Current pipeline PC state : -------------------------------------- -CYCLE 1:0x00400000| | | | - -Current pipeline PC state : -------------------------------------- -CYCLE 2:0x00400004|0x00400000| | | - -Current pipeline PC state : -------------------------------------- -CYCLE 3:0x00400008|0x00400004|0x00400000| | - -Current pipeline PC state : -------------------------------------- -CYCLE 4:0x0040000c|0x00400008|0x00400004|0x00400000| - -Current pipeline PC state : -------------------------------------- -CYCLE 5:0x00400010|0x0040000c|0x00400008|0x00400004|0x00400000 - -Current pipeline PC state : -------------------------------------- -CYCLE 6:0x00400014|0x00400010|0x0040000c|0x00400008|0x00400004 - -Current pipeline PC state : -------------------------------------- -CYCLE 7:0x00400018|0x00400014|0x00400010|0x0040000c|0x00400008 - -Current pipeline PC state : -------------------------------------- -CYCLE 8:0x0040001c|0x00400018|0x00400014|0x00400010|0x0040000c - -Current pipeline PC state : -------------------------------------- -CYCLE 9:0x00400020| |0x00400018|0x00400014|0x00400010 - -Current pipeline PC state : -------------------------------------- -CYCLE 10:0x00400024|0x00400020| |0x00400018|0x00400014 - -Current pipeline PC state : -------------------------------------- -CYCLE 11:0x00400028|0x00400024|0x00400020| |0x00400018 - -Current pipeline PC state : -------------------------------------- -CYCLE 12:0x0040002c|0x00400028|0x00400024|0x00400020| - -Current pipeline PC state : -------------------------------------- -CYCLE 13:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 14:0x00400034|0x00400030|0x0040002c|0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 15:0x00400020| |0x00400030|0x0040002c|0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 16:0x00400024|0x00400020| |0x00400030|0x0040002c - -Current pipeline PC state : -------------------------------------- -CYCLE 17:0x00400028|0x00400024|0x00400020| |0x00400030 - -Current pipeline PC state : -------------------------------------- -CYCLE 18:0x0040002c|0x00400028|0x00400024|0x00400020| - -Current pipeline PC state : -------------------------------------- -CYCLE 19:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 20:0x00400034|0x00400030|0x0040002c|0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 21:0x00400020| |0x00400030|0x0040002c|0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 22:0x00400024|0x00400020| |0x00400030|0x0040002c - -Current pipeline PC state : -------------------------------------- -CYCLE 23:0x00400028|0x00400024|0x00400020| |0x00400030 - -Current pipeline PC state : -------------------------------------- -CYCLE 24:0x0040002c|0x00400028|0x00400024|0x00400020| - -Current pipeline PC state : -------------------------------------- -CYCLE 25:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 26:0x00400034|0x00400030|0x0040002c|0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 27:0x00400020| |0x00400030|0x0040002c|0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 28:0x00400024|0x00400020| |0x00400030|0x0040002c - -Current pipeline PC state : -------------------------------------- -CYCLE 29:0x00400028|0x00400024|0x00400020| |0x00400030 - -Current pipeline PC state : -------------------------------------- -CYCLE 30:0x0040002c|0x00400028|0x00400024|0x00400020| - -Current pipeline PC state : -------------------------------------- -CYCLE 31:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 32:0x00400034|0x00400030|0x0040002c|0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 33:0x00400020| |0x00400030|0x0040002c|0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 34:0x00400024|0x00400020| |0x00400030|0x0040002c - -Current pipeline PC state : -------------------------------------- -CYCLE 35:0x00400028|0x00400024|0x00400020| |0x00400030 - -Current pipeline PC state : -------------------------------------- -CYCLE 36:0x0040002c|0x00400028|0x00400024|0x00400020| - -Current pipeline PC state : -------------------------------------- -CYCLE 37:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 38:0x00400034|0x00400030|0x0040002c|0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 39:0x00400020| |0x00400030|0x0040002c|0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 40:0x00400024|0x00400020| |0x00400030|0x0040002c - -Current pipeline PC state : -------------------------------------- -CYCLE 41:0x00400028|0x00400024|0x00400020| |0x00400030 - -Current pipeline PC state : -------------------------------------- -CYCLE 42:0x0040002c|0x00400028|0x00400024|0x00400020| - -Current pipeline PC state : -------------------------------------- -CYCLE 43:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 44:0x00400034|0x00400030|0x0040002c|0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 45:0x00400020| |0x00400030|0x0040002c|0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 46:0x00400024|0x00400020| |0x00400030|0x0040002c - -Current pipeline PC state : -------------------------------------- -CYCLE 47:0x00400028|0x00400024|0x00400020| |0x00400030 - -Current pipeline PC state : -------------------------------------- -CYCLE 48:0x0040002c|0x00400028|0x00400024|0x00400020| - -Current pipeline PC state : -------------------------------------- -CYCLE 49:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 50:0x00400034|0x00400030|0x0040002c|0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 51:0x00400020| |0x00400030|0x0040002c|0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 52:0x00400024|0x00400020| |0x00400030|0x0040002c - -Current pipeline PC state : -------------------------------------- -CYCLE 53:0x00400028|0x00400024|0x00400020| |0x00400030 - -Current pipeline PC state : -------------------------------------- -CYCLE 54:0x0040002c|0x00400028|0x00400024|0x00400020| - -Current pipeline PC state : -------------------------------------- -CYCLE 55:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 56:0x00400034|0x00400030|0x0040002c|0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 57:0x00400020| |0x00400030|0x0040002c|0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 58:0x00400024|0x00400020| |0x00400030|0x0040002c - -Current pipeline PC state : -------------------------------------- -CYCLE 59:0x00400028|0x00400024|0x00400020| |0x00400030 - -Current pipeline PC state : -------------------------------------- -CYCLE 60:0x0040002c|0x00400028|0x00400024|0x00400020| - -Current pipeline PC state : -------------------------------------- -CYCLE 61:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 62:0x00400034|0x00400030|0x0040002c|0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 63:0x00400020| |0x00400030|0x0040002c|0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 64:0x00400024|0x00400020| |0x00400030|0x0040002c - -Current pipeline PC state : -------------------------------------- -CYCLE 65:0x00400028|0x00400024|0x00400020| |0x00400030 - -Current pipeline PC state : -------------------------------------- -CYCLE 66:0x0040002c|0x00400028|0x00400024|0x00400020| - -Current pipeline PC state : -------------------------------------- -CYCLE 67:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 68:0x00400034|0x00400030|0x0040002c|0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 69:0x00400020| |0x00400030|0x0040002c|0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 70:0x00400024|0x00400020| |0x00400030|0x0040002c - -Current pipeline PC state : -------------------------------------- -CYCLE 71:0x00400028|0x00400024|0x00400020| |0x00400030 - -Current pipeline PC state : -------------------------------------- -CYCLE 72:0x0040002c|0x00400028|0x00400024|0x00400020| - -Current pipeline PC state : -------------------------------------- -CYCLE 73:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 74:0x00400034|0x00400030|0x0040002c|0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 75:0x00400020| |0x00400030|0x0040002c|0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 76:0x00400024|0x00400020| |0x00400030|0x0040002c - -Current pipeline PC state : -------------------------------------- -CYCLE 77:0x00400028|0x00400024|0x00400020| |0x00400030 - -Current pipeline PC state : -------------------------------------- -CYCLE 78:0x0040002c|0x00400028|0x00400024|0x00400020| - -Current pipeline PC state : -------------------------------------- -CYCLE 79:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 80:0x00400034|0x00400030|0x0040002c|0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 81:0x00400020| |0x00400030|0x0040002c|0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 82:0x00400024|0x00400020| |0x00400030|0x0040002c - -Current pipeline PC state : -------------------------------------- -CYCLE 83:0x00400028|0x00400024|0x00400020| |0x00400030 - -Current pipeline PC state : -------------------------------------- -CYCLE 84:0x0040002c|0x00400028|0x00400024|0x00400020| - -Current pipeline PC state : -------------------------------------- -CYCLE 85:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 86:0x00400034|0x00400030|0x0040002c|0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 87:0x00400020| |0x00400030|0x0040002c|0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 88:0x00400024|0x00400020| |0x00400030|0x0040002c - -Current pipeline PC state : -------------------------------------- -CYCLE 89:0x00400028|0x00400024|0x00400020| |0x00400030 - -Current pipeline PC state : -------------------------------------- -CYCLE 90:0x0040002c|0x00400028|0x00400024|0x00400020| - -Current pipeline PC state : -------------------------------------- -CYCLE 91:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 92:0x00400034|0x00400030|0x0040002c|0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 93:0x00400020| |0x00400030|0x0040002c|0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 94:0x00400024|0x00400020| |0x00400030|0x0040002c - -Current pipeline PC state : -------------------------------------- -CYCLE 95:0x00400028|0x00400024|0x00400020| |0x00400030 - -Current pipeline PC state : -------------------------------------- -CYCLE 96:0x0040002c|0x00400028|0x00400024|0x00400020| - -Current pipeline PC state : -------------------------------------- -CYCLE 97:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 98:0x00400034|0x00400030|0x0040002c|0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 99:0x00400020| |0x00400030|0x0040002c|0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 100:0x00400024|0x00400020| |0x00400030|0x0040002c - -Current pipeline PC state : -------------------------------------- -CYCLE 101:0x00400028|0x00400024|0x00400020| |0x00400030 - -Current pipeline PC state : -------------------------------------- -CYCLE 102:0x0040002c|0x00400028|0x00400024|0x00400020| - -Current pipeline PC state : -------------------------------------- -CYCLE 103:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 104:0x00400034|0x00400030|0x0040002c|0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 105:0x00400020| |0x00400030|0x0040002c|0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 106:0x00400024|0x00400020| |0x00400030|0x0040002c - -Current pipeline PC state : -------------------------------------- -CYCLE 107:0x00400028|0x00400024|0x00400020| |0x00400030 - -Current pipeline PC state : -------------------------------------- -CYCLE 108:0x0040002c|0x00400028|0x00400024|0x00400020| - -Current pipeline PC state : -------------------------------------- -CYCLE 109:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 110:0x00400034|0x00400030|0x0040002c|0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 111:0x00400020| |0x00400030|0x0040002c|0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 112:0x00400024|0x00400020| |0x00400030|0x0040002c - -Current pipeline PC state : -------------------------------------- -CYCLE 113:0x00400028|0x00400024|0x00400020| |0x00400030 - -Current pipeline PC state : -------------------------------------- -CYCLE 114:0x0040002c|0x00400028|0x00400024|0x00400020| - -Current pipeline PC state : -------------------------------------- -CYCLE 115:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 116:0x00400034|0x00400030|0x0040002c|0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 117:0x00400020| |0x00400030|0x0040002c|0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 118:0x00400024|0x00400020| |0x00400030|0x0040002c - -Current pipeline PC state : -------------------------------------- -CYCLE 119:0x00400028|0x00400024|0x00400020| |0x00400030 - -Current pipeline PC state : -------------------------------------- -CYCLE 120:0x0040002c|0x00400028|0x00400024|0x00400020| - -Current pipeline PC state : -------------------------------------- -CYCLE 121:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 122:0x00400034|0x00400030|0x0040002c|0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 123:0x00400020| |0x00400030|0x0040002c|0x00400028 - +Simulating for 100 cycles... + +Unknown function code type: 8 +Unknown function code type: 8 +Unknown function code type: 8 +Unknown function code type: 8 +Unknown function code type: 8 +Unknown function code type: 8 +Unknown function code type: 8 +Unknown function code type: 8 Current register values : ------------------------------------- -PC: 0x00400024 +PC: 0x00400010 Registers: R0: 0x00000000 R1: 0x00000000 @@ -506,7 +22,7 @@ R6: 0x00000000 R7: 0x00000000 R8: 0x00000000 R9: 0x00000001 -R10: 0x00000001 +R10: 0x00000008 R11: 0x00000000 R12: 0x00000000 R13: 0x00000000 @@ -529,5 +45,3 @@ R29: 0x00000000 R30: 0x00000000 R31: 0x00400020 -Simulator halted after 123 cycles - diff --git a/sample_output/example05 b/sample_output/example05 index 4eb106a0eef3c3d712df7d52e258240970e4012a..cadfe68874ab49516c219ea960cedcc255e6832c 100644 --- a/sample_output/example05 +++ b/sample_output/example05 @@ -1,512 +1,13 @@ -Simulating for 100 instructions... - -Current pipeline PC state : -------------------------------------- -CYCLE 1:0x00400000| | | | - -Current pipeline PC state : -------------------------------------- -CYCLE 2:0x00400004|0x00400000| | | - -Current pipeline PC state : -------------------------------------- -CYCLE 3:0x00400008|0x00400004|0x00400000| | - -Current pipeline PC state : -------------------------------------- -CYCLE 4:0x0040000c|0x00400008|0x00400004|0x00400000| - -Current pipeline PC state : -------------------------------------- -CYCLE 5:0x00400010|0x0040000c|0x00400008|0x00400004|0x00400000 - -Current pipeline PC state : -------------------------------------- -CYCLE 6:0x00400014|0x00400010|0x0040000c|0x00400008|0x00400004 - -Current pipeline PC state : -------------------------------------- -CYCLE 7:0x00400018|0x00400014|0x00400010|0x0040000c|0x00400008 - -Current pipeline PC state : -------------------------------------- -CYCLE 8:0x0040001c|0x00400018|0x00400014|0x00400010|0x0040000c - -Current pipeline PC state : -------------------------------------- -CYCLE 9:0x00400020|0x0040001c|0x00400018|0x00400014|0x00400010 - -Current pipeline PC state : -------------------------------------- -CYCLE 10:0x00400024|0x00400020|0x0040001c|0x00400018|0x00400014 - -Current pipeline PC state : -------------------------------------- -CYCLE 11:0x00400028|0x00400024|0x00400020|0x0040001c|0x00400018 - -Current pipeline PC state : -------------------------------------- -CYCLE 12:0x0040002c|0x00400028|0x00400024|0x00400020|0x0040001c - -Current pipeline PC state : -------------------------------------- -CYCLE 13:0x00400030|0x0040002c|0x00400028|0x00400024|0x00400020 - -Current pipeline PC state : -------------------------------------- -CYCLE 14:0x00400034| |0x0040002c|0x00400028|0x00400024 - -Current pipeline PC state : -------------------------------------- -CYCLE 15:0x00400038|0x00400034| |0x0040002c|0x00400028 - -Current pipeline PC state : -------------------------------------- -CYCLE 16:0x0040003c|0x00400038|0x00400034| |0x0040002c - -Current pipeline PC state : -------------------------------------- -CYCLE 17:0x0040003c|0x00400038| |0x00400034| - -Current pipeline PC state : -------------------------------------- -CYCLE 18:0x00400040|0x0040003c|0x00400038| |0x00400034 - -Current pipeline PC state : -------------------------------------- -CYCLE 19:0x00400044|0x00400040|0x0040003c|0x00400038| - -Current pipeline PC state : -------------------------------------- -CYCLE 20:0x00400048|0x00400044|0x00400040|0x0040003c|0x00400038 - -Current pipeline PC state : -------------------------------------- -CYCLE 21:0x0040004c|0x00400048|0x00400044|0x00400040|0x0040003c - -Current pipeline PC state : -------------------------------------- -CYCLE 22:0x00400050|0x0040004c|0x00400048|0x00400044|0x00400040 - -Current pipeline PC state : -------------------------------------- -CYCLE 23:0x00400054|0x00400050|0x0040004c|0x00400048|0x00400044 - -Current pipeline PC state : -------------------------------------- -CYCLE 24:0x00400034| |0x00400050|0x0040004c|0x00400048 - -Current pipeline PC state : -------------------------------------- -CYCLE 25:0x00400038|0x00400034| |0x00400050|0x0040004c - -Current pipeline PC state : -------------------------------------- -CYCLE 26:0x0040003c|0x00400038|0x00400034| |0x00400050 - -Current pipeline PC state : -------------------------------------- -CYCLE 27:0x0040003c|0x00400038| |0x00400034| - -Current pipeline PC state : -------------------------------------- -CYCLE 28:0x00400040|0x0040003c|0x00400038| |0x00400034 - -Current pipeline PC state : -------------------------------------- -CYCLE 29:0x00400044|0x00400040|0x0040003c|0x00400038| - -Current pipeline PC state : -------------------------------------- -CYCLE 30:0x00400048|0x00400044|0x00400040|0x0040003c|0x00400038 - -Current pipeline PC state : -------------------------------------- -CYCLE 31:0x0040004c|0x00400048|0x00400044|0x00400040|0x0040003c - -Current pipeline PC state : -------------------------------------- -CYCLE 32:0x00400050|0x0040004c|0x00400048|0x00400044|0x00400040 - -Current pipeline PC state : -------------------------------------- -CYCLE 33:0x00400054|0x00400050|0x0040004c|0x00400048|0x00400044 - -Current pipeline PC state : -------------------------------------- -CYCLE 34:0x00400034| |0x00400050|0x0040004c|0x00400048 - -Current pipeline PC state : -------------------------------------- -CYCLE 35:0x00400038|0x00400034| |0x00400050|0x0040004c - -Current pipeline PC state : -------------------------------------- -CYCLE 36:0x0040003c|0x00400038|0x00400034| |0x00400050 - -Current pipeline PC state : -------------------------------------- -CYCLE 37:0x0040003c|0x00400038| |0x00400034| - -Current pipeline PC state : -------------------------------------- -CYCLE 38:0x00400040|0x0040003c|0x00400038| |0x00400034 - -Current pipeline PC state : -------------------------------------- -CYCLE 39:0x00400044|0x00400040|0x0040003c|0x00400038| - -Current pipeline PC state : -------------------------------------- -CYCLE 40:0x00400048|0x00400044|0x00400040|0x0040003c|0x00400038 - -Current pipeline PC state : -------------------------------------- -CYCLE 41:0x0040004c|0x00400048|0x00400044|0x00400040|0x0040003c - -Current pipeline PC state : -------------------------------------- -CYCLE 42:0x00400050|0x0040004c|0x00400048|0x00400044|0x00400040 - -Current pipeline PC state : -------------------------------------- -CYCLE 43:0x00400054|0x00400050|0x0040004c|0x00400048|0x00400044 - -Current pipeline PC state : -------------------------------------- -CYCLE 44:0x00400034| |0x00400050|0x0040004c|0x00400048 - -Current pipeline PC state : -------------------------------------- -CYCLE 45:0x00400038|0x00400034| |0x00400050|0x0040004c - -Current pipeline PC state : -------------------------------------- -CYCLE 46:0x0040003c|0x00400038|0x00400034| |0x00400050 - -Current pipeline PC state : -------------------------------------- -CYCLE 47:0x0040003c|0x00400038| |0x00400034| - -Current pipeline PC state : -------------------------------------- -CYCLE 48:0x00400040|0x0040003c|0x00400038| |0x00400034 - -Current pipeline PC state : -------------------------------------- -CYCLE 49:0x00400044|0x00400040|0x0040003c|0x00400038| - -Current pipeline PC state : -------------------------------------- -CYCLE 50:0x00400048|0x00400044|0x00400040|0x0040003c|0x00400038 - -Current pipeline PC state : -------------------------------------- -CYCLE 51:0x0040004c|0x00400048|0x00400044|0x00400040|0x0040003c - -Current pipeline PC state : -------------------------------------- -CYCLE 52:0x00400050|0x0040004c|0x00400048|0x00400044|0x00400040 - -Current pipeline PC state : -------------------------------------- -CYCLE 53:0x00400054|0x00400050|0x0040004c|0x00400048|0x00400044 - -Current pipeline PC state : -------------------------------------- -CYCLE 54:0x00400034| |0x00400050|0x0040004c|0x00400048 - -Current pipeline PC state : -------------------------------------- -CYCLE 55:0x00400038|0x00400034| |0x00400050|0x0040004c - -Current pipeline PC state : -------------------------------------- -CYCLE 56:0x0040003c|0x00400038|0x00400034| |0x00400050 - -Current pipeline PC state : -------------------------------------- -CYCLE 57:0x0040003c|0x00400038| |0x00400034| - -Current pipeline PC state : -------------------------------------- -CYCLE 58:0x00400040|0x0040003c|0x00400038| |0x00400034 - -Current pipeline PC state : -------------------------------------- -CYCLE 59:0x00400044|0x00400040|0x0040003c|0x00400038| - -Current pipeline PC state : -------------------------------------- -CYCLE 60:0x00400048|0x00400044|0x00400040|0x0040003c|0x00400038 - -Current pipeline PC state : -------------------------------------- -CYCLE 61:0x0040004c|0x00400048|0x00400044|0x00400040|0x0040003c - -Current pipeline PC state : -------------------------------------- -CYCLE 62:0x00400050|0x0040004c|0x00400048|0x00400044|0x00400040 - -Current pipeline PC state : -------------------------------------- -CYCLE 63:0x00400054|0x00400050|0x0040004c|0x00400048|0x00400044 - -Current pipeline PC state : -------------------------------------- -CYCLE 64:0x00400034| |0x00400050|0x0040004c|0x00400048 - -Current pipeline PC state : -------------------------------------- -CYCLE 65:0x00400038|0x00400034| |0x00400050|0x0040004c - -Current pipeline PC state : -------------------------------------- -CYCLE 66:0x0040003c|0x00400038|0x00400034| |0x00400050 - -Current pipeline PC state : -------------------------------------- -CYCLE 67:0x0040003c|0x00400038| |0x00400034| - -Current pipeline PC state : -------------------------------------- -CYCLE 68:0x00400040|0x0040003c|0x00400038| |0x00400034 - -Current pipeline PC state : -------------------------------------- -CYCLE 69:0x00400044|0x00400040|0x0040003c|0x00400038| - -Current pipeline PC state : -------------------------------------- -CYCLE 70:0x00400048|0x00400044|0x00400040|0x0040003c|0x00400038 - -Current pipeline PC state : -------------------------------------- -CYCLE 71:0x0040004c|0x00400048|0x00400044|0x00400040|0x0040003c - -Current pipeline PC state : -------------------------------------- -CYCLE 72:0x00400050|0x0040004c|0x00400048|0x00400044|0x00400040 - -Current pipeline PC state : -------------------------------------- -CYCLE 73:0x00400054|0x00400050|0x0040004c|0x00400048|0x00400044 - -Current pipeline PC state : -------------------------------------- -CYCLE 74:0x00400034| |0x00400050|0x0040004c|0x00400048 - -Current pipeline PC state : -------------------------------------- -CYCLE 75:0x00400038|0x00400034| |0x00400050|0x0040004c - -Current pipeline PC state : -------------------------------------- -CYCLE 76:0x0040003c|0x00400038|0x00400034| |0x00400050 - -Current pipeline PC state : -------------------------------------- -CYCLE 77:0x0040003c|0x00400038| |0x00400034| - -Current pipeline PC state : -------------------------------------- -CYCLE 78:0x00400040|0x0040003c|0x00400038| |0x00400034 - -Current pipeline PC state : -------------------------------------- -CYCLE 79:0x00400044|0x00400040|0x0040003c|0x00400038| - -Current pipeline PC state : -------------------------------------- -CYCLE 80:0x00400048|0x00400044|0x00400040|0x0040003c|0x00400038 - -Current pipeline PC state : -------------------------------------- -CYCLE 81:0x0040004c|0x00400048|0x00400044|0x00400040|0x0040003c - -Current pipeline PC state : -------------------------------------- -CYCLE 82:0x00400050|0x0040004c|0x00400048|0x00400044|0x00400040 - -Current pipeline PC state : -------------------------------------- -CYCLE 83:0x00400054|0x00400050|0x0040004c|0x00400048|0x00400044 - -Current pipeline PC state : -------------------------------------- -CYCLE 84:0x00400034| |0x00400050|0x0040004c|0x00400048 - -Current pipeline PC state : -------------------------------------- -CYCLE 85:0x00400038|0x00400034| |0x00400050|0x0040004c - -Current pipeline PC state : -------------------------------------- -CYCLE 86:0x0040003c|0x00400038|0x00400034| |0x00400050 - -Current pipeline PC state : -------------------------------------- -CYCLE 87:0x0040003c|0x00400038| |0x00400034| - -Current pipeline PC state : -------------------------------------- -CYCLE 88:0x00400040|0x0040003c|0x00400038| |0x00400034 - -Current pipeline PC state : -------------------------------------- -CYCLE 89:0x00400044|0x00400040|0x0040003c|0x00400038| - -Current pipeline PC state : -------------------------------------- -CYCLE 90:0x00400048|0x00400044|0x00400040|0x0040003c|0x00400038 - -Current pipeline PC state : -------------------------------------- -CYCLE 91:0x0040004c|0x00400048|0x00400044|0x00400040|0x0040003c - -Current pipeline PC state : -------------------------------------- -CYCLE 92:0x00400050|0x0040004c|0x00400048|0x00400044|0x00400040 - -Current pipeline PC state : -------------------------------------- -CYCLE 93:0x00400054|0x00400050|0x0040004c|0x00400048|0x00400044 - -Current pipeline PC state : -------------------------------------- -CYCLE 94:0x00400034| |0x00400050|0x0040004c|0x00400048 - -Current pipeline PC state : -------------------------------------- -CYCLE 95:0x00400038|0x00400034| |0x00400050|0x0040004c - -Current pipeline PC state : -------------------------------------- -CYCLE 96:0x0040003c|0x00400038|0x00400034| |0x00400050 - -Current pipeline PC state : -------------------------------------- -CYCLE 97:0x0040003c|0x00400038| |0x00400034| - -Current pipeline PC state : -------------------------------------- -CYCLE 98:0x00400040|0x0040003c|0x00400038| |0x00400034 - -Current pipeline PC state : -------------------------------------- -CYCLE 99:0x00400044|0x00400040|0x0040003c|0x00400038| - -Current pipeline PC state : -------------------------------------- -CYCLE 100:0x00400048|0x00400044|0x00400040|0x0040003c|0x00400038 - -Current pipeline PC state : -------------------------------------- -CYCLE 101:0x0040004c|0x00400048|0x00400044|0x00400040|0x0040003c - -Current pipeline PC state : -------------------------------------- -CYCLE 102:0x00400050|0x0040004c|0x00400048|0x00400044|0x00400040 - -Current pipeline PC state : -------------------------------------- -CYCLE 103:0x00400054|0x00400050|0x0040004c|0x00400048|0x00400044 - -Current pipeline PC state : -------------------------------------- -CYCLE 104:0x00400034| |0x00400050|0x0040004c|0x00400048 - -Current pipeline PC state : -------------------------------------- -CYCLE 105:0x00400038|0x00400034| |0x00400050|0x0040004c - -Current pipeline PC state : -------------------------------------- -CYCLE 106:0x0040003c|0x00400038|0x00400034| |0x00400050 - -Current pipeline PC state : -------------------------------------- -CYCLE 107:0x0040003c|0x00400038| |0x00400034| - -Current pipeline PC state : -------------------------------------- -CYCLE 108:0x00400040|0x0040003c|0x00400038| |0x00400034 - -Current pipeline PC state : -------------------------------------- -CYCLE 109:0x00400044|0x00400040|0x0040003c|0x00400038| - -Current pipeline PC state : -------------------------------------- -CYCLE 110:0x00400048|0x00400044|0x00400040|0x0040003c|0x00400038 - -Current pipeline PC state : -------------------------------------- -CYCLE 111:0x0040004c|0x00400048|0x00400044|0x00400040|0x0040003c - -Current pipeline PC state : -------------------------------------- -CYCLE 112:0x00400050|0x0040004c|0x00400048|0x00400044|0x00400040 - -Current pipeline PC state : -------------------------------------- -CYCLE 113:0x00400054|0x00400050|0x0040004c|0x00400048|0x00400044 - -Current pipeline PC state : -------------------------------------- -CYCLE 114:0x00400034| |0x00400050|0x0040004c|0x00400048 - -Current pipeline PC state : -------------------------------------- -CYCLE 115:0x00400038|0x00400034| |0x00400050|0x0040004c - -Current pipeline PC state : -------------------------------------- -CYCLE 116:0x0040003c|0x00400038|0x00400034| |0x00400050 - -Current pipeline PC state : -------------------------------------- -CYCLE 117:0x0040003c|0x00400038| |0x00400034| - -Current pipeline PC state : -------------------------------------- -CYCLE 118:0x00400040|0x0040003c|0x00400038| |0x00400034 - -Current pipeline PC state : -------------------------------------- -CYCLE 119:0x00400044|0x00400040|0x0040003c|0x00400038| - -Current pipeline PC state : -------------------------------------- -CYCLE 120:0x00400048|0x00400044|0x00400040|0x0040003c|0x00400038 - -Current pipeline PC state : -------------------------------------- -CYCLE 121:0x0040004c|0x00400048|0x00400044|0x00400040|0x0040003c - -Current pipeline PC state : -------------------------------------- -CYCLE 122:0x00400050|0x0040004c|0x00400048|0x00400044|0x00400040 - -Current pipeline PC state : -------------------------------------- -CYCLE 123:0x00400054|0x00400050|0x0040004c|0x00400048|0x00400044 - -Current pipeline PC state : -------------------------------------- -CYCLE 124:0x00400034| |0x00400050|0x0040004c|0x00400048 - -Current pipeline PC state : -------------------------------------- -CYCLE 125:0x00400038|0x00400034| |0x00400050|0x0040004c - -Current pipeline PC state : -------------------------------------- -CYCLE 126:0x0040003c|0x00400038|0x00400034| |0x00400050 +Simulating for 100 cycles... +Unknown function code type: 8 +Unknown function code type: 8 +Unknown function code type: 8 +Unknown function code type: 8 +Unknown function code type: 8 Current register values : ------------------------------------- -PC: 0x00400040 +PC: 0x0040003c Registers: R0: 0x00000000 R1: 0x00000000 @@ -518,15 +19,15 @@ R6: 0x7fffffff R7: 0xfffffffc R8: 0x00000000 R9: 0x00000001 -R10: 0x00000001 +R10: 0x00000006 R11: 0x00000000 R12: 0xffffff9c R13: 0xffffffff R14: 0xffffffff R15: 0x1000000c R16: 0x00000000 -R17: 0x00000000 -R18: 0x00000000 +R17: 0x10000000 +R18: 0x00000003 R19: 0x00000000 R20: 0x00000000 R21: 0x00000000 @@ -541,5 +42,3 @@ R29: 0x00000000 R30: 0x00000000 R31: 0x00400034 -Simulator halted after 126 cycles - diff --git a/sample_output/fact b/sample_output/fact new file mode 100644 index 0000000000000000000000000000000000000000..4c21247ce4f24b119e7bae088b64211309f217f7 --- /dev/null +++ b/sample_output/fact @@ -0,0 +1,39 @@ +Simulating for 100 cycles... + +Current register values : +------------------------------------- +PC: 0x00400014 +Registers: +R0: 0x00000000 +R1: 0x00000000 +R2: 0x00000001 +R3: 0x00000000 +R4: 0xffffffec +R5: 0x00000000 +R6: 0x00000000 +R7: 0x00000000 +R8: 0x00000000 +R9: 0x00000000 +R10: 0x00000000 +R11: 0x00000000 +R12: 0x00000000 +R13: 0x00000000 +R14: 0x00000000 +R15: 0x00000000 +R16: 0x00000000 +R17: 0x00000000 +R18: 0x00000000 +R19: 0x00000000 +R20: 0x00000000 +R21: 0x00000000 +R22: 0x00000000 +R23: 0x00000000 +R24: 0x00000000 +R25: 0x00000000 +R26: 0x00000000 +R27: 0x00000000 +R28: 0x00000000 +R29: 0x00000000 +R30: 0x00000000 +R31: 0x0040001c + diff --git a/sample_output/leaf_example b/sample_output/leaf_example index 91abf4ae112793d893e10bc096f1c6de12a13360..6a20083a6545bcddbf823514469a0cb836b93b0f 100644 --- a/sample_output/leaf_example +++ b/sample_output/leaf_example @@ -1,82 +1,29 @@ -Simulating for 100 instructions... +Simulating for 100 cycles... -Current pipeline PC state : -------------------------------------- -CYCLE 1:0x00400000| | | | - -Current pipeline PC state : -------------------------------------- -CYCLE 2:0x00400004|0x00400000| | | - -Current pipeline PC state : -------------------------------------- -CYCLE 3:0x00400008|0x00400004|0x00400000| | - -Current pipeline PC state : -------------------------------------- -CYCLE 4:0x0040000c|0x00400008|0x00400004|0x00400000| - -Current pipeline PC state : -------------------------------------- -CYCLE 5:0x00400010|0x0040000c|0x00400008|0x00400004|0x00400000 - -Current pipeline PC state : -------------------------------------- -CYCLE 6:0x00400014|0x00400010|0x0040000c|0x00400008|0x00400004 - -Current pipeline PC state : -------------------------------------- -CYCLE 7:0x00400018|0x00400014|0x00400010|0x0040000c|0x00400008 - -Current pipeline PC state : -------------------------------------- -CYCLE 8:0x00400018|0x00400014| |0x00400010|0x0040000c - -Current pipeline PC state : -------------------------------------- -CYCLE 9:0x0040001c|0x00400018|0x00400014| |0x00400010 - -Current pipeline PC state : -------------------------------------- -CYCLE 10:0x00400020|0x0040001c|0x00400018|0x00400014| - -Current pipeline PC state : -------------------------------------- -CYCLE 11: |0x00400020|0x0040001c|0x00400018|0x00400014 - -Current pipeline PC state : -------------------------------------- -CYCLE 12: | |0x00400020|0x0040001c|0x00400018 - -Current pipeline PC state : -------------------------------------- -CYCLE 13: | | |0x00400020|0x0040001c - -Current pipeline PC state : -------------------------------------- -CYCLE 14: | | | |0x00400020 +Run bit unset pc: 400010 +Simulator halted Current register values : ------------------------------------- -PC: 0x00400024 +PC: 0x00400010 Registers: R0: 0x00000000 R1: 0x00000000 -R2: 0x00000004 +R2: 0x00000000 R3: 0x00000000 -R4: 0x00000001 -R5: 0x00000002 -R6: 0x00000003 -R7: 0x00000004 -R8: 0x00000003 -R9: 0x00000007 +R4: 0x00000000 +R5: 0x00000000 +R6: 0x00000000 +R7: 0x00000000 +R8: 0x00000000 +R9: 0x00000000 R10: 0x00000000 R11: 0x00000000 R12: 0x00000000 R13: 0x00000000 R14: 0x00000000 R15: 0x00000000 -R16: 0x00000004 +R16: 0x00000000 R17: 0x00000000 R18: 0x00000000 R19: 0x00000000 @@ -93,5 +40,3 @@ R29: 0x00000000 R30: 0x00000000 R31: 0x00000000 -Simulator halted after 14 cycles - diff --git a/util.c b/util.c index 84a8e6396f264f96c04cb085493dae73d9b9d061..61a436d818c6afbfa9b58956f7667dc80a0599e2 100644 --- a/util.c +++ b/util.c @@ -9,8 +9,8 @@ /***************************************************************/ /* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */ -/* DO NOT MODIFY THIS FILE! */ -/* You should only modify the run.c, run.h and util.h file! */ +/* DO NOT MODIFY THIS FILE! */ +/* You should only the parse.c and run.c files! */ /* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */ #include "util.h" @@ -32,14 +32,8 @@ mem_region_t MEM_REGIONS[] = { /***************************************************************/ CPU_State CURRENT_STATE; int RUN_BIT; /* run bit */ -int FETCH_BIT; /* instruction fetch bit */ int INSTRUCTION_COUNT; -uint64_t MAX_INSTRUCTION_NUM; -uint64_t CYCLE_COUNT; -int BR_BIT; -int FORWARDING_BIT; - /***************************************************************/ /* CPU State info. */ /***************************************************************/ @@ -53,7 +47,7 @@ int NUM_INST; /* Purpose: To parse main function argument */ /* */ /***************************************************************/ -char** str_split(char *a_str, const char a_delim){ +char** str_split(char *a_str, const char a_delim) { char** result = 0; size_t count = 0; char* tmp = a_str; @@ -63,12 +57,12 @@ char** str_split(char *a_str, const char a_delim){ delim[1] = 0; /* Count how many elements will be extracted. */ - while (*tmp){ - if (a_delim == *tmp){ - count++; - last_comma = tmp; - } - tmp++; + while (*tmp) { + if (a_delim == *tmp) { + count++; + last_comma = tmp; + } + tmp++; } /* Add space for trailing token. */ @@ -80,17 +74,17 @@ char** str_split(char *a_str, const char a_delim){ result = malloc(sizeof(char*) * count); - if (result){ - size_t idx = 0; - char* token = strtok(a_str, delim); - - while (token){ - assert(idx < count); - *(result + idx++) = strdup(token); - token = strtok(0, delim); - } - assert(idx == count - 1); - *(result + idx) = 0; + if (result) { + size_t idx = 0; + char* token = strtok(a_str, delim); + + while (token) { + assert(idx < count); + *(result + idx++) = strdup(token); + token = strtok(0, delim); + } + assert(idx == count - 1); + *(result + idx) = 0; } return result; @@ -103,7 +97,7 @@ char** str_split(char *a_str, const char a_delim){ /* Purpose: From binary to integer */ /* */ /***************************************************************/ -int fromBinary(const char *s){ +int fromBinary(const char *s) { return (int) strtol(s, NULL, 2); } @@ -114,31 +108,22 @@ int fromBinary(const char *s){ /* Purpose: Read a 32-bit word from memory */ /* */ /***************************************************************/ -uint32_t mem_read_32(uint32_t address){ +uint32_t mem_read_32(uint32_t address) +{ int i; - int valid_flag = 0; - for (i = 0; i < MEM_NREGIONS; i++) { - if (address >= MEM_REGIONS[i].start && - address < (MEM_REGIONS[i].start + MEM_REGIONS[i].size)) { - uint32_t offset = address - MEM_REGIONS[i].start; - - valid_flag = 1; - - return - (MEM_REGIONS[i].mem[offset+3] << 24) | - (MEM_REGIONS[i].mem[offset+2] << 16) | - (MEM_REGIONS[i].mem[offset+1] << 8) | - (MEM_REGIONS[i].mem[offset+0] << 0); - } - } - - if (!valid_flag){ - printf("Memory Read Error: Exceed memory boundary 0x%x\n", address); - exit(1); + if (address >= MEM_REGIONS[i].start && + address < (MEM_REGIONS[i].start + MEM_REGIONS[i].size)) { + uint32_t offset = address - MEM_REGIONS[i].start; + + return + (MEM_REGIONS[i].mem[offset+3] << 24) | + (MEM_REGIONS[i].mem[offset+2] << 16) | + (MEM_REGIONS[i].mem[offset+1] << 8) | + (MEM_REGIONS[i].mem[offset+0] << 0); + } } - return 0; } @@ -149,27 +134,20 @@ uint32_t mem_read_32(uint32_t address){ /* Purpose: Write a 32-bit word to memory */ /* */ /***************************************************************/ -void mem_write_32(uint32_t address, uint32_t value){ +void mem_write_32(uint32_t address, uint32_t value) +{ int i; - int valid_flag = 0; - for (i = 0; i < MEM_NREGIONS; i++) { - if (address >= MEM_REGIONS[i].start && - address < (MEM_REGIONS[i].start + MEM_REGIONS[i].size)) { - uint32_t offset = address - MEM_REGIONS[i].start; - - valid_flag = 1; - - MEM_REGIONS[i].mem[offset+3] = (value >> 24) & 0xFF; - MEM_REGIONS[i].mem[offset+2] = (value >> 16) & 0xFF; - MEM_REGIONS[i].mem[offset+1] = (value >> 8) & 0xFF; - MEM_REGIONS[i].mem[offset+0] = (value >> 0) & 0xFF; - return; - } - } - if(!valid_flag){ - printf("Memory Write Error: Exceed memory boundary 0x%x\n", address); - exit(1); + if (address >= MEM_REGIONS[i].start && + address < (MEM_REGIONS[i].start + MEM_REGIONS[i].size)) { + uint32_t offset = address - MEM_REGIONS[i].start; + + MEM_REGIONS[i].mem[offset+3] = (value >> 24) & 0xFF; + MEM_REGIONS[i].mem[offset+2] = (value >> 16) & 0xFF; + MEM_REGIONS[i].mem[offset+1] = (value >> 8) & 0xFF; + MEM_REGIONS[i].mem[offset+0] = (value >> 0) & 0xFF; + return; + } } } @@ -180,53 +158,38 @@ void mem_write_32(uint32_t address, uint32_t value){ /* Purpose : Execute a cycle */ /* */ /***************************************************************/ -void cycle(){ +void cycle() { process_instruction(); - if(INSTRUCTION_COUNT >= MAX_INSTRUCTION_NUM) - RUN_BIT = FALSE; - CYCLE_COUNT++; + INSTRUCTION_COUNT++; + + //for debug + //printf("%2d - Current PC: %x\n", INSTRUCTION_COUNT, CURRENT_STATE.PC); } /***************************************************************/ /* */ /* Procedure : run n */ /* */ -/* Purpose : Simulate MIPS for n instructions */ +/* Purpose : Simulate MIPS for n cycles */ /* */ /***************************************************************/ -void run() { +void run(int num_cycles) { int i; if (RUN_BIT == FALSE) { - printf("Can't simulate, Simulator is halted\n\n"); - return; + printf("Can't simulate, Simulator is halted\n\n"); + return; } - printf("Simulating for %lu instructions...\n\n", MAX_INSTRUCTION_NUM); - - while (RUN_BIT) - cycle(); - printf("Simulator halted after %lu cycles\n\n", CYCLE_COUNT); -} - -/***************************************************************/ -/* */ -/* Procedure : go */ -/* */ -/* Purpose : Simulate MIPS until HALTed */ -/* */ -/***************************************************************/ -void go() { - if (RUN_BIT == FALSE) { - printf("Can't simulate, Simulator is halted\n\n"); - return; + printf("Simulating for %d cycles...\n\n", num_cycles); + for (i = 0; i < num_cycles; i++) { + if (RUN_BIT == FALSE) { + printf("Simulator halted\n\n"); + break; + } + cycle(); } - - printf("Simulating...\n\n"); - while (RUN_BIT) - cycle(); - printf("Simulator halted after %lu cycles\n\n", CYCLE_COUNT); } /***************************************************************/ @@ -238,12 +201,12 @@ void go() { /* */ /***************************************************************/ void mdump(int start, int stop) { - int address; + uint32_t address; printf("Memory content [0x%08x..0x%08x] :\n", start, stop); printf("-------------------------------------\n"); for (address = start; address <= stop; address += 4) - printf("0x%08x: 0x%08x\n", address, mem_read_32(address)); + printf("0x%08x: 0x%08x\n", address, mem_read_32(address)); printf("\n"); } @@ -263,36 +226,10 @@ void rdump() { printf("PC: 0x%08x\n", CURRENT_STATE.PC); printf("Registers:\n"); for (k = 0; k < MIPS_REGS; k++) - printf("R%d: 0x%08x\n", k, CURRENT_STATE.REGS[k]); + printf("R%d: 0x%08x\n", k, CURRENT_STATE.REGS[k]); printf("\n"); } -/***************************************************************/ -/* */ -/* Procedure : pdump */ -/* */ -/* Purpose : Dump current pipeline PC state */ -/* */ -/***************************************************************/ -void pdump() { - int k; - - printf("Current pipeline PC state :\n"); - printf("-------------------------------------\n"); - printf("CYCLE %lu:", CYCLE_COUNT ); - for(k = 0; k < 5; k++) - { - if(CURRENT_STATE.PIPE[k]) - printf("0x%08x", CURRENT_STATE.PIPE[k]); - else - printf(" "); - - if( k != PIPE_STAGE - 1 ) - printf("|"); - } - printf("\n\n"); -} - /***************************************************************/ /* */ /* Procedure : init_memory */ @@ -303,8 +240,8 @@ void pdump() { void init_memory() { int i; for (i = 0; i < MEM_NREGIONS; i++) { - MEM_REGIONS[i].mem = malloc(MEM_REGIONS[i].size); - memset(MEM_REGIONS[i].mem, 0, MEM_REGIONS[i].size); + MEM_REGIONS[i].mem = malloc(MEM_REGIONS[i].size); + memset(MEM_REGIONS[i].mem, 0, MEM_REGIONS[i].size); } } @@ -315,20 +252,18 @@ void init_memory() { /* Purpose : Initialize instruction info */ /* */ /***************************************************************/ -void init_inst_info() -{ +void init_inst_info() { int i; - for(i = 0; i < NUM_INST; i++) - { - INST_INFO[i].value = 0; - INST_INFO[i].opcode = 0; - INST_INFO[i].func_code = 0; - INST_INFO[i].r_t.r_i.rs = 0; - INST_INFO[i].r_t.r_i.rt = 0; - INST_INFO[i].r_t.r_i.r_i.r.rd = 0; - INST_INFO[i].r_t.r_i.r_i.imm = 0; - INST_INFO[i].r_t.r_i.r_i.r.shamt = 0; - INST_INFO[i].r_t.target = 0; + for(i = 0; i < NUM_INST; i++) { + INST_INFO[i].value = 0; + INST_INFO[i].opcode = 0; + INST_INFO[i].func_code = 0; + INST_INFO[i].r_t.r_i.rs = 0; + INST_INFO[i].r_t.r_i.rt = 0; + INST_INFO[i].r_t.r_i.r_i.r.rd = 0; + INST_INFO[i].r_t.r_i.r_i.imm = 0; + INST_INFO[i].r_t.r_i.r_i.r.shamt = 0; + INST_INFO[i].r_t.target = 0; } } diff --git a/util.h b/util.h index 25718d1fc8fd981a24affd61ddf5011e599dd336..adadc1464875a278e25fc7aa1231b3109fd6dfd2 100644 --- a/util.h +++ b/util.h @@ -8,6 +8,11 @@ /* */ /***************************************************************/ +/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */ +/* DO NOT MODIFY THIS FILE! */ +/* You should only the parse.c and run.c files! */ +/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */ + #ifndef _UTIL_H_ #define _UTIL_H_ @@ -27,65 +32,15 @@ #define MEM_DATA_SIZE 0x00100000 #define MIPS_REGS 32 #define BYTES_PER_WORD 4 -#define PIPE_STAGE 5 +#define PIPE_STAGE 5 // 5 piple stages -#define IF_STAGE 0 -#define ID_STAGE 1 -#define EX_STAGE 2 -#define MEM_STAGE 3 -#define WB_STAGE 4 -/* You may add pipeline registers that you require */ -typedef struct CPU_State_Struct { - uint32_t PC; /* program counter for the IF stage*/ - uint32_t REGS[MIPS_REGS]; /* register file */ - uint32_t REGS_LOCK[MIPS_REGS]; /* register lock to support stalls - Lock registers when data is not ready*/ - - uint32_t PIPE[PIPE_STAGE]; /* PC being executed at each stage*/ - uint32_t PIPE_STALL[PIPE_STAGE]; - - //IF_ID_latch - uint32_t IF_ID_INST; - uint32_t IF_ID_NPC; - - //ID_EX_latch - uint32_t ID_EX_NPC; - uint32_t ID_EX_REG1; - uint32_t ID_EX_REG2; - short ID_EX_IMM; - unsigned char ID_EX_DEST; - - //EX_MEM_latch - uint32_t EX_MEM_NPC; - uint32_t EX_MEM_ALU_OUT; - uint32_t EX_MEM_W_VALUE; - uint32_t EX_MEM_BR_TARGET; - uint32_t EX_MEM_BR_TAKE; - unsigned char EX_MEM_DEST; - - //MEM_WB_latch - uint32_t MEM_WB_NPC; - uint32_t MEM_WB_ALU_OUT; - uint32_t MEM_WB_MEM_OUT; - uint32_t MEM_WB_BR_TAKE; - unsigned char MEM_WB_DEST; - - //Forwarding - unsigned char EX_MEM_FORWARD_REG; - unsigned char MEM_WB_FORWARD_REG; - uint32_t EX_MEM_FORWARD_VALUE; - uint32_t MEM_WB_FORWARD_VALUE; - - //To choose right PC - uint32_t IF_PC; - uint32_t JUMP_PC; - uint32_t BRANCH_PC; -} CPU_State; +/* You should decode your instructions from the + * ASCII-binary format to this structured format */ typedef struct inst_s { short opcode; - + /*R-type*/ short func_code; @@ -108,19 +63,105 @@ typedef struct inst_s { uint32_t target; } r_t; - uint32_t value; - - //int32 encoding; - //imm_expr *expr; - //char *source_line; + int value; } instruction; +typedef struct IF_ID_Struct { + instruction INSTR; + + uint32_t NPC; +} IF_ID; + +typedef struct ID_EX_Struct { + uint32_t NPC; + + uint32_t REG1; // Register value 1 + uint32_t REG2; // Register value 2 + + char RS; + char RD; + char RT; + uint32_t IMM; // Immediate Field + char SHAMT; + char DEST; + + char ALUOp; + // 1: add (ADDIU, ADDU, LW, SW) + // 2: sub (SUBU, BEQ, BNE) + // 3: AND (AND, ANDI) + // 4: OR (OR, ORI, NOR) + // 5: Shift Left (SLL) + // 6: Shift Right (SRL) + // 7: Set Less Than (SLTIU, SLTU) + // 8: Shift Left 16 (LUI) + // 9: JAL (JAL) + char ALUSrc; // Second Operand from Immediate -> 1 + char ALUNeg; // NOR or BNE -> 1 + + char Branch; // branch -> 1 + char MemRead; + char MemWrite; + + char RegWrite; + char MemtoReg; + char LoadUse; +} ID_EX; + + +typedef struct EX_MEM_Struct { + uint32_t MemValue; + uint32_t DEST; + uint32_t ALU_OUT; + uint32_t BR_TARGET; + + char Branch; + char MemRead; + char MemWrite; + + char RegWrite; + char MemtoReg; +} EX_MEM; + +typedef struct MEM_WB_Struct { + uint32_t PC; + uint32_t DEST; + uint32_t MEM_OUT; + uint32_t ALU_OUT; + + char RegWrite; + char MemtoReg; +} MEM_WB; + + +typedef struct CPU_State_Struct { + uint32_t PC; /* program counter */ + uint32_t REGS[MIPS_REGS]; /* register file. */ + uint32_t PIPE[PIPE_STAGE]; /* pipeline stage */ + + IF_ID if_id; + ID_EX id_ex; + EX_MEM ex_mem; + MEM_WB mem_wb; + + uint32_t STALL; /* The number of needed stalls. Fetch when 0 */ + uint32_t FLUSH; + char LoadUse; +} CPU_State; + + +/* All simulated memory will be managed by this structure + * use the mem_write_32() and mem_read_32() functions to + * access/modify the simulated memory */ typedef struct { uint32_t start, size; uint8_t *mem; } mem_region_t; + + + + /* For PC * Registers */ extern CPU_State CURRENT_STATE; @@ -133,29 +174,21 @@ extern mem_region_t MEM_REGIONS[2]; /* For Execution */ extern int RUN_BIT; /* run bit */ -extern int FETCH_BIT; /* instruction fetch bit */ extern int INSTRUCTION_COUNT; -extern int BR_BIT; /* Branch predictor enabled */ -extern int FORWARDING_BIT; -extern uint64_t MAX_INSTRUCTION_NUM; -extern uint64_t CYCLE_COUNT; - /* Functions */ char** str_split(char *a_str, const char a_delim); -int fromBinary(const char *s); +int fromBinary(const char *s); uint32_t mem_read_32(uint32_t address); void mem_write_32(uint32_t address, uint32_t value); void cycle(); -void run(); -void go(); +void run(int num_cycles); void mdump(int start, int stop); void rdump(); -void pdump(); void init_memory(); void init_inst_info(); -/* YOU IMPLEMENT THIS FUNCTION in the run.c file */ +/* YOU IMPLEMENT THIS FUNCTION */ void process_instruction(); #endif