Add (linker) support for CR16C processor
[binutils-gdb.git] / bfd / doc / proto.str
index 967c85c3fadd89fc941580d68c183070f68b10b8..702d9f540ce0dc9f7927fa8e1534f377bfacc2a5 100644 (file)
@@ -2,7 +2,7 @@
 : SYNOPSIS
        skip_past_newline
        get_stuff_in_command    
-       exfunstuff
+       paramstuff
        indent
        maybecatstr
 ;
 : internal 
        1 internalmode ignore ;
 
+- input stack { a b } output b if internal, a if external
+: ifinternal
+       "" swap 1 internalmode maybecatstr
+       swap
+       "" swap 0 internalmode maybecatstr
+       catstr
+       ;
+
+- Put note in output string, regardless of internal mode.
+: COMMENT
+       skip_past_newline
+       get_stuff_in_command
+       translatecomments
+       catstr
+       ;
+
+- SENUM    enum-type-name
+- ENUM     enum-name
+- ENUMX    addl-enum-name
+- ENUMDOC  doc for preceding enums
+- ENDSENUM max-enum-name
+
+: make_enum_header
+       dup
+       "enum " swap catstr
+       " {\n" catstr
+       swap "  _dummy_first_" swap catstr catstr
+       ",\n" catstr
+       ;
+: make_string_table_header
+       dup
+       "#ifdef _BFD_MAKE_TABLE_" swap catstr swap
+       "\n\nstatic const char *const " swap catstr catstr
+       "_names[] = { \"@@uninitialized@@\",\n" catstr
+       ;
+: SENUM
+       skip_past_newline
+       copy_past_newline
+       remchar
+       dup
+       make_enum_header
+       swap
+       make_string_table_header
+       ifinternal
+       catstr
+       get_stuff_in_command catstr
+       translatecomments ;
+: ENDSENUM
+       skip_past_newline
+       copy_past_newline strip_trailing_newlines
+       dup
+       "  " swap catstr " };\n" catstr swap
+       " \"@@overflow: " swap catstr "@@\",\n};\n#endif\n\n" catstr
+       ifinternal
+       catstr
+       ;
+: make_enumerator
+       "  " swap catstr
+       ",\n" catstr
+       ;
+: make_enumerator_string
+       "  \"" swap catstr
+       "\",\n" catstr
+       ;
+: ENUM
+       skip_past_newline
+       copy_past_newline
+       remchar
+       dup
+       make_enumerator
+       swap
+       make_enumerator_string
+       ifinternal
+       ;
+: ENUMX ENUM catstr ;
+: ENUMEQ
+       skip_past_newline
+       "#define "
+       copy_past_newline remchar
+       catstr
+       " "
+       catstr
+       copy_past_newline
+       catstr
+       "" swap 0 internalmode maybecatstr
+       ;
+: ENUMEQX ENUMEQ catstr ;
+: ENUMDOC
+       skip_past_newline
+       get_stuff_in_command
+       strip_trailing_newlines
+       "\n{* " swap catstr "  *}\n" catstr
+       translatecomments
+       - discard it if we're doing internal mode
+       "" swap 0 internalmode maybecatstr
+       swap
+       catstr catstr
+       ;
 : ENDDD external ;
 : SECTION ignore ;
 : SUBSECTION ignore ;
 : TYPEDEF external ;
 : INTERNAL_FUNCTION internal ;
 : INTERNAL internal ;
-: NODE ignore ;
+: INODE ignore ;