diff options
author | Basile Starynkevitch <basile@starynkevitch.net> | 2013-09-20 15:50:56 +0000 |
---|---|---|
committer | Basile Starynkevitch <basile@starynkevitch.net> | 2013-09-20 15:50:56 +0000 |
commit | d2c79c9139d24852d9b0741e499b825362d14e02 (patch) | |
tree | 33819c84a094993ab7211363b0d1e1037aad42df /gcc/gengtype.c | |
parent | a7796f826e9f0b8e8499107680aacf2b6160f7a5 (diff) |
2013-09-20 Basile Starynkevitch <basile@starynkevitch.net>
* gengtype.c (file_rules): Added rule for *.cc files.
(get_output_file_with_visibility): Give fatal message when no
rules found.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@202782 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/gengtype.c')
-rw-r--r-- | gcc/gengtype.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/gcc/gengtype.c b/gcc/gengtype.c index c3dffe8dd96..ce60c788012 100644 --- a/gcc/gengtype.c +++ b/gcc/gengtype.c @@ -2004,14 +2004,21 @@ struct file_rule_st files_rules[] = { REG_EXTENDED, NULL_REGEX, "gt-objc-objc-map.h", "objc/objc-map.c", NULL_FRULACT }, - /* General cases. For header *.h and source *.c files, we need - * special actions to handle the language. */ + /* General cases. For header *.h and source *.c or *.cc files, we + * need special actions to handle the language. */ /* Source *.c files are using get_file_gtfilename to compute their output_name and get_file_basename to compute their for_name through the source_dot_c_frul action. */ { DIR_PREFIX_REGEX "([[:alnum:]_-]*)\\.c$", REG_EXTENDED, NULL_REGEX, "gt-$3.h", "$3.c", source_dot_c_frul}, + + /* Source *.cc files are using get_file_gtfilename to compute their + output_name and get_file_basename to compute their for_name + through the source_dot_c_frul action. */ + { DIR_PREFIX_REGEX "([[:alnum:]_-]*)\\.cc$", + REG_EXTENDED, NULL_REGEX, "gt-$3.h", "$3.cc", source_dot_c_frul}, + /* Common header files get "gtype-desc.c" as their output_name, * while language specific header files are handled specially. So * we need the header_dot_h_frul action. */ @@ -2269,9 +2276,9 @@ get_output_file_with_visibility (input_file *inpf) } if (!output_name || !for_name) { - /* This is impossible, and could only happen if the files_rules is - incomplete or buggy. */ - gcc_unreachable (); + /* This should not be possible, and could only happen if the + files_rules is incomplete or buggy. */ + fatal ("failed to compute output name for %s", inpfname); } /* Look through to see if we've ever seen this output filename |