--- C/lib/Inline/C/ParseRegExp.pm_orig	2012-02-09 19:48:38 +1100
+++ C/lib/Inline/C/ParseRegExp.pm	2012-02-09 19:24:56 +1100
@@ -104,22 +104,26 @@
 	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, '');
+		push(@arg_types,$arg_type) if $arg_name; #ie, unless $arg was 'void'
 	    }
 	    elsif($arg =~ /^\s*\.\.\.\s*$/) {
 		push(@arg_names,'...');
