[Click] Small fix for click-devirtualize

Eddie Kohler kohler at cs.ucla.edu
Fri Sep 14 01:44:19 EDT 2007


Thanks, Pavlos!  I didn't catch this because it only matters when kernel & 
user configs would generate different code.

Your change went a bit too far.  In particular suffix might contain a dot, so 
you can't use it as part of an #ifndef.  I checked in a different variant.

Eddie


Pavlos Papageorgiou wrote:
> Hi Eddie,
> 
> Here is a small fix for click-devirtualize.
> 
> The current code (at least when using --linuxmodule) fails
> when it tries to compile the temporary files that it generates
> (clickdv_xxxx.{cc,hh}) into a kernel module.  The files contain
> a .k "suffix" before .hh and .cc but that "suffix" is not used
> in the #include statement at the top of the .cc file.
> 
> Thanks,
> Pavlos
> 
> diff -ur a/click/tools/click-devirtualize/click-devirtualize.cc b/click/tools/click-devirtualize/click-devirtualize.cc
> --- a/click/tools/click-devirtualize/click-devirtualize.cc	2007-09-13 20:00:47.381669000 -0400
> +++ b/click/tools/click-devirtualize/click-devirtualize.cc	2007-09-13 20:08:13.655781000 -0400
> @@ -446,11 +446,11 @@
>    // output
>    StringAccum header, source;
>    source << "/** click-compile: -w -fno-access-control */\n";
> -  header << "#ifndef CLICK_" << package_name << "_HH\n"
> -	 << "#define CLICK_" << package_name << "_HH\n"
> +  header << "#ifndef CLICK_" << package_name << suffix << "_HH\n"
> +	 << "#define CLICK_" << package_name << suffix << "_HH\n"
>  	 << "#include <click/package.hh>\n#include <click/element.hh>\n";
> 
> -  specializer.output_package(package_name, source, errh);
> +  specializer.output_package(package_name + suffix, source, errh);
>    specializer.output(header, source);
> 
>    header << "#endif\n";
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click


More information about the click mailing list