[aspectc-user] A General Question about Compilation Time

Olaf Spinczyk Olaf.Spinczyk at informatik.uni-erlangen.de
Tue Nov 22 15:17:33 CET 2005


Hi Sergio,

I am able to reproduce the problem on my machine. It looks as if 
something in the SystemC code slows down the ac++ parser significantly. 
We'll keep you posted. Thank you for reporting this problem!

- Olaf

Sergio Queiroz wrote:
> Hi, Olaf!
> 
> When I try to compile an example with ac++ 0.92 and ac++ 1.0, using SystemC,
> there is a huge difference in the compilation time.
> 
> To compile the same files, it takes more than 7 minutes with ac++ 1.0 and less
> than 1 minute with ac++ 0.92, so it is almost prohibitive to me to use ac++
> 1.0 because this long compilation time.
> 
> Do you have any idea about the reason of this big difference?
> 
> I am sending the files and the logs.
> 
> []s,
> Sérgio
> 
> 
> ---------- Original Message -----------
> From: Olaf Spinczyk <Olaf.Spinczyk at informatik.uni-erlangen.de>
> To: Sergio Queiroz <sergio at consiste.dimap.ufrn.br>
> Cc: aspectc-user at aspectc.org
> Sent: Fri, 18 Nov 2005 11:22:22 +0100
> Subject: Re: [aspectc-user] A General Question about Compilation Time
> 
>>Hi,
>>
>>ac++ 1.0pre1 shouldn't be slower than 0.9.3. According to my 
>>measurements it should even be a few percent faster. 1.0pre2 will be 
>>about 20% faster than 1.0pre1. However, this is still slow and we 
>>will continue to improve the performance step by step.
>>
>>If you want to reduce the compilation time, you could try to reduce 
>>the number of translation units, e.g. like this:
>>
>>project.cc:
>>#include "A.cc"
>>#include "B.cc"
>>#include "C.cc"
>>
>>ag++ -c project.cc -o project
>>
>>Of course, this is not always possible.
>>
>>If you know what you are doing, i.e. where your advice affects the 
>>component code, you could also weave only the relevant translation 
>>units instead of all files. For example, in the Puma project we 
>>weave only a subset of the translation units and create transformed 
>>header files. The translation units that are not woven include the 
>>transformed headers.
>>
>>I hope this helps,
>>
>>Olaf
>>
>>Sergio Queiroz wrote:
>>>Hi!
>>>
>>>I am just curious about the compilation time of ac++ 1.0, because it seems to
>>>me that the older versions are something faster than the current one, tried to
>>>compile some examples and it takes much time.
>>>
>>>Am I correct about this feeling? I also saw the roadmap of next version and
>>>there is an item "improved performance".
>>>
>>>What I can do to reduce the compilation time?
>>>
>>>Sérgio
>>>
>>>_______________________________________________
>>>aspectc-user mailing list
>>>aspectc-user at aspectc.org
>>>http://www.aspectc.org/mailman/listinfo/aspectc-user
> ------- End of Original Message -------
> 
> 
> 
> ------------------------------------------------------------------------
> 
> sergio at barradorio:~/systemc-2.0.1/examples/systemc/small$ time make
> make: Warning: File `Makefile' has modification time 2,7e+03 s in the future
> ag++ -ggdb -O3 -Wall -Wno-deprecated -p. --config puma.config -v9  -I. -I.. -I../../../include -c test.cpp
> *
> *
> * AG++ Configuration:
> *   Create puma.config: 0
> *   Aspect C++ weaver:  ac++
> *   C++ compiler:       g++
> *   Files:               test.cpp
> *   Options (G++):       -ggdb -O3 -Wall -Wno-deprecated -v -I"." -I".." -I"../../../include" -c
> *   Option  (AC++):      -p"." -v9 -I"." -I".." -I"../../../include"
> *   Options (total):     -ggdb -O3 -Wall -Wno-deprecated -p"." -v9 -v -I"." -I".." -I"../../../include" -c test.cpp
> *   Weave: 1 Compile: 1 Link: 0
> *
> *
> * Weaving
>   - Executing: "ac++" --config "puma.config"  -p"." -v9 -I"." -I".." -I"../../../include" -c "test.cpp" -o "test.acc"
> * Running ac++ 0.9.2
> * Handling Translation Unit `test.cpp'.
>   - Path "test.cpp"
>   - Inserting namespace AC
>   - Parsing ...
>   - Setting Aspect Access Priviledges ...
>   - Weaving Introductions ...
>   - intros for Asp
>   - Aspect ordering ...
>   - Final checks before weaving introductions
>   - Class Join Points
>   - Weaving Advice Declarations ...
>     Asp::%a0_before
>   - Weaving Singleton Aspects ...
>   - Commiting
>   - Parsing again ...
>   - Weaving Join Points ...
>     Advicecode manipulation
>     Collecting Advice
>       Setting up thisJoinPoint for aspectof
>       Supplying aspectof() with JoinPoint and tjp if needed
>       Asp: __a0_before
>         Evaluate Pointcut
>     Aspect ordering ...
>     Final checks before weaving code join points
>     Type Check Functions
>     Call Join Points
>     Execution Join Points
>       void Test::doit()
>     Construction Join Points
>     Destruction Join Points
>   - Aspect Includes ...
>   - Final cleanup
>   - Commiting
> * Saving
>   - Expanding project includes
>   - Path "test.acc"
> * Done
>   - Exit: Success
> * Compiling
>   - Executing: "g++" -ggdb -O3 -Wall -Wno-deprecated -v -I"." -I".." -I"../../../include" -c -xc++ "test.acc" -xnone
> Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.5/specs
> Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux
> Thread model: posix
> gcc version 3.3.5 (Debian 1:3.3.5-8)
>  /usr/lib/gcc-lib/i486-linux/3.3.5/cc1plus -quiet -v -I. -I.. -I../../../include -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=5 -D_GNU_SOURCE test.acc -D__GNUG__=3 -quiet -dumpbase test.acc -auxbase test -ggdb -O3 -Wall -Wno-deprecated -version -o /tmp/cct7VUnn.s
> GNU C++ version 3.3.5 (Debian 1:3.3.5-8) (i486-linux)
>         compiled by GNU C version 3.3.5 (Debian 1:3.3.5-8).
> GGC heuristics: --param ggc-min-expand=63 --param ggc-min-heapsize=63460
> ignoring nonexistent directory "/usr/i486-linux/include"
> #include "..." search starts here:
> #include <...> search starts here:
>  .
>  ..
>  ../../../include
>  /usr/include/c++/3.3
>  /usr/include/c++/3.3/i486-linux
>  /usr/include/c++/3.3/backward
>  /usr/local/include
>  /usr/lib/gcc-lib/i486-linux/3.3.5/include
>  /usr/include
> End of search list.
> In file included from ../../../include/systemc/kernel/sc_lambda.h:45,
>                  from ../../../include/systemc/kernel/sc_module.h:53,
>                  from ../../../include/systemc.h:44,
>                  from test.h:6:
> ../../../include/systemc/datatypes/bit/sc_logic.h: In static member function `
>    static sc_dt::sc_logic_value_t sc_dt::sc_logic::to_value(char)':
> ../../../include/systemc/datatypes/bit/sc_logic.h:102: warning: array subscript
>    has type `char'
>  as -V -Qy -o test.o /tmp/cct7VUnn.s
> GNU assembler version 2.15 (i386-linux) using BFD version 2.15
>   - Exit: Success
>   - Removing intermediate .acc files
> ag++ -ggdb -O3 -Wall -Wno-deprecated -p. --config puma.config -v9  -I. -I.. -I../../../include -c main.cpp
> *
> *
> * AG++ Configuration:
> *   Create puma.config: 0
> *   Aspect C++ weaver:  ac++
> *   C++ compiler:       g++
> *   Files:               main.cpp
> *   Options (G++):       -ggdb -O3 -Wall -Wno-deprecated -v -I"." -I".." -I"../../../include" -c
> *   Option  (AC++):      -p"." -v9 -I"." -I".." -I"../../../include"
> *   Options (total):     -ggdb -O3 -Wall -Wno-deprecated -p"." -v9 -v -I"." -I".." -I"../../../include" -c main.cpp
> *   Weave: 1 Compile: 1 Link: 0
> *
> *
> * Weaving
>   - Executing: "ac++" --config "puma.config"  -p"." -v9 -I"." -I".." -I"../../../include" -c "main.cpp" -o "main.acc"
> * Running ac++ 0.9.2
> * Handling Translation Unit `main.cpp'.
>   - Path "main.cpp"
>   - Inserting namespace AC
>   - Parsing ...
>   - Setting Aspect Access Priviledges ...
>   - Weaving Introductions ...
>   - intros for Asp
>   - Aspect ordering ...
>   - Final checks before weaving introductions
>   - Class Join Points
>   - Weaving Advice Declarations ...
>     Asp::%a0_before
>   - Weaving Singleton Aspects ...
>   - Commiting
>   - Parsing again ...
>   - Weaving Join Points ...
>     Advicecode manipulation
>     Collecting Advice
>       Setting up thisJoinPoint for aspectof
>       Supplying aspectof() with JoinPoint and tjp if needed
>       Asp: __a0_before
>         Evaluate Pointcut
>     Aspect ordering ...
>     Final checks before weaving code join points
>     Type Check Functions
>     Call Join Points
>     Execution Join Points
>       void Test::doit()
>     Construction Join Points
>     Destruction Join Points
>   - Aspect Includes ...
>   - Final cleanup
>   - Commiting
> * Saving
>   - Expanding project includes
>   - Path "main.acc"
> * Done
>   - Exit: Success
> * Compiling
>   - Executing: "g++" -ggdb -O3 -Wall -Wno-deprecated -v -I"." -I".." -I"../../../include" -c -xc++ "main.acc" -xnone
> Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.5/specs
> Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux
> Thread model: posix
> gcc version 3.3.5 (Debian 1:3.3.5-8)
>  /usr/lib/gcc-lib/i486-linux/3.3.5/cc1plus -quiet -v -I. -I.. -I../../../include -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=5 -D_GNU_SOURCE main.acc -D__GNUG__=3 -quiet -dumpbase main.acc -auxbase main -ggdb -O3 -Wall -Wno-deprecated -version -o /tmp/ccXGrmrH.s
> GNU C++ version 3.3.5 (Debian 1:3.3.5-8) (i486-linux)
>         compiled by GNU C version 3.3.5 (Debian 1:3.3.5-8).
> GGC heuristics: --param ggc-min-expand=63 --param ggc-min-heapsize=63460
> ignoring nonexistent directory "/usr/i486-linux/include"
> #include "..." search starts here:
> #include <...> search starts here:
>  .
>  ..
>  ../../../include
>  /usr/include/c++/3.3
>  /usr/include/c++/3.3/i486-linux
>  /usr/include/c++/3.3/backward
>  /usr/local/include
>  /usr/lib/gcc-lib/i486-linux/3.3.5/include
>  /usr/include
> End of search list.
> In file included from ../../../include/systemc/kernel/sc_lambda.h:45,
>                  from ../../../include/systemc/kernel/sc_module.h:53,
>                  from ../../../include/systemc.h:44,
>                  from main.cpp:2:
> ../../../include/systemc/datatypes/bit/sc_logic.h: In static member function `
>    static sc_dt::sc_logic_value_t sc_dt::sc_logic::to_value(char)':
> ../../../include/systemc/datatypes/bit/sc_logic.h:102: warning: array subscript
>    has type `char'
>  as -V -Qy -o main.o /tmp/ccXGrmrH.s
> GNU assembler version 2.15 (i386-linux) using BFD version 2.15
>   - Exit: Success
>   - Removing intermediate .acc files
> ag++ -ggdb -O3 -Wall -Wno-deprecated -p. --config puma.config -v9  -I. -I.. -I../../../include -L. -L.. -L../../../lib-linux -o test.x test.o main.o  -lsystemc -lm  2>&1 | c++filt
> Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.5/specs
> Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux
> Thread model: posix
> gcc version 3.3.5 (Debian 1:3.3.5-8)
>  /usr/lib/gcc-lib/i486-linux/3.3.5/cc1plus -quiet -v -I. -I.. -I../../../include -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=5 -D_GNU_SOURCE test.o -D__GNUG__=3 -quiet -dumpbase test.o -auxbase test -ggdb -O3 -Wall -Wno-deprecated -version -o /tmp/ccgmCslm.s
> GNU C++ version 3.3.5 (Debian 1:3.3.5-8) (i486-linux)
>         compiled by GNU C version 3.3.5 (Debian 1:3.3.5-8).
> GGC heuristics: --param ggc-min-expand=63 --param ggc-min-heapsize=63460
> ignoring nonexistent directory "/usr/i486-linux/include"
> #include "..." search starts here:
> #include <...> search starts here:
>  .
>  ..
>  ../../../include
>  /usr/include/c++/3.3
>  /usr/include/c++/3.3/i486-linux
>  /usr/include/c++/3.3/backward
>  /usr/local/include
>  /usr/lib/gcc-lib/i486-linux/3.3.5/include
>  /usr/include
> End of search list.
> 
> real    0m35.905s
> user    0m26.849s
> sys     0m1.513s
> 
> 
> 
> ------------------------------------------------------------------------
> 
> sergio at barradorio:~/systemc-2.0.1/examples/systemc/small$ time make
> make: Warning: File `Makefile' has modification time 3,5e+03 s in the future
> ag++ -ggdb -O3 -Wall -Wno-deprecated -p. --config puma.config -v9  -I. -I.. -I../../../include -c test.cpp
> *
> *
> * AG++ Configuration:
> *   Create puma.config: 0
> *   Aspect C++ weaver:  ac++
> *   C++ compiler:       g++
> *   Files:               test.cpp
> *   Options (G++):       -ggdb -O3 -Wall -Wno-deprecated -v -I"." -I".." -I"../../../include" -c -I"."
> *   Options (AC++):      -p"." -v9 -I"." -I".." -I"../../../include"
> *   Options (total):     -ggdb -O3 -Wall -Wno-deprecated -p"." -v9 -v -I"." -I".." -I"../../../include" -c test.cpp -I"."
> *   Weave: 1 Compile: 1 Link: 0
> *
> *
> * Weaving
>   - Executing: "ac++" --config "puma.config"  -p"." -v9 -I"." -I".." -I"../../../include" -c "test.cpp" -o "test.acc"
> * Running ac++ 1.0pre1
> * Handling Translation Unit `test.cpp'.
>   - Path "test.cpp"
>   - Inserting namespace AC
>   - Parsing ...
>   - Setting Aspect Access Priviledges ...
>   - Weaving Introductions ...
>   - intros for Asp
>   - Aspect ordering ...
>   - Final checks before weaving introductions
>   - Class Join Points
>   - Weaving Advice Declarations ...
>     Asp::%a0_before
>   - Weaving Singleton Aspects ...
>   - Aspect Includes ...
>   - Commiting
>   - Parsing again ...
>   - Weaving Join Points ...
>     Advicecode manipulation
>     Collecting Advice
>       Setting up thisJoinPoint for aspectof
>       Supplying aspectof() with JoinPoint and tjp if needed
>       Asp: __a0_before
>         Evaluate Pointcut
>     Aspect ordering ...
>     Final checks before weaving code join points
>     Type Check Functions
>     Call Join Points
>     Execution Join Points
>       void Test::doit()
>     Construction Join Points
>     Destruction Join Points
>   - Aspect Includes ...
>   - Final cleanup
>   - Commiting
> * Inserting unit pro- and epilogues
>   - Manipulating translation unit file test.cpp
> * Saving
>   - Expanding project includes
>   - Path "test.acc"
> * Done
>   - Exit: Success
> * Compiling
>   - Executing: "g++" -ggdb -O3 -Wall -Wno-deprecated -v -I"." -I".." -I"../../../include" -c -xc++ "test.acc" -xnone -I"."
> Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.5/specs
> Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux
> Thread model: posix
> gcc version 3.3.5 (Debian 1:3.3.5-8)
>  /usr/lib/gcc-lib/i486-linux/3.3.5/cc1plus -quiet -v -I. -I.. -I../../../include -I. -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=5 -D_GNU_SOURCE test.acc -D__GNUG__=3 -quiet -dumpbase test.acc -auxbase test -ggdb -O3 -Wall -Wno-deprecated -version -o /tmp/cc1Sb0Jk.s
> GNU C++ version 3.3.5 (Debian 1:3.3.5-8) (i486-linux)
>         compiled by GNU C version 3.3.5 (Debian 1:3.3.5-8).
> GGC heuristics: --param ggc-min-expand=63 --param ggc-min-heapsize=63460
> ignoring nonexistent directory "/usr/i486-linux/include"
> ignoring duplicate directory "."
> #include "..." search starts here:
> #include <...> search starts here:
>  .
>  ..
>  ../../../include
>  /usr/include/c++/3.3
>  /usr/include/c++/3.3/i486-linux
>  /usr/include/c++/3.3/backward
>  /usr/local/include
>  /usr/lib/gcc-lib/i486-linux/3.3.5/include
>  /usr/include
> End of search list.
> In file included from ../../../include/systemc/kernel/sc_lambda.h:45,
>                  from ../../../include/systemc/kernel/sc_module.h:53,
>                  from ../../../include/systemc.h:44,
>                  from test.h:6:
> ../../../include/systemc/datatypes/bit/sc_logic.h: In static member function `
>    static sc_dt::sc_logic_value_t sc_dt::sc_logic::to_value(char)':
> ../../../include/systemc/datatypes/bit/sc_logic.h:102: warning: array subscript
>    has type `char'
>  as -V -Qy -o test.o /tmp/cc1Sb0Jk.s
> GNU assembler version 2.15 (i386-linux) using BFD version 2.15
>   - Exit: Success
>   - Removing intermediate .acc files
> ag++ -ggdb -O3 -Wall -Wno-deprecated -p. --config puma.config -v9  -I. -I.. -I../../../include -c main.cpp
> *
> *
> * AG++ Configuration:
> *   Create puma.config: 0
> *   Aspect C++ weaver:  ac++
> *   C++ compiler:       g++
> *   Files:               main.cpp
> *   Options (G++):       -ggdb -O3 -Wall -Wno-deprecated -v -I"." -I".." -I"../../../include" -c -I"."
> *   Options (AC++):      -p"." -v9 -I"." -I".." -I"../../../include"
> *   Options (total):     -ggdb -O3 -Wall -Wno-deprecated -p"." -v9 -v -I"." -I".." -I"../../../include" -c main.cpp -I"."
> *   Weave: 1 Compile: 1 Link: 0
> *
> *
> * Weaving
>   - Executing: "ac++" --config "puma.config"  -p"." -v9 -I"." -I".." -I"../../../include" -c "main.cpp" -o "main.acc"
> * Running ac++ 1.0pre1
> * Handling Translation Unit `main.cpp'.
>   - Path "main.cpp"
>   - Inserting namespace AC
>   - Parsing ...
>   - Setting Aspect Access Priviledges ...
>   - Weaving Introductions ...
>   - intros for Asp
>   - Aspect ordering ...
>   - Final checks before weaving introductions
>   - Class Join Points
>   - Weaving Advice Declarations ...
>     Asp::%a0_before
>   - Weaving Singleton Aspects ...
>   - Aspect Includes ...
>   - Commiting
>   - Parsing again ...
>   - Weaving Join Points ...
>     Advicecode manipulation
>     Collecting Advice
>       Setting up thisJoinPoint for aspectof
>       Supplying aspectof() with JoinPoint and tjp if needed
>       Asp: __a0_before
>         Evaluate Pointcut
>     Aspect ordering ...
>     Final checks before weaving code join points
>     Type Check Functions
>     Call Join Points
>     Execution Join Points
>       void Test::doit()
>     Construction Join Points
>     Destruction Join Points
>   - Aspect Includes ...
>   - Final cleanup
>   - Commiting
> * Inserting unit pro- and epilogues
>   - Manipulating translation unit file main.cpp
> * Saving
>   - Expanding project includes
>   - Path "main.acc"
> * Done
>   - Exit: Success
> * Compiling
>   - Executing: "g++" -ggdb -O3 -Wall -Wno-deprecated -v -I"." -I".." -I"../../../include" -c -xc++ "main.acc" -xnone -I"."
> Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.5/specs
> Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux
> Thread model: posix
> gcc version 3.3.5 (Debian 1:3.3.5-8)
>  /usr/lib/gcc-lib/i486-linux/3.3.5/cc1plus -quiet -v -I. -I.. -I../../../include -I. -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=5 -D_GNU_SOURCE main.acc -D__GNUG__=3 -quiet -dumpbase main.acc -auxbase main -ggdb -O3 -Wall -Wno-deprecated -version -o /tmp/cclV2COF.s
> GNU C++ version 3.3.5 (Debian 1:3.3.5-8) (i486-linux)
>         compiled by GNU C version 3.3.5 (Debian 1:3.3.5-8).
> GGC heuristics: --param ggc-min-expand=63 --param ggc-min-heapsize=63460
> ignoring nonexistent directory "/usr/i486-linux/include"
> ignoring duplicate directory "."
> #include "..." search starts here:
> #include <...> search starts here:
>  .
>  ..
>  ../../../include
>  /usr/include/c++/3.3
>  /usr/include/c++/3.3/i486-linux
>  /usr/include/c++/3.3/backward
>  /usr/local/include
>  /usr/lib/gcc-lib/i486-linux/3.3.5/include
>  /usr/include
> End of search list.
> In file included from ../../../include/systemc/kernel/sc_lambda.h:45,
>                  from ../../../include/systemc/kernel/sc_module.h:53,
>                  from ../../../include/systemc.h:44,
>                  from main.cpp:2:
> ../../../include/systemc/datatypes/bit/sc_logic.h: In static member function `
>    static sc_dt::sc_logic_value_t sc_dt::sc_logic::to_value(char)':
> ../../../include/systemc/datatypes/bit/sc_logic.h:102: warning: array subscript
>    has type `char'
>  as -V -Qy -o main.o /tmp/cclV2COF.s
> GNU assembler version 2.15 (i386-linux) using BFD version 2.15
>   - Exit: Success
>   - Removing intermediate .acc files
> ag++ -ggdb -O3 -Wall -Wno-deprecated -p. --config puma.config -v9  -I. -I.. -I../../../include -L. -L.. -L../../../lib-linux -o test.x test.o main.o  -lsystemc -lm  2>&1 | c++filt
> Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.5/specs
> Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux
> Thread model: posix
> gcc version 3.3.5 (Debian 1:3.3.5-8)
>  /usr/lib/gcc-lib/i486-linux/3.3.5/collect2 --eh-frame-hdr -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 -o test.x /usr/lib/gcc-lib/i486-linux/3.3.5/../../../crt1.o /usr/lib/gcc-lib/i486-linux/3.3.5/../../../crti.o /usr/lib/gcc-lib/i486-linux/3.3.5/crtbegin.o -L. -L.. -L../../../lib-linux -L/usr/lib/gcc-lib/i486-linux/3.3.5 -L/usr/lib/gcc-lib/i486-linux/3.3.5/../../..test.o main.o -lsystemc -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc-lib/i486-linux/3.3.5/crtend.o /usr/lib/gcc-lib/i486-linux/3.3.5/../../../crtn.o
> *
> *
> * AG++ Configuration:
> *   Create puma.config: 0
> *   Aspect C++ weaver:  ac++
> *   C++ compiler:       g++
> *   Files:               test.o main.o
> *   Options (G++):       -ggdb -O3 -Wall -Wno-deprecated -v -I"." -I".." -I"../../../include" -L"." -L".." -L"../../../lib-linux" -l"systemc" -l"m"
> *   Options (AC++):      -p"." -v9 -I"." -I".." -I"../../../include"
> *   Options (total):     -ggdb -O3 -Wall -Wno-deprecated -p"." -v9 -v -I"." -I".." -I"../../../include" -L"." -L".." -L"../../../lib-linux" test.o main.o -l"systemc" -l"m"
> *   Weave: 0 Compile: 1 Link: 1
> *
> *
> * Compiling
>   - Executing: "g++" -ggdb -O3 -Wall -Wno-deprecated -v -I"." -I".." -I"../../../include" -L"." -L".." -L"../../../lib-linux" "test.o"  "main.o"  -l"systemc" -l"m" -o "test.x"
>   - Exit: Success
>   - Removing intermediate .acc files
> make: aviso: O relógio está errado. Sua compilação pode ficar incompleta.
> 
> real    7m7.042s
> user    6m50.594s
> sys     0m1.956s
> 
> 
> 
> ------------------------------------------------------------------------
> 
> //#define SC_EXTERNS_H
> #include <systemc.h>
> 
> #include <iostream.h>
> #include "test.h"
> 
> int
> sc_main(int argc, char **argv) {
> 	
> 	sc_signal <sc_int<WORD> > signal;
> 	sc_signal <bool> clock;
> 		
> 	sc_time t (20, SC_NS);
> 	
> 	Test a ("a");
> 	a.my_signal (signal);
> 	a.Clk (clock);
> 	
> 	sc_initialize();
> 	
> 	cout << "I am here" << endl;
> 
> 	int i = 0;
> 	
> 	while (1) {
> 		clock.write (1);
> 		sc_cycle (t);
> 
> 		signal.write (i++);
> 		
> 		clock.write (0);
> 		sc_cycle (t);
> 	}	
> 	
> 	return 0;
> }
> 
> 
> ------------------------------------------------------------------------
> 
> #include "test.h"
> 
> #include <iostream.h>
> 
> void
> Test::doit() {
> 	cout << my_signal.read() << endl;
> }
> 
> 
> 
> 
> ------------------------------------------------------------------------
> 
> #ifndef TEST_H
> #define TEST_H
> 
> const int WORD = 8;
> 
> #include "systemc.h"
> 
> SC_MODULE (Test) {
> 	sc_in <bool> Clk;
> 	
> 	sc_in <sc_int<WORD> > my_signal; 
> 	
> 	void doit();
> 	
> 	SC_CTOR (Test) {
> 		SC_METHOD (doit);
> 		sensitive_pos << Clk;
> 	}
> 		
> };
> 
> #endif //TEST_H
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> aspectc-user mailing list
> aspectc-user at aspectc.org
> http://www.aspectc.org/mailman/listinfo/aspectc-user




More information about the aspectc-user mailing list