From 970c356d6fcc2c6b52768730a660db7b6e2f79cc Mon Sep 17 00:00:00 2001 From: jdh8d <jdh8d@git.zephyr-software.com> Date: Mon, 13 Jul 2015 13:10:15 +0000 Subject: [PATCH] better sconsing, and typedef updates for the CFG class. Former-commit-id: fc99773a27cc60db082db9087c16f805fba79b12 --- SConscript | 2 -- libEXEIO/src/SConscript | 4 ++-- libEXEIO/test/SConscript | 4 ++-- libIRDB/include/cfg/BasicBlock.hpp | 19 +++++++++++-------- libIRDB/include/cfg/CFG.hpp | 4 +++- 5 files changed, 18 insertions(+), 15 deletions(-) diff --git a/SConscript b/SConscript index f01fcda41..fcb438d65 100644 --- a/SConscript +++ b/SConscript @@ -68,8 +68,6 @@ if "CYGWIN" in sysname: Export('env') -#print 'env=' -#print env.Dump() libPEBLISS=SConscript("pebliss/trunk/pe_lib/SConscript", variant_dir='scons_build/libPEBLISS') libEXEIO=SConscript("libEXEIO/SConscript", variant_dir='scons_build/libEXEIO') libbea=SConscript("beaengine/SConscript", variant_dir='scons_build/beaengine') diff --git a/libEXEIO/src/SConscript b/libEXEIO/src/SConscript index edc6d2869..64db2b457 100644 --- a/libEXEIO/src/SConscript +++ b/libEXEIO/src/SConscript @@ -1,7 +1,7 @@ import os Import('env') -myenv=env +myenv=env.Clone() myenv.Replace(SECURITY_TRANSFORMS_HOME=os.environ['SECURITY_TRANSFORMS_HOME']) @@ -18,7 +18,7 @@ cpppath=''' ''' #myenv.Append(CCFLAGS="-Wp,-w -Wall") -myenv.Append(CCFLAGS="-w") +myenv.Append(CCFLAGS=" -w ") myenv=myenv.Clone(CPPPATH=Split(cpppath)) lib=myenv.Library(libname, Split(files)) diff --git a/libEXEIO/test/SConscript b/libEXEIO/test/SConscript index a8581a4c8..16d2be4fe 100644 --- a/libEXEIO/test/SConscript +++ b/libEXEIO/test/SConscript @@ -1,7 +1,7 @@ import os Import('env') -myenv=env +myenv=env.Clone() myenv.Replace(SECURITY_TRANSFORMS_HOME=os.environ['SECURITY_TRANSFORMS_HOME']) @@ -21,7 +21,7 @@ libpath=''' ''' #myenv.Append(CCFLAGS="-Wp,-w -Wall") -myenv.Append(CCFLAGS="-g") +myenv.Append(CCFLAGS=" -g ") libs= ''' EXEIO diff --git a/libIRDB/include/cfg/BasicBlock.hpp b/libIRDB/include/cfg/BasicBlock.hpp index 0a7b85a50..bd61587db 100644 --- a/libIRDB/include/cfg/BasicBlock.hpp +++ b/libIRDB/include/cfg/BasicBlock.hpp @@ -19,6 +19,9 @@ */ +class BasicBlock_t; +typedef std::set<BasicBlock_t*> BasicBlockSet_t; +typedef std::vector<Instruction_t*> InstructionVector_t; class BasicBlock_t { @@ -29,10 +32,10 @@ class BasicBlock_t bool GetIsExitBlock() { return is_exit_block; } void SetIsExitBlock(bool is_exit) { is_exit_block=is_exit; } - std::vector<Instruction_t*>& GetInstructions() { return instructions; } - std::set<BasicBlock_t*>& GetPredecessors() { return predecessors; } - std::set<BasicBlock_t*>& GetSuccessors() { return successors; } - std::set<BasicBlock_t*>& GetIndirectTargets() { return indirect_targets; } + InstructionVector_t& GetInstructions() { return instructions; } + BasicBlockSet_t& GetPredecessors() { return predecessors; } + BasicBlockSet_t& GetSuccessors() { return successors; } + BasicBlockSet_t& GetIndirectTargets() { return indirect_targets; } BasicBlock_t* GetFallthrough(); BasicBlock_t* GetTarget(); @@ -49,10 +52,10 @@ class BasicBlock_t private: - std::vector<Instruction_t*> instructions; - std::set<BasicBlock_t*> predecessors; - std::set<BasicBlock_t*> successors; - std::set<BasicBlock_t*> indirect_targets; + InstructionVector_t instructions; + BasicBlockSet_t predecessors; + BasicBlockSet_t successors; + BasicBlockSet_t indirect_targets; bool is_exit_block; friend std::ostream& operator<<(std::ostream& os, const BasicBlock_t& block); diff --git a/libIRDB/include/cfg/CFG.hpp b/libIRDB/include/cfg/CFG.hpp index ee2c6a130..afb0e63bb 100644 --- a/libIRDB/include/cfg/CFG.hpp +++ b/libIRDB/include/cfg/CFG.hpp @@ -20,6 +20,8 @@ +typedef std::set<BasicBlock_t*> BasicBlockSet_t; + class ControlFlowGraph_t { public: @@ -39,7 +41,7 @@ class ControlFlowGraph_t /* friends */ public: friend std::ostream& operator<<(std::ostream& os, const ControlFlowGraph_t& cfg); - std::set<BasicBlock_t*>& GetBlocks() { return blocks; } + BasicBlockSet_t& GetBlocks() { return blocks; } }; -- GitLab