+2001-10-02 Akim Demaille <akim@epita.fr>
+
+ * tests/regression.at (Invalid CPP headers): New.
+ From Alexander Belopolsky.
+ * src/files.c (compute_header_macro): Map non alnum chars to `_'.
+
2001-10-02 Akim Demaille <akim@epita.fr>
* tests/regression.at (Invalid input): New.
Bison was originally written by Robert Corbett. It would not be what
it is today without the invaluable help of these people:
-Akim Demaille akim@epita.fr
+Akim Demaille akim@epita.fr
Albert Chin-A-Young china@thewrittenword.com
-Daniel Hagerty hag@gnu.org
-David J. MacKenzie djm@gnu.org
-Fabrice Bauzac noon@cote-dazur.com
-Hans Aberg haberg@matematik.su.se
-Jesse Thilo jthilo@gnu.org
-Jim Meyering meyering@gnu.org
-Juan Manuel Guerrero ST001906@HRZ1.HRZ.TU-Darmstadt.De
-Keith Browne kbrowne@legato.com
-Laurent Mascherpa laurent.mascherpa@epita.fr
+Alexander Belopolsky alexb@rentec.com
+Daniel Hagerty hag@gnu.org
+David J. MacKenzie djm@gnu.org
+Fabrice Bauzac noon@cote-dazur.com
+Hans Aberg haberg@matematik.su.se
+Jesse Thilo jthilo@gnu.org
+Jim Meyering meyering@gnu.org
+Juan Manuel Guerrero ST001906@HRZ1.HRZ.TU-Darmstadt.De
+Keith Browne kbrowne@legato.com
+Laurent Mascherpa laurent.mascherpa@epita.fr
Marc Autret autret_m@epita.fr
-Neil Booth NeilB@earthling.net
-Noah Friedman friedman@gnu.org
+Neil Booth NeilB@earthling.net
+Noah Friedman friedman@gnu.org
Pascal Bart pascal.bart@epita.fr
-Paul Eggert eggert@twinsun.com
-Piotr Gackiewicz gacek@intertel.com.pl
-Richard Stallman rms@gnu.org
+Paul Eggert eggert@twinsun.com
+Piotr Gackiewicz gacek@intertel.com.pl
+Richard Stallman rms@gnu.org
Robert Anisko anisko_r@epita.fr
Shura debil_urod@ngs.ru
static char *
compute_header_macro (void)
{
- int ite;
- char *macro_name;
+ char *macro_name, *cp;
if (spec_defines_file)
macro_name = xstrdup (spec_defines_file);
strcat (macro_name, header_extension);
}
- for (ite = 0; macro_name[ite]; ite++)
- if (macro_name[ite] == '.')
- macro_name[ite] = '_';
- else
- {
- if (islower (macro_name[ite]))
- macro_name[ite] -= ('a' - 'A');
- }
+ for (cp = macro_name; *cp; ++cp)
+ if (islower (*cp))
+ *cp = toupper (*cp);
+ else if (!isalnum (*cp))
+ *cp = '_';
+
return macro_name;
}
])
AT_CLEANUP
+
+
+## --------------------- ##
+## Invalid CPP headers. ##
+## --------------------- ##
+
+AT_SETUP([Invalid CPP headers])
+
+mkdir input
+
+AT_DATA([input/input.y],
+[%%
+dummy:
+])
+
+AT_CHECK([bison --defines input/input.y])
+
+AT_CHECK([sed 1q input/input.tab.h], 0,
+[[#ifndef INPUT_INPUT_TAB_H
+]])
+
+AT_CLEANUP(input)