On 8/3/07, jerry gay <[EMAIL PROTECTED]> wrote:
> On 8/3/07, via RT Andy Dougherty <[EMAIL PROTECTED]> wrote:
> > # New Ticket Created by  Andy Dougherty
> > # Please include the string:  [perl #44379]
> > # in the subject line of all future correspondence about this issue.
> > # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=44379 >
> >
> >
> > The new attributes scanning ought to use its own test_c.in file, instead
> > of trying to piggy-back off existing test_c.in files.  The scheme in place
> > has several problems:
> >
> > 1.  It has no fallback.  From attributes.pm, the following snippet:
> >
> >     if ( $cc =~ /gcc/ ) {
> >         cc_gen('config/auto/gcc/test_c.in');
> >     }
> >     elsif ( $cc eq 'cl' ) {
> >         cc_gen('config/auto/msvc/test_c.in');
> >     }
> > does nothing for other compilers.  Obviously, all the compiles fail,
> > since no test.c file is generated.  I don't know, for example, if 'icc'
> > handles attributes, or if it might in the future.
> >
> > 2.  The name of the compiler is not the best test of whether you are
> > using gcc.  On Linux, for example, if you use Configure.pl --cc=cc, then
> > this test,
> >     if ( $cc =~ /gcc/ ) {
> > fails, even though you are using gcc.  A better test is to check
> > gccversion.
> >
> > 3.  The attributes testing is now duplicated in two test files,
> > gcc/test_c.in and msvc/test_c.in.
> >
> > 4.  It's now potentially more difficult to use gcc/test_c.in for its
> > intended use.  For example, the Solaris hints file needs to know if
> > we're using gcc, and it used to try to compile the gcc/test_c.in
> > program.  Now, it has to add in -Iinclude/ to pick up
> > <parrot/compilers.h> which does the #ifdef dance around all the
> > attributes.  All this compilication just to see if we're using gcc.
> >
> > A much better plan, in my humble opinion, is to revert most of these
> > changes and simply make a *new* test_c.in file,
> > config/auto/attributes/test_c.in.  Each test file can then concentrate
> > on doing one test.
> >
> > Thanks for listening,
> >
> you're right, on all points. i hacked that code in to get msvc
> working, and figured i'd clean up the damage later. sorry, i didn't
> think of testing icc before i committed--of course it'll break.
>
> i don't expect to have the tuits until monday, though. hopefully
> somebody will step in before then and clean up the mess andy and i
> made. otherwise, i'll get to it first when i'm available.
> ~jerry
>
i think i've fixed it up as of r20521. let me know if it still behaves
unexpectedly.
~jerry

Reply via email to