This is the mail archive of the gcc-patches@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: [testsuite, ada] Convert ACATS to DejaGnu (PR testsuite/37703)


On Feb 22, 2011, at 9:40 AM, Rainer Orth wrote:
> This is exactly the kind of information I'm looking for: which
> operations are supposed to run on the build, host and target systems and
> do those three (or only build and host) share a common view of the
> filesystem (either in general or as a GCC-specific restriction in
> particular)?

Nothing in common.  Also see remote_upload and remote_download.

>>    if { [istarget "i?86-*-*"]
>>         || [istarget "m68k-*-*"] } then {
>>      uplevel 1 lappend additional_flags "-ffloat-store"
>> 
>> or
>> 
>>    if { [string match "*-*-darwin*" $target_triplet] } {
>>        lappend ALWAYS_CXXFLAGS "ldflags=-multiply_defined suppress"
>>       }
> 
> But this is per-target, not per (section of a) testsuite.

So?  The target file and board files contain invariants.  If you want to vary them, clearly they are not invariants.  That's a good introduction, but, not comprehensive.  Transient state for a particular board, would go into the board_info for that board, but that's for state more related to the board.

>> to set up specific flags for the compiler or for ld.  I'd think you could just set a normal variable and use that variable down below...  Don't see the need to drop into board_info, as this data isn't about the board.  It is about the testcase.
> 
> Again, I couldn't find a good explanation when to use board_info, when
> target_info, ...

This relates them all:

proc target_info { op args } {
    return [eval "board_info target \"$op\" $args"]
}

proc host_info { op args } {
    return [eval "board_info host \"$op\" $args"]
}

So, what is the different between board_info and target_info, none, if you do it right.  If you have a testcase that is using 5 boards, trivially, you'd need to use board_info, so that you can ask and set state for each one individually.  When this matters if when one switches the config to the build or host machine, which changes name, then you'd want to be sure to use board_info.  Most of these details don't matter to any of the files in gcc/lib or beyond.  Most of those users could just be target_info directly.  I think they have just been cargo culting.


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