This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
/regcharclass.pl, utf8_strings.pl: Add guard to .h
authorKarl Williamson <public@khwilliamson.com>
Fri, 31 Aug 2012 23:41:14 +0000 (17:41 -0600)
committerKarl Williamson <public@khwilliamson.com>
Fri, 14 Sep 2012 03:14:00 +0000 (21:14 -0600)
Future commits will have other headers #include the headers generated by
these programs.  It is best to guard against the preprocessor from
trying to process these twice

regcharclass.h
regen/regcharclass.pl
regen/utf8_strings.pl
utf8_strings.h

index 0399fca..d7db256 100644 (file)
  * Any changes made here will be lost!
  */
 
+
+#ifndef H_REGCHARCLASS   /* Guard against nested #includes */
+#define H_REGCHARCLASS 1
+
 /*
        LNBREAK: Line Break: \R
 
 0x2029 == cp ) ) ) ) ) )
 
 
+#endif /* H_REGCHARCLASS */
+
 /* ex: set ro: */
index faf1572..bcd5ebf 100755 (executable)
@@ -626,6 +626,7 @@ if ( !caller ) {
     print $out_fh read_only_top( lang => 'C', by => $0,
                                 file => 'regcharclass.h', style => '*',
                                 copyright => [2007, 2011] );
+    print $out_fh "\n#ifndef H_REGCHARCLASS   /* Guard against nested #includes */\n#define H_REGCHARCLASS 1\n\n";
 
     my ( $op, $title, @txt, @types, @mods );
     my $doit= sub {
@@ -668,6 +669,9 @@ if ( !caller ) {
         }
     }
     $doit->();
+
+    print $out_fh "\n#endif /* H_REGCHARCLASS */\n";
+
     if($path eq '-') {
        print $out_fh "/* ex: set ro: */\n";
     } else {
index d6d4c76..0c703f8 100644 (file)
@@ -9,6 +9,10 @@ my $out_fh = open_new('utf8_strings.h', '>',
                       from => "Unicode data"});
 
 print $out_fh <<END;
+
+#ifndef H_UTF8_STRINGS   /* Guard against nested #includes */
+#define H_UTF8_STRINGS   1
+
 /* This file contains #defines for various Unicode code points.  The values
  * for the macros are all or portions of the UTF-8 encoding for the code
  * point.  Note that the names all have the suffix "_UTF8".
@@ -92,6 +96,8 @@ while ( <DATA> ) {
     print $out_fh "#define ${name}$suffix $str    /* U+$cp */\n";
 }
 
+print $out_fh "\n#endif /* H_UTF8_STRINGS */\n";
+
 read_only_bottom_close_and_rename($out_fh);
 
 __DATA__
index a83d423..97b8359 100644 (file)
@@ -4,6 +4,10 @@
  * Any changes made here will be lost!
  */
 
+
+#ifndef H_UTF8_STRINGS   /* Guard against nested #includes */
+#define H_UTF8_STRINGS   1
+
 /* This file contains #defines for various Unicode code points.  The values
  * for the macros are all or portions of the UTF-8 encoding for the code
  * point.  Note that the names all have the suffix "_UTF8".
@@ -27,4 +31,6 @@
 #define HANGUL_JONGSEONG_KIYEOK_UTF8 "\xE1\x86\xA8"    /* U+11A8 */
 #define HYPHEN_UTF8 "\xE2\x80\x90"    /* U+2010 */
 
+#endif /* H_UTF8_STRINGS */
+
 /* ex: set ro: */