<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    On 11/4/11 11:41 PM, redder_0210 wrote:
    <blockquote
      cite="mid:5c28a38b.dc3.13372083634.Coremail.redder_0210@yeah.net"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <div style="line-height: 1.7; color: rgb(0, 0, 0); font-size:
        14px; font-family: arial;">
        <div>Dear All,</div>
        <div> I'm trying to add a command line option to Clang/Clang++.I
          want to let clang do the actions coresponding to the new
          command option.<br>
                What I have done is that I have modified the driver of
          Clang, including the "Dirver.cpp" ,"options.td", "Tools.cpp"
          and "Action.cpp".</div>
        <div>      But the compilation instance( namely Clang cc1) of
          Clang cannot identify the new option. And the console prints
          the ERROR:" unsupported argumnet". Perhaps, I should modified
          the Clang cc1 to make it be albe to accept the new option. But
          I don't know how to deal with the "Clang cc1".<br>
                 what's more,  when I have add the new command line
          argumnet to the "CC1Options.td", the console prints the "ast
          infomation"(in my opinion) of the source File. I have no idea
          about the reason.<br>
                Thanks in advance.</div>
      </div>
    </blockquote>
    <br>
    Did you get my email answering this question?  If so, was there
    something unclear in my response?<br>
    <br>
    My original response is archived here:
    <a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/pipermail/cfe-dev/2011-November/018451.html">http://lists.cs.uiuc.edu/pipermail/cfe-dev/2011-November/018451.html</a>.<br>
    <br>
    Modifying CC1Options.td will add a new command-line option to
    Clang's cc1.  However, that isn't enough: you have to modify Clang
    to pass the new option to cc1 when it appears on the clang command
    line (that is the change in lib/Drivers/Tools.cpp).  You also need
    to modify cc1 to do whatever it is you want to do when it sees that
    command line option.  In the case of the SAFECode patch, that change
    (or part of it) is in lib/CodeGen/BackendUtil.cpp (if I remember the
    filenames correctly).<br>
    <br>
    -- John T.<br>
    <br>
    <blockquote
      cite="mid:5c28a38b.dc3.13372083634.Coremail.redder_0210@yeah.net"
      type="cite">
      <div
        style="line-height:1.7;color:#000000;font-size:14px;font-family:arial">
        <div>      ----Redder.</div>
      </div>
      <br>
      <br>
      <span title="neteasefooter"><span id="netease_mail_footer"></span></span>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
cfe-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>