--- C/lib/Inline/C/ParseRegExp.pm_orig	2012-02-09 19:48:38 +1100
+++ C/lib/Inline/C/ParseRegExp.pm	2012-02-09 22:33:49 +1100
@@ -104,22 +104,27 @@
 	my $dummy_name = 'arg1';
 
 	foreach my $arg (@arguments) {
-
+          # If $arg is 'void', there will be no identifier.
 	    if(my($type, $identifier) =
 	       $arg =~ /^\s*$re_type(?:$re_identifier)?\s*$/o)
 	    {
 		my $arg_name = $identifier;
 		my $arg_type = &$normalize_type($type);
 
-		if(!defined $arg_name) {
+		if((!defined $arg_name) && ($arg ne 'void')) {
 		    goto RESYNC if !$is_decl;
 		    $arg_name = $dummy_name++;
 		}
-		goto RESYNC if !defined
-		    $self->{data}{typeconv}{valid_types}{$arg_type};
+		goto RESYNC if ((!defined
+		    $self->{data}{typeconv}{valid_types}{$arg_type}) && ($arg ne 'void'));
 
-		push(@arg_names,$arg_name);
-		push(@arg_types,$arg_type);
+            # Push $arg_name onto @arg_names iff it's defined. Otherwise ($arg was
+            # 'void'), push the empty string onto @arg_names (to avoid uninitialized
+            # warnings emanating from C.pm).
+		defined($arg_name) ? push(@arg_names,$arg_name)
+                               : push(@arg_names, '');
+            if($arg_name) {push(@arg_types,$arg_type)}
+            else {push(@arg_types,'')} # $arg was 'void' - this push() avoids 'uninitialized' warnings from C.pm
 	    }
 	    elsif($arg =~ /^\s*\.\.\.\s*$/) {
 		push(@arg_names,'...');
