This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: GFDL/GPL Issue


Quoting Mark Mitchell <mark@codesourcery.com>:

http://gcc.gnu.org/ml/gcc-patches/2010-05/msg02255.html

OK, I see what that is doing. Why did you choose to use a .def file rather than something more like Doxygen to generate the documentation?

It is not only used to generate documenation, but also to generate initializers for all the struct gcc_target members. While at the same time serving as an include file for target.h .

Also, the documentation generation allows the generation of @findex
statements by using @fcode instaed of @code, and places these @findex statements at the start of the enclosing paragraph; however, this part is
not really introducing any extra licensing issues, and describing the
operation in detail would probably be distracting.


Search for GPL and/or GFDL for a sample of things that we currently
can't fix due to licensing issues.

I'm happy to act as an advocate, but I don't have the time to do a lot of research. Would you please describe the steps and provide the inputs and outputs of the process for some of these issues?

For a typical hook member, we got the following macro:


DEFHOOK(NAME, DOC, TYPE, PARAMS, INIT)

TYPE and PARAMS is wrapped in @var as appropriate and prepended / appended to the capitalized NAME to give the target hook signature in the documentation.
Also, NAME usually gets prepended with a prefix; the current prefix is specified in separate macro in target.def.


E.g.:

DEFHOOK
(adjust_cost_2,
 "Given the current cost, @var{cost}, of an insn, @var{insn}, calculate and\
 return a new cost based on its relationship to @var{dep_insn} through the\
 dependence of weakness @var{dw}.  The default is to make no adjustment.",
 int, (rtx insn, int dep_type1, rtx dep_insn, int cost, int dw), NULL)

Gives:

@deftypefn {Target Hook} int TARGET_SCHED_ADJUST_COST_2 (rtx @var{insn}, int @var{dep_type1}, rtx @var{dep_insn}, int @var{cost}, int @var{dw})
Given the current cost, @var{cost}, of an insn, @var{insn}, calculate and return a new cost based on its relationship to @var{dep_insn} through the dependence of weakness @var{dw}. The default is to make no adjustment.
@end deftypefn


Because of licensing issues, my patch so far uses DEFHOOK_UNDOC for adjust_cost_2 instead, so that the hook remains undocumented.

 I want to able to
show RMS an actual input file, an actual output file, and describe the
transformation process that leads from one to the other.

target.def is a GPLed input file, and tm.texi.in is a GFDLed input file. tm.texi is the GFDLed output file.

If you like, I can send you the complete files in non-patch form.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]