Thread: [CEDET-devel] semantic-analyze-proto-impl-togle
Brought to you by:
zappo
From: Cristian Z. <cri...@ep...> - 2010-02-21 11:57:00
|
Hello, I set up semantic and every command works as expected for C++ projects. However, after doing a fast jump I always end up at the declaration of a method in a class, not at the definition. I understand that "semantic-analyze-proto-impl-toggle" should change to the definition, however, I only get the message "Cannot find a suitable prototype". However, the definition shows up when I search for references. I tested this for many examples in a couple of large projects but it never worked, so I assume that I might be using it wrong, or this is a bug. Thanks for your help, Cristi |
From: Eric M. L. <er...@si...> - 2010-02-21 13:16:36
|
Hi, I would guess that the definition you are looking for is not on your path or in your project in some way. A quick way to find it is to do this: C-u M-x semanticdb-find-test-translate-path RET If the file you are looking for is not listed in this list, then it won't be found. If you used M-x semantic-symref RET when you mention looking for references, this uses a different feature for looking up matches that happens to use grep. I don't doubt that the lists of files each searches is different. Perhaps you can provide a simple example that shows the issue? In this case, I'll guess some header file where the prototype is in some directory where the "path" guessed at above doesn't find it. If instead you executed: M-x semanticdb-find-test-translate-path RET (excluding the C-u argument to the fcn) does the needed file then show up? Thanks Eric On 02/21/2010 06:56 AM, Cristian Zamfir wrote: > > Hello, > > I set up semantic and every command works as expected for C++ projects. However, after doing a fast jump I always end up at the declaration of a method in a class, not at the definition. I understand that "semantic-analyze-proto-impl-toggle" should change to the definition, however, I only get the message "Cannot find a suitable prototype". > > However, the definition shows up when I search for references. I tested this for many examples in a couple of large projects but it never worked, so I assume that I might be using it wrong, or this is a bug. > > Thanks for your help, > Cristi |
From: Cristian Z. <cri...@ep...> - 2010-02-22 10:27:20
|
> I would guess that the definition you are looking for is not on your path or in your project in some way. A quick way to find it is to do this: > > C-u M-x semanticdb-find-test-translate-path RET > > If the file you are looking for is not listed in this list, then it won't be found. The file is listed when I type this command. > > If you used > > M-x semantic-symref RET > > when you mention looking for references, this uses a different feature for looking up matches that happens to use grep. I don't doubt that the lists of files each searches is different. Perhaps you can provide a simple example that shows the issue? Indeed, I used symref. I will try to make a simple version to provide an example. > In this case, I'll guess some header file where the prototype is in some directory where the "path" guessed at above doesn't find it. If instead you executed: > > M-x semanticdb-find-test-translate-path RET > > (excluding the C-u argument to the fcn) does the needed file then show up? This does not find the file where the definition is, instead it finds only a few system wide includes. Until I come up with an example, I am including the way I configured the paths for the project, since I am unsure I configured it correctly: (ede-cpp-root-project "Klee" :name "Klee" :file "~/klee/Makefile" :include-path '("/" "/include") :system-include-path '("/usr/include/" "~/llvm/llvm-2.6/include" "~/llvm/klee-uclibc/include") :spp-table '(("isUnix" . "") ("BOOST_TEST_DYN_LINK" . ""))) Thanks, Cristi |
From: Cristian Z. <cri...@ep...> - 2010-02-22 14:07:57
|
I tried reproducing this on a small example and did not succeed. However, it is easy to reproduce on a larger example---the LLVM code: You can download it from here http://llvm.org/releases/2.6/llvm-2.6.tar.gz semantic-analyze-proto-impl-toggle did not work for any of the functions I tried. Here is one example: In llvm-2.6/lib/CodeGen/MachineFunction.cpp semantic-ia-fast-jump on viewCFG() will quickly find the declaration in the include folder: llvm-2.6/include/llvm/CodeGen/MachineFunction.h However, semantic-analyze-proto-impl-toggle will not switch back to the definition in the .cpp file, instead it will give the error message "cannot find a suitable implementation". This is how I defined the paths for the project in .emacs: (ede-cpp-root-project "llvm-2.6" :name "llvm" :file "~/llvm/llvm-2.6/Makefile" :include-path '("/include" "/" ) :system-include-path '("/usr/include/" ) :spp-table '(("isUnix" . "") ("BOOST_TEST_DYN_LINK" . ""))) Thanks for your help, Cristi On Feb 22, 2010, at 11:27 AM, Cristian Zamfir wrote: >> I would guess that the definition you are looking for is not on your path or in your project in some way. A quick way to find it is to do this: >> >> C-u M-x semanticdb-find-test-translate-path RET >> >> If the file you are looking for is not listed in this list, then it won't be found. > > The file is listed when I type this command. > > >> >> If you used >> >> M-x semantic-symref RET >> >> when you mention looking for references, this uses a different feature for looking up matches that happens to use grep. I don't doubt that the lists of files each searches is different. Perhaps you can provide a simple example that shows the issue? > > Indeed, I used symref. I will try to make a simple version to provide an example. > >> In this case, I'll guess some header file where the prototype is in some directory where the "path" guessed at above doesn't find it. If instead you executed: >> >> M-x semanticdb-find-test-translate-path RET >> >> (excluding the C-u argument to the fcn) does the needed file then show up? > > This does not find the file where the definition is, instead it finds only a few system wide includes. > > Until I come up with an example, I am including the way I configured the paths for the project, since I am unsure I configured it correctly: > (ede-cpp-root-project "Klee" > :name "Klee" > :file "~/klee/Makefile" > :include-path '("/" > "/include") > :system-include-path '("/usr/include/" > "~/llvm/llvm-2.6/include" > "~/llvm/klee-uclibc/include") > :spp-table '(("isUnix" . "") > ("BOOST_TEST_DYN_LINK" . ""))) > > > Thanks, > Cristi > |
From: Eric M. L. <er...@si...> - 2010-02-23 23:02:40
|
Thanks for the example. I an able to reproduce this issue now. It is interesting to note that semantic-ia-fast-jump can find the reference. I think the original impl was not designed for classes and such, but it should be much of a stretch to get that part working. Eric On 02/22/2010 09:07 AM, Cristian Zamfir wrote: > I tried reproducing this on a small example and did not succeed. > > However, it is easy to reproduce on a larger example---the LLVM code: > You can download it from here http://llvm.org/releases/2.6/llvm-2.6.tar.gz > semantic-analyze-proto-impl-toggle did not work for any of the functions I tried. > > Here is one example: > In llvm-2.6/lib/CodeGen/MachineFunction.cpp > > semantic-ia-fast-jump on viewCFG() will quickly find the declaration in the include folder: > llvm-2.6/include/llvm/CodeGen/MachineFunction.h > > However, semantic-analyze-proto-impl-toggle will not switch back to the definition in the .cpp file, instead it will give the error message "cannot find a suitable implementation". > > > This is how I defined the paths for the project in .emacs: > > (ede-cpp-root-project "llvm-2.6" > :name "llvm" > :file "~/llvm/llvm-2.6/Makefile" > :include-path '("/include" > "/" > ) > :system-include-path '("/usr/include/" > ) > :spp-table '(("isUnix" . "") > ("BOOST_TEST_DYN_LINK" . ""))) > > > Thanks for your help, > Cristi > > > On Feb 22, 2010, at 11:27 AM, Cristian Zamfir wrote: > >>> I would guess that the definition you are looking for is not on your path or in your project in some way. A quick way to find it is to do this: >>> >>> C-u M-x semanticdb-find-test-translate-path RET >>> >>> If the file you are looking for is not listed in this list, then it won't be found. >> >> The file is listed when I type this command. >> >> >>> >>> If you used >>> >>> M-x semantic-symref RET >>> >>> when you mention looking for references, this uses a different feature for looking up matches that happens to use grep. I don't doubt that the lists of files each searches is different. Perhaps you can provide a simple example that shows the issue? >> >> Indeed, I used symref. I will try to make a simple version to provide an example. >> >>> In this case, I'll guess some header file where the prototype is in some directory where the "path" guessed at above doesn't find it. If instead you executed: >>> >>> M-x semanticdb-find-test-translate-path RET >>> >>> (excluding the C-u argument to the fcn) does the needed file then show up? >> >> This does not find the file where the definition is, instead it finds only a few system wide includes. >> >> Until I come up with an example, I am including the way I configured the paths for the project, since I am unsure I configured it correctly: >> (ede-cpp-root-project "Klee" >> :name "Klee" >> :file "~/klee/Makefile" >> :include-path '("/" >> "/include") >> :system-include-path '("/usr/include/" >> "~/llvm/llvm-2.6/include" >> "~/llvm/klee-uclibc/include") >> :spp-table '(("isUnix" . "") >> ("BOOST_TEST_DYN_LINK" . ""))) >> >> >> Thanks, >> Cristi >> > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > Cedet-devel mailing list > Ced...@li... > https://lists.sourceforge.net/lists/listinfo/cedet-devel > |
From: Cristian Z. <cri...@ep...> - 2010-02-25 15:57:28
|
> Thanks for the example. I an able to reproduce this issue now. > It is interesting to note that semantic-ia-fast-jump can find the reference. I think the original impl was not designed for classes and such, but it should be much of a stretch to get that part working. That's true, semantic-ia-fast-jump works well, and it seems that this is the hard part. At least a grep-based implementation of semantic-analyze-proto-impl-toggle seems considerably easier to implement than semantic-ia-fast-jump for the C++ syntax, but I do not know the implementation at all. Thanks, Cristi |
From: Eric M. L. <er...@si...> - 2010-02-25 22:40:59
|
On 02/25/2010 10:57 AM, Cristian Zamfir wrote: >> Thanks for the example. I an able to reproduce this issue now. >> It is interesting to note that semantic-ia-fast-jump can find the reference. I think the original impl was not designed for classes and such, but it should be much of a stretch to get that part working. > > That's true, semantic-ia-fast-jump works well, and it seems that this is the hard part. > At least a grep-based implementation of semantic-analyze-proto-impl-toggle seems considerably easier to implement than semantic-ia-fast-jump for the C++ syntax, but I do not know the implementation at all. I found out what was wrong, but don't have a solution yet. The decl is vaguely like this: namespace foo { class bar { int decl(); } } and the impl is like this: using foo; bar::decl() { } The bar:: business is already solved and ok. The using bit is what is making the classes and namespace lookups fail. This is well handled by other analysis routines, so it's just a matter of tying these bits together. If there was no using statement, such that you wrote the decl like this: foo::bar::decl() { } then everything would be work, though obviously semantic should work with the using statements. Eric |
From: Cristian Z. <cri...@ep...> - 2010-02-25 23:24:05
|
Excellent, you are right, this seems to be the cause. I assume bar:: should only match one of the namespaces defined with the "using" statements, but I am not sure that helps much. I am looking forward for a fix, if anyone has the time. Thanks, Cristi On Feb 25, 2010, at 11:39 PM, Eric M. Ludlam wrote: > On 02/25/2010 10:57 AM, Cristian Zamfir wrote: >>> Thanks for the example. I an able to reproduce this issue now. >>> It is interesting to note that semantic-ia-fast-jump can find the reference. I think the original impl was not designed for classes and such, but it should be much of a stretch to get that part working. >> >> That's true, semantic-ia-fast-jump works well, and it seems that this is the hard part. >> At least a grep-based implementation of semantic-analyze-proto-impl-toggle seems considerably easier to implement than semantic-ia-fast-jump for the C++ syntax, but I do not know the implementation at all. > > I found out what was wrong, but don't have a solution yet. The decl is vaguely like this: > > namespace foo { > class bar { > int decl(); > } > } > > and the impl is like this: > > using foo; > bar::decl() { } > > The bar:: business is already solved and ok. The using bit is what is making the classes and namespace lookups fail. > > This is well handled by other analysis routines, so it's just a matter of tying these bits together. > > If there was no using statement, such that you wrote the decl like this: > > foo::bar::decl() { } > > then everything would be work, though obviously semantic should work with the using statements. > > Eric |
From: David E. <de...@ra...> - 2010-02-26 23:04:34
|
Eric M. Ludlam <er...@si...> writes: > On 02/25/2010 10:57 AM, Cristian Zamfir wrote: >>> Thanks for the example. I an able to reproduce this issue now. >>> It is interesting to note that semantic-ia-fast-jump can find the reference. I think the original impl was not designed for classes and such, but it should be much of a stretch to get that part working. >> >> That's true, semantic-ia-fast-jump works well, and it seems that this is the hard part. >> At least a grep-based implementation of semantic-analyze-proto-impl-toggle seems considerably easier to implement than semantic-ia-fast-jump for the C++ syntax, but I do not know the implementation at all. > > I found out what was wrong, but don't have a solution yet. The decl is > vaguely like this: > > namespace foo { > class bar { > int decl(); > } > } > > and the impl is like this: > > using foo; > bar::decl() { } > > The bar:: business is already solved and ok. The using bit is what is > making the classes and namespace lookups fail. > > This is well handled by other analysis routines, so it's just a matter > of tying these bits together. I've looked a bit into this, and the easiest solution I could think of is to patch semantic--analyze-refs-find-tags-with-parent to also incorporate 'using' statements. The problem I see with my patch is that it is a bit generous which 'using' statements it adds; it should only use those in the local scope, but the function does not have a scope object to search in. Anyway, I've attached the patch which makes the above example work for me. Regards, David --- a/semantic/semantic-analyze-refs.el +++ b/semantic/semantic-analyze-refs.el @@ -173,17 +173,30 @@ CLASS is the class of the tag that ought to be returned." "Find in FIND-RESULTS all tags with PARNTS. NAME is the name of the tag needing finding. PARENTS is a list of names." - (let ((ans nil)) + (let* ((usings (semanticdb-find-tags-by-class 'using)) + (idx 0) + (len (semanticdb-find-result-length usings)) + (ans nil) + (usingnames nil)) + (while (< idx len) + (push (semantic-tag-name (car (semanticdb-find-result-nth usings idx))) usingnames) + (setq idx (1+ idx))) (semanticdb-find-result-mapc (lambda (tag db) (let* ((p (semantic-tag-named-parent tag)) (ps (when (stringp p) (semantic-analyze-split-name p)))) (when (stringp ps) (setq ps (list ps))) - (when (and ps (equal ps parents)) - ;; We could optimize this, but it seems unlikely. - (push (list db tag) ans)) - )) + (when ps + (when (equal ps parents) + ;; We could optimize this, but it seems unlikely. + (push (list db tag) ans)) + (while (and (not ans) + usingnames) + (when (equal (append (list (car usingnames)) ps) + parents) + (push (list db tag) ans) + (setq usingnames (cdr usingnames))))))) find-results) ans)) |
From: Eric M. L. <er...@si...> - 2010-02-27 03:25:50
|
On 02/26/2010 06:04 PM, David Engster wrote: > Eric M. Ludlam<er...@si...> writes: >> On 02/25/2010 10:57 AM, Cristian Zamfir wrote: >>>> Thanks for the example. I an able to reproduce this issue now. >>>> It is interesting to note that semantic-ia-fast-jump can find the reference. I think the original impl was not designed for classes and such, but it should be much of a stretch to get that part working. >>> >>> That's true, semantic-ia-fast-jump works well, and it seems that this is the hard part. >>> At least a grep-based implementation of semantic-analyze-proto-impl-toggle seems considerably easier to implement than semantic-ia-fast-jump for the C++ syntax, but I do not know the implementation at all. >> >> I found out what was wrong, but don't have a solution yet. The decl is >> vaguely like this: >> >> namespace foo { >> class bar { >> int decl(); >> } >> } >> >> and the impl is like this: >> >> using foo; >> bar::decl() { } >> >> The bar:: business is already solved and ok. The using bit is what is >> making the classes and namespace lookups fail. >> >> This is well handled by other analysis routines, so it's just a matter >> of tying these bits together. > > I've looked a bit into this, and the easiest solution I could think of is > to patch semantic--analyze-refs-find-tags-with-parent to also > incorporate 'using' statements. The problem I see with my patch is that > it is a bit generous which 'using' statements it adds; it should only > use those in the local scope, but the function does not have a scope > object to search in. > > Anyway, I've attached the patch which makes the above example work for > me. Hi David, Thanks for putting this patch together. > --- a/semantic/semantic-analyze-refs.el > +++ b/semantic/semantic-analyze-refs.el > @@ -173,17 +173,30 @@ CLASS is the class of the tag that ought to be returned." > "Find in FIND-RESULTS all tags with PARNTS. > NAME is the name of the tag needing finding. > PARENTS is a list of names." > - (let ((ans nil)) > + (let* ((usings (semanticdb-find-tags-by-class 'using)) This is very C++ specific. The solution used by the other analyzer is to use `semantic-ctxt-scoped-types' which is just a bit more detailed than is needed. The concept we need is "what are the parents I might be found in", where semantic-ctxt-scoped-types finds all sorts of things that accessible symbols are in. I was guessing some new override fcn that is specific to this behavior in semantic-ctxt. In C++, it would be a variant of your line of code above. > (semanticdb-find-result-mapc > (lambda (tag db) > (let* ((p (semantic-tag-named-parent tag)) > (ps (when (stringp p) > (semantic-analyze-split-name p)))) > (when (stringp ps) (setq ps (list ps))) > - (when (and ps (equal ps parents)) > - ;; We could optimize this, but it seems unlikely. > - (push (list db tag) ans)) > - )) > + (when ps > + (when (equal ps parents) > + ;; We could optimize this, but it seems unlikely. > + (push (list db tag) ans)) > + (while (and (not ans) > + usingnames) > + (when (equal (append (list (car usingnames)) ps) > + parents) > + (push (list db tag) ans) > + (setq usingnames (cdr usingnames))))))) I was trying this, but I wasn't sure how this solved the problem. Perhaps because my example was simplified into a single file? The original problem was in multiple files, so I changed this to find the using statements for each found tag. I'm sure it needs an optimization, but it did get this bit working for me. I checked in my changes, including the new utility for collecting just the using statements, and a modified version of the above. I also had to do a "deep" search in a different part of the file to make this complete. Lastly, I have tests for the 3 ways to differentiate a method in a class in semantic/tests/testusing.cpp. If there is some other case, please add it. Thanks all. Eric |
From: Eric M. L. <er...@si...> - 2010-02-27 03:53:44
|
Hi Christi, I think this problem is now solved, and I checked in changes based on David's patch that he posted. Eric On 02/22/2010 09:07 AM, Cristian Zamfir wrote: > I tried reproducing this on a small example and did not succeed. > > However, it is easy to reproduce on a larger example---the LLVM code: > You can download it from here http://llvm.org/releases/2.6/llvm-2.6.tar.gz > semantic-analyze-proto-impl-toggle did not work for any of the functions I tried. > > Here is one example: > In llvm-2.6/lib/CodeGen/MachineFunction.cpp > > semantic-ia-fast-jump on viewCFG() will quickly find the declaration in the include folder: > llvm-2.6/include/llvm/CodeGen/MachineFunction.h > > However, semantic-analyze-proto-impl-toggle will not switch back to the definition in the .cpp file, instead it will give the error message "cannot find a suitable implementation". > > > This is how I defined the paths for the project in .emacs: > > (ede-cpp-root-project "llvm-2.6" > :name "llvm" > :file "~/llvm/llvm-2.6/Makefile" > :include-path '("/include" > "/" > ) > :system-include-path '("/usr/include/" > ) > :spp-table '(("isUnix" . "") > ("BOOST_TEST_DYN_LINK" . ""))) > > > Thanks for your help, > Cristi > > > On Feb 22, 2010, at 11:27 AM, Cristian Zamfir wrote: > >>> I would guess that the definition you are looking for is not on your path or in your project in some way. A quick way to find it is to do this: >>> >>> C-u M-x semanticdb-find-test-translate-path RET >>> >>> If the file you are looking for is not listed in this list, then it won't be found. >> >> The file is listed when I type this command. >> >> >>> >>> If you used >>> >>> M-x semantic-symref RET >>> >>> when you mention looking for references, this uses a different feature for looking up matches that happens to use grep. I don't doubt that the lists of files each searches is different. Perhaps you can provide a simple example that shows the issue? >> >> Indeed, I used symref. I will try to make a simple version to provide an example. >> >>> In this case, I'll guess some header file where the prototype is in some directory where the "path" guessed at above doesn't find it. If instead you executed: >>> >>> M-x semanticdb-find-test-translate-path RET >>> >>> (excluding the C-u argument to the fcn) does the needed file then show up? >> >> This does not find the file where the definition is, instead it finds only a few system wide includes. >> >> Until I come up with an example, I am including the way I configured the paths for the project, since I am unsure I configured it correctly: >> (ede-cpp-root-project "Klee" >> :name "Klee" >> :file "~/klee/Makefile" >> :include-path '("/" >> "/include") >> :system-include-path '("/usr/include/" >> "~/llvm/llvm-2.6/include" >> "~/llvm/klee-uclibc/include") >> :spp-table '(("isUnix" . "") >> ("BOOST_TEST_DYN_LINK" . ""))) >> >> >> Thanks, >> Cristi >> > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > Cedet-devel mailing list > Ced...@li... > https://lists.sourceforge.net/lists/listinfo/cedet-devel > |
From: Cristian Z. <cri...@ep...> - 2010-02-27 11:37:26
|
Thanks a lot for your help, it works now, great job! I am really happy to have switched to semantic from cscope. Cristi On Feb 27, 2010, at 4:52 AM, Eric M. Ludlam wrote: > Hi Christi, > > I think this problem is now solved, and I checked in changes based on David's patch that he posted. > > Eric > > On 02/22/2010 09:07 AM, Cristian Zamfir wrote: >> I tried reproducing this on a small example and did not succeed. >> >> However, it is easy to reproduce on a larger example---the LLVM code: >> You can download it from here http://llvm.org/releases/2.6/llvm-2.6.tar.gz >> semantic-analyze-proto-impl-toggle did not work for any of the functions I tried. >> >> Here is one example: >> In llvm-2.6/lib/CodeGen/MachineFunction.cpp >> >> semantic-ia-fast-jump on viewCFG() will quickly find the declaration in the include folder: >> llvm-2.6/include/llvm/CodeGen/MachineFunction.h >> >> However, semantic-analyze-proto-impl-toggle will not switch back to the definition in the .cpp file, instead it will give the error message "cannot find a suitable implementation". >> >> >> This is how I defined the paths for the project in .emacs: >> >> (ede-cpp-root-project "llvm-2.6" >> :name "llvm" >> :file "~/llvm/llvm-2.6/Makefile" >> :include-path '("/include" >> "/" >> ) >> :system-include-path '("/usr/include/" >> ) >> :spp-table '(("isUnix" . "") >> ("BOOST_TEST_DYN_LINK" . ""))) >> >> >> Thanks for your help, >> Cristi >> >> >> On Feb 22, 2010, at 11:27 AM, Cristian Zamfir wrote: >> >>>> I would guess that the definition you are looking for is not on your path or in your project in some way. A quick way to find it is to do this: >>>> >>>> C-u M-x semanticdb-find-test-translate-path RET >>>> >>>> If the file you are looking for is not listed in this list, then it won't be found. >>> >>> The file is listed when I type this command. >>> >>> >>>> >>>> If you used >>>> >>>> M-x semantic-symref RET >>>> >>>> when you mention looking for references, this uses a different feature for looking up matches that happens to use grep. I don't doubt that the lists of files each searches is different. Perhaps you can provide a simple example that shows the issue? >>> >>> Indeed, I used symref. I will try to make a simple version to provide an example. >>> >>>> In this case, I'll guess some header file where the prototype is in some directory where the "path" guessed at above doesn't find it. If instead you executed: >>>> >>>> M-x semanticdb-find-test-translate-path RET >>>> >>>> (excluding the C-u argument to the fcn) does the needed file then show up? >>> >>> This does not find the file where the definition is, instead it finds only a few system wide includes. >>> >>> Until I come up with an example, I am including the way I configured the paths for the project, since I am unsure I configured it correctly: >>> (ede-cpp-root-project "Klee" >>> :name "Klee" >>> :file "~/klee/Makefile" >>> :include-path '("/" >>> "/include") >>> :system-include-path '("/usr/include/" >>> "~/llvm/llvm-2.6/include" >>> "~/llvm/klee-uclibc/include") >>> :spp-table '(("isUnix" . "") >>> ("BOOST_TEST_DYN_LINK" . ""))) >>> >>> >>> Thanks, >>> Cristi >>> >> >> >> ------------------------------------------------------------------------------ >> Download Intel® Parallel Studio Eval >> Try the new software tools for yourself. Speed compiling, find bugs >> proactively, and fine-tune applications for parallel performance. >> See why Intel Parallel Studio got high marks during beta. >> http://p.sf.net/sfu/intel-sw-dev >> _______________________________________________ >> Cedet-devel mailing list >> Ced...@li... >> https://lists.sourceforge.net/lists/listinfo/cedet-devel >> |