[ros-diffs] [hpoussin] 32593: Prevent some FileLocation copies (in LinkerScript and PchFile classes)

hpoussin at svn.reactos.org hpoussin at svn.reactos.org
Sun Mar 9 12:35:01 CET 2008


Author: hpoussin
Date: Fri Mar  7 09:16:26 2008
New Revision: 32593

URL: http://svn.reactos.org/svn/reactos?rev=3D32593&view=3Drev
Log:
Prevent some FileLocation copies (in LinkerScript and PchFile classes)

Modified:
    trunk/reactos/tools/rbuild/automaticdependency.cpp
    trunk/reactos/tools/rbuild/backend/codeblocks/codeblocks.cpp
    trunk/reactos/tools/rbuild/backend/mingw/modulehandler.cpp
    trunk/reactos/tools/rbuild/backend/msvc/vcprojmaker.cpp
    trunk/reactos/tools/rbuild/linkerscript.cpp
    trunk/reactos/tools/rbuild/module.cpp
    trunk/reactos/tools/rbuild/rbuild.h

Modified: trunk/reactos/tools/rbuild/automaticdependency.cpp
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/rbuild/automati=
cdependency.cpp?rev=3D32593&r1=3D32592&r2=3D32593&view=3Ddiff
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/reactos/tools/rbuild/automaticdependency.cpp (original)
+++ trunk/reactos/tools/rbuild/automaticdependency.cpp Fri Mar  7 09:16:26 =
2008
@@ -301,7 +301,7 @@
 =

 	if ( module.pch !=3D NULL )
 	{
-		const FileLocation& pch =3D module.pch->file;
+		const FileLocation& pch =3D *module.pch->file;
 		File *file =3D new File ( pch.directory, pch.relative_path, pch.name , f=
alse, "", true );
 		files.push_back ( file );
 	}

Modified: trunk/reactos/tools/rbuild/backend/codeblocks/codeblocks.cpp
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/rbuild/backend/=
codeblocks/codeblocks.cpp?rev=3D32593&r1=3D32592&r2=3D32593&view=3Ddiff
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/reactos/tools/rbuild/backend/codeblocks/codeblocks.cpp (original)
+++ trunk/reactos/tools/rbuild/backend/codeblocks/codeblocks.cpp Fri Mar  7=
 09:16:26 2008
@@ -399,7 +399,7 @@
 	if ( module.pch !=3D NULL )
 	{
 		string pch_path =3D Path::RelativeFromDirectory (
-					module.pch->file.name,
+					module.pch->file->name,
 					module.output->relative_path );
 =

 		header_files.push_back ( pch_path );

Modified: trunk/reactos/tools/rbuild/backend/mingw/modulehandler.cpp
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/rbuild/backend/=
mingw/modulehandler.cpp?rev=3D32593&r1=3D32592&r2=3D32593&view=3Ddiff
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/reactos/tools/rbuild/backend/mingw/modulehandler.cpp (original)
+++ trunk/reactos/tools/rbuild/backend/mingw/modulehandler.cpp Fri Mar  7 0=
9:16:26 2008
@@ -1236,8 +1236,8 @@
 	if ( !module.pch || !use_pch )
 		return NULL;
 	return new FileLocation ( IntermediateDirectory,
-	                          module.pch->file.relative_path,
-	                          ReplaceExtension ( module.pch->file.name, "_" +=
 module.name + ".gch" ) );
+	                          module.pch->file->relative_path,
+	                          ReplaceExtension ( module.pch->file->name, "_" =
+ module.name + ".gch" ) );
 }
 =

 Rule arRule1 ( "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noex=
t).a: $($(module_name)_OBJS) | $(INTERMEDIATE)$(SEP)$(source_dir)\n",
@@ -1649,7 +1649,7 @@
 =

 	string linkerScriptArgument;
 	if ( module.linkerScript !=3D NULL )
-		linkerScriptArgument =3D ssprintf ( " -Wl,-T,%s", backend->GetFullName (=
 module.linkerScript->file ).c_str () );
+		linkerScriptArgument =3D ssprintf ( " -Wl,-T,%s", backend->GetFullName (=
 *module.linkerScript->file ).c_str () );
 	else
 		linkerScriptArgument =3D "";
 =

@@ -1807,7 +1807,7 @@
 		string cc =3D ( module.host =3D=3D HostTrue ? "${host_gcc}" : "${gcc}" );
 		string cppc =3D ( module.host =3D=3D HostTrue ? "${host_gpp}" : "${gpp}"=
 );
 =

-		const FileLocation& baseHeaderFile =3D module.pch->file;
+		const FileLocation& baseHeaderFile =3D *module.pch->file;
 		CLEAN_FILE ( *pchFilename );
 		string dependencies =3D backend->GetFullName ( baseHeaderFile );
 		/* WIDL generated headers may be used */

Modified: trunk/reactos/tools/rbuild/backend/msvc/vcprojmaker.cpp
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/rbuild/backend/=
msvc/vcprojmaker.cpp?rev=3D32593&r1=3D32592&r2=3D32593&view=3Ddiff
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/reactos/tools/rbuild/backend/msvc/vcprojmaker.cpp (original)
+++ trunk/reactos/tools/rbuild/backend/msvc/vcprojmaker.cpp Fri Mar  7 09:1=
6:26 2008
@@ -427,7 +427,7 @@
 		{
 			fprintf ( OUT, "\t\t\t\tUsePrecompiledHeader=3D\"2\"\r\n" );
 			string pch_path =3D Path::RelativeFromDirectory (
-				module.pch->file.name,
+				module.pch->file->name,
 				module.output->relative_path );
 			string::size_type pos =3D pch_path.find_last_of ("/");
 			if ( pos !=3D string::npos )

Modified: trunk/reactos/tools/rbuild/linkerscript.cpp
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/rbuild/linkersc=
ript.cpp?rev=3D32593&r1=3D32592&r2=3D32593&view=3Ddiff
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/reactos/tools/rbuild/linkerscript.cpp (original)
+++ trunk/reactos/tools/rbuild/linkerscript.cpp Fri Mar  7 09:16:26 2008
@@ -22,13 +22,14 @@
 =

 LinkerScript::LinkerScript ( const XMLElement& node_,
                              const Module& module_,
-                             const FileLocation& file_ )
+                             const FileLocation *file_ )
 	: node(node_), module(module_), file(file_)
 {
 }
 =

 LinkerScript::~LinkerScript ()
 {
+	delete file;
 }
 =

 void

Modified: trunk/reactos/tools/rbuild/module.cpp
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/rbuild/module.c=
pp?rev=3D32593&r1=3D32592&r2=3D32593&view=3Ddiff
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/reactos/tools/rbuild/module.cpp (original)
+++ trunk/reactos/tools/rbuild/module.cpp Fri Mar  7 09:16:26 2008
@@ -779,14 +779,14 @@
 		if ( pos =3D=3D string::npos )
 		{
 			linkerScript =3D new LinkerScript (
-				e, *this, FileLocation ( SourceDirectory, relative_path, e.value, &e )=
 );
+				e, *this, new FileLocation ( SourceDirectory, relative_path, e.value, =
&e ) );
 		}
 		else
 		{
 			string dir =3D e.value.substr ( 0, pos );
 			string name =3D e.value.substr ( pos + 1);
 			linkerScript =3D new LinkerScript (
-				e, *this, FileLocation ( SourceDirectory, relative_path + sSep + dir, =
name, &e ) );
+				e, *this, new FileLocation ( SourceDirectory, relative_path + sSep + d=
ir, name, &e ) );
 		}
 		subs_invalid =3D true;
 	}
@@ -824,14 +824,14 @@
 		if ( pos =3D=3D string::npos )
 		{
 			pch =3D new PchFile (
-				e, *this, FileLocation ( SourceDirectory, relative_path, e.value, &e )=
 );
+				e, *this, new FileLocation ( SourceDirectory, relative_path, e.value, =
&e ) );
 		}
 		else
 		{
 			string dir =3D e.value.substr ( 0, pos );
 			string name =3D e.value.substr ( pos + 1);
 			pch =3D new PchFile (
-				e, *this, FileLocation ( SourceDirectory, relative_path + sSep + dir, =
name, &e ) );
+				e, *this, new FileLocation ( SourceDirectory, relative_path + sSep + d=
ir, name, &e ) );
 		}
 		subs_invalid =3D true;
 	}
@@ -1704,9 +1704,14 @@
 PchFile::PchFile (
 	const XMLElement& node_,
 	const Module& module_,
-	const FileLocation& file_ )
+	const FileLocation *file_ )
 	: node(node_), module(module_), file(file_)
 {
+}
+
+PchFile::~PchFile()
+{
+	delete file;
 }
 =

 void

Modified: trunk/reactos/tools/rbuild/rbuild.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/rbuild/rbuild.h=
?rev=3D32593&r1=3D32592&r2=3D32593&view=3Ddiff
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/reactos/tools/rbuild/rbuild.h (original)
+++ trunk/reactos/tools/rbuild/rbuild.h Fri Mar  7 09:16:26 2008
@@ -639,11 +639,11 @@
 public:
 	const XMLElement& node;
 	const Module& module;
-	FileLocation file;
+	const FileLocation *file;
 =

 	LinkerScript ( const XMLElement& node,
 	               const Module& module,
-	               const FileLocation& file );
+	               const FileLocation *file );
 	~LinkerScript ();
 	void ProcessXML();
 };
@@ -843,12 +843,13 @@
 public:
 	const XMLElement& node;
 	const Module& module;
-	FileLocation file;
+	const FileLocation *file;
 =

 	PchFile (
 		const XMLElement& node,
 		const Module& module,
-		const FileLocation& file );
+		const FileLocation *file );
+	~PchFile();
 	void ProcessXML();
 };
 =





More information about the Ros-diffs mailing list