public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: preprocessor/2948
@ 2001-05-29 18:26 Sean McNeil
  0 siblings, 0 replies; 11+ messages in thread
From: Sean McNeil @ 2001-05-29 18:26 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR c++/2948; it has been noted by GNATS.

From: Sean McNeil <sean@mcneil.com>
To: Neil Booth <neil@daikokuya.demon.co.uk>
Cc: nobody@gcc.gnu.org, gcc-gnats@gcc.gnu.org
Subject: Re: preprocessor/2948
Date: Tue, 29 May 2001 18:22:00 -0700

 I found the following error when I compile via. the 2 stage mechanism with gcc
 2.95.3:
 
 arm-wrs-vxworks-g++ -v -mcpu=arm8 -mapcs-32 -mlittle-endian -ansi -nostdinc
 -fno-implicit-templates -DVXW_EXPLICIT_TEMPLATES -O2 -mno-sched-prolog
 -I/usr/arm-wrs-vxworks/target/h -DCPU=ARMARCH4 -DARMEL -fno-exceptions -o
 /tmp/ttt.o -c /tmp/ttt.cc
 
 PlotFile.cpp:67: `#pragma implementation' can only appear at top-level
 
 Sean
 
 Neil Booth wrote:
 
 > Sean McNeil wrote:-
 >
 > >  The pragmas are indeed getting passed through by the cpp0.  So why would
 > >  they compile differently in the two cases?  This is very strange.  It is
 > >  related to that #pragma, though.  Perhaps the cpp is told to parse things
 > >  differently?
 >
 > Are the pragmas merely
 >
 > #pragma implementation
 >
 > or are they
 >
 > #pragma implementation "filename"
 >
 > ?  I think it's an issue with file names not comparing as strings
 > properly because of path information, or something like that.  Does
 > that give you a clue?
 >
 > Is there a
 >
 > #pragma interface
 >
 > somewhere to match the #pragma implementation?
 >
 > Is this a 2.95 regression?  I'm going to re-file this as a C++ bug.
 >
 > Neil.
 


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: preprocessor/2948
@ 2001-05-29 18:06 Sean McNeil
  0 siblings, 0 replies; 11+ messages in thread
From: Sean McNeil @ 2001-05-29 18:06 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR c++/2948; it has been noted by GNATS.

From: Sean McNeil <sean@mcneil.com>
To: Neil Booth <neil@daikokuya.demon.co.uk>
Cc: nobody@gcc.gnu.org, gcc-gnats@gcc.gnu.org
Subject: Re: preprocessor/2948
Date: Tue, 29 May 2001 18:01:07 -0700

 I am unaware of the use of
 
 #pragma implementation "filename"
 
 all files have
 
 #pragma interface
 
 and
 
 #pragma implementation
 
 I just ran this through gcc 2.95.3 and now I'm confused even more.  It appears
 that the output of the normal gcc invokation is mostly correct and the 2 stage
 invokation with the -E flag is missing some compilation information.
 
 The largest difference and what triggered this whole investigation on my part
 has been the undefined reference to "operator delete (void*)" whereas in gcc
 2.95.3 it appears to be a reference to __builtin_delete.  There is also some
 reference to __builtin_vec_delete.  Yet the -E output clearly showed me no
 references to the delete operator.
 
 The more I look at this, the more I wonder what this additional code is and why
 there appears to be no template code in the cpp0 output yet there is output
 generated through cc1plus for the pragma implementation.  I'm affraid I know
 too little about any of this.
 
 Sean
 
 Neil Booth wrote:
 
 > Sean McNeil wrote:-
 >
 > >  The pragmas are indeed getting passed through by the cpp0.  So why would
 > >  they compile differently in the two cases?  This is very strange.  It is
 > >  related to that #pragma, though.  Perhaps the cpp is told to parse things
 > >  differently?
 >
 > Are the pragmas merely
 >
 > #pragma implementation
 >
 > or are they
 >
 > #pragma implementation "filename"
 >
 > ?  I think it's an issue with file names not comparing as strings
 > properly because of path information, or something like that.  Does
 > that give you a clue?
 >
 > Is there a
 >
 > #pragma interface
 >
 > somewhere to match the #pragma implementation?
 >
 > Is this a 2.95 regression?  I'm going to re-file this as a C++ bug.
 >
 > Neil.
 


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: preprocessor/2948
@ 2001-05-29 10:26 Neil Booth
  0 siblings, 0 replies; 11+ messages in thread
From: Neil Booth @ 2001-05-29 10:26 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR preprocessor/2948; it has been noted by GNATS.

From: Neil Booth <neil@daikokuya.demon.co.uk>
To: Sean McNeil <sean@mcneil.com>
Cc: nobody@gcc.gnu.org, gcc-gnats@gcc.gnu.org
Subject: Re: preprocessor/2948
Date: Tue, 29 May 2001 18:24:21 +0100

 Sean McNeil wrote:-
 
 >  The pragmas are indeed getting passed through by the cpp0.  So why would
 >  they compile differently in the two cases?  This is very strange.  It is
 >  related to that #pragma, though.  Perhaps the cpp is told to parse things
 >  differently?
 
 Are the pragmas merely
 
 #pragma implementation
 
 or are they
 
 #pragma implementation "filename"
 
 ?  I think it's an issue with file names not comparing as strings
 properly because of path information, or something like that.  Does
 that give you a clue?
 
 Is there a
 
 #pragma interface
 
 somewhere to match the #pragma implementation?
 
 Is this a 2.95 regression?  I'm going to re-file this as a C++ bug.
 
 Neil.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: preprocessor/2948
@ 2001-05-29  9:46 Sean McNeil
  0 siblings, 0 replies; 11+ messages in thread
From: Sean McNeil @ 2001-05-29  9:46 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR preprocessor/2948; it has been noted by GNATS.

From: Sean McNeil <sean@mcneil.com>
To: Neil Booth <neil@daikokuya.demon.co.uk>
Cc: nobody@gcc.gnu.org, gcc-gnats@gcc.gnu.org
Subject: Re: preprocessor/2948
Date: Tue, 29 May 2001 09:40:39 -0700

 The pragmas are indeed getting passed through by the cpp0.  So why would
 they compile differently in the two cases?  This is very strange.  It is
 related to that #pragma, though.  Perhaps the cpp is told to parse things
 differently?
 
 Sean
 
 Neil Booth wrote:
 
 > Sean McNeil wrote:-
 >
 > > This has puzzled me for a while and I've tried several additional
 > > things as we've been discussing this.  I noticed that the cc1plus
 > > program installs handlers for various pragmas and discovered a
 > > #pragma implementation in PlotFile.cpp.  When I remove this pragma,
 > > compilation is as I expected.
 >
 > Great, thanks for persisting.
 >
 > > HOWEVER....  there is no template code that exists within the ttt.ii
 > > file (after preprocessor) and adding a #pragma implementation to
 > > ttt.cc (copy of ttt.ii) doesn't reproduce the problem either.  So I
 > > am still at a loss as to why
 >
 > Hmmm.  This doesn't sound good.  Are you saying that the #pragma does
 > not exist in the -E preprocessed output?  If so, that's a bug.  Most
 > pragmas are not handled or understood by CPP, so it must pass them
 > through in the preprocessed output unchanged.
 >
 > > 1) there is a #pragma implementation in this file (Something I do
 > > not expect anyone on > the gcc team to answer :).
 >
 > I have no idea.  I'm not really sure what the pragma does, either,
 > though I know it's to do with template instantiation.
 >
 > > 2) why code is generated for the pragma even though
 > > -fexternal-templates was not defined.
 >
 > Again, this would require me to understand exactly what it does.
 >
 > > I suppose what it boils down to is it's not a cpp problem, but a
 > > cc1plus problem.  Should this be reassigned?
 >
 > Probably, provided that CPP is passing through the pragma.  I'll
 > do that when we get just a little closer.
 >
 > Does this code work, both ways, with 2.95.2 or 2.95.3?  If so, it's a
 > regression, and I'll mark it high priority and it should get done for
 > 3.0.
 >
 > Neil.
 


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: preprocessor/2948
@ 2001-05-28 23:46 Neil Booth
  0 siblings, 0 replies; 11+ messages in thread
From: Neil Booth @ 2001-05-28 23:46 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR preprocessor/2948; it has been noted by GNATS.

From: Neil Booth <neil@daikokuya.demon.co.uk>
To: Sean McNeil <sean@mcneil.com>
Cc: nobody@gcc.gnu.org, gcc-gnats@gcc.gnu.org
Subject: Re: preprocessor/2948
Date: Tue, 29 May 2001 07:39:03 +0100

 Sean McNeil wrote:-
 
 > This has puzzled me for a while and I've tried several additional
 > things as we've been discussing this.  I noticed that the cc1plus
 > program installs handlers for various pragmas and discovered a
 > #pragma implementation in PlotFile.cpp.  When I remove this pragma,
 > compilation is as I expected.
 
 Great, thanks for persisting.
 
 > HOWEVER....  there is no template code that exists within the ttt.ii
 > file (after preprocessor) and adding a #pragma implementation to
 > ttt.cc (copy of ttt.ii) doesn't reproduce the problem either.  So I
 > am still at a loss as to why
 
 Hmmm.  This doesn't sound good.  Are you saying that the #pragma does
 not exist in the -E preprocessed output?  If so, that's a bug.  Most
 pragmas are not handled or understood by CPP, so it must pass them
 through in the preprocessed output unchanged.
 
 > 1) there is a #pragma implementation in this file (Something I do
 > not expect anyone on > the gcc team to answer :).
 
 I have no idea.  I'm not really sure what the pragma does, either,
 though I know it's to do with template instantiation.
 
 > 2) why code is generated for the pragma even though
 > -fexternal-templates was not defined.
 
 Again, this would require me to understand exactly what it does.
 
 > I suppose what it boils down to is it's not a cpp problem, but a
 > cc1plus problem.  Should this be reassigned?
 
 Probably, provided that CPP is passing through the pragma.  I'll
 do that when we get just a little closer.
 
 Does this code work, both ways, with 2.95.2 or 2.95.3?  If so, it's a
 regression, and I'll mark it high priority and it should get done for
 3.0.
 
 Neil.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: preprocessor/2948
@ 2001-05-28 18:56 Sean McNeil
  0 siblings, 0 replies; 11+ messages in thread
From: Sean McNeil @ 2001-05-28 18:56 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR preprocessor/2948; it has been noted by GNATS.

From: Sean McNeil <sean@mcneil.com>
To: Neil Booth <neil@daikokuya.demon.co.uk>
Cc: nobody@gcc.gnu.org, gcc-gnats@gcc.gnu.org
Subject: Re: preprocessor/2948
Date: Mon, 28 May 2001 18:54:22 -0700

 Neil,
 
 This has puzzled me for a while and I've tried several additional things as we've been
 discussing this.  I noticed that the cc1plus program installs handlers for various
 pragmas and discovered a #pragma implementation in PlotFile.cpp.  When I remove this
 pragma, compilation is as I expected.
 
 HOWEVER....  there is no template code that exists within the ttt.ii file (after
 preprocessor) and adding a #pragma implementation to ttt.cc (copy of ttt.ii) doesn't
 reproduce the problem either.  So I am still at a loss as to why
 
 1) there is a #pragma implementation in this file (Something I do not expect anyone on
 the gcc team to answer :).
 2) why code is generated for the pragma even though -fexternal-templates was not
 defined.
 
 I suppose what it boils down to is it's not a cpp problem, but a cc1plus problem.
 Should this be reassigned?
 
 Sean
 
 Neil Booth wrote:
 
 > Hi Sean,
 >
 > The command lines look identical in their effects to me.  I honestly
 > have no idea what is going wrong.  I'll leave your bug report open, of
 > course.
 >
 > If you could narrow it down by removing code and / or command line
 > options until the difference in behaviour vanishes, it would help a
 > lot.  Otherwise this kind of thing, by its very nature, is hard to
 > get a grip on.
 >
 > Neil.
 >
 > Sean McNeil wrote:-
 >
 > > Here is the information you requested.
 >
 > >  I've also tried running the code through with the -E option twice
 > > to see if the cpp is changing the code in any way in the second
 > > pass-through.  The only difference was in some white space and diff
 > > -cb shows no differences.  I was under the impression that the cpp
 > > is now a library invoked directly from the different modules
 > > (C,C++,etc.).  Could it be that the format/switches used between how
 > > the cpp is invoked with the -E option and without it are different?
 > > The -v option indicates that cpp0 is not called so it must now get
 > > used by cc1plus directly.
 > >
 > > [root@blue libstdcxx]# arm-wrs-vxworks-g++ -S -v -mcpu=arm8 -mapcs-32
 > > -mlittle-endian -ansi -nostdinc -fno-implicit-templates -DVXW_EXPLICIT_TEMPLATES
 > > -O2 -mno-sched-prolog -I/usr/wind/target/h -DCPU=ARMARCH4 -DARMEL -fno-exceptions
 > > -o /tmp/ttt-bad.s PlotFile.cpp
 > > Reading specs from
 > > /usr/wind/host/x86-freebsd/lib/gcc-lib/arm-wrs-vxworks/3.1/specs
 > > Configured with: ../configure --prefix=/usr/wind/host/x86-freebsd
 > > --target=arm-wrs-vxworks
 > > Thread model: vxworks
 > > gcc version 3.1 20010525 (experimental)
 > >  /usr/wind/host/x86-freebsd/lib/gcc-lib/arm-wrs-vxworks/3.1/cc1plus -nostdinc -v
 > > -I/usr/wind/target/h -D__GNUC__=3 -D__GNUC_MINOR__=1 -D__GNUC_PATCHLEVEL__=0
 > > -D__vxworks -D__arm__ -D__svr4__ -Acpu=arm -Amachine=arm -D__CHAR_UNSIGNED__
 > > -D__OPTIMIZE__ -D__STDC_HOSTED__=1 -D__ARM_ARCH_4__ -D__APCS_32__ -D__ARMEL__
 > > -D__CPU__=ARMARCH4 -D__arm__ -DVXW_EXPLICIT_TEMPLATES -DCPU=ARMARCH4 -DARMEL
 > > PlotFile.cpp -D__GNUG__=3 -D_GNU_SOURCE -D__DEPRECATED -D__GXX_ABI_VERSION=100
 > > -D__STRICT_ANSI__ -trigraphs -$ -quiet -dumpbase PlotFile.cpp -mcpu=arm8 -mapcs-32
 > > -mlittle-endian -mno-sched-prolog -ansi -O2 -ansi -version -fno-implicit-templates
 > > -fno-exceptions -o /tmp/ttt-bad.s
 > > GNU CPP version 3.1 20010525 (experimental) (cpplib) (ARM/COFF)
 > > GNU C++ version 3.1 20010525 (experimental) (arm-wrs-vxworks)
 > >  compiled by GNU C version 2.95.3 [FreeBSD] 20010315 (release).
 > > #include "..." search starts here:
 > > #include <...> search starts here:
 > >  /usr/wind/target/h
 > > End of search list.
 > >
 > >
 > > [root@blue libstdcxx]# arm-wrs-vxworks-g++ -E -v -mcpu=arm8 -mapcs-32
 > > -mlittle-endian -ansi -nostdinc -fno-implicit-templates -DVXW_EXPLICIT_TEMPLATES
 > > -O2 -mno-sched-prolog -I/usr/wind/target/h -DCPU=ARMARCH4 -DARMEL -fno-exceptions
 > > -o /tmp/ttt.ii PlotFile.cpp
 > > Reading specs from
 > > /usr/wind/host/x86-freebsd/lib/gcc-lib/arm-wrs-vxworks/3.1/specs
 > > Configured with: ../configure --prefix=/usr/wind/host/x86-freebsd
 > > --target=arm-wrs-vxworks
 > > Thread model: vxworks
 > > gcc version 3.1 20010525 (experimental)
 > >  /usr/wind/host/x86-freebsd/lib/gcc-lib/arm-wrs-vxworks/3.1/cpp0 -lang-c++
 > > -D_GNU_SOURCE -D__GNUG__=3 -D__DEPRECATED -D__GXX_ABI_VERSION=100
 > > -D__STRICT_ANSI__ -trigraphs -$ -nostdinc -v -I/usr/wind/target/h -D__GNUC__=3
 > > -D__GNUC_MINOR__=1 -D__GNUC_PATCHLEVEL__=0 -D__vxworks -D__arm__ -D__svr4__
 > > -Acpu=arm -Amachine=arm -D__CHAR_UNSIGNED__ -D__OPTIMIZE__ -D__STDC_HOSTED__=1
 > > -D__ARM_ARCH_4__ -D__APCS_32__ -D__ARMEL__ -D__CPU__=ARMARCH4 -D__arm__
 > > -DVXW_EXPLICIT_TEMPLATES -DCPU=ARMARCH4 -DARMEL PlotFile.cpp -o /tmp/ttt.ii
 > > GNU CPP version 3.1 20010525 (experimental) (cpplib) (ARM/COFF)
 > > #include "..." search starts here:
 > > #include <...> search starts here:
 > >  /usr/wind/target/h
 > > End of search list.
 > >
 > > [root@blue libstdcxx]# arm-wrs-vxworks-g++ -S -v -mcpu=arm8 -mapcs-32
 > > -mlittle-endian -ansi -nostdinc -fno-implicit-templates -DVXW_EXPLICIT_TEMPLATES
 > > -O2 -mno-sched-prolog -I/usr/wind/target/h -DCPU=ARMARCH4 -DARMEL -fno-exceptions
 > > -o /tmp/ttt.s /tmp/ttt.ii
 > > Reading specs from
 > > /usr/wind/host/x86-freebsd/lib/gcc-lib/arm-wrs-vxworks/3.1/specs
 > > Configured with: ../configure --prefix=/usr/wind/host/x86-freebsd
 > > --target=arm-wrs-vxworks
 > > Thread model: vxworks
 > > gcc version 3.1 20010525 (experimental)
 > >  /usr/wind/host/x86-freebsd/lib/gcc-lib/arm-wrs-vxworks/3.1/cc1plus -fpreprocessed
 > > /tmp/ttt.ii -quiet -dumpbase ttt.ii -mcpu=arm8 -mapcs-32 -mlittle-endian
 > > -mno-sched-prolog -ansi -O2 -ansi -version -fno-implicit-templates -fno-exceptions
 > > -o /tmp/ttt.s
 > > GNU CPP version 3.1 20010525 (experimental) (cpplib) (ARM/COFF)
 > > GNU C++ version 3.1 20010525 (experimental) (arm-wrs-vxworks)
 > >  compiled by GNU C version 2.95.3 [FreeBSD] 20010315 (release).
 


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: preprocessor/2948
@ 2001-05-28 15:26 Neil Booth
  0 siblings, 0 replies; 11+ messages in thread
From: Neil Booth @ 2001-05-28 15:26 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR preprocessor/2948; it has been noted by GNATS.

From: Neil Booth <neil@daikokuya.demon.co.uk>
To: Sean McNeil <sean@mcneil.com>
Cc: nobody@gcc.gnu.org, gcc-gnats@gcc.gnu.org
Subject: Re: preprocessor/2948
Date: Mon, 28 May 2001 23:24:46 +0100

 Hi Sean,
 
 The command lines look identical in their effects to me.  I honestly
 have no idea what is going wrong.  I'll leave your bug report open, of
 course.
 
 If you could narrow it down by removing code and / or command line
 options until the difference in behaviour vanishes, it would help a
 lot.  Otherwise this kind of thing, by its very nature, is hard to
 get a grip on.
 
 Neil.
 
 Sean McNeil wrote:-
 
 > Here is the information you requested.
 
 >  I've also tried running the code through with the -E option twice
 > to see if the cpp is changing the code in any way in the second
 > pass-through.  The only difference was in some white space and diff
 > -cb shows no differences.  I was under the impression that the cpp
 > is now a library invoked directly from the different modules
 > (C,C++,etc.).  Could it be that the format/switches used between how
 > the cpp is invoked with the -E option and without it are different?
 > The -v option indicates that cpp0 is not called so it must now get
 > used by cc1plus directly.
 >
 > [root@blue libstdcxx]# arm-wrs-vxworks-g++ -S -v -mcpu=arm8 -mapcs-32
 > -mlittle-endian -ansi -nostdinc -fno-implicit-templates -DVXW_EXPLICIT_TEMPLATES
 > -O2 -mno-sched-prolog -I/usr/wind/target/h -DCPU=ARMARCH4 -DARMEL -fno-exceptions
 > -o /tmp/ttt-bad.s PlotFile.cpp
 > Reading specs from
 > /usr/wind/host/x86-freebsd/lib/gcc-lib/arm-wrs-vxworks/3.1/specs
 > Configured with: ../configure --prefix=/usr/wind/host/x86-freebsd
 > --target=arm-wrs-vxworks
 > Thread model: vxworks
 > gcc version 3.1 20010525 (experimental)
 >  /usr/wind/host/x86-freebsd/lib/gcc-lib/arm-wrs-vxworks/3.1/cc1plus -nostdinc -v
 > -I/usr/wind/target/h -D__GNUC__=3 -D__GNUC_MINOR__=1 -D__GNUC_PATCHLEVEL__=0
 > -D__vxworks -D__arm__ -D__svr4__ -Acpu=arm -Amachine=arm -D__CHAR_UNSIGNED__
 > -D__OPTIMIZE__ -D__STDC_HOSTED__=1 -D__ARM_ARCH_4__ -D__APCS_32__ -D__ARMEL__
 > -D__CPU__=ARMARCH4 -D__arm__ -DVXW_EXPLICIT_TEMPLATES -DCPU=ARMARCH4 -DARMEL
 > PlotFile.cpp -D__GNUG__=3 -D_GNU_SOURCE -D__DEPRECATED -D__GXX_ABI_VERSION=100
 > -D__STRICT_ANSI__ -trigraphs -$ -quiet -dumpbase PlotFile.cpp -mcpu=arm8 -mapcs-32
 > -mlittle-endian -mno-sched-prolog -ansi -O2 -ansi -version -fno-implicit-templates
 > -fno-exceptions -o /tmp/ttt-bad.s
 > GNU CPP version 3.1 20010525 (experimental) (cpplib) (ARM/COFF)
 > GNU C++ version 3.1 20010525 (experimental) (arm-wrs-vxworks)
 >  compiled by GNU C version 2.95.3 [FreeBSD] 20010315 (release).
 > #include "..." search starts here:
 > #include <...> search starts here:
 >  /usr/wind/target/h
 > End of search list.
 > 
 > 
 > [root@blue libstdcxx]# arm-wrs-vxworks-g++ -E -v -mcpu=arm8 -mapcs-32
 > -mlittle-endian -ansi -nostdinc -fno-implicit-templates -DVXW_EXPLICIT_TEMPLATES
 > -O2 -mno-sched-prolog -I/usr/wind/target/h -DCPU=ARMARCH4 -DARMEL -fno-exceptions
 > -o /tmp/ttt.ii PlotFile.cpp
 > Reading specs from
 > /usr/wind/host/x86-freebsd/lib/gcc-lib/arm-wrs-vxworks/3.1/specs
 > Configured with: ../configure --prefix=/usr/wind/host/x86-freebsd
 > --target=arm-wrs-vxworks
 > Thread model: vxworks
 > gcc version 3.1 20010525 (experimental)
 >  /usr/wind/host/x86-freebsd/lib/gcc-lib/arm-wrs-vxworks/3.1/cpp0 -lang-c++
 > -D_GNU_SOURCE -D__GNUG__=3 -D__DEPRECATED -D__GXX_ABI_VERSION=100
 > -D__STRICT_ANSI__ -trigraphs -$ -nostdinc -v -I/usr/wind/target/h -D__GNUC__=3
 > -D__GNUC_MINOR__=1 -D__GNUC_PATCHLEVEL__=0 -D__vxworks -D__arm__ -D__svr4__
 > -Acpu=arm -Amachine=arm -D__CHAR_UNSIGNED__ -D__OPTIMIZE__ -D__STDC_HOSTED__=1
 > -D__ARM_ARCH_4__ -D__APCS_32__ -D__ARMEL__ -D__CPU__=ARMARCH4 -D__arm__
 > -DVXW_EXPLICIT_TEMPLATES -DCPU=ARMARCH4 -DARMEL PlotFile.cpp -o /tmp/ttt.ii
 > GNU CPP version 3.1 20010525 (experimental) (cpplib) (ARM/COFF)
 > #include "..." search starts here:
 > #include <...> search starts here:
 >  /usr/wind/target/h
 > End of search list.
 > 
 > [root@blue libstdcxx]# arm-wrs-vxworks-g++ -S -v -mcpu=arm8 -mapcs-32
 > -mlittle-endian -ansi -nostdinc -fno-implicit-templates -DVXW_EXPLICIT_TEMPLATES
 > -O2 -mno-sched-prolog -I/usr/wind/target/h -DCPU=ARMARCH4 -DARMEL -fno-exceptions
 > -o /tmp/ttt.s /tmp/ttt.ii
 > Reading specs from
 > /usr/wind/host/x86-freebsd/lib/gcc-lib/arm-wrs-vxworks/3.1/specs
 > Configured with: ../configure --prefix=/usr/wind/host/x86-freebsd
 > --target=arm-wrs-vxworks
 > Thread model: vxworks
 > gcc version 3.1 20010525 (experimental)
 >  /usr/wind/host/x86-freebsd/lib/gcc-lib/arm-wrs-vxworks/3.1/cc1plus -fpreprocessed
 > /tmp/ttt.ii -quiet -dumpbase ttt.ii -mcpu=arm8 -mapcs-32 -mlittle-endian
 > -mno-sched-prolog -ansi -O2 -ansi -version -fno-implicit-templates -fno-exceptions
 > -o /tmp/ttt.s
 > GNU CPP version 3.1 20010525 (experimental) (cpplib) (ARM/COFF)
 > GNU C++ version 3.1 20010525 (experimental) (arm-wrs-vxworks)
 >  compiled by GNU C version 2.95.3 [FreeBSD] 20010315 (release).


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: preprocessor/2948
@ 2001-05-27 10:36 Sean McNeil
  0 siblings, 0 replies; 11+ messages in thread
From: Sean McNeil @ 2001-05-27 10:36 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR preprocessor/2948; it has been noted by GNATS.

From: Sean McNeil <sean@mcneil.com>
To: Neil Booth <neil@daikokuya.demon.co.uk>
Cc: neil@gcc.gnu.org, gcc-gnats@gcc.gnu.org, nobody@gcc.gnu.org
Subject: Re: preprocessor/2948
Date: Sun, 27 May 2001 10:27:17 -0700

 Same result.  Please recall that the problem is with the normal compilation
 and not the 2 stage command below.  Normal compilation adds a lot of
 additional unnecessary code to the ttt.s file.  It appears that it is
 proceesing more than what shows from the output of the -E stage.  For
 instance, I get an external reference to operator delete (void*) which is no
 where to be found in the -E output.
 
 The commands below and substituting ttt.cc with ttt.ii both produce expected
 results.
 
 Sean
 
 Neil Booth wrote:
 
 > Sean McNeil wrote:-
 >
 > > 2 stage command:
 > >
 > > arm-wrs-vxworks-g++ -E -mcpu=arm8 -mapcs-32 -mlittle-endian -ansi
 > > -nostdinc -fno-implicit-templates -DVXW_EXPLICIT_TEMPLATES -O2
 > > -mno-sched-prolog -I/usr/wind/target/h -DCPU=ARMARCH4 -DARMEL
 > > -fno-exceptions -o /tmp/ttt.cc -c PlotFile.cpp
 > >
 > > arm-wrs-vxworks-g++ -mcpu=arm8 -mapcs-32 -mlittle-endian -ansi -nostdinc
 > > -fno-implicit-templates -DVXW_EXPLICIT_TEMPLATES -O2 -mno-sched-prolog
 > > -I/usr/wind/target/h -DCPU=ARMARCH4 -DARMEL -fno-exceptions -o
 > > /tmp/ttt.o /tmp/ttt.cc
 >
 > Could you try naming your intermediate file ttt.ii?  This is the
 > convention for C++ preprocessed source.  Naming it ttt.cc informs the
 > compiler that it is unpreprocessed source for the 2nd invocation too,
 > which could be what is causing the problems.
 >
 > Neil.
 


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: preprocessor/2948
@ 2001-05-27  0:46 Neil Booth
  0 siblings, 0 replies; 11+ messages in thread
From: Neil Booth @ 2001-05-27  0:46 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR preprocessor/2948; it has been noted by GNATS.

From: Neil Booth <neil@daikokuya.demon.co.uk>
To: Sean McNeil <sean@mcneil.com>
Cc: neil@gcc.gnu.org, gcc-gnats@gcc.gnu.org, nobody@gcc.gnu.org
Subject: Re: preprocessor/2948
Date: Sun, 27 May 2001 08:39:49 +0100

 Sean McNeil wrote:-
 
 > 2 stage command:
 > 
 > arm-wrs-vxworks-g++ -E -mcpu=arm8 -mapcs-32 -mlittle-endian -ansi
 > -nostdinc -fno-implicit-templates -DVXW_EXPLICIT_TEMPLATES -O2
 > -mno-sched-prolog -I/usr/wind/target/h -DCPU=ARMARCH4 -DARMEL
 > -fno-exceptions -o /tmp/ttt.cc -c PlotFile.cpp
 > 
 > arm-wrs-vxworks-g++ -mcpu=arm8 -mapcs-32 -mlittle-endian -ansi -nostdinc
 > -fno-implicit-templates -DVXW_EXPLICIT_TEMPLATES -O2 -mno-sched-prolog
 > -I/usr/wind/target/h -DCPU=ARMARCH4 -DARMEL -fno-exceptions -o
 > /tmp/ttt.o /tmp/ttt.cc
 
 Could you try naming your intermediate file ttt.ii?  This is the
 convention for C++ preprocessed source.  Naming it ttt.cc informs the
 compiler that it is unpreprocessed source for the 2nd invocation too,
 which could be what is causing the problems.
 
 Neil.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: preprocessor/2948
@ 2001-05-26  8:46 Sean McNeil
  0 siblings, 0 replies; 11+ messages in thread
From: Sean McNeil @ 2001-05-26  8:46 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR preprocessor/2948; it has been noted by GNATS.

From: Sean McNeil <sean@mcneil.com>
To: neil@gcc.gnu.org
Cc: gcc-gnats@gcc.gnu.org, nobody@gcc.gnu.org
Subject: Re: preprocessor/2948
Date: 26 May 2001 08:39:43 -0700

 --=-JJEN40V26LWYRI3taGKo
 Content-Type: text/plain
 
 Normal command:
 
 arm-wrs-vxworks-g++ -mcpu=arm8 -mapcs-32 -mlittle-endian -ansi -nostdinc
 -fno-implicit-templates -DVXW_EXPLICIT_TEMPLATES -O2 -mno-sched-prolog
 -I/usr/wind/target/h -DCPU=ARMARCH4 -DARMEL -fno-exceptions -o
 /tmp/ttt-bad.o -c PlotFile.cpp
 
 2 stage command:
 
 arm-wrs-vxworks-g++ -E -mcpu=arm8 -mapcs-32 -mlittle-endian -ansi
 -nostdinc -fno-implicit-templates -DVXW_EXPLICIT_TEMPLATES -O2
 -mno-sched-prolog -I/usr/wind/target/h -DCPU=ARMARCH4 -DARMEL
 -fno-exceptions -o /tmp/ttt.cc -c PlotFile.cpp
 
 arm-wrs-vxworks-g++ -mcpu=arm8 -mapcs-32 -mlittle-endian -ansi -nostdinc
 -fno-implicit-templates -DVXW_EXPLICIT_TEMPLATES -O2 -mno-sched-prolog
 -I/usr/wind/target/h -DCPU=ARMARCH4 -DARMEL -fno-exceptions -o
 /tmp/ttt.o /tmp/ttt.cc
 
 I have also generated the assembly to examine it and find a great deal
 of extra code attached at the end of the file:
 
 normal command:
 
 arm-wrs-vxworks-g++ -S -v -mcpu=arm8 -mapcs-32 -mlittle-endian -ansi
 -nostdinc -fno-implicit-templates -DVXW_EXPLICIT_TEMPLATES -O2
 -mno-sched-prolog -I/usr/wind/target/h -DCPU=ARMARCH4 -DARMEL 
 -fno-exceptions -o /tmp/ttt-bad.s -c PlotFile.cpp
 
 2 stage command:
 
 arm-wrs-vxworks-g++ -E -v -mcpu=arm8 -mapcs-32 -mlittle-endian -ansi
 -nostdinc -fno-implicit-templates -DVXW_EXPLICIT_TEMPLATES -O2
 -mno-sched-prolog -I/usr/wind/target/h -DCPU=ARMARCH4 -DARMEL
 -fno-exceptions -o /tmp/ttt.cc -c PlotFile.cpp
 
 arm-wrs-vxworks-g++ -S -v -mcpu=arm8 -mapcs-32 -mlittle-endian -ansi
 -nostdinc -fno-implicit-templates -DVXW_EXPLICIT_TEMPLATES -O2
 -mno-sched-prolog -I/usr/wind/target/h -DCPU=ARMARCH4 -DARMEL
 -fno-exceptions -o /tmp/ttt.s /tmp/ttt.cc
 
 I am attaching the original source, and the 2 generated assembly files
 since the web interface had problems generating the report.
 
 By the way, I found why I was having trouble with the web interface.
 Turns out the attachment file was not readable by me and the mozilla web
 browser hung trying to access the file.
 
 Sean
 
 On 26 May 2001 08:11:04 +0000, neil@gcc.gnu.org wrote:
 > Synopsis: different behaviour directly to C++ vs. saving -E output
 > 
 > State-Changed-From-To: open->feedback
 > State-Changed-By: neil
 > State-Changed-When: Sat May 26 01:11:04 2001
 > State-Changed-Why:
 >     Please confirm the *3 exact* command lines you use.  I suspect
 >     they are subtly different in their effects.
 > 
 > http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view&pr=2948&database=gcc
 
 --=-JJEN40V26LWYRI3taGKo
 Content-Type: text/plain
 Content-Disposition: attachment; filename=ttt-bad.s
 Content-ID: 990891437.13360.0.camel@desk.mcneil.com
 Content-Transfer-Encoding: 7bit
 
 @ Generated by gcc 3.1 20010525 (experimental) for ARM/VxWorks
 	.global	___PlotFile_o
 	.data
 ___PlotFile_o:
 	.byte	0
 	.text
 	.align	0
 	.global	__ZN8PlotFile3cmdEc
 __ZN8PlotFile3cmdEc:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r4, r0
 	ldr	r2, [r4, #84]
 	mov	r0, r1
 	ldr	r3, [r2, #-12]
 	and	r0, r0, #255
 	add	r3, r4, r3
 	ldr	r1, [r3, #88]
 	add	r1, r1, #4
 	bl	__IO_putc
 	mov	r0, r4
 	ldmea	fp, {r4, fp, sp, pc}
 	.align	0
 	.global	__ZN8PlotFilelsEi
 __ZN8PlotFilelsEi:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, r6, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r6, r0
 	ldr	r2, [r6, #84]
 	add	r5, r6, #84
 	ldr	r3, [r2, #-12]
 	mov	r4, r1
 	add	r3, r5, r3
 	ldr	r1, [r3, #4]
 	and	r0, r4, #255
 	add	r1, r1, #4
 	bl	__IO_putc
 	ldr	r3, [r6, #84]
 	mov	r4, r4, asr #8
 	ldr	r2, [r3, #-12]
 	and	r4, r4, #255
 	add	r5, r5, r2
 	ldr	r1, [r5, #4]
 	mov	r0, r4
 	add	r1, r1, #4
 	bl	__IO_putc
 	mov	r0, r6
 	ldmea	fp, {r4, r5, r6, fp, sp, pc}
 	.align	0
 	.global	__ZN8PlotFilelsEPKc
 __ZN8PlotFilelsEPKc:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r4, r0
 	add	r0, r4, #84
 	bl	__ZN7ostreamlsEPKc
 	mov	r0, r4
 	ldmea	fp, {r4, fp, sp, pc}
 	.align	0
 	.global	__ZN8PlotFile3arcEiiiiii
 __ZN8PlotFile3arcEiiiiii:
 	@ args = 12, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, r6, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r4, r1
 	mov	r1, #97
 	mov	r5, r2
 	mov	r6, r3
 	bl	__ZN8PlotFile3cmdEc
 	mov	r1, r4
 	bl	__ZN8PlotFilelsEi
 	mov	r1, r5
 	bl	__ZN8PlotFilelsEi
 	mov	r1, r6
 	bl	__ZN8PlotFilelsEi
 	ldr	r1, [fp, #4]
 	bl	__ZN8PlotFilelsEi
 	ldr	r1, [fp, #8]
 	bl	__ZN8PlotFilelsEi
 	ldr	r1, [fp, #12]
 	bl	__ZN8PlotFilelsEi
 	ldmea	fp, {r4, r5, r6, fp, sp, pc}
 	.align	0
 	.global	__ZN8PlotFile3boxEiiii
 __ZN8PlotFile3boxEiiii:
 	@ args = 4, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, r6, r7, r8, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	sub	sp, sp, #4
 	ldr	r4, [fp, #4]
 	mov	r8, r1
 	mov	r6, r3
 	mov	r3, r8
 	mov	r7, r2
 	mov	r5, r0
 	str	r4, [sp, #0]
 	bl	__ZN8PlotFile4lineEiiii
 	mov	r1, r8
 	mov	r2, r4
 	mov	r3, r6
 	mov	r0, r5
 	str	r4, [sp, #0]
 	bl	__ZN8PlotFile4lineEiiii
 	mov	r2, r4
 	mov	r1, r6
 	mov	r3, r6
 	mov	r0, r5
 	str	r7, [sp, #0]
 	bl	__ZN8PlotFile4lineEiiii
 	mov	r0, r5
 	mov	r1, r6
 	mov	r2, r7
 	mov	r3, r8
 	str	r7, [sp, #0]
 	bl	__ZN8PlotFile4lineEiiii
 	ldmea	fp, {r4, r5, r6, r7, r8, fp, sp, pc}
 	.align	0
 	.global	__ZN8PlotFile6circleEiii
 __ZN8PlotFile6circleEiii:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, r6, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r4, r1
 	mov	r1, #99
 	mov	r5, r2
 	mov	r6, r3
 	bl	__ZN8PlotFile3cmdEc
 	mov	r1, r4
 	bl	__ZN8PlotFilelsEi
 	mov	r1, r5
 	bl	__ZN8PlotFilelsEi
 	mov	r1, r6
 	bl	__ZN8PlotFilelsEi
 	ldmea	fp, {r4, r5, r6, fp, sp, pc}
 	.align	0
 	.global	__ZN8PlotFile4contEii
 __ZN8PlotFile4contEii:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r4, r1
 	mov	r1, #110
 	mov	r5, r2
 	bl	__ZN8PlotFile3cmdEc
 	mov	r1, r4
 	bl	__ZN8PlotFilelsEi
 	mov	r1, r5
 	bl	__ZN8PlotFilelsEi
 	ldmea	fp, {r4, r5, fp, sp, pc}
 	.align	0
 	.global	__ZN8PlotFile3dotEiiiiPKi
 __ZN8PlotFile3dotEiiiiPKi:
 	@ args = 8, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, r6, r7, r8, sl, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r4, r1
 	mov	r1, #100
 	ldr	r7, [fp, #4]
 	mov	r6, r3
 	mov	r5, r2
 	ldr	r8, [fp, #8]
 	mov	sl, r0
 	bl	__ZN8PlotFile3cmdEc
 	mov	r1, r4
 	bl	__ZN8PlotFilelsEi
 	mov	r1, r5
 	bl	__ZN8PlotFilelsEi
 	mov	r1, r6
 	bl	__ZN8PlotFilelsEi
 	mov	r1, r7
 	bl	__ZN8PlotFilelsEi
 	b	L28
 L24:
 	ldr	r1, [r8], #4
 	mov	r0, sl
 	bl	__ZN8PlotFilelsEi
 L28:
 	mov	r3, r7
 	cmp	r3, #0
 	sub	r7, r7, #1
 	bgt	L24
 	mov	r0, sl
 	ldmea	fp, {r4, r5, r6, r7, r8, sl, fp, sp, pc}
 	.align	0
 	.global	__ZN8PlotFile5eraseEv
 __ZN8PlotFile5eraseEv:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r1, #101
 	bl	__ZN8PlotFile3cmdEc
 	ldmea	fp, {fp, sp, pc}
 	.section .rdata
 	.align	0
 LC0:
 	.ascii	"\n\000"
 	.text
 	.align	0
 	.global	__ZN8PlotFile5labelEPKc
 __ZN8PlotFile5labelEPKc:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r4, r1
 	mov	r1, #116
 	bl	__ZN8PlotFile3cmdEc
 	mov	r1, r4
 	bl	__ZN8PlotFilelsEPKc
 	ldr	r1, L33
 	bl	__ZN8PlotFilelsEPKc
 	ldmea	fp, {r4, fp, sp, pc}
 L34:
 	.align	0
 L33:
 	.word	LC0
 	.align	0
 	.global	__ZN8PlotFile4lineEiiii
 __ZN8PlotFile4lineEiiii:
 	@ args = 4, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, r6, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r4, r1
 	mov	r1, #108
 	mov	r5, r2
 	mov	r6, r3
 	bl	__ZN8PlotFile3cmdEc
 	mov	r1, r4
 	bl	__ZN8PlotFilelsEi
 	mov	r1, r5
 	bl	__ZN8PlotFilelsEi
 	mov	r1, r6
 	bl	__ZN8PlotFilelsEi
 	ldr	r1, [fp, #4]
 	bl	__ZN8PlotFilelsEi
 	ldmea	fp, {r4, r5, r6, fp, sp, pc}
 	.align	0
 	.global	__ZN8PlotFile7linemodEPKc
 __ZN8PlotFile7linemodEPKc:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r4, r1
 	mov	r1, #102
 	bl	__ZN8PlotFile3cmdEc
 	mov	r1, r4
 	bl	__ZN8PlotFilelsEPKc
 	ldr	r1, L39
 	bl	__ZN8PlotFilelsEPKc
 	ldmea	fp, {r4, fp, sp, pc}
 L40:
 	.align	0
 L39:
 	.word	LC0
 	.align	0
 	.global	__ZN8PlotFile4moveEii
 __ZN8PlotFile4moveEii:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r4, r1
 	mov	r1, #109
 	mov	r5, r2
 	bl	__ZN8PlotFile3cmdEc
 	mov	r1, r4
 	bl	__ZN8PlotFilelsEi
 	mov	r1, r5
 	bl	__ZN8PlotFilelsEi
 	ldmea	fp, {r4, r5, fp, sp, pc}
 	.align	0
 	.global	__ZN8PlotFile5pointEii
 __ZN8PlotFile5pointEii:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r4, r1
 	mov	r1, #112
 	mov	r5, r2
 	bl	__ZN8PlotFile3cmdEc
 	mov	r1, r4
 	bl	__ZN8PlotFilelsEi
 	mov	r1, r5
 	bl	__ZN8PlotFilelsEi
 	ldmea	fp, {r4, r5, fp, sp, pc}
 	.align	0
 	.global	__ZN8PlotFile5spaceEiiii
 __ZN8PlotFile5spaceEiiii:
 	@ args = 4, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, r6, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r4, r1
 	mov	r1, #115
 	mov	r5, r2
 	mov	r6, r3
 	bl	__ZN8PlotFile3cmdEc
 	mov	r1, r4
 	bl	__ZN8PlotFilelsEi
 	mov	r1, r5
 	bl	__ZN8PlotFilelsEi
 	mov	r1, r6
 	bl	__ZN8PlotFilelsEi
 	ldr	r1, [fp, #4]
 	bl	__ZN8PlotFilelsEi
 	ldmea	fp, {r4, r5, r6, fp, sp, pc}
 	.global	__ZTT8PlotFile
 	.section .rdata
 	.align	0
 __ZTT8PlotFile:
 	.word	__ZTV8PlotFile+12
 	.word	__ZTC8PlotFile0_8ofstream+12
 	.word	__ZTC8PlotFile0_11fstreambase+12
 	.word	__ZTC8PlotFile0_11fstreambase+32
 	.word	__ZTC8PlotFile84_7ostream+12
 	.word	__ZTC8PlotFile84_7ostream+32
 	.word	__ZTC8PlotFile0_8ofstream+52
 	.word	__ZTC8PlotFile0_8ofstream+32
 	.word	__ZTV8PlotFile+52
 	.word	__ZTV8PlotFile+32
 	.space	4
 	.text
 	.align	0
 __ZTv0_n12_N7ostreamD1Ev:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	lr, r0
 	ldr	r3, [lr, #0]
 	ldr	r1, L63
 	ldr	r4, [r3, #-12]
 	ldr	r5, [r1, #-12]
 	add	ip, lr, r4
 	add	r0, ip, #4
 	ldr	r3, [r0, #28]
 	add	r2, r1, #20
 	cmp	r3, #0
 	ldr	r3, L63+4
 	str	r1, [lr, r4]
 	str	r2, [ip, r5]
 	str	r3, [ip, #4]
 	ldmeqea	fp, {r4, r5, fp, sp, pc}
 	bl	__ZN3ios13delete_arraysEv
 	ldmea	fp, {r4, r5, fp, sp, pc}
 L64:
 	.align	0
 L63:
 	.word	__ZTV7ostream+12
 	.word	__ZTV3ios+8
 	.align	0
 __ZTv0_n12_N7ostreamD0Ev:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	ip, r0
 	ldr	r3, [ip, #0]
 	ldr	r1, L81
 	ldr	lr, [r3, #-12]
 	ldr	r4, [r1, #-12]
 	add	r5, ip, lr
 	add	r0, r5, #4
 	ldr	r3, [r0, #28]
 	add	r2, r1, #20
 	cmp	r3, #0
 	ldr	r3, L81+4
 	str	r1, [ip, lr]
 	str	r2, [r5, r4]
 	str	r3, [r5, #4]
 	beq	L75
 	bl	__ZN3ios13delete_arraysEv
 L75:
 	mov	r0, r5
 	bl	__ZdlPv
 	ldmea	fp, {r4, r5, fp, sp, pc}
 L82:
 	.align	0
 L81:
 	.word	__ZTV7ostream+12
 	.word	__ZTV3ios+8
 	.global	__ZTC8PlotFile84_7ostream
 	.section .rdata
 	.align	0
 __ZTC8PlotFile84_7ostream:
 	.word	4
 	.word	0
 	.word	__ZTI7ostream
 	.word	__ZN7ostreamD1Ev
 	.word	__ZN7ostreamD0Ev
 	.word	-4
 	.word	-4
 	.word	__ZTI7ostream
 	.word	__ZTv0_n12_N7ostreamD1Ev
 	.word	__ZTv0_n12_N7ostreamD0Ev
 	.text
 	.align	0
 __ZTv0_n12_N11fstreambaseD1Ev:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	ldr	r2, [r0, #0]
 	ldr	r3, L99
 	ldr	ip, [r2, #-12]
 	ldr	lr, [r3, #-12]
 	add	r4, r0, ip
 	add	r2, r3, #20
 	add	r1, r4, #4
 	str	r3, [r0, ip]
 	str	r2, [r4, lr]
 	mov	r0, r1
 	bl	__ZN7filebufD1Ev
 	add	r0, r4, #84
 	ldr	r2, [r0, #28]
 	ldr	r3, L99+4
 	cmp	r2, #0
 	str	r3, [r4, #84]
 	ldmeqea	fp, {r4, fp, sp, pc}
 	bl	__ZN3ios13delete_arraysEv
 	ldmea	fp, {r4, fp, sp, pc}
 L100:
 	.align	0
 L99:
 	.word	__ZTV11fstreambase+12
 	.word	__ZTV3ios+8
 	.align	0
 __ZTv0_n12_N11fstreambaseD0Ev:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	ldr	r2, [r0, #0]
 	ldr	r3, L117
 	ldr	ip, [r2, #-12]
 	ldr	lr, [r3, #-12]
 	add	r4, r0, ip
 	add	r2, r3, #20
 	add	r1, r4, #4
 	str	r3, [r0, ip]
 	str	r2, [r4, lr]
 	mov	r0, r1
 	bl	__ZN7filebufD1Ev
 	add	r0, r4, #84
 	ldr	r2, [r0, #28]
 	ldr	r3, L117+4
 	cmp	r2, #0
 	str	r3, [r4, #84]
 	beq	L111
 	bl	__ZN3ios13delete_arraysEv
 L111:
 	mov	r0, r4
 	bl	__ZdlPv
 	ldmea	fp, {r4, fp, sp, pc}
 L118:
 	.align	0
 L117:
 	.word	__ZTV11fstreambase+12
 	.word	__ZTV3ios+8
 	.global	__ZTC8PlotFile0_11fstreambase
 	.section .rdata
 	.align	0
 __ZTC8PlotFile0_11fstreambase:
 	.word	88
 	.word	0
 	.word	__ZTI11fstreambase
 	.word	__ZN11fstreambaseD1Ev
 	.word	__ZN11fstreambaseD0Ev
 	.word	-88
 	.word	-88
 	.word	__ZTI11fstreambase
 	.word	__ZTv0_n12_N11fstreambaseD1Ev
 	.word	__ZTv0_n12_N11fstreambaseD0Ev
 	.text
 	.align	0
 __ZTv0_n12_N8ofstreamD1Ev:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, r6, r7, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r5, r0
 	ldr	r2, [r5, #0]
 	ldr	r3, L169
 	ldr	r6, [r2, #-12]
 	ldr	r1, [r3, #-12]
 	add	r4, r5, r6
 	ldr	lr, L169+4
 	add	r0, r3, #20
 	add	r2, r3, #40
 	str	r3, [r5, r6]
 	str	r2, [r4, r1]
 	str	r0, [r4, #84]
 	ldr	r3, [lr, #0]
 	add	r7, r4, #84
 	str	r3, [r4, #84]
 	ldr	r2, [lr, #4]
 	ldr	ip, [r3, #-12]
 	add	r0, r4, #4
 	str	r2, [r7, ip]
 	ldr	r1, [lr, #-8]
 	str	r1, [r5, r6]
 	ldr	r2, [r1, #-12]
 	ldr	r3, [lr, #-4]
 	str	r3, [r4, r2]
 	bl	__ZN7filebufD1Ev
 	add	r0, r4, #88
 	ldr	r2, [r0, #28]
 	ldr	r3, L169+8
 	cmp	r2, #0
 	str	r3, [r4, #88]
 	ldmeqea	fp, {r4, r5, r6, r7, fp, sp, pc}
 	bl	__ZN3ios13delete_arraysEv
 	ldmea	fp, {r4, r5, r6, r7, fp, sp, pc}
 L170:
 	.align	0
 L169:
 	.word	__ZTV8ofstream+12
 	.word	__ZTT8ofstream+12
 	.word	__ZTV3ios+8
 	.align	0
 __ZTv0_n12_N8ofstreamD0Ev:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, r6, r7, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r4, r0
 	ldr	r2, [r4, #0]
 	ldr	r3, L221
 	ldr	r5, [r2, #-12]
 	ldr	r1, [r3, #-12]
 	add	r7, r4, r5
 	ldr	lr, L221+4
 	add	r0, r3, #20
 	add	r2, r3, #40
 	str	r3, [r4, r5]
 	str	r2, [r7, r1]
 	str	r0, [r7, #84]
 	ldr	r3, [lr, #0]
 	add	r6, r7, #84
 	str	r3, [r7, #84]
 	ldr	r2, [lr, #4]
 	ldr	ip, [r3, #-12]
 	add	r0, r7, #4
 	str	r2, [r6, ip]
 	ldr	r1, [lr, #-8]
 	str	r1, [r4, r5]
 	ldr	r2, [r1, #-12]
 	ldr	r3, [lr, #-4]
 	str	r3, [r7, r2]
 	bl	__ZN7filebufD1Ev
 	add	r0, r7, #88
 	ldr	r2, [r0, #28]
 	ldr	r3, L221+8
 	cmp	r2, #0
 	str	r3, [r7, #88]
 	beq	L215
 	bl	__ZN3ios13delete_arraysEv
 L215:
 	mov	r0, r7
 	bl	__ZdlPv
 	ldmea	fp, {r4, r5, r6, r7, fp, sp, pc}
 L222:
 	.align	0
 L221:
 	.word	__ZTV8ofstream+12
 	.word	__ZTT8ofstream+12
 	.word	__ZTV3ios+8
 	.global	__ZTC8PlotFile0_8ofstream
 	.section .rdata
 	.align	0
 __ZTC8PlotFile0_8ofstream:
 	.word	88
 	.word	0
 	.word	__ZTI8ofstream
 	.word	__ZN8ofstreamD1Ev
 	.word	__ZN8ofstreamD0Ev
 	.word	4
 	.word	-84
 	.word	__ZTI8ofstream
 	.word	__ZThn84_N8ofstreamD1Ev
 	.word	__ZThn84_N8ofstreamD0Ev
 	.word	-88
 	.word	-88
 	.word	__ZTI8ofstream
 	.word	__ZTv0_n12_N8ofstreamD1Ev
 	.word	__ZTv0_n12_N8ofstreamD0Ev
 	.text
 	.align	0
 __ZTv0_n12_N8PlotFileD1Ev:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 0, current_function_anonymous_args = 0
 	str	lr, [sp, #-4]!
 	ldr	r3, [r0, #0]
 	ldr	r2, [r3, #-12]
 	add	r0, r0, r2
 	@ Sibcall epilogue
 	ldr	lr, [sp], #4
 	b	__ZN8PlotFileD1Ev
 	.align	0
 __ZTv0_n12_N8PlotFileD0Ev:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 0, current_function_anonymous_args = 0
 	str	lr, [sp, #-4]!
 	ldr	r3, [r0, #0]
 	ldr	r2, [r3, #-12]
 	add	r0, r0, r2
 	@ Sibcall epilogue
 	ldr	lr, [sp], #4
 	b	__ZN8PlotFileD0Ev
 	.global	__ZTV8PlotFile
 	.section .rdata
 	.align	0
 __ZTV8PlotFile:
 	.word	88
 	.word	0
 	.word	__ZTI8PlotFile
 	.word	__ZN8PlotFileD1Ev
 	.word	__ZN8PlotFileD0Ev
 	.word	4
 	.word	-84
 	.word	__ZTI8PlotFile
 	.word	__ZThn84_N8PlotFileD1Ev
 	.word	__ZThn84_N8PlotFileD0Ev
 	.word	-88
 	.word	-88
 	.word	__ZTI8PlotFile
 	.word	__ZTv0_n12_N8PlotFileD1Ev
 	.word	__ZTv0_n12_N8PlotFileD0Ev
 	.space	4
 	.text
 	.align	0
 __ZThn84_N8PlotFileD1Ev:
 	sub	r0, r0, #84
 	b	__ZN8PlotFileD1Ev
 	.align	0
 __ZN8PlotFileD1Ev:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	ldr	r3, L293
 	mov	r4, r0
 	ldr	r0, [r3, #-12]
 	ldr	r1, L293+4
 	add	ip, r3, #20
 	add	r2, r3, #40
 	str	r3, [r4, #0]
 	str	r2, [r4, r0]
 	str	ip, [r4, #84]
 	ldr	r3, [r1, #0]
 	add	lr, r4, #84
 	str	r3, [r4, #0]
 	ldr	r2, [r1, #20]
 	ldr	ip, [r3, #-12]
 	add	r0, r4, #4
 	str	r2, [r4, ip]
 	ldr	r3, [r1, #24]
 	str	r3, [r4, #84]
 	ldr	r2, [r1, #12]
 	str	r2, [r4, #84]
 	ldr	r3, [r1, #16]
 	ldr	ip, [r2, #-12]
 	str	r3, [lr, ip]
 	ldr	r2, [r1, #4]
 	str	r2, [r4, #0]
 	ldr	ip, [r2, #-12]
 	ldr	r3, [r1, #8]
 	str	r3, [r4, ip]
 	bl	__ZN7filebufD1Ev
 	add	r0, r4, #88
 	ldr	r2, [r0, #28]
 	ldr	r3, L293+8
 	cmp	r2, #0
 	str	r3, [r4, #88]
 	ldmeqea	fp, {r4, fp, sp, pc}
 	bl	__ZN3ios13delete_arraysEv
 	ldmea	fp, {r4, fp, sp, pc}
 L294:
 	.align	0
 L293:
 	.word	__ZTV8PlotFile+12
 	.word	__ZTT8PlotFile+4
 	.word	__ZTV3ios+8
 	.align	0
 __ZThn84_N8PlotFileD0Ev:
 	sub	r0, r0, #84
 	b	__ZN8PlotFileD0Ev
 	.align	0
 __ZN8PlotFileD0Ev:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	ldr	r3, L361
 	mov	r4, r0
 	ldr	r0, [r3, #-12]
 	ldr	r1, L361+4
 	add	ip, r3, #20
 	add	r2, r3, #40
 	str	r3, [r4, #0]
 	str	r2, [r4, r0]
 	str	ip, [r4, #84]
 	ldr	r3, [r1, #0]
 	add	lr, r4, #84
 	str	r3, [r4, #0]
 	ldr	r2, [r1, #20]
 	ldr	ip, [r3, #-12]
 	add	r0, r4, #4
 	str	r2, [r4, ip]
 	ldr	r3, [r1, #24]
 	str	r3, [r4, #84]
 	ldr	r2, [r1, #12]
 	str	r2, [r4, #84]
 	ldr	r3, [r1, #16]
 	ldr	ip, [r2, #-12]
 	str	r3, [lr, ip]
 	ldr	r2, [r1, #4]
 	str	r2, [r4, #0]
 	ldr	ip, [r2, #-12]
 	ldr	r3, [r1, #8]
 	str	r3, [r4, ip]
 	bl	__ZN7filebufD1Ev
 	add	r0, r4, #88
 	ldr	r2, [r0, #28]
 	ldr	r3, L361+8
 	cmp	r2, #0
 	str	r3, [r4, #88]
 	beq	L357
 	bl	__ZN3ios13delete_arraysEv
 L357:
 	mov	r0, r4
 	@ Sibcall epilogue
 	ldmea	fp, {r4, fp, sp, lr}
 	b	__ZdlPv
 L362:
 	.align	0
 L361:
 	.word	__ZTV8PlotFile+12
 	.word	__ZTT8PlotFile+4
 	.word	__ZTV3ios+8
 	.align	0
 __ZN7ostreamD0Ev:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r4, r0
 	ldr	r3, L377
 	add	r0, r4, #4
 	ldr	r1, [r0, #28]
 	ldr	ip, [r3, #-12]
 	add	r2, r3, #20
 	str	r3, [r4, #0]
 	ldr	r3, L377+4
 	cmp	r1, #0
 	str	r2, [r4, ip]
 	str	r3, [r4, #4]
 	beq	L373
 	bl	__ZN3ios13delete_arraysEv
 L373:
 	mov	r0, r4
 	@ Sibcall epilogue
 	ldmea	fp, {r4, fp, sp, lr}
 	b	__ZdlPv
 L378:
 	.align	0
 L377:
 	.word	__ZTV7ostream+12
 	.word	__ZTV3ios+8
 	.align	0
 __ZN7ostreamD1Ev:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r1, r0
 	ldr	r3, L393
 	add	r0, r1, #4
 	ldr	ip, [r0, #28]
 	ldr	lr, [r3, #-12]
 	add	r2, r3, #20
 	str	r3, [r1, #0]
 	ldr	r3, L393+4
 	cmp	ip, #0
 	str	r2, [r1, lr]
 	str	r3, [r1, #4]
 	ldmeqea	fp, {fp, sp, pc}
 	bl	__ZN3ios13delete_arraysEv
 	ldmea	fp, {fp, sp, pc}
 L394:
 	.align	0
 L393:
 	.word	__ZTV7ostream+12
 	.word	__ZTV3ios+8
 	.align	0
 __ZN11fstreambaseD0Ev:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	ldr	r3, L409
 	mov	r4, r0
 	ldr	r1, [r3, #-12]
 	add	r2, r3, #20
 	str	r3, [r4, #0]
 	add	r0, r4, #4
 	str	r2, [r4, r1]
 	bl	__ZN7filebufD1Ev
 	add	r0, r4, #84
 	ldr	r2, [r0, #28]
 	ldr	r3, L409+4
 	cmp	r2, #0
 	str	r3, [r4, #84]
 	beq	L405
 	bl	__ZN3ios13delete_arraysEv
 L405:
 	mov	r0, r4
 	@ Sibcall epilogue
 	ldmea	fp, {r4, fp, sp, lr}
 	b	__ZdlPv
 L410:
 	.align	0
 L409:
 	.word	__ZTV11fstreambase+12
 	.word	__ZTV3ios+8
 	.align	0
 __ZN11fstreambaseD1Ev:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	ldr	r3, L425
 	mov	r4, r0
 	ldr	r1, [r3, #-12]
 	add	r2, r3, #20
 	str	r3, [r4, #0]
 	add	r0, r4, #4
 	str	r2, [r4, r1]
 	bl	__ZN7filebufD1Ev
 	add	r0, r4, #84
 	ldr	r2, [r0, #28]
 	ldr	r3, L425+4
 	cmp	r2, #0
 	str	r3, [r4, #84]
 	ldmeqea	fp, {r4, fp, sp, pc}
 	bl	__ZN3ios13delete_arraysEv
 	ldmea	fp, {r4, fp, sp, pc}
 L426:
 	.align	0
 L425:
 	.word	__ZTV11fstreambase+12
 	.word	__ZTV3ios+8
 	.align	0
 __ZThn84_N8ofstreamD0Ev:
 	sub	r0, r0, #84
 	b	__ZN8ofstreamD0Ev
 	.align	0
 __ZN8ofstreamD0Ev:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	ldr	r3, L475
 	mov	r5, r0
 	ldr	r1, [r3, #-12]
 	ldr	lr, L475+4
 	add	r0, r3, #20
 	add	r2, r3, #40
 	str	r3, [r5, #0]
 	str	r2, [r5, r1]
 	str	r0, [r5, #84]
 	ldr	r3, [lr, #0]
 	add	r4, r5, #84
 	str	r3, [r5, #84]
 	ldr	r2, [lr, #4]
 	ldr	ip, [r3, #-12]
 	add	r0, r5, #4
 	str	r2, [r4, ip]
 	ldr	r1, [lr, #-8]
 	str	r1, [r5, #0]
 	ldr	r2, [r1, #-12]
 	ldr	r3, [lr, #-4]
 	str	r3, [r5, r2]
 	bl	__ZN7filebufD1Ev
 	add	r0, r5, #88
 	ldr	r2, [r0, #28]
 	ldr	r3, L475+8
 	cmp	r2, #0
 	str	r3, [r5, #88]
 	beq	L471
 	bl	__ZN3ios13delete_arraysEv
 L471:
 	mov	r0, r5
 	@ Sibcall epilogue
 	ldmea	fp, {r4, r5, fp, sp, lr}
 	b	__ZdlPv
 L476:
 	.align	0
 L475:
 	.word	__ZTV8ofstream+12
 	.word	__ZTT8ofstream+12
 	.word	__ZTV3ios+8
 	.align	0
 __ZThn84_N8ofstreamD1Ev:
 	sub	r0, r0, #84
 	b	__ZN8ofstreamD1Ev
 	.align	0
 __ZN8ofstreamD1Ev:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	ldr	r3, L525
 	mov	r4, r0
 	ldr	r1, [r3, #-12]
 	ldr	lr, L525+4
 	add	r0, r3, #20
 	add	r2, r3, #40
 	str	r3, [r4, #0]
 	str	r2, [r4, r1]
 	str	r0, [r4, #84]
 	ldr	r3, [lr, #0]
 	add	r5, r4, #84
 	str	r3, [r4, #84]
 	ldr	r2, [lr, #4]
 	ldr	ip, [r3, #-12]
 	add	r0, r4, #4
 	str	r2, [r5, ip]
 	ldr	r1, [lr, #-8]
 	str	r1, [r4, #0]
 	ldr	r2, [r1, #-12]
 	ldr	r3, [lr, #-4]
 	str	r3, [r4, r2]
 	bl	__ZN7filebufD1Ev
 	add	r0, r4, #88
 	ldr	r2, [r0, #28]
 	ldr	r3, L525+8
 	cmp	r2, #0
 	str	r3, [r4, #88]
 	ldmeqea	fp, {r4, r5, fp, sp, pc}
 	bl	__ZN3ios13delete_arraysEv
 	ldmea	fp, {r4, r5, fp, sp, pc}
 L526:
 	.align	0
 L525:
 	.word	__ZTV8ofstream+12
 	.word	__ZTT8ofstream+12
 	.word	__ZTV3ios+8
 	.align	0
 	.global	__ZN8PlotFileC2Ev
 __ZN8PlotFileC2Ev:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, r6, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r5, r1
 	add	r6, r5, #4
 	add	r1, r6, #4
 	mov	r4, r0
 	bl	__ZN11fstreambaseC2Ev
 	ldr	r2, [r5, #16]
 	add	r0, r4, #84
 	str	r2, [r4, #84]
 	ldr	r3, [r5, #20]
 	ldr	r1, [r2, #-12]
 	str	r3, [r0, r1]
 	ldr	r2, [r5, #4]
 	str	r2, [r4, #0]
 	ldr	r3, [r6, #20]
 	ldr	r1, [r2, #-12]
 	str	r3, [r4, r1]
 	ldr	r2, [r6, #24]
 	str	r2, [r4, #84]
 	ldr	r1, [r5, #0]
 	str	r1, [r4, #0]
 	ldr	r3, [r5, #32]
 	ldr	r0, [r1, #-12]
 	str	r3, [r4, r0]
 	ldr	r2, [r5, #36]
 	str	r2, [r4, #84]
 	ldmea	fp, {r4, r5, r6, fp, sp, pc}
 	.align	0
 	.global	__ZN8PlotFileC1Ev
 __ZN8PlotFileC1Ev:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	ldr	r3, L611
 	mov	r4, r0
 	add	ip, r4, #92
 	ldr	r5, L611+4
 	str	r3, [r4, #88]
 	mov	r2, #17
 	mov	r3, #4
 	mov	lr, #0
 	strb	r3, [ip, #18]
 	str	r2, [ip, #12]
 	mov	r3, #32	@ movhi
 	sub	r2, r2, #11
 	strb	lr, [ip, #19]
 	str	lr, [ip, #24]
 	str	r2, [ip, #20]
 	str	lr, [ip, #4]
 	str	lr, [ip, #8]
 	strh	r3, [ip, #16]	@ movhi 
 	add	r1, r5, #4
 	str	lr, [r4, #92]
 	bl	__ZN11fstreambaseC2Ev
 	ldr	r3, [r5, #12]
 	add	ip, r4, #84
 	str	r3, [r4, #84]
 	ldr	r2, [r5, #16]
 	ldr	r0, [r3, #-12]
 	ldr	r1, L611+8
 	str	r2, [ip, r0]
 	ldr	r3, [r5, #0]
 	ldr	lr, [r1, #-12]
 	str	r3, [r4, #0]
 	ldr	r2, [r5, #20]
 	ldr	r0, [r3, #-12]
 	add	ip, r1, #20
 	str	r2, [r4, r0]
 	ldr	r3, [r5, #24]
 	add	r2, r1, #40
 	str	r3, [r4, #84]
 	str	r1, [r4, #0]
 	str	r2, [r4, lr]
 	str	ip, [r4, #84]
 	ldmea	fp, {r4, r5, fp, sp, pc}
 L612:
 	.align	0
 L611:
 	.word	__ZTV3ios+8
 	.word	__ZTT8PlotFile+4
 	.word	__ZTV8PlotFile+12
 	.align	0
 	.global	__ZN8PlotFileC2Ei
 __ZN8PlotFileC2Ei:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, r6, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r5, r1
 	add	r6, r5, #4
 	add	r1, r6, #4
 	mov	r4, r0
 	bl	__ZN11fstreambaseC2Ei
 	ldr	r2, [r5, #16]
 	add	r0, r4, #84
 	str	r2, [r4, #84]
 	ldr	r3, [r5, #20]
 	ldr	r1, [r2, #-12]
 	str	r3, [r0, r1]
 	ldr	r2, [r5, #4]
 	str	r2, [r4, #0]
 	ldr	r3, [r6, #20]
 	ldr	r1, [r2, #-12]
 	str	r3, [r4, r1]
 	ldr	r2, [r6, #24]
 	str	r2, [r4, #84]
 	ldr	r1, [r5, #0]
 	str	r1, [r4, #0]
 	ldr	r3, [r5, #32]
 	ldr	r0, [r1, #-12]
 	str	r3, [r4, r0]
 	ldr	r2, [r5, #36]
 	str	r2, [r4, #84]
 	ldmea	fp, {r4, r5, r6, fp, sp, pc}
 	.align	0
 	.global	__ZN8PlotFileC1Ei
 __ZN8PlotFileC1Ei:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, r6, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	ldr	r3, L697
 	mov	r4, r0
 	add	lr, r4, #92
 	ldr	r6, L697+4
 	str	r3, [r4, #88]
 	mov	ip, #17
 	mov	r3, #4
 	mov	r5, #0
 	strb	r3, [lr, #18]
 	str	ip, [lr, #12]
 	mov	r3, #32	@ movhi
 	sub	ip, ip, #11
 	mov	r2, r1
 	str	ip, [lr, #20]
 	strb	r5, [lr, #19]
 	strh	r3, [lr, #16]	@ movhi 
 	add	r1, r6, #4
 	str	r5, [lr, #24]
 	str	r5, [lr, #4]
 	str	r5, [lr, #8]
 	str	r5, [r4, #92]
 	bl	__ZN11fstreambaseC2Ei
 	ldr	r3, [r6, #12]
 	add	ip, r4, #84
 	str	r3, [r4, #84]
 	ldr	r2, [r6, #16]
 	ldr	r0, [r3, #-12]
 	ldr	r1, L697+8
 	str	r2, [ip, r0]
 	ldr	r3, [r6, #0]
 	ldr	lr, [r1, #-12]
 	str	r3, [r4, #0]
 	ldr	r2, [r6, #20]
 	ldr	r0, [r3, #-12]
 	add	ip, r1, #20
 	str	r2, [r4, r0]
 	ldr	r3, [r6, #24]
 	add	r2, r1, #40
 	str	r3, [r4, #84]
 	str	r1, [r4, #0]
 	str	r2, [r4, lr]
 	str	ip, [r4, #84]
 	ldmea	fp, {r4, r5, r6, fp, sp, pc}
 L698:
 	.align	0
 L697:
 	.word	__ZTV3ios+8
 	.word	__ZTT8PlotFile+4
 	.word	__ZTV8PlotFile+12
 	.align	0
 	.global	__ZN8PlotFileC2EPKcii
 __ZN8PlotFileC2EPKcii:
 	@ args = 4, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, r6, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	sub	sp, sp, #4
 	mov	r5, r1
 	add	r6, r5, #4
 	ldr	ip, [fp, #4]
 	add	r1, r6, #4
 	mov	r4, r0
 	str	ip, [sp, #0]
 	bl	__ZN11fstreambaseC2EPKcii
 	ldr	r2, [r5, #16]
 	add	r0, r4, #84
 	str	r2, [r4, #84]
 	ldr	r3, [r5, #20]
 	ldr	r1, [r2, #-12]
 	str	r3, [r0, r1]
 	ldr	r2, [r5, #4]
 	str	r2, [r4, #0]
 	ldr	r3, [r6, #20]
 	ldr	r1, [r2, #-12]
 	str	r3, [r4, r1]
 	ldr	r2, [r6, #24]
 	str	r2, [r4, #84]
 	ldr	r1, [r5, #0]
 	str	r1, [r4, #0]
 	ldr	r3, [r5, #32]
 	ldr	r0, [r1, #-12]
 	str	r3, [r4, r0]
 	ldr	r2, [r5, #36]
 	str	r2, [r4, #84]
 	ldmea	fp, {r4, r5, r6, fp, sp, pc}
 	.align	0
 	.global	__ZN8PlotFileC1EPKcii
 __ZN8PlotFileC1EPKcii:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, r6, r7, r8, sl, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	sub	sp, sp, #4
 	mov	r4, r0
 	mov	sl, r2
 	ldr	r2, L781
 	add	lr, r4, #92
 	ldr	r6, L781+4
 	mov	ip, #17
 	mov	r5, #0
 	str	r2, [r4, #88]
 	str	ip, [lr, #12]
 	mov	r8, r1
 	sub	ip, ip, #11
 	mov	r2, #4
 	mov	r7, r3
 	mov	r3, #32	@ movhi
 	strb	r2, [lr, #18]
 	str	ip, [lr, #20]
 	strb	r5, [lr, #19]
 	strh	r3, [lr, #16]	@ movhi 
 	str	r5, [lr, #24]
 	str	r5, [lr, #4]
 	str	r5, [lr, #8]
 	add	r1, r6, #4
 	str	r5, [r4, #92]
 	mov	r2, r8
 	mov	r3, sl
 	str	r7, [sp, #0]
 	bl	__ZN11fstreambaseC2EPKcii
 	ldr	r3, [r6, #12]
 	add	ip, r4, #84
 	str	r3, [r4, #84]
 	ldr	r2, [r6, #16]
 	ldr	r0, [r3, #-12]
 	ldr	r1, L781+8
 	str	r2, [ip, r0]
 	ldr	r3, [r6, #0]
 	ldr	lr, [r1, #-12]
 	str	r3, [r4, #0]
 	ldr	r2, [r6, #20]
 	ldr	r0, [r3, #-12]
 	add	ip, r1, #20
 	str	r2, [r4, r0]
 	ldr	r3, [r6, #24]
 	add	r2, r1, #40
 	str	r3, [r4, #84]
 	str	r1, [r4, #0]
 	str	r2, [r4, lr]
 	str	ip, [r4, #84]
 	ldmea	fp, {r4, r5, r6, r7, r8, sl, fp, sp, pc}
 L782:
 	.align	0
 L781:
 	.word	__ZTV3ios+8
 	.word	__ZTT8PlotFile+4
 	.word	__ZTV8PlotFile+12
 	.section .rdata
 	.align	0
 __ZTI8PlotFile:
 	.word	__ZTVN10__cxxabiv120__si_class_type_infoE+8
 	.word	__ZTS8PlotFile
 	.word	__ZTI8ofstream
 	.align	0
 __ZTI8ofstream:
 	.word	__ZTVN10__cxxabiv121__vmi_class_type_infoE+8
 	.word	__ZTS8ofstream
 	.word	11
 	.word	2
 	.word	__ZTI11fstreambase
 	.word	2
 	.word	__ZTI7ostream
 	.word	21506
 	.space	8
 	.align	0
 __ZTI11fstreambase:
 	.word	__ZTVN10__cxxabiv121__vmi_class_type_infoE+8
 	.word	__ZTS11fstreambase
 	.word	8
 	.word	1
 	.word	__ZTI3ios
 	.word	-3069
 	.space	8
 	.align	0
 __ZTI7ostream:
 	.word	__ZTVN10__cxxabiv121__vmi_class_type_infoE+8
 	.word	__ZTS7ostream
 	.word	8
 	.word	1
 	.word	__ZTI3ios
 	.word	-3069
 	.space	8
 	.align	0
 __ZTS8PlotFile:
 	.ascii	"8PlotFile\000"
 	.align	0
 __ZTS8ofstream:
 	.ascii	"8ofstream\000"
 	.align	0
 __ZTS11fstreambase:
 	.ascii	"11fstreambase\000"
 	.align	0
 __ZTS7ostream:
 	.ascii	"7ostream\000"
 	.align	0
 __ZTI3ios:
 	.word	__ZTVN10__cxxabiv121__vmi_class_type_infoE+8
 	.word	__ZTS3ios
 	.word	8
 	.word	1
 	.word	__ZTI11_ios_fields
 	.word	1026
 	.space	8
 	.align	0
 __ZTS3ios:
 	.ascii	"3ios\000"
 	.align	0
 __ZTI11_ios_fields:
 	.word	__ZTVN10__cxxabiv117__class_type_infoE+8
 	.word	__ZTS11_ios_fields
 	.align	0
 __ZTS11_ios_fields:
 	.ascii	"11_ios_fields\000"
 
 --=-JJEN40V26LWYRI3taGKo
 Content-Type: text/plain
 Content-Disposition: attachment; filename=ttt.s
 Content-ID: 990891444.13360.1.camel@desk.mcneil.com
 Content-Transfer-Encoding: 7bit
 
 @ Generated by gcc 3.1 20010525 (experimental) for ARM/VxWorks
 	.global	___PlotFile_o
 	.data
 ___PlotFile_o:
 	.byte	0
 	.text
 	.align	0
 	.global	__ZN8PlotFile3cmdEc
 __ZN8PlotFile3cmdEc:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r4, r0
 	ldr	r2, [r4, #84]
 	mov	r0, r1
 	ldr	r3, [r2, #-12]
 	and	r0, r0, #255
 	add	r3, r4, r3
 	ldr	r1, [r3, #88]
 	add	r1, r1, #4
 	bl	__IO_putc
 	mov	r0, r4
 	ldmea	fp, {r4, fp, sp, pc}
 	.align	0
 	.global	__ZN8PlotFilelsEi
 __ZN8PlotFilelsEi:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, r6, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r6, r0
 	ldr	r2, [r6, #84]
 	add	r5, r6, #84
 	ldr	r3, [r2, #-12]
 	mov	r4, r1
 	add	r3, r5, r3
 	ldr	r1, [r3, #4]
 	and	r0, r4, #255
 	add	r1, r1, #4
 	bl	__IO_putc
 	ldr	r3, [r6, #84]
 	mov	r4, r4, asr #8
 	ldr	r2, [r3, #-12]
 	and	r4, r4, #255
 	add	r5, r5, r2
 	ldr	r1, [r5, #4]
 	mov	r0, r4
 	add	r1, r1, #4
 	bl	__IO_putc
 	mov	r0, r6
 	ldmea	fp, {r4, r5, r6, fp, sp, pc}
 	.align	0
 	.global	__ZN8PlotFilelsEPKc
 __ZN8PlotFilelsEPKc:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r4, r0
 	add	r0, r4, #84
 	bl	__ZN7ostreamlsEPKc
 	mov	r0, r4
 	ldmea	fp, {r4, fp, sp, pc}
 	.align	0
 	.global	__ZN8PlotFile3arcEiiiiii
 __ZN8PlotFile3arcEiiiiii:
 	@ args = 12, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, r6, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r4, r1
 	mov	r1, #97
 	mov	r5, r2
 	mov	r6, r3
 	bl	__ZN8PlotFile3cmdEc
 	mov	r1, r4
 	bl	__ZN8PlotFilelsEi
 	mov	r1, r5
 	bl	__ZN8PlotFilelsEi
 	mov	r1, r6
 	bl	__ZN8PlotFilelsEi
 	ldr	r1, [fp, #4]
 	bl	__ZN8PlotFilelsEi
 	ldr	r1, [fp, #8]
 	bl	__ZN8PlotFilelsEi
 	ldr	r1, [fp, #12]
 	bl	__ZN8PlotFilelsEi
 	ldmea	fp, {r4, r5, r6, fp, sp, pc}
 	.align	0
 	.global	__ZN8PlotFile3boxEiiii
 __ZN8PlotFile3boxEiiii:
 	@ args = 4, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, r6, r7, r8, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	sub	sp, sp, #4
 	ldr	r4, [fp, #4]
 	mov	r8, r1
 	mov	r6, r3
 	mov	r3, r8
 	mov	r7, r2
 	mov	r5, r0
 	str	r4, [sp, #0]
 	bl	__ZN8PlotFile4lineEiiii
 	mov	r1, r8
 	mov	r2, r4
 	mov	r3, r6
 	mov	r0, r5
 	str	r4, [sp, #0]
 	bl	__ZN8PlotFile4lineEiiii
 	mov	r2, r4
 	mov	r1, r6
 	mov	r3, r6
 	mov	r0, r5
 	str	r7, [sp, #0]
 	bl	__ZN8PlotFile4lineEiiii
 	mov	r0, r5
 	mov	r1, r6
 	mov	r2, r7
 	mov	r3, r8
 	str	r7, [sp, #0]
 	bl	__ZN8PlotFile4lineEiiii
 	ldmea	fp, {r4, r5, r6, r7, r8, fp, sp, pc}
 	.align	0
 	.global	__ZN8PlotFile6circleEiii
 __ZN8PlotFile6circleEiii:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, r6, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r4, r1
 	mov	r1, #99
 	mov	r5, r2
 	mov	r6, r3
 	bl	__ZN8PlotFile3cmdEc
 	mov	r1, r4
 	bl	__ZN8PlotFilelsEi
 	mov	r1, r5
 	bl	__ZN8PlotFilelsEi
 	mov	r1, r6
 	bl	__ZN8PlotFilelsEi
 	ldmea	fp, {r4, r5, r6, fp, sp, pc}
 	.align	0
 	.global	__ZN8PlotFile4contEii
 __ZN8PlotFile4contEii:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r4, r1
 	mov	r1, #110
 	mov	r5, r2
 	bl	__ZN8PlotFile3cmdEc
 	mov	r1, r4
 	bl	__ZN8PlotFilelsEi
 	mov	r1, r5
 	bl	__ZN8PlotFilelsEi
 	ldmea	fp, {r4, r5, fp, sp, pc}
 	.align	0
 	.global	__ZN8PlotFile3dotEiiiiPKi
 __ZN8PlotFile3dotEiiiiPKi:
 	@ args = 8, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, r6, r7, r8, sl, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r4, r1
 	mov	r1, #100
 	ldr	r7, [fp, #4]
 	mov	r6, r3
 	mov	r5, r2
 	ldr	r8, [fp, #8]
 	mov	sl, r0
 	bl	__ZN8PlotFile3cmdEc
 	mov	r1, r4
 	bl	__ZN8PlotFilelsEi
 	mov	r1, r5
 	bl	__ZN8PlotFilelsEi
 	mov	r1, r6
 	bl	__ZN8PlotFilelsEi
 	mov	r1, r7
 	bl	__ZN8PlotFilelsEi
 	b	L28
 L24:
 	ldr	r1, [r8], #4
 	mov	r0, sl
 	bl	__ZN8PlotFilelsEi
 L28:
 	mov	r3, r7
 	cmp	r3, #0
 	sub	r7, r7, #1
 	bgt	L24
 	mov	r0, sl
 	ldmea	fp, {r4, r5, r6, r7, r8, sl, fp, sp, pc}
 	.align	0
 	.global	__ZN8PlotFile5eraseEv
 __ZN8PlotFile5eraseEv:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r1, #101
 	bl	__ZN8PlotFile3cmdEc
 	ldmea	fp, {fp, sp, pc}
 	.section .rdata
 	.align	0
 LC0:
 	.ascii	"\n\000"
 	.text
 	.align	0
 	.global	__ZN8PlotFile5labelEPKc
 __ZN8PlotFile5labelEPKc:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r4, r1
 	mov	r1, #116
 	bl	__ZN8PlotFile3cmdEc
 	mov	r1, r4
 	bl	__ZN8PlotFilelsEPKc
 	ldr	r1, L33
 	bl	__ZN8PlotFilelsEPKc
 	ldmea	fp, {r4, fp, sp, pc}
 L34:
 	.align	0
 L33:
 	.word	LC0
 	.align	0
 	.global	__ZN8PlotFile4lineEiiii
 __ZN8PlotFile4lineEiiii:
 	@ args = 4, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, r6, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r4, r1
 	mov	r1, #108
 	mov	r5, r2
 	mov	r6, r3
 	bl	__ZN8PlotFile3cmdEc
 	mov	r1, r4
 	bl	__ZN8PlotFilelsEi
 	mov	r1, r5
 	bl	__ZN8PlotFilelsEi
 	mov	r1, r6
 	bl	__ZN8PlotFilelsEi
 	ldr	r1, [fp, #4]
 	bl	__ZN8PlotFilelsEi
 	ldmea	fp, {r4, r5, r6, fp, sp, pc}
 	.align	0
 	.global	__ZN8PlotFile7linemodEPKc
 __ZN8PlotFile7linemodEPKc:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r4, r1
 	mov	r1, #102
 	bl	__ZN8PlotFile3cmdEc
 	mov	r1, r4
 	bl	__ZN8PlotFilelsEPKc
 	ldr	r1, L39
 	bl	__ZN8PlotFilelsEPKc
 	ldmea	fp, {r4, fp, sp, pc}
 L40:
 	.align	0
 L39:
 	.word	LC0
 	.align	0
 	.global	__ZN8PlotFile4moveEii
 __ZN8PlotFile4moveEii:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r4, r1
 	mov	r1, #109
 	mov	r5, r2
 	bl	__ZN8PlotFile3cmdEc
 	mov	r1, r4
 	bl	__ZN8PlotFilelsEi
 	mov	r1, r5
 	bl	__ZN8PlotFilelsEi
 	ldmea	fp, {r4, r5, fp, sp, pc}
 	.align	0
 	.global	__ZN8PlotFile5pointEii
 __ZN8PlotFile5pointEii:
 	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r4, r1
 	mov	r1, #112
 	mov	r5, r2
 	bl	__ZN8PlotFile3cmdEc
 	mov	r1, r4
 	bl	__ZN8PlotFilelsEi
 	mov	r1, r5
 	bl	__ZN8PlotFilelsEi
 	ldmea	fp, {r4, r5, fp, sp, pc}
 	.align	0
 	.global	__ZN8PlotFile5spaceEiiii
 __ZN8PlotFile5spaceEiiii:
 	@ args = 4, pretend = 0, frame = 0
 	@ frame_needed = 1, current_function_anonymous_args = 0
 	mov	ip, sp
 	stmfd	sp!, {r4, r5, r6, fp, ip, lr, pc}
 	sub	fp, ip, #4
 	mov	r4, r1
 	mov	r1, #115
 	mov	r5, r2
 	mov	r6, r3
 	bl	__ZN8PlotFile3cmdEc
 	mov	r1, r4
 	bl	__ZN8PlotFilelsEi
 	mov	r1, r5
 	bl	__ZN8PlotFilelsEi
 	mov	r1, r6
 	bl	__ZN8PlotFilelsEi
 	ldr	r1, [fp, #4]
 	bl	__ZN8PlotFilelsEi
 	ldmea	fp, {r4, r5, r6, fp, sp, pc}
 
 --=-JJEN40V26LWYRI3taGKo
 Content-Type: text/x-c
 Content-Disposition: attachment; filename=PlotFile.cpp
 Content-ID: 990891498.13360.2.camel@desk.mcneil.com
 Content-Transfer-Encoding: 7bit
 
 /* This has been copied from the gnu source tree */
 /* Make all changes there, not here! */
 #ifdef __cplusplus
 extern "C" {
 #endif
 #ifndef _N_
 char __PlotFile_o = 0;
 #else
 char _N_ = 0;
 #endif
 #ifdef __cplusplus
 }
 #endif
 #include "vxWorks.h"
 /* 
 Copyright (C) 1993 Free Software Foundation
 
 This file is part of the GNU IO Library.  This library is free
 software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the
 Free Software Foundation; either version 2, or (at your option)
 any later version.
 
 This library is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 along with this library; see the file COPYING.  If not, write to the Free
 Software Foundation, 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
 As a special exception, if you link this library with files
 compiled with a GNU compiler to produce an executable, this does not cause
 the resulting executable to be covered by the GNU General Public License.
 This exception does not however invalidate any other reasons why
 the executable file might be covered by the GNU General Public License. */
 
 // This may look like C code, but it is really -*- C++ -*-
 /* 
 Copyright (C) 1988, 1992, 1993 Free Software Foundation
     written by Doug Lea (dl@rocky.oswego.edu)
     converted to use iostream library by Per Bothner (bothner@cygnus.com)
 
 This file is part of the GNU IO Library.  This library is free
 software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the
 Free Software Foundation; either version 2, or (at your option)
 any later version.
 
 This library is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 along with this library; see the file COPYING.  If not, write to the Free
 Software Foundation, 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
 As a special exception, if you link this library with files
 compiled with GCC to produce an executable, this does not cause
 the resulting executable to be covered by the GNU General Public License.
 This exception does not however invalidate any other reasons why
 the executable file might be covered by the GNU General Public License.  */
 
 #ifdef __GNUG__
 #pragma implementation
 #endif
 #include <PlotFile.h>
 
 /*
  PlotFile implementation module
 */
 
 
 PlotFile& PlotFile:: cmd(char c)
 { 
   ofstream::put(c); 
   return *this; 
 }
 
 PlotFile& PlotFile:: operator<<(const int x)
 { 
 #if defined(convex)
   ofstream::put((char)(x>>8)); 
   ofstream::put((char)(x&0377)); 
 #else
   ofstream::put((char)(x&0377)); 
   ofstream::put((char)(x>>8)); 
 #endif
   return *this; 
 }
 
 PlotFile& PlotFile:: operator<<(const char *s)
 { 
   *(ofstream*)this << s;
   return *this;
 }
 
 
 PlotFile& PlotFile:: arc(const int xi, const int yi,
 			 const int x0, const int y0,
 			 const int x1, const int y1)
 { 
   return cmd('a') << xi << yi << x0 << y0 << x1 << y1; 
 }
 
 
 PlotFile& PlotFile:: box(const int x0, const int y0,
 			 const int x1, const int y1)
 { 
   line(x0, y0, x0, y1);
   line(x0, y1, x1, y1);
   line(x1, y1, x1, y0);
   return line(x1, y0, x0, y0);
 }
 
 PlotFile& PlotFile:: circle(const int x, const int y, const int r)
 { 
   return cmd('c') << x << y << r; 
 }
 
 PlotFile& PlotFile:: cont(const int xi, const int yi)
 { 
   return cmd('n') << xi << yi;
 }
 
 PlotFile& PlotFile:: dot(const int xi, const int yi, const int dx,
 			 int n, const int* pat)
 { 
   cmd('d') << xi << yi << dx << n;
   while (n-- > 0) *this << *pat++;
   return *this; 
 }
 
 PlotFile& PlotFile:: erase()
 { 
   return cmd('e'); 
 }
 
 PlotFile& PlotFile:: label(const char* s)
 { 
   return cmd('t') << s << "\n"; 
 }
 
 PlotFile& PlotFile:: line(const int x0, const int y0,
 			  const int x1, const int y1)
 { 
   return cmd('l') << x0 << y0 << x1 << y1; 
 }
 
 PlotFile& PlotFile:: linemod(const char* s)
 { 
   return cmd('f') << s << "\n"; 
 }
 
 PlotFile& PlotFile:: move(const int xi, const int yi)
 { 
   return cmd('m') << xi << yi;
 }
 
 PlotFile& PlotFile:: point(const int xi, const int yi)
 { 
   return cmd('p') << xi << yi; 
 }
 
 PlotFile& PlotFile:: space(const int x0, const int y0,
 			   const int x1, const int y1)
 { 
   return cmd('s') << x0 << y0 << x1 << y1; 
 }
 
 --=-JJEN40V26LWYRI3taGKo--
 


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: preprocessor/2948
@ 2001-05-26  1:16 neil
  0 siblings, 0 replies; 11+ messages in thread
From: neil @ 2001-05-26  1:16 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR preprocessor/2948; it has been noted by GNATS.

From: neil@gcc.gnu.org
To: gcc-gnats@gcc.gnu.org, nobody@gcc.gnu.org, sean@mcneil.com
Cc:  
Subject: Re: preprocessor/2948
Date: 26 May 2001 08:11:04 -0000

 Synopsis: different behaviour directly to C++ vs. saving -E output
 
 State-Changed-From-To: open->feedback
 State-Changed-By: neil
 State-Changed-When: Sat May 26 01:11:04 2001
 State-Changed-Why:
     Please confirm the *3 exact* command lines you use.  I suspect
     they are subtly different in their effects.
 
 http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view&pr=2948&database=gcc


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2001-05-29 18:26 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-05-29 18:26 preprocessor/2948 Sean McNeil
  -- strict thread matches above, loose matches on Subject: below --
2001-05-29 18:06 preprocessor/2948 Sean McNeil
2001-05-29 10:26 preprocessor/2948 Neil Booth
2001-05-29  9:46 preprocessor/2948 Sean McNeil
2001-05-28 23:46 preprocessor/2948 Neil Booth
2001-05-28 18:56 preprocessor/2948 Sean McNeil
2001-05-28 15:26 preprocessor/2948 Neil Booth
2001-05-27 10:36 preprocessor/2948 Sean McNeil
2001-05-27  0:46 preprocessor/2948 Neil Booth
2001-05-26  8:46 preprocessor/2948 Sean McNeil
2001-05-26  1:16 preprocessor/2948 neil

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).